即使 IP 已被禁止,fail2ban 也會記錄活動

即使 IP 已被禁止,fail2ban 也會記錄活動

我想知道是否有辦法知道被禁止的 IP 是否仍在嘗試聯繫我的伺服器以及他想做什麼?

fail2ban.log 似乎顯示誰已被禁止,但如果被禁止的 IP 仍在嘗試聯繫我,則不會顯示,我錯了嗎?

預先感謝您提供任何線索來查找這些詳細資訊(如果可能的話):)

請克里斯

答案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 IP集是屢犯者。

在主機上,每個被封鎖的 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 位址發送了 4 個資料包,這些資料包在被封鎖並完全回退後117.253.208.237被防火牆記錄。117.239.37.150


正如另一個答案所提到的,您可以指示fail2ban建立一個產生日誌事件的防火牆規則,然後您可以對其進行後處理以獲得類似的見解,但這不是fail2ban本身會處理和報告的內容。

答案2

我想你正在尋找的是行動。 Fail2ban 能夠在禁止/取消禁止時執行特定命令,它看起來像就是您正在尋找的。正如在預設配置,您應該建立一個檔案來自jail.d訂您想要保留日誌記錄的服務的行為,即jail.d/customisation.local

相關內容