攻击原理
对于有些攻击是不断变换源IP地址或者源端口号的,这样的攻击报文都不相同,而且攻击量很大。
通过首包丢弃,可以有效拦截这部分流量。
防御原理
正常情况下,对于TCP、DNS、ICMP报文都具有重传功能,如果在交互过程中报文被丢弃,则都会重传。
首包丢弃正式利用了报文的重传机制,将收到的第一个报文丢弃,以判定后续是否有重传报文。
首包丢弃就是为了防御大流量攻击,与源认证方式结合可有效防御变换源IP或源端口号的攻击。
判定报文是否属于重传报文是基于三元组及时间间隔来判断的。
三元组包含源IP地址、源端口和协议;时间间隔可以自定义配置。
当报文没有匹配到任何三元组时,认为该报文是首包将其丢弃。
当报文匹配到某三元组,则计算该报文与匹配该三元组的上一个报文到达的时间间隔。
如果时间间隔低于设定的下限,或者高于设定的上限,则认为是首包,将其丢弃;如果时间间隔落在配置的上限和下限之间,则认为是后续包,将其放行。