东南大学:UDP反射DDoS攻击原理和防范
2015-04-17 中国教育网络 李刚 丁伟

  反射攻击的防范措施

  上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素。因此,防范可以从配置主机服务选项和访问控制权限(ACL)入手。具体建议如下:

  Chargen攻击防范配置方法

  关闭Chargen服务,具体的操作方法:

  1.Linux系统:在/etc/inetd.conf文件中注释掉‘chargen’服务,或者在/etc/xinetd.d/目录下将chargen服务对应的文件中的“disable” 属性改为 “yes”。

  2. 在Window 系统下:Chargen服务属于Windows系统中的SimpTCP服务,一般情况下Windows系统缺省不会安装该服务,如已安装该服务,可以通过如下几种方式关闭服务:

  (1)通过控制面板中的Service管理程序,关闭SimpTCP服务;

  (2)通过修改注册表:通过注册表编辑器将以下两项表项的值设为0HKLM\System\CurrentControlSet\Services

  \SimpTCP\Parameters\EnableTcpChargenHKLM\System\

  CurrentControlSet\Services\SimpTCP\Parameters\EnableUdpChargen

  (3)通过命令行执行net 程序:netstop simptcp;net start simptcp。

  NTP攻击防范配置方法

  1.升级版本Linux 系统中的ntpd 4.2.7p26及之后的版本关闭了monlist请求功能。升级到ntpd 4.2.7p26或更高版本可以避免针对该漏洞的攻击。

  2. 禁用或限制状态查询

  (1)在Linux系统下,如果monlist功能开放,可尝试通过修改ntp.conf配置文件解决问题,具体操作建议是在上述文件中增加下面的配置:

  IPV4:restrict default kodnomodifynotrapnopeernoquery

  IPv6:restrict-6 default kodnomodifynotrapnopeernoquery

  另外,还可以配置限制访问命令,如:restrict default noquery。

  (2)Windows Server系统的设置方法较为简单:在ntp.conf配置文件中增加(或修改)“disable monitor”选项,可以关闭现有NTP服务的monlist 功能。

  修改并保存配置文件之后,请重启ntpd服务。

  DNS攻击防范配置方法

  1. 关闭递归查询

  (1)在UNIX系统的DNS服务器下:在全局配置选项中加入如下限制以关闭递归查询:

  options {allow-query-cache {none};recursion no;};

  (2)在Windows系统的DNS 服务器下,采取如下步骤:a.打开DNS(“开始”-“程序”-“管理工具”-单击“DNS”);b. 在控制列表树中,单击“适用的DNS服务器”;c.在“操作”菜单上,单击“属性”;d.点击“高级”;e.在“服务器选项”中,选中“禁用递归”复选框,然后确定。

  2. 授权特定用户进行递归查询

  在特定组织或者ISP中部署的DNS服务器,域名解析应当配置成对授权的客户机提供递归查询。这些递归查询请求应当只来源于该组织内的客户机地址。建议所有的服务器管理员只允许内部客户机的递归查询请求。

  在UNIX系统的DNS 服务器配置下,在全局配置选项中做如下设置:

  acl corpnets{192.168.1.0/24;192.168.2.0/24;};options {allow-query {any;};

  allow-recursion {corpnets;};};

  SSDP攻击防范配置方法

  1. 关闭系统服务

  (1)在Windows下以管理员身份运行cmd.exe,并执行以下命令:scconfigSSDPSRV start=DISABLED;(2)在桌面上右击“计算机”,在“服务和应用程序”中点击“服务”,找到“SSDP Discovery”服务,双击后该服务后选择“禁用”选项。

  2. 防火墙拦截

  (1)在Windows 系统操作如下:在“开始”-“控制面板”-“Windows防火墙”-“高级设置”中,分别在“入站规则”和“出站规则”中加入一条新的规则,新建规则操作如下:点击“新建规则”,选择“端口”和“下一步”,选择“UDP”,并在“特定远程端口中”输入“1900”,点击“下一步”,选择“阻止连接”和“下一步”,选择“域”、“专业(P)”、“公用(U)”和“下一步”,在名称中输入“SSDPDiscovery”,并点击“完成”。

  (2)在Linux系统操作如下:

  a.打开/etc/sysconfig/iptables文件(操作以CENTOS 为例),在文件中加入如下规则:

  -A INPUT -p udp -m udp --sport 1900 -j DROP

  -A INPUT -p udp -m udp --dport 1900 -j DROP

  -A OUTPUT -p udp -m udp --sport 1900 -j DROP

  -A OUTPUT -p udp -m udp --dport 1900 -j DROP

  b.最后重启防火墙:#service iptablesrestart

  需要另外说明的,Chargen、NTP、DNS协议也可以在路由器或防火墙配置过滤条件,拦截目的或者源端口为相应服务端口(19 号、123 号、53 号端口等)的所有UDP报文,配置规则可参考上述1900端口的规则格式。

  SNMP攻击防范配置方法

  SNMP服务通常用于远程监控网络设备状态,例如路由器、交互机、网络打印机、以及其它联网的嵌入式设备,不同类似的设备SNMP服务配置方式存在差异,有些具备ACL功能,有些缺少相应的访问控制。因此通用的解决方法是在边界防火墙上拦截目的或者源端口为161的UDP报文,具体方式和SSDP等类似。

  本文针对主机服务配置的防范讨论大致如上。限于篇幅,针对单个协议的防护技术(如应用于DNS 反射攻击防范的Anycast流清洗技术)等相关内容不再详细列出。

  本文分析了反射DDoS攻击的原理、攻击特点和常见的攻击协议,包括Chargen、NTP、DNS、SNMP 和SSDP 协议,并对攻击相关协议的漏洞进行了详细描述。协议本身的设计缺陷以及配置不当是造成攻击的主要原因。文章最后从不同角度提出了应对该类攻击的防范措施。虽然不能从根本上杜绝攻击的发生,但是强化网络管理的意识和对设备的有效配置可以在一定程度上降低发生反射攻击的可能。

UDP反射DDoS攻击原理和防范的更多相关文章

  1. Memcached服务器UDP反射放大攻击

    1.前言 2月28日,Memcache服务器被曝出存在UDP反射放大攻击漏洞.攻击者可利用这个漏洞来发起大规模的DDoS攻击,从而影响网络正常运行.漏洞的形成原因为Memcache 服务器UDP 协议 ...

  2. 常见DDOS攻击原理和防御

    常见的DDOS攻击主要分为流量型攻击和cc攻击: 流量型攻击主要通过发送大量的非法报文侵占正常业务带宽 包括SYN Flood/ SYN-ACK Flood /ACK Flood/ FIN/RST F ...

  3. 敌情篇 ——DDoS攻击原理

    敌情篇 ——DDoS攻击原理 DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是 ...

  4. 网络XSS攻击和CSRF攻击原理及防范

    网络XSS攻击和CSRF攻击原理及防范 原文地址:http://www.freebuf.com/articles/web/39234.html 随着Web2.0.社交网络.微博等等一系列新型的互联网产 ...

  5. 浅谈JavaScript DDOS 攻击原理与防御

    前言 DDoS(又名"分布式拒绝服务")攻击历史由来已久,但却被黑客广泛应用.我们可以这样定义典型的DDoS攻击:攻击者指使大量主机向服务器发送数据,直到超出处理能力进而无暇处理正 ...

  6. JavaScript实现DDoS攻击原理,以及保护措施。

    DDos介绍 最普遍的攻击是对网站进行分布式拒绝服务(DDoS)攻击.在一个典型的DDoS攻击中,攻击者通过发送大量的数据到服务器,占用服务资源.从而达到阻止其他用户的访问. 如果黑客使用JavaSc ...

  7. TCP三次握手与DDOS攻击原理

    TCP三次握手与DDOS攻击原理 作者:冰盾防火墙 网站:www.bingdun.com 日期:2014-12-09   在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. ...

  8. 小隐隐于野:基于TCP反射DDoS攻击分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...

  9. web攻击之六:DNS攻击原理与防范

    随着网络的逐步普及,网络安全已成为INTERNET路上事实上的焦点,它关系着INTERNET的进一步发展和普及,甚至关系着INTERNET的生存.可喜的是我们那些互联网专家们并没有令广大INTERNE ...

随机推荐

  1. 通过 PHP,可以把文件上传到服务器。

    创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单: <html> <body> <form action=" ...

  2. selenium中遇到div弹框,一起引申到其他弹框

    1.div弹框和DOM普通元素一样处理 2.出现一下就自动消失的弹框,也是在DOM中有描述的,可以使用xpath,用其内容定位 3.(转,其他弹框处理,包括alert和不同windows) https ...

  3. Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块

    Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享 ...

  4. zabbix使用percona的mysql监控模板监控

    安装第三方插件仓库源: [root@iZ9j3yrx43sb5sZ ~]# yum install https://www.percona.com/redir/downloads/percona-re ...

  5. RMQ问题--范围最小值问题

    范围最小值问题(Range Minium Query,RMQ)---RMQ问题 一.一维问题 给出一个n个元素的数组A1,A2,...,An, 设计一个数据结构, 支持查询操作Query(L,R):计 ...

  6. P1171 售货员的难题--搜索(剪枝)

    题目背景 数据有更改 题目描述 某乡有nn个村庄(1<n \le 201<n≤20),有一个售货员,他要到各个村庄去售货,各村庄之间的路程s(0<s<1000)s(0<s ...

  7. SCOI2019d1t1平台跳跃[高精]

    分析 首先考虑相邻柱子之间没有浮台. 记前 \(m-1\) 个盘子为 x, 第 \(m\) 个盘子为 y,有如下过程:\(x\rightarrow C, y\rightarrow B, x\right ...

  8. Java多线程编程核心技术(一)Java多线程技能

    1.进程和线程 一个程序就是一个进程,而一个程序中的多个任务则被称为线程. 进程是表示资源分配的基本单位,线程是进程中执行运算的最小单位,亦是调度运行的基本单位. 举个例子: 打开你的计算机上的任务管 ...

  9. SkyWalking Liunx 环境搭建&NetCore接入

    背景 前两天看见有小哥介绍windows下安装skywalking的介绍地址在这. 正好最近也在搭建linux环境的SkyWalking,顺便把linux环境搭建的经验分享下,帮助下使用linux部署 ...

  10. 【C#复习总结】细说 Lambda表达式

    1 前言 本系列会将[委托] [匿名方法][Lambda表达式] [泛型委托] [表达式树] [事件]等基础知识总结一下.(本人小白一枚,有错误的地方希望大佬指正) 系类1:细说委托 系类2:细说匿名 ...