黑洞策略就是指当阿里云公网IP资产受到大流量DDoS攻击,其峰值带宽bps超过DDoS的防御能力时,资产IP会进入黑洞状态,即屏蔽IP所有in的互联网流量,黑洞状态可以自动解封(当达到默认解封时间后),也支持提前手动解封(DDoS原生企业版以及高防新bgp版)。但这不是理想的解决方案,因为它相当于让攻击者达成预期的目的,使正常流量也无法访问。
限制服务器在某个时间段接收的请求数量也是防护拒绝服务攻击的一种方法。虽然速率限制对于减缓 Web 爬虫窃取内容及防护暴力破解攻击很有帮助,但仅靠速率限制可能不足以有效应对复杂的 DDoS 攻击。然而,在高效 DDoS 防护策略中,速率限制不失为一种有效手段。
一般而言,攻击越复杂,越难以区分攻击流量与正常流量,因为攻击者的目标是尽可能混入正常流量,从而尽量减弱缓解成效。流量清洗就是将流量从原始路径重定向到清洗设备,对IP成分进行异常检测,并对最终到达server的流量实施限流,这是高级防护中一种比较常见的防护方式。
2.3 DDoS攻击类型
多方位 的DDoS 攻击采用多种攻击手段,以期通过不同的方式击垮目标,分散各个层级的防护工作注意力。同时针对协议堆栈的多个层级(如 DNS 放大(针对第 3/4 层)外加 HTTP泛洪(针对第 7 层))发动攻击就是多方位 DDoS 攻击的一个典型例子。下表是几种典型的DDoS攻击类型的具体描述4。
表1 DDoS 攻击类型 | ||
DDoS 攻击分类 | 攻击子类 | 描述 |
畸形报文 | FragFlood、Smurf、StreamFlood、LandFlood、IP畸形,TCP畸形,UDP畸形报文等 | 向target发送有缺陷的IP报文,target处理时会崩溃 |
传输层DDoS攻击 | SynFlood、AckFlood、UDPFlood、ICMPFlood、RstFlood | 例SynFlood,利用TCP三次握手机制,server收到syn请求后,需要使用一个监听队列保存连接一段时间,因此通过向sever不断发送syn请求,但不响应syn ack报文,从而消耗服务端的监听队列。 |
DNS DDoS攻击 | DNS Request Flood,DNS Response Flood, 虚假源 真实源DNS Query Flood,权威服务器攻击和local 服务器攻击等 | 例DNS Query Flood,多台傀儡机同时发起海量域名查询请求,造成sever无法响应 |
连接型DDoS攻击 | TCP慢速连接攻击,连接耗尽攻击,loic,hoic,slowloris,pyloris,xoic等 | 例slowloris,利用http协议的特性,http请求以\r\n\r\n 标识headers的结束,如果web服务端只收到\r\n 则认为http headers 还未结束,将保留该连接并等待后续请求,这样造成连接一直没法关闭,连接并发性达到上限后,即使受到新的http请求也没法建立连接 |
Web 应用层DDoS攻击 | Http Get Flood,HttpPost Flood, CC | 完全模拟用户请求,类似搜索引擎和爬虫,消耗后端资源,包括web响应时间,数据库服务,磁盘读写等。例如刷票软件就是CC攻击 |
2.4 云上安全方案
针对DDoS攻击,阿里云建议用户从以下几个方面着手降低DDoS的威胁:
表2 云上安全方案概览 | |||
减少暴露,资源隔离 | 弹性伸缩和灾备切换 | 监控和告警 | 商业安全方案 |
1.减少服务端口暴露,配置安全组; 2.使用专有网络VPC (virtual private cloud); | 1.定期压测,评估业务吞吐能力, 提供余量带宽; 2.SLB(Server Load Balancer)降低单服务器负载压力,多点并发; 3. 弹性伸缩(Auto Scaling)资源管理; 4.优化DNS解析; | 1.配置告警; 2.云监控; 3.应急预案; | 1.Web 应用防护墙(WAF); 2.DDoS 原生防护; 3.DDoS 高级防护; 4.游戏盾; |

图2 云上安全方案概览