开发者社区> 余二五> 正文

治标更治本,如何从根源防护DDoS攻击

简介:
+关注继续查看

由于DDoS攻击越来越频繁,如何对抗DDoS攻击成为不少企业的难题。直播平台,视频网站,电商,金融网站等竞争性网站更是苦于应付。

 

3445719187_102768608.jpg


 

x86君与多名行业客户[这些客户业务基本上都是出于发展期或爆发期]交流后发现,大部分用户遭受DDoS攻击时往往发现他们所采用的DDoS攻击防护服务商都可以清洗3-4层Volume(流量型) DDoS攻击,但是在防护具有针对性的Volume或Application型DDoS攻击却毫没有特别有效的方案。

其原因在于DDoS攻击防护服务商无法非常了解用户业务特性或对针对性的DDoS攻击采用了粗放式的防护方法(粗放式的防护算法对用户正常的业务流量误杀率极高)。

例如目前大部分DDoS攻击防护服务商针对UDP协议或ICMP协议或者私有协议的DDoS攻击防护采用阈值触发方式对这类触发阈值的流量进行直接拦截。

还有一种针对UDP或ICMP协议或私有协议的DDoS攻击防护算法,那就是TCP反向源认证。

 

3445663731_102768608.jpg


 

采用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

 

3445719463_102768608.jpg


 

那么我们在被攻击的服务器内使用抓包工具抓取一定数量的报文,然后利用Wireshark对这组报文进行分析。

 

3445728296_102768608.jpg


 

我们可以看到报文内有一组GET /test.php?mynameis=ddos的字符。那么我们只需要提取mynameis=ddos这组URI参数作为特征。

如果你使用Nginx作为Web Server,那么你可以在Nginx的配置文件中加入如下参数即可防护:

if ($args ~* "mynameis=ddos") {

return 444;

}

但是,如果攻击请求每秒高达数万次或数千万次的情况下,Nginx可能就顶不住了,或许你需要把DDoS攻击流量在进入你服务器之前拦截掉。

此时x86君建议客官试一试SeedMssP独有的V-ADS细粒度清洗模型了。

 

3445734294_102768608.jpg


 

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

 

3445734367_102768608.jpg


 

TCP报文的标志位信息

TCP报文中的Flags是0x18,那么意味着TCP的标志位就可以勾选PSH和ACK(勾选后将只对包含PSH和ACK标志位的报文进行匹配),如果客官不勾选的话V-ADS会对所有报文进行匹配。

那么客官可以在V-ADS清洗粒度模型中填写如下内容:

 

3445725612_102768608.jpg


 

此时点击保存后,再一次访问 http://123.1.1.2/test.php?mynameis=ddos的时候,V-ADS就会立即拦截包含此特征的报文。

 

3445737294_102768608.jpg


 

访问被拦截掉了

访问被拦截掉了如果客官您脑洞开的大,您还会可以利用这V-ADS的细粒度清洗模型来完全贴合您的业务特性,将误杀率降低到最低甚至零误杀!

比如”国民老公”的熊猫TV,如果被DDoS攻击,在保证误杀率的情况下秒级清洗,那么即使被攻击对直播的顺畅度,用户的体验度来说是毫无负面影响的。

最后x86君要说下的是,V-ADS清洗是线速的哟~~~

PS:杉堤是一家专注于DDoS攻击防护的云安全服务提供商,公司多年来致力于研发DDoS攻击的追踪和防护。杉堤以"专注业务,安全靠我"为愿景,持续创新,为客户提供领先的云安全产品与解决方案。在良莠不齐的DDos防护市场中,杉堤值得您的青睐!www.SeedMssp.com





本文转自 卢松松博客 51CTO博客,原文链接:http://blog.51cto.com/lusongsong/1852291,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
20148 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
16756 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29544 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
22712 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
16687 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
13770 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载