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 / 问题 / 814177
Accepted
rsabir
rsabir
Asked: 2016-11-11 02:14:22 +0800 CST2016-11-11 02:14:22 +0800 CST 2016-11-11 02:14:22 +0800 CST

保护 Apache 免受 DOS 攻击

  • 772

我正在使用正确的 Apache 的 mod_evasive,所以我可以减少 DOS 的可能性。我遇到的问题是反向代理背后的应用程序(这是我们的服务器 apache)非常弱,并且被开发为一页加载 200 个文件(css、js 等)。因此,当我使用像https://github.com/rohitchormale/hulk/blob/master/hulk.py这样的脚本时,我成功杀死了该应用程序,因为该脚本为攻击生成了许多唯一的 URI,而且我有义务允许每秒超过 300 个页面(* 10 个可能具有相同 IP 的客户端)。

因此,我想到的一个解决方案是在一秒钟内收到 ax 404 错误时将 ip 列入黑名单。有可能这样做吗?

denial-of-service apache-2.4
  • 1 1 个回答
  • 371 Views

1 个回答

  • Voted
  1. Best Answer
    rsabir
    2016-11-29T00:45:09+08:002016-11-29T00:45:09+08:00

    正如 Sven 在他的评论中建议的那样,Fail2ban通过分析 Apache 的日志来允许这种行为。所以让我提醒你我的目标:如果用户触发了一定数量的 404 错误或任何其他错误,则阻止他访问我的服务器。这是我在设置中所做的:

    在 /etc/fail2ban/jail.conf 中:

    [http-error-dos]  
    enabled = true
    port = http,https
    filter = http-error-dos
    logpath = /var/log/httpd/*acces*log #change it to put your path
    maxretry = 20
    findtime = 100
    bantime = 600  #ban for 10 minutes
    action = iptables[name=HTTP, port=http, protocol=tcp]
    

    在 /etc/fail2ban/filter.d/http-error-dos.conf 中:

    # Fail2Ban configuration file
    failregex = <HOST>.* HTTP/.*\" [13456789][1023456789]{2,2}.*
    

    确保根据您的日志格式更改 failregex。

    • 0

相关问题

  • 识别 Windows 2008 服务器上的 DDOS 攻击 [重复]

  • 您使用什么标准来确定是否有人在敲击您的服务器?

  • 帐户锁定是等待发生的拒绝服务攻击吗?

  • 防止拒绝服务攻击的最佳技术是什么?

  • arxiv.org 的反机器人“搜索和销毁”实际上是做什么的?

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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