apache nginx tomcat iis Slow HTTP Denial of Service Attack漏洞修复办法

apache nginx tomcat iis Slow HTTP Denial of Service Attack漏洞修复办法

OneOne
2018-04-24 / 0 评论 / 5,797 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年03月22日,已超过1767天没有更新,若内容或图片失效,请留言反馈。
Slow HTTP Denial of Service Attack 中文叫作缓慢的HTTP攻击漏洞,网上多数是tomcat的修复方法,然而实际上会碰到iis nginx apache等web服务器的这个问题,于是就有了这个修复集合。

漏洞描述:

利用的HTTP POST:POST的时候,指定一个非常大的content-length,然后以很低的速度发包,比如10-100s发一个字节,hold住这个连接不断开。这样当客户端连接多了后,占用住了webserver的所有可用连接,从而导致DOS。

修复方法:

对web服务器的http头部传输的最大许可时间进行限制,修改成最大许可时间为8秒。

具体方法如下:

tomcat:

tomcat配置文件conf/server.xml中,

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" /> //把connectionTimeout的20000改成8000即可。

apache
httpd.conf下启用mod_reqtimeout模块 去掉下面一行前面的#号
LoadModule reqtimeout_module modules/mod_reqtimeout.so
增加以下配置
<IfModule reqtimeout_module>
    RequestReadTimeout header=5-40,MinRate=500 body=20,MinRate=500
</IfModule>

4.重启apache,工具扫描确认漏洞是否修改完成

IIS

步驟一: 設定HTTP Request 屬性: 用來限制HTTP 請求的URL及query string長度。

  1. 取消勾選 [Allow unlisted verbs]
  2. Max URL length: 2048
  3. Max query string: 1024
    1057884-1cca1d783a675760.png

步驟二: 設定Header:

在Headers中設定 [Content-type] : 100
1057884-fa9c6a94229b22c7.png

步驟三: 設定connectionTimeout, headerWaitTimeout, and minBytesPerSecond等屬性來降低攻擊所帶來的影響。

<configuration>
 <system.applicationHost>
 <webLimits connectionTimeout="00:00:30"
 headerWaitTimeout="00:00:30"
 minBytesPerSecond="250"
 />
 </system.applicationHost>
 </configuration>

步驟四: 設定完成後,請執行iisreset 讓設定生效。

nginx

关闭慢速连接

您可以关闭正在写入数据的连接,这可能意味着尝试尽可能保持连接打开(从而降低服务器接受新连接的能力)。Slowloris是这种类型的攻击的一个例子。该[client_body_timeout](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_timeout)指令控制NGINX在客户机体写入之间等待的时间,该[client_header_timeout](http://nginx.org/en/docs/http/ngx_http_core_module.html#client_header_timeout) 指令控制NGINX在写入客户机标题之间等待的时间。这两个指令的默认值是60秒。本示例将NGINX配置为在来自客户端的写入或头文件之间等待不超过5秒钟:

server {
    client_body_timeout 5s;
    client_header_timeout 5s;
    # ...
}

参考链接:

https://community.qualys.com/blogs/securitylabs/2011/11/02/how-to-protect-against-slow-http-attacks

https://blogs.msdn.microsoft.com/griffey/2015/08/13/iis-request-filtering-slow-http-attack/

https://www.nginx.com/blog/mitigating-ddos-attacks-with-nginx-and-nginx-plus/

0

评论 (0)

取消