IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 慢速Dos攻击(Slowhttptest) -> 正文阅读

[网络协议]慢速Dos攻击(Slowhttptest)

漏洞描述:
Slow HTTP Denial of Service Attack 中文叫作缓慢的HTTP攻击漏洞,服务器在接收到请求时,彻底接收之后才会处理请求,若是攻击者发送的比较缓慢或者发送的不完整,服务器会保留其链接,占用资源池,若是请求数量较多,就会造成 DOS 攻击。
利用的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="8000" <!--把connectionTimeout的20000改成8000即可。-->
 redirectPort="8443" /> 

修改之后,攻击以下:
在这里插入图片描述
修复的效果立竿见影,攻击对服务器基本没影响了

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>

重启apache,工具扫描确认漏洞是否修改完成。再攻击的话,提示:
在这里插入图片描述
也能够安装两个新的模块 mod_qosmod_security

<IfModule mod_qos.c>
 # handle connections from up to 100000 different IPs
 QS_ClientEntries 100000
 # allow only 50 connections per IP
 QS_SrvMaxConnPerIP 50
 # limit maximum number of active TCP connections limited to 256
 MaxClients 256
 # disables keep-alive when 180 (70%) TCP connections are occupied
 QS_SrvMaxConnClose 180
 # minimum request/response speed (deny slow clients blocking the server, keeping connections open without requesting anything
 QS_SrvMinDataRate 150 1200
</IfModule>

方法2:设置每一个 IP 只能创建20个链接

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j REJECT --reject-with tcp-reset

查看创建的链接数
netstat -ant | grep $ip:80 | grep EST | wc -l
设置完iptables 后,当即生效,可是使用工具进行攻击的时候,仍是会提示攻击成功,由于攻击者本身只能与服务器创建20个链接,超过20个链接后,会提示服务不可用。
在这里插入图片描述
服务器创建的链接数
在这里插入图片描述
IIS:
1.设定HTTP Request 属性: 用來限制HTTP 请求的URL及query string长度。
取消勾选 [Allow unlisted verbs]
Max URL length: 2048
Max query string: 1024
在这里插入图片描述
2.设定Header:
在Headers中设定 [Content-type] : 100
在这里插入图片描述
3.设定connectionTimeout, headerWaitTimeout, and minBytesPerSecond等属性來降低攻击所带来的影响。

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

4.设定完成后,请执行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;
    # ...
}

Weblogic:
console 控制台修改两个参数。
在这里插入图片描述
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:37:35  更:2021-09-13 09:39:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:35:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码