centos - nginx如何防御slowloris攻击?

 K_M_睡到自然醒cES_881 发布于 2022-10-26 21:02

nginx被检测出slowloris攻击:针对任意HTTP Server,建立一个连接,以很低的速度发包,并保持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接池将很快被占满,从而导致拒绝服务攻击。

给出的解决办法是:限制web服务器的HTTP头部传输的最大许可时间。

那么nginx该怎么设置呢?
我设置了
keepalive_timeout 65;
client_header_timeout 10;
client_body_timeout 10;
send_timeout 10;
可还是被检测出了有问题。后来想了想,client_header_timeout只是限制了两个包间的延时,只要保持着慢慢发就不会断,我需要让传输总时间超过了设定值就直接断掉。
该如何做呢?或者有应对slowloris的模块?

1 个回答
  • slowloris对nginx无效的吧?
    你设置下每个ip的链接数。
    对付攻击就是打资源战,nginx支持这种链接不需要多少资源,多搞几台服务器,设置下每个ip的链接数目。
    看下攻击的是否通过post实现的,可以设置下cookie,如果没某个cookie,直接丢弃post。

    2022-11-12 01:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有