apache,tomcat缓慢的http拒绝服务攻击修改办法

Apache

在httpd.conf中添加 LoadModule reqtimeout_module modules/mod_reqtimeout.so

查看是否存在mod_reqtimeout.so模块

[root@localhost ~]# rpm -ql httpd |grep .so
/usr/lib64/httpd/modules/mod_reqtimeout.so

添加配置

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

<IfModule reqtimeout_module>
    RequestReadTimeout header=5-40,MinRate=500 body=20,MinRate=500
</IfModule>

LoadModule reqtimeout_module modules/mod_reqtimeout.so

重启apache

service httpd restart

参考链接:https://blog.csdn.net/h106140873/article/details/53743275

如果上面一个模块不行
建议使用mod_reqtimeout和mod_qos两个模块相互配合来防护。
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秒。
示例:

LoadModule reqtimeout_module modules/mod_reqtimeout.so
<IfModule reqtimeout_module>
RequestReadTimeout header=10-40,minrate=500 body=10-40,minrate=500
</IfModule>

2、mod_qos用于控制并发连接数。配置例如:
当服务器并发连接数超过600时,关闭keepalive
QS_SrvMaxConnClose 600
#限制每个源IP最大并发连接数为50
QS_SrvMaxConnPerIP 50
这两个数值可以根据服务器的性能调整。
更多关于qos_module配置参考:
http://mod-qos.sourceforge.net/dos.html
示例:

LoadModule qos_module modules/mod_qos.so
<IfModule qos_module>
QS_SrvMaxConnClose 600
QS_SrvMaxConnPerIP 50
</IfModule>

tomcat

修改tomcat配置
修改tomcat server.xml中的

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="8000"
               disableUploadTimeout="true"
               disableUploadTimeout="true"
               redirectPort="18443"
                           URIEncoding="utf-8"
               maxPostSize="-1"
               maxHttpHeaderSize ="102400"/>

其中connectionTimeout更改为了8000,并增加了disableUploadTimeout="true"参数

保存后重启服务再测
参考链接:https://blog.csdn.net/zhangzhen02/article/details/120782292

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值