DDos防御需要根据不同的攻击类型和不同的攻击方式指定对应的策略才能达到有效的防御。常见的DDos包括:Flood、CC和反射等。
1、flood攻击
Flood类的攻击常见并简单有效,通过控制大量的肉鸡同时向服务器发起请求,进而达到阻塞服务端处理入口或网卡队列。
针对消耗性Flood攻击,如:SYN
Flood、ACK
Flood、UDP
Flood,有效并可靠的防御方法是做源认证和资源隔离,即:在客户端和服务端建立回话时对请求的源进行必要的认证,并将认证结果形成可靠的白名单或黑名单,进而保证服务端处理业务的有效性。
若肉鸡足够多并伪造数据包的真实性较高时,只能通过提升服务端的处理速度和流量吞吐量来达到较好的对抗效果。
2、CC攻击
CC攻击是一种针对Http业务的攻击手段,该攻击模式不需要太大的攻击流量,它是对服务端业务 处理瓶颈的打击,攻击目标包括:大量数据运算、数据库访问、大内存文件等,攻击特征包括:
a、只构造请求,不关心请求结果,即发送完请求后立即关闭会话;
b、持续请求同一操作;
c、故意请求小字节的数据包(如下载文件);
d、qps高;
针对CC的攻击的防御需要结合具体业务的特征,针对具体的业务建立一系列防御模型,如:连接特征模型,客户端行为模型,业务访问特征模型等,接收请求端统计客户信息并根据模型特征进行一系列处理,包括:列入黑名单,限制访问速率,随机丢弃请求等。
3、反射类攻击
反射攻击是一种模拟攻击客户端请求指定服务器,并利用请求和应答之间的流量差值进行流量放大,进而达到攻击效果的攻击方式,常见的攻击类型包括:NTP,DNS等。
针对反射攻击比较有效的防御手段有:访问请求限速、反射流限速、请求行为分析等,这些防御手段没法完全过滤攻击流,只能达到抑制攻击的效果