数码之家

 找回密码
 立即注册
搜索
查看: 2729|回复: 2

Apache_Win安装mod_qos模块控制并发连接数防范慢速攻击

[复制链接]
发表于 2024-8-17 00:39:09 | 显示全部楼层 |阅读模式 IP属地:福建厦门
本帖最后由 不长叶子的树 于 2024-8-17 00:45 编辑

建议使用mod_reqtimeout和mod_qos两个模块相互配合来防护HTTP慢攻击(Slow HTTP Attack)

1、mod_reqtimeout用于控制每个连接上请求发送的速率。

#请求头部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slowloris型的慢速攻击。

RequestReadTimeout header=10-40,minrate=500

#请求正文部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slow message body型的慢速攻击。

RequestReadTimeout body=10-40,minrate=500

需注意,对于HTTPS站点,需要把初始超时时间上调,比如调整到20秒。

示例:
  1. # 加载reqtimeout模块
  2. LoadModule reqtimeout_module modules

  3. <IfModule reqtimeout_module>
  4. RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
  5. </IfModule>
复制代码


2、mod_qos 是一个Apache HTTP服务器的模块,用于限制连接/控制并发连接数和请求的速率。

配置例如:
#当服务器并发连接数超过600时,关闭keepalive
QS_SrvMaxConnClose 600
#限制每个源IP最大并发连接数为50
QS_SrvMaxConnPerIP 50
这两个数值可以根据服务器的性能调整。

示例:
先下载附件的mod_qos.so模块到Apache 2.4目录下
  1. # 加载mod_qos模块
  2. LoadModule qos_module modules/mod_qos.so

  3. <IfModule qos_module>
  4.    # handle connections from up to 100000 different IPs
  5.    #QS_ClientEntries 100000
  6.    # allow only 50 connections per IP;限制每个源IP最大并发连接数为20
  7.    QS_SrvMaxConnPerIP 20
  8.    # limit maximum number of active TCP connections limited to 256
  9.    #MaxClients 640
  10.    # disables keep-alive when 180 (70%) TCP connections are occupied
  11.    QS_SrvMaxConnClose 70%
  12.    # enables the known client prefer mode (server allows new TCP connections
  13.    # from known/good clients only if there are more than 716 open TCP connections):
  14.    QS_ClientPrefer 80%
  15.    # minimum request/response speed
  16.    # (deny slow clients blocking the server, keeping connections open without requesting anything
  17.    QS_SrvMinDataRate 64 512 200
  18.    # disables connection restrictions for certain clients (trusted proxy servers);排除的IP地址
  19.    QS_SrvMaxConnExcludeIP 192.168.1.123
  20.    QS_SrvMaxConnExcludeIP 123.123.123.123
  21. </IfModule>
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2024-10-12 10:22:33 | 显示全部楼层 IP属地:内蒙古呼伦贝尔
httpd.exe: Syntax error on line 558 of D:/Apache/conf/httpd.conf: Cannot load D:/Apache/modules/mod_qos.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3
这个报错是没加载进去吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-12 10:55:52 | 显示全部楼层 IP属地:福建厦门
复测的 发表于 2024-10-12 10:22
httpd.exe: Syntax error on line 558 of D:/Apache/conf/httpd.conf: Cannot load D:/Apache/modules/mod_ ...

是的,另外要看适用的版本,可能这个模块与你的Apache版本不匹配,这个是Apache 2.4 x64 VS16开发环境的。
回复 支持 反对

使用道具 举报

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-1 14:42 , Processed in 0.109200 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表