fail2ban 没有禁止,时间已关闭,我该如何同步它们?

fail2ban 没有禁止,时间已关闭,我该如何同步它们?

在寻找为什么 fail2ban 没有禁止模式时,我发现当我运行 /etc/init.d/fail2ban status 时,它的报告比我的“date”命令晚了一个多小时。

“日期”显示其日期:2014 年 3 月 18 日星期二 20:45:02 MST

状态返回输出:3 月 5 日 19:16:30 fed8 systemd[1]: 正在启动 LSB:启动/停止 fail2ban...

我知道我的“日期”是正确的,为什么 fail2ban 不同步?我该如何修复?是否有配置选项可以强制它获取 unix 命令“日期”?

我正在使用 fail2ban 8.12 谢谢

编辑:从错误报告中添加了补丁,没有改变任何东西。我应该包含完整的输出。日期也差得很远,几乎是 2 周前?这是为什么?似乎状态没有报告上次我尝试启动它时发生了什么?当我执行 ps 时,我看到 fail2ban-server 确实正在“运行”:

root     26430  0.4  0.1 1268652 14820 ?       Sl   21:58   0:01 /usr/bin/python    /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -x


/etc/init.d/fail2ban status
fail2ban.service - LSB: Start/Stop fail2ban
Loaded: loaded (/etc/rc.d/init.d/fail2ban)
Active: failed (Result: exit-code) since Wed 2014-03-05 19:26:00 MST; 1 weeks 6 days ago
Main PID: 1145 (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/fail2ban.service

Mar 05 19:16:30 fed8 systemd[1]: Starting LSB: Start/Stop fail2ban...
Mar 05 19:16:33 fed8 fail2ban[945]: Starting fail2ban: ERROR  No section: 'Definition'
Mar 05 19:16:33 fed8 fail2ban[945]: ERROR  No section: 'Definition'
Mar 05 19:16:38 fed8 fail2ban[945]: [  OK  ]
Mar 05 19:16:38 fed8 systemd[1]: Started LSB: Start/Stop fail2ban.
Mar 05 19:26:00 fed8 fail2ban[3481]: Stopping fail2ban: ERROR  Unable to contact server.    Is it running?
Mar 05 19:26:00 fed8 fail2ban[3481]: [FAILED]
Mar 05 19:26:00 fed8 systemd[1]: fail2ban.service: control process exited, code=exited status=255
Mar 05 19:26:00 fed8 systemd[1]: Unit fail2ban.service entered failed state.

EDIT2:我发现我需要使用“system fail2ban start”而不是使用命令行。这修复了状态报告。fail2ban 日志文件现在正确显示了与“date”命令同步的启动时间,但它仍然没有被禁止。我在文件中看到的最后一个模式上运行了 fail2ban-regex,它应该已经检测到了,但是没有。

EDIT3:我仍然不明白为什么它不会禁止模式。当我手动运行 fail2ban-regex 时,它可以正确捕获我的模式。我在另一篇文章中发现的唯一另一件事是,有人建议运行“system iptables status”,结果如下:

163 ROOT fed8 /etc/fail2ban service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)
   Active: inactive (dead)
       start condition failed at Sun 2014-03-23 18:23:40 MST; 3s ago

Mar 23 18:23:40 fed8 systemd[1]: Started IPv4 firewall with iptables.

现在我的问题是,如果这是它无法运行的原因,那为什么?iptables 不是直接由 fail2ban 调用来禁止/取消禁止某些东西吗?我从来没有将 iptables 作为服务运行。我直接从 /etc/rc.local 运行它。如果这不是问题,有人能告诉我为什么这个东西无法禁止吗?我开始怀疑编写自己的禁止程序是否更容易,这样至少我知道我可以依靠它,而不必每天检查这个东西是否仍在捕捉模式!真令人沮丧。我还有其他工作要做,而不是照顾 fail2ban。我很快就对它失去了信心。

答案1

这看起来很像是一个配置问题。具体错误消息是:

3 月 5 日 19:16:33 fed8 fail2ban[945]: 正在启动 fail2ban: 错误,无部分:“定义”

因此,下一步是找出 fail2ban 用作配置文件的文件,该文件通常位于 /etc/fail2ban 中,可能从 jail.conf 开始(看起来它可能具有多文件配置)。

找到配置后,您就会明白为什么在解析配置的过程中,程序无法找到它期望的并且显然需要的名为“定义”的部分。

您在命令输出中看到的日期/etc/init.d/fail2ban status是程序上次正常运行的日期,而不是程序角度的当前日期。

相关内容