#原创分享#slowhttp攻击漏洞原理解析和防御
  

静态路由 271

912575daabe4bbbe84.png

      收到一份来自联通安全部门的漏洞报告,发现我们备案的的某个ip的80存在缓慢的http连接漏洞存在,可被利用导致web应用拒绝服务。

325145daabf7d40ca6.png


      什么是slowhttp攻击,他的原理是什么呢?

      慢速HTTP拒绝服务攻击经过不断的演变和发展,主要有三种攻击类型,分别是Slow headers、Slow body、Slow read。以Slow headers为例,Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点,发起一个HTTP请求,一直不停的发送HTTP头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,每40秒才向服务器发送一个HTTP头部,而Web服务器再没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等等客户端发送数据。如果恶意攻击者客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。这种攻击类型称为慢速HTTP拒绝服务攻击。

      知道了诱因,那么对症下药即可:1设置服务器超时连接时间,不能太长。2每个源IP最大连接数。
     下药之前,我们先来复现一下这个漏洞,同时各位也可以简单测试一下自己的web服务器有没有抗这类DOS的能力。

      gihub上面有这个测试工具,下载安装即可https://github.com/shekyan/slowhttptest.git

      执行命令
slowhttptest -c 18000 -H -g -o my_header_stats -i 10 -r 500 -t GET -u 要测试的域名或者ip -x 24 -p 3
       144645daac283ba73e.png

544955daac2c4caf8e.png

       465965daac235a55b3.png

      确实打不开目标网站了,同时抓包分析。可以看到确实占用了大量的连接,而且每个连接数据包都很小。

269675daac3be8f90d.png

     这个漏洞IP对应的web服务器是我们自己的测试服务器,web代理服务器为apache。就可以用qos.so的这个模块来控制访问。
       534775daac722f4233.png
       单IP最大连接数400,超时时间3S。
       因为测试环境自己用iptables做的简单防火墙功能,没有硬件防火墙。

      如果你有AF那么更简单了,在策略里面选择并发连接数限制,根据需求设置合适的即可。
351545daacc8115253.png

      最后再次测试,发现连接都被关闭了,slowhttp防御成功。

157115daacc441e95e.png

喜欢这篇文章吗?喜欢就给楼主打赏吧!

打赏
1人已打赏

×
有话想说?点这里!
可评论、可发帖
发表新帖

本版热帖

本版达人

ztbf

本周分享达人