东南大学: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. jvm 年轻代、年老代、永久代

    关键字约定 Young generation –>新生代    Tenured / Old Generation –>老年代    Perm Area –>永久代 年轻代: 所有新生 ...

  2. 根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。 要求:该题使用多重if完成

    package com.Summer_0417.cn; import java.util.Scanner; /** * @author Summer * 根据考试成绩输出对应的礼物, * 90分以上爸 ...

  3. 在Ubuntu上快速搭建基于Beego的RESTful API

    最近在研究Go,打算基于Go做点Web API,于是经过初步调研,打算用Beego这个框架,然后再结合其中提供的ORM以及Swagger的集成,可以快速搭建一个RESTful API的网站. 下面是具 ...

  4. 一本通 1212:LETTERS

    题目描述 给出一个roe×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母.问最多可以经过几个字母. 输入 第一行,输入字母矩阵行数R和列数S,1≤ ...

  5. Google Protocol Buffers学习

    参考资料:http://www.cnblogs.com/royenhome/archive/2010/10/29/1864860.html 参考资料:http://www.jianshu.com/p/ ...

  6. 从零开始搭建django前后端分离项目 系列四(实战之实时进度)

    本项目实现了任务执行的实时进度查询 实现方式 前端websocket + 后端websocket + 后端redis订阅/发布 实现原理 任务执行后,假设用变量num标记任务执行的进度,然后将num发 ...

  7. python内建的命名空间研究

    python内建的命名空间研究 说明: python内置模块的命名空间.python在启动的时候会自动为我们载入很多内置的函数.类,比如 dict,list,type,print,这些都位于 __bu ...

  8. Cgroups 与 Systemd

    Cgroups 是 linux 内核提供的一种机制,如果你还不了解 cgroups,请参考前文<Linux cgroups 简介>先了解 cgroups.当 Linux 的 init 系统 ...

  9. ASP.NET MVC必须知道的那些事!

    MVC的由来: 在MVC模式之前,View界面的呈现.用户交互操作的捕捉与相应.业务流程的执行以及数据的存储等都是在一起的,这种设计模式叫自治视图. 这重设计模式主要存在三大弊端: 重用性:业务逻辑与 ...

  10. rest_framework之视图及源码剖析

    最初形态(工作中可能会使用) 引子 Django的CBV我们应该都有所了解及使用,大体概括一下就是通过定义类并在类中定义get post put delete等对应于请求方法的方法,当请求来的时候会自 ...