关于本人对反射型DDOS攻击的防御见解 |
今天之所以写这个是因为小编最近工作的公司受到了一次长达两个小时的反射型ddos攻击,说起ddos攻击这种东西真的是很让人头疼,曾经圈内有人用这样一句话来形容ddos攻击“如果渗透测试是诱奸,那么ddos就是强奸”渗透可以防御但是ddos从一定意义上讲是无法彻底防御的,关于ddos的攻击原理我会在下一篇文章中详细介绍,本文先给大家讲下对反射型ddos的一点防御见解,请各位大牛指教! 以下是当时被攻击是我抓包的截图 这次攻击是一种基于dns协议的反射型ddos攻击,攻击峰值流量大概在50G左右,最大的返回包超过3000字节,放大倍数30-40倍,攻击者使用的dns傀儡机大约有600个左右,因为我国带宽比较贵,我推测这些dns服务器的平均带宽在50M-100M之间,所以这600个左右的dns傀儡机能发出的最大攻击流量也就应该在40-50G之间,因为攻击者使用了dns放大反射攻击,所以我猜测攻击者的初始流量也就一两个G左右。 以下是获取到的dns傀儡机的ip截图 接下来小编给大家讲讲这种反射型攻击的实现条件: 反射型攻击的实现主要有两个方面; 第一:请求包要比回应包小很多,他们之间的差距越大,反射攻击的放大倍数就越大,目前黑客们比较常用的有NTP/DNS/SNMP/SSDP等这几种常见协议,这些协议都有一个特点就是它们都是udp协议,所以要实现反射型攻击就必需依托于udp协议进行。 第二:攻击者要能实现源地址的伪造,目前我国电信是不能随意伪造源地址发送数据的,因为电信全网都开启了松散的urpf,只能伪造同一网段的源地址,也正是这个限制才让反射型ddos攻击受到了巨大的限制。 接下来我画了一张草图来简单说明下dns反射型攻击的流程:最后小编想说下关于这种dns反射型攻击我们做为普通用户应该怎么来有效防御: 第一种防御方法:将攻击流量引导到没有业务的服务器上或者个人宽带电脑上,这种方式最好实现,不需要伪造地址,我们一般的家庭宽带就可以。 第二种防御方法:获得了反射服务器的地址列表后,迅速进行排列,让排名靠前的一半也DDOS攻击靠后的一半,原因是按照数量排列靠前的说明发包多,也间接说明这个服务器带宽大,让他来攻击后面带宽小的比较容易起作用,这样消耗前一半的带宽,也阻塞后一半的入口带宽,如果效果好理论上能减少攻击流量的一半以上。但是这种方法对于NTP和ssdp的攻击不适用,因为NTP服务器和SSDP所在的网络大部分是在家庭网络(比如家用路由器),家庭网络上行带宽小下行带宽大,所以无法达到想要的效果。 总结: 其实严格来讲在网络世界中没有拒收这种概念,你只能不响应别人的发的数据。比如把电话号码拉黑,实际你还是会收到这个人的电话或短信,只是拉黑后会直接挂断或删除。如果攻击者用1000个号码同时给你打电话,显然他目的是消耗你的手机电量或干扰通讯,这时候防骚扰的拉黑功能就没有任何用处,然而目前我国的大多数互联网公司都还在使用“拒收”黑名单这类功能来做ddos防御,其实当攻击流量达到一定的峰值,这种“拒收”的作用就会彻底崩溃,本文写的仓促,如果各位有更好的建议不妨留言一起讨论! |