AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 32361
In Process
KPWINC
KPWINC
Asked: 2009-06-27 10:03:17 +0800 CST2009-06-27 10:03:17 +0800 CST 2009-06-27 10:03:17 +0800 CST

如何最好地防御针对 Apache Web 服务器的“slowloris”DOS 攻击?

  • 772

最近,一个名为“slowloris”的剧本引起了人们的关注。slowloris 所做的基本概念并不是新的攻击,但鉴于最近的关注,我发现针对我们的一些 Apache 网站的攻击略有增加。

目前似乎没有任何 100% 的防御措施。

我们(到目前为止)确定的最佳解决方案是增加 MaxClients。

这当然无非是增加了对攻击者电脑的要求,并没有真正100%保护服务器。

另一份报告表明,在 Apache 服务器前使用反向代理(例如 Perlbal)有助于防止攻击。

使用 mod_evasive 限制来自一台主机的连接数并使用 mod_security 拒绝看起来像是由 slowloris 发出的请求似乎是迄今为止最好的防御。

ServerFault上有没有人遇到过这样的攻击?如果是这样,您采取了哪些措施来保护/预防它?

注意:这个问题是针对 Apache 服务器的,因为据我了解,Windows IIS 服务器不受影响。

apache-2.2 web-server denial-of-service
  • 7 7 个回答
  • 32655 Views

7 个回答

  • Voted
  1. Kristaps
    2009-06-27T13:18:38+08:002009-06-27T13:18:38+08:00

    我经历过这样的袭击……在仲夏(6 月 23 日),你应该在乡下喝啤酒:>

    我把我的 Apache 放在Varnish后面,它不仅可以防止慢病毒,还可以加速 Web 请求。

    另外,iptables帮助了我:

    iptables -I INPUT -p tcp --dport 80 \
             -m connlimit --connlimit-above 20 --connlimit-mask 40 -j DROP
    

    此规则将一台主机限制为与端口 80 的 20 个连接,这不应影响非恶意用户,但会使一台主机无法使用 slowloris。

    • 24
  2. LiraNuna
    2009-07-01T10:00:22+08:002009-07-01T10:00:22+08:00

    mod_antiloris,就这么简单。

    • 4
  3. Cian
    2009-07-14T10:45:34+08:002009-07-14T10:45:34+08:00

    如果你所有的 apache 模块都是线程安全的,slowloris 可以简单地通过切换到事件或工作 MPM 来解决。参考:这里

    • 3
  4. Maxwell
    2009-06-27T11:07:50+08:002009-06-27T11:07:50+08:00

    现在似乎没有什么可以限制服务器上每个 ip 的最大并发连接数了。

    • 0
  5. Dentrasi
    2009-06-27T11:10:34+08:002009-06-27T11:10:34+08:00

    您可以尝试一个用户补丁。它根据服务器的负载修改超时,但考虑到它的状态,你可能不想在生产机器上使用它,没有一些认真的测试。看看这里。

    • 0
  6. datums
    2009-06-27T12:16:19+08:002009-06-27T12:16:19+08:00

    基于 iptable 的防火墙应该保护您免受来自 1 个 ip 的多个连接。

    • 0
  7. MrCarrot
    2015-10-17T07:44:58+08:002015-10-17T07:44:58+08:00

    如果这对其他人有帮助,您有时可以使用 Apache 2.2.15 或更高版本通过以下配置解决此问题:

    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
    

    更多信息在这里:https ://httpd.apache.org/docs/2.2/mod/mod_reqtimeout.html

    • 0

相关问题

  • 在您分发的应用程序中使用 Apache HTTPD 运行 SSL 的最佳方式是什么?

  • 阿帕奇的替代品

  • 如何强制我的网址始终以 www 开头?

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • mod_rewrite 不转发 GET 参数

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve