我服务器上的 fail2ban 数据库非常大(420MB)。
fail2ban 日志非常繁忙(每两秒就有一个“过滤器”条目),但iptables
只显示了几个被禁止的地址。
dbpurage 为 86400 秒(24 小时)
这个尺寸与活动一致还是发生了什么?
我假设如果我停止/擦除数据库/启动,我会恢复到合理的大小,但这不会使活动禁令永久化吗?
我服务器上的 fail2ban 数据库非常大(420MB)。
fail2ban 日志非常繁忙(每两秒就有一个“过滤器”条目),但iptables
只显示了几个被禁止的地址。
dbpurage 为 86400 秒(24 小时)
这个尺寸与活动一致还是发生了什么?
我假设如果我停止/擦除数据库/启动,我会恢复到合理的大小,但这不会使活动禁令永久化吗?
我刚刚在我自己的服务器上发现了这个问题。我
dbpurgeage
的也设置为默认的 24 小时,但我的fail2ban.sqlite3
增长到 400MB,并且在过去 2 年中有 800,000 条禁令。事实证明fail2ban 实际上直到 v0.11 才具有清除数据库的代码。它是在这个提交中添加的。dburgeage 在此之前什么都不做。
要查看数据库中有多少禁令:
要查看您最旧的数据库条目的年龄:
要清理数据库,例如只保留最后一周的数据:
删除可能需要几分钟,在此期间,如果 fail2ban 尝试访问数据库,它将被阻止。也许您可能希望以较小的批量删除(首先是超过 2 年的所有内容,然后是 1 年等),以便让 fail2ban 有机会在两者之间运行,并在最后进行清理。