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 / 问题 / 1063328
Accepted
cherouvim
cherouvim
Asked: 2021-05-13 05:39:27 +0800 CST2021-05-13 05:39:27 +0800 CST 2021-05-13 05:39:27 +0800 CST

解禁后fail2ban“过期bantime”

  • 772

我有这个针对 apache 日志的 fail2ban 监狱(目前有一些小值,所以我可以试验):

enabled = true
maxretry = 3
bantime = 10
findtime = 5
action = 429-ban

我使用ab(并发:10,请求:10000)对其进行压力测试,我的自定义过滤器几乎立即捕获“高”流量并禁止 IP。

问题是 10 秒后,禁令到期,如果我继续运行ab,fail2ban 日志现在充满:

Ignore 192.168.XX.XX, expired bantime
Ignore 192.168.XX.XX, expired bantime
Ignore 192.168.XX.XX, expired bantime

从那时起,很长一段时间内,没有出现任何禁令。同时fail2ban日志显示处理,即使我停止ab。如果我等待足够长的时间并确认 fail2ban 日志活动停止,那么重新启动压力测试会有效地禁止 IP。

我的问题是:

  • 这expired bantime到底是什么意思?
  • 即使压力测试ab很久以前就停止了,fail2ban 似乎仍会继续处理内容。是否有可能在fail2ban上存在某种我可以减少的缓冲区,这可能也可以解决我的第一个问题?
fail2ban
  • 1 1 个回答
  • 255 Views

1 个回答

  • Voted
  1. Best Answer
    sebres
    2021-05-20T10:06:16+08:002021-05-20T10:06:16+08:00

    这个过期的bantime到底是什么意思?

    这意味着如果禁令发生,由于您的配置,禁令将立即过期,因此 unban 将在禁令后立即调用,这将使禁令过程变得不必要。

    禁令结束使用公式计算:

    end_of_ban = time_of_last_known_failure_causing_ban + bantime
    

    发生这种情况是因为与您的配置相关的大量消息禁令结束可能比现在小,所以 fail2ban 过滤器忽略了这一点,只是搜索更多消息。
    另一种可能性可能是您的禁止操作并没有真正起作用,因此被禁止的“入侵者”(或者更确切地说是模拟压力测试器)仍然能够产生消息,所以这确实会溢出日志。
    或者 fail2ban 根本无法比您生成消息更快地滚动日志。

    即使很久以前使用 ab 进行压力测试,fail2ban 似乎仍会继续处理内容

    好吧,这确实表明您的配置中有些地方不正确:正则表达式速度慢、操作错误等,甚至消息太多。
    请查看fail2ban wiki ::描述某些优化的最佳实践。

    是否有可能在fail2ban上有某种缓冲,我可以减少

    并不真地。但是,如果您要切换程序,则可能会减少寄生虫日志流量:

    • 不要监视带有太多消息的访问日志或使用优化的正则表达式(以及更合适的日志格式)来提高过滤器的速度(行匹配);
    • 尝试使用 web-server 的一些模块(如 nginx 的 limit-req 和 fail2ban 的过滤器,如nginx-limit-req)而不是扫描访问日志;
    • 或使用更合适的方法来生成更少的日志消息,例如使用 iptables 与 limit-burst 或其他类似的东西一起记录 IP 的 http 数据包。
    • 2

相关问题

  • AWS 服务器是否需要 fail2ban?

  • 哪个 Nginx 日志文件适用于 fail2ban?

  • Fail2Ban 登录过滤器在 Debian Web 服务器上不起作用

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