由于 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 反向源认证的 UDP 防护算法
采用 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 对这组报文进行分析。
如果你使用 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 清洗粒度模型中填写如下内容:
此时点击保存后,再一次访问 http://123.1.1.2/test.php?mynameis=ddos 的时候, V-ADS 就会立即拦截包含此特征的报文。
访问被拦截掉了如果客官您脑洞开的大,您还会可以利用这 V-ADS 的细粒度清洗模型来完全贴合您的业务特性,将误杀率降低到最低甚至零误杀!
最后 x86 君要说下的是, V-ADS 清洗是线速的哟~~~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.