首包丢弃
目录
定义:
有些攻击是不断变换源IP地址或者源端口号发送攻击报文,通过首包丢弃,可以有效拦截这部分流量。首包丢弃与源认证结合使用,防止虚假源攻击。
攻击原理(背景):
对于有些攻击是不断变换源IP地址或者源端口号的,这样的攻击报文都不相同,而且攻击量很大,如果使用源认证方式防御,将每个攻击报文反弹,那么反弹量会非常大,容易造成链路阻塞。
防御原理:
首包丢弃就是为了防御大流量攻击,与源认证方式结合可有效防御变换源IP或源端口号的攻击。
正常情况下,对于TCP、DNS、ICMP报文都具有重传功能(这种方法其实也是利用了报文的重传机制所以只适用于具有重传功能的报文),如果在交互过程中报文被丢弃,则都会重传。首包丢弃正式利用了报文的重传机制,将收到的第一个报文丢弃,以判定后续是否有重传报文。
Anti-DDoS设备判定报文是否属于重传报文是基于三元组及时间间隔来判断的。三元组包含源IP地址、源端口和协议;时间间隔可以自定义配置。
-
当报文没有匹配到任何三元组时,认为该报文是首包,将其丢弃。
-
当报文匹配到某三元组,则计算该报文与匹配该三元组的上一个报文到达的时间间隔。
如果时间间隔低于设定的下限,或者高于设定的上限,则认为是首包,将其丢弃;如果时间间隔落在配置的上限和下限之间,则认为是后续包,将其放行。
支持首包丢弃的报文有SYN、TCP、UDP、DNS、HTTP、ICMP。UDP协议虽然不具备重发机制,当有应用层协议来协助实现重发时,也可以配置首包丢弃功能
过滤器
定义:
过滤器就是在AntiDDoS上自定义报文的源IP、目的IP、协议、TTL等特征,将这些特征组合在一起作为过滤条件。后续对到达AntiDDoS的报文进行匹配,如果特征匹配,则表示命中过滤器,则对匹配的报文执行相应操作,从而实现精细化过滤的目的。
AntiDDoS提供了IP、TCP、UDP、HTTP、DNS、ICMP、SIP共七种类型的过滤器,具体请参见表1。
过滤器 | 过滤条件 |
---|---|
IP过滤器 | 源IP、目的IP、报文长度、TTL、指纹、协议、DSCP、分片类型。 |
TCP过滤器 | 源IP、目的IP、报文长度、TTL、指纹、DSCP、分片类型、TCP标记位、源端口、目的端口。 |
UDP过滤器 | 源IP、目的IP、报文长度、TTL、指纹、DSCP、分片类型、源端口、目的端口。 |
ICMP过滤器 | 源IP、目的IP、报文长度、TTL、指纹、DSCP、分片类型。 |
HTTP过滤器 | 源IP、目的IP、报文长度、TTL、指纹、DSCP、分片类型、TCP标记位、源端口、HTTP字段(包括opcode、cookie、host、referer、user-agent)、HTTP请求类型URI。 |
DNS过滤器 | 源IP、目的IP、报文长度、TTL、指纹、DSCP、分片类型、源端口、DNS qr(Query和Reply)、DNS字段(包括domain、type)。 |
SIP过滤器 | 源IP、目的IP、报文长度、TTL、指纹、DSCP、分片类型、源端口、Caller、Callee。 |
过滤器对匹配的报文支持以下方式的操作:
- 禁止通过。
- 禁止通过,并将源IP地址加入黑名单。
- 允许通过。
- 允许通过,并将源IP地址加入白名单。
- 限速。
- 源限速。此方式只能应用于防护对象过滤器,不能应用于全局过滤器。
- 源认证。此方式只针对HTTP过滤器有效。
黑名单白名单
定义:
异常流量清洗方案支持将一些不可信任的源IP地址加入黑名单,对此源发出的报文禁止通过;将信任的源IP地址加入到白名单,对此源发出的报文允许通过。
黑名单:
-
静态黑名单
管理员针对防护对象手动将源IP地址、子网掩码、目的端口号和协议类型加入到黑名单中。后续收到匹配的报文时,异常流量清洗方案认为此报文不可信,直接丢弃。
静态黑名单配置后,一直生效,除非管理员手动删除。
-
动态黑名单
动态黑名单无需管理员手动配置,在防御过程中,检测到的非法源将被加入系统自动生成的动态黑名单。
在对TCP Connection Flood、HTTP Flood和HTTPS Flood等应用层攻击防御过程中,系统会将攻击源IP地址加入动态黑名单,需要将动态黑名单功能打开。在动态黑名单老化时间内,系统阻断攻击源流量;当超过黑名单老化时间后,系统将重新检测攻击源IP地址。
而对于静态特征过滤功能,命中过滤指纹的报文如果配置了drop-mark-black操作,也需要将动态黑名单功能打开,才可将此指纹的源IP地址加入黑名单表项。
其中,动态黑名单的生效模式有以下三种:
-
自动
动态黑名单生成后自动生效。
-
手动
动态黑名单生成后,需要管理员手动确认该黑名单是否生效。
-
关闭
防御过程中,不生成动态黑名单。
对于HTTP Flood和HTTPS Flood源认证方式的防御,即使动态黑名单模式为不生效,系统也能有效防御非法源的攻击;而对于TCP Connection Flood和HTTP Flood中的URI监测防御中,只有黑名单生效,才能有效防御非法源的攻击。
为了避免将正常用户IP地址误加入到黑名单,导致业务中断,缺省情况下,动态黑名单功能是关闭的。
-
白名单
在异常流量清洗方案中,白名单也有两种类型:
-
静态白名单
管理员手动将源IP地址、子网掩码、目的端口号和协议类型加入到白名单中。后续收到匹配的报文时,异常流量清洗方案认为此报文可信任,直接转发,不再防御。
静态白名单配置后,一直生效,除非管理员手动删除。
同一个源IP地址,如果协议类型不同或者端口号不同,可以被同时加入静态黑名单和静态白名单。
-
动态白名单
在防御过程中,通过源认证的合法源将被加入系统自动生成的动态白名单。
动态白名单是有老化时间的。在老化时间内,动态白名单生效,系统允许该源发出的报文直接通过;老化时间结束后,动态白名单不再生效,系统重新对该源发出的报文进行检测,判断是否允许通过。
阻断和限流
通过服务学习或经验发现网络中根本没有某种服务或某种服务流量很小,则可以分别采用阻断和限流方法来防御攻击。
阻断和限流防御对正常业务可能会有一定影响,一般在所有防御均失效或了解业务流量确认阻断和限流对正常业务无影响的情况下使用。
阻断和限流的含义是:
- 阻断:在自定义服务策略中表示将匹配自定义服务的报文全部丢弃;在默认防御策略中表示将自定义服务以外的此协议报文全部丢弃。
- 限流:在自定义服务策略中表示将匹配自定义服务的报文限制在阈值内,丢弃超过阈值的部分报文;在默认防御策略中表示将自定义服务以外的此协议报文限制在阈值内,丢弃超过阈值的部分报文。
参考文献或资料
---------------------------HedEx Lite