您当前的位置:首页 > 知乎文章

DDOS之TCP连接耗尽攻击与防御

时间:2022-02-28 10:47:12  知乎原文链接  作者:网盾网络安全培训

攻击原理

connection flood攻击是非常有效的利用小流量冲击大带宽的攻击手段,这种攻击方式曾经风靡一时。

攻击的原理是利用真实IP向服务器发起大量的连接,并且建立连接之后很长时间不释放,占用服务器的资源,造成服务器服务器上WAIT连接状态过多,效率降低,消耗对方网络资源甚至耗尽,无法响应其他正常客户所发起的连接。

常用的一种攻击方法是每秒钟向服务器发起大量的连接请求,这类似于固定源IP的syn flood攻击,不同的是采用了真实的源IP地址。通常这可以在防火墙上限制每个源IP地址每秒钟的连接数来达到防护目的。

现在已有恶意攻击工具采用慢速连接的方式,也即几秒钟才和服务器建立一个连接,连接建立成功之后并不释放并定时发送垃圾数据包给服务器使连接得以长时间保持。这样一个IP地址就可以和服务器建立成百上千的连接,而服务器可以承受的连接数是有限的,这就达到了拒绝服务的效果。

另外,蠕虫大规模爆发的时候,由于蠕虫代码则比较简单,传播过程中会出现大量源IP地址相同的包,对于 TCP蠕虫则表现为大范围扫描行为。

防护原理

通常抗ddos设备针对旁路和串联情况下都是包触发的统计方式,所以统计的时候主要是根据统计周期和来的包的类型来进行统计。这里有三个原则需要注意:

1.并发连接数跟统计周期无关,属于累积的,前一个统计周期和后一个统计周期的连接,如果一直没有断开,会累积为并发。

2.并发连接的统计原则,syn包计数加1,fin/rst等断开连接的包减1。

3.在新建连接数统计周期内,syn包计数加1,断开连接的rst/fin等包,不变。

如下以在2个连接统计周期内,用户发起5个TCP连接,分别在不同的阶段发起和断开,新建连接数统计和并发连接数统计的变化如下:

第一个统计周期:

class="ztext-empty-paragraph">

class="ztext-empty-paragraph">

第二个统计周期:

class="ztext-empty-paragraph">

class="ztext-empty-paragraph">

针对5元组的连接耗尽规则:

class="ztext-empty-paragraph">

class="ztext-empty-paragraph">

实例:

如上第二条规则,配置了6.6.6.6/24一个网段的源IP ,使用该规则时,系统会统计6.6.6.6/24这个段内每一个IP的连接耗尽攻击数量,即每个IP的连接耗尽攻击数量超过阈值,每个IP都会加黑。而不是6.6.6.6/24这个网段内所有IP的攻击包数量超过阈值再进行防护,只对单个IP进行统计。同理对于7.7.7.7/25这种类型的目标IP端,同样也是分单个IP进行统计。

优先级规则,例如有攻击同时匹配两条规则(源: 6.6.6.6, 目标: 7.7.7.7, 目标端口: 80),那么该规则会首先匹配上第一条规则,使用第一条规则的阈值进行防护,不会再匹配之后的规则。

上一篇      下一篇    删除文章    编辑文章
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门