即使 IP 已被禁止,fail2ban 仍会记录活动

即使 IP 已被禁止,fail2ban 仍会记录活动

我想知道是否有办法知道被禁止的 IP 是否仍在尝试联系我的服务器以及他正在尝试做什么?

fail2ban.log 似乎显示了谁被禁止了,但如果被禁止的 IP 仍在尝试联系我,则不会显示,我错了吗?

如果可能的话,提前感谢任何能找到这些细节的线索:)

亲切的,Krys

答案1

通常情况下,Fail2ban 会根据应用程序日志文件中的恶意模式禁止特定 IP 地址。通常情况下,fail2ban 会通过生成(临时)防火墙规则来阻止违规 IP 地址,并且仅记录该规则。

当违规 IP 地址被禁止后,这些 IP 地址将无法再访问您的应用程序,并且应用程序日志文件中将找不到来自这些 IP 地址的更多事件。因此,从这些日志文件中您无法了解违规 IP 地址是否已退出,或者是否仍在冲击防火墙。

您可以尝试查看当前防火墙统计信息,看看后者是否正在发生。您的里程可能会有所不同:

在一台主机上,banaction = firewallcmd-ipset所有被阻止的 IP 仅有一条规则和单个计数器:

iptables -L -n -v
...
 pkts bytes target     prot opt in     out     source               destination

 6578  392K REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22 match-set f2b-sshd src reject-with icmp-port-unreachable

这使得无法确定哪些被阻止的 IP 地址f2b-sshd ipset都是惯犯。

在每个被阻止的 IP 都受到其自身规则影响的主机上,我看到例如:

Chain fail2ban-SSH (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 REJECT     all  --  *      *       117.239.37.150       0.0.0.0/0           reject-with icmp-port-unreachable
2        4   412 REJECT     all  --  *      *       117.253.208.237      0.0.0.0/0           reject-with icmp-port-unreachable

例如,IP 地址117.253.208.237发送了 4 个数据包,这些数据包在被防火墙阻止并117.239.37.150完全撤退后被记录下来。


正如另一个答案所提到的,您可以指示 fail2ban 创建一个生成日志事件的防火墙规则,然后您可以对其进行后期处理以获得类似的见解,但这不是 fail2ban 本身会处理和报告的内容。

答案2

我认为你要找的是行动。Fail2ban 可以在禁止/取消禁止时执行特定命令,它看起来像就是您要找的。正如默认配置,您应该创建一个文件来jail.d定制您想要继续记录的服务的行为,即jail.d/customisation.local

相关内容