东南大学: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. 强化学习(四)—— DQN系列(DQN, Nature DQN, DDQN, Dueling DQN等)

    1 概述 在之前介绍的几种方法,我们对值函数一直有一个很大的限制,那就是它们需要用表格的形式表示.虽说表格形式对于求解有很大的帮助,但它也有自己的缺点.如果问题的状态和行动的空间非常大,使用表格表示难 ...

  2. 【转】解决在Android设备播放音频与其他应用重音的问题,并监听耳机的控制按钮

    概述 在安卓开发中免不了需要播放一点音乐了,音频了.但是这时候有别的应用正在播放,这时候就会出现重音的现象,完全影响用户体验,我们的项目就遇上了这样的尴尬,然后查找了一些文档,记录一下: 管理音频焦点 ...

  3. 联想Y7000安装Ubuntu16.04/Win10双系统,wifi问题,显卡驱动和CUDA10安装

    https://blog.csdn.net/la9881275/article/details/86720752 Ubuntu16.04系统安装拿到Ubuntu镜像制作装机优盘,这里就不写了.我的优盘 ...

  4. flask_socket_io中报错RuntimeError: You need to use the eventlet server. See the Deployment section of the documentation for more information.的解决办法

    最新的flask_socketio 使用的是python-socketio 如果在包中安装了gevent或evenlet,在服务器上使用时,就会报错 RuntimeError: You need to ...

  5. 当你想要在conda指定的某个环境中安装包的方法

    1)使用conda install -n 环境名 包名 userdeMBP:pytorch user$ conda install -n deeplearning2 tensorflow 2)进入环境 ...

  6. Spring Security(十三):5.2 HttpSecurity

    Thus far our WebSecurityConfig only contains information about how to authenticate our users. How do ...

  7. 测试工具使用-Qunit单元测试使用过程

    031302620 应课程要求写一篇单元测试工具的博客,但是暂时没用到java,所以不想使用junit(对各种类都不熟悉的也不好谈什么测试),原计划是要用phpunit,但是安装经历了三个小时,查阅各 ...

  8. 如何备份和恢复你的TFS服务器(三)

    进行一次备份 当然,如果你已经建立了一个时间表,那么备份会在指定的时间自动地进行,但是我真的无法给你展示一张很酷的截图——那是不可见的:).无论你是否建立了一个时间表.你都可以在任意时间执行一次完整的 ...

  9. java eclipse jdk 关系

    java 经常用到多个jdk版本 1.7   1.8.... 兼容时几个位置 处理 eclipse.ini (A处) #-vm#C:\Program Files\Java\jdk1.7.0_79\bi ...

  10. 关于GitHub的Hello Word

    最近GitHub一直是最火的配置库技术之一,各个技术大牛也都纷纷入驻GitHub 我每天都打交道的DITA-OT开源项目也宣布迁入GitHub. 那么GitHub到底有什么过人之处呢?给各位先扫个盲. ...