由于DDoS攻击越来越频繁,如何对抗DDoS攻击成为不少企业的难题。直播平台,视频网站,电商,金融网站等竞争性网站更是苦于应付。
x86君与多名行业客户[这些客户业务基本上都是出于发展期或爆发期]交流后发现,大部分用户遭受DDoS攻击时往往发现他们所采用的DDoS攻击防护服务商都可以清洗3-4层Volume(流量型) DDoS攻击,但是在防护具有针对性的Volume或Application型DDoS攻击却毫没有特别有效的方案。
其原因在于DDoS攻击防护服务商无法非常了解用户业务特性或对针对性的DDoS攻击采用了粗放式的防护方法(粗放式的防护算法对用户正常的业务流量误杀率极高)。
例如目前大部分DDoS攻击防护服务商针对UDP协议或ICMP协议或者私有协议的DDoS攻击防护采用阈值触发方式对这类触发阈值的流量进行直接拦截。
还有一种针对UDP或ICMP协议或私有协议的DDoS攻击防护算法,那就是TCP反向源认证。
采用TCP反向源认证的UDP防护算法
采用TCP反向源认证的DDoS防护算法防护UDP协议的攻击可能会让部分不支持TCP协议的客户端被误杀,并且会导致反弹认证的流量过高,通常会高达8倍,这也会让大部分DDoS攻击防护服务商无法支撑巨额的上行带宽费用!(10Gbps的纯64字节小包攻击,会导致防火墙反弹80Gbps的TCP报文)
这里杉堤(SeedMssP)采用了较为先进Machine learning(机器学习)方式对UDP和ICMP或私有协议流量进行学习并防护,能够较为有效的防护UDP和ICMP以及私有协议的DDoS攻击,并能够保障对用户正常流量误杀率始终处于最低水平(误杀率平均在5%左右)。
回到话题,抓包分析报文来防护DDoS攻击对大型IT企业(例如BAT这类规模的)来说非常有效,因为大型IT企业往往都配备超高性能的路由器,和超高性能的防火墙。
那如果我的企业是个初创型的IT企业怎么办?我买不起数十万数百万元的路由器和高性能防火墙,那我该如何防护这类具有针对性的DDoS攻击呢?
很简单,首先你要有个抓包工具,当你遭受此类DDoS攻击的时候,你可以使用TCPDUMP或Wireshark来抓取当前设备的网络报文。
然后将抓取的报文利用报文分析工具分析,例如使用Wireshark。
下面x86君简单介绍下,如果攻击者采用大量的肉鸡攻击一个网站,攻击使用一个固定的URI参数,且这个URI参数对正常访客来说并无用处的情况下的DDoS攻击防护方法。
首先黑客攻击了 http://123.1.1.2/test.php?mynameis=ddos
那么我们在被攻击的服务器内使用抓包工具抓取一定数量的报文,然后利用Wireshark对这组报文进行分析。
我们可以看到报文内有一组GET /test.php?mynameis=ddos的字符。那么我们只需要提取mynameis=ddos这组URI参数作为特征。
如果你使用Nginx作为Web Server,那么你可以在Nginx的配置文件中加入如下参数即可防护:
if ($args ~* "mynameis=ddos") {
return 444;
}
但是,如果攻击请求每秒高达数万次或数千万次的情况下,Nginx可能就顶不住了,或许你需要把DDoS攻击流量在进入你服务器之前拦截掉。
此时x86君建议客官试一试SeedMssP独有的V-ADS细粒度清洗模型了。
V-ADS虚拟防火墙(细粒度清洗部分)
V-ADS虚拟防火墙能够为客官提供报文级别的DDoS攻击防护,客官可以自行定义DDoS攻击的防护特征模型,而V-ADS会根据客户提供的报文指纹特征以及频率或相关模型行为对符合特征的报文进行拦截,放行,限速。
方才的DDoS攻击黑客采用了mynameis=ddos的uri参数对Web服务器发起DDoS攻击,此时用户可以通过开启V-ADS的Http Flood防护模块进行一键防护,如果客官是个Geek,那么客官可以利用V-ADS的清洗粒度模型清洗此类DDoS攻击。
mynameis=ddos的十六进制是:6D796E616D6569733D64646F73
TCP报文的标志位信息
TCP报文中的Flags是0x18,那么意味着TCP的标志位就可以勾选PSH和ACK(勾选后将只对包含PSH和ACK标志位的报文进行匹配),如果客官不勾选的话V-ADS会对所有报文进行匹配。
那么客官可以在V-ADS清洗粒度模型中填写如下内容:
此时点击保存后,再一次访问 www.SeedMssp.com
未经允许不得转载:陈丹的博客 » 治标更治本,如何从根源防护DDoS攻击