Fail2ban

fail2ban 和 snort 有什麼區別?

  • March 27, 2017

我有一台暴露在網際網路上的伺服器,我想提供一些針對 DDOS 攻擊的保護。目前,我正在考慮使用fail2ban 和/或snort。我知道他們有不同的工作方式。據我了解,Fail2Ban 監控日誌文件以確定入侵和 snort 監控傳入的包。

我應該同時使用兩者嗎?只使用其中一個就足夠了嗎?什麼功能是唯一的,而不是另一個?我擔心的一個問題是性能。snort 可能會減慢我們的網路速度嗎?

如果我是你,我會從 fail2ban 開始。

如果配置不正確,兩者都可能會消耗您的資源,但我懷疑使用正則表達式的注意事項對您來說會更熟悉。

fail2ban 更容易立即有用(至少在我看來)。

實際阻止惡意源的設置比 snort 簡單得多,您可以配置 fail2ban 來掃描 snort 日誌,以禁止它們。

兩者都不太可能真正保護您免受 DDoS 攻擊,但兩者都可以通過(實際上)避免與實際應用程序伺服器的互動,在相當於阻塞模式的情況下用於防止非網路資源耗盡。

snort 的一個問題是讓它在 IPS 模式下工作(即實際上阻止流量)有點不重要 - AFAIK,更常見的是將它作為 IDS 執行(即僅檢測惡意流量)。

如您所說,fail2ban 本質上只是一個腳本,它對日誌文件執行正則表達式,從這些日誌中提取惡意源(例如,SSH 登錄失敗、Web 客戶端觸發重複的 4xx 或 5xx 響應,或者俱有與已知攻擊者配置文件相關聯的使用者代理)。它與 iptables(以及任何可能在 iptables 之上執行的東西,例如 firewalld、shorewall)集成,以阻止與惡意主機相關的流量。這些塊往往被實現為簡單的 iptables 規則,或 iptables 規則 + ipset。

snort(以及 suricata 和其他 IDSen)實際上會檢查流量的各個方面,以檢測潛在的惡意流量。它使用特定域格式的規則,還可以進行 IP 地址(和/或主機名/域)匹配,以及數據包檢查、重組等。EmergingThreat中相當廣泛使用的規則集- 您可能需要通讀(其中一些)規則集,以了解 snort 的功能。

一個考慮因素是,fail2ban 通常開箱即用,而 snort 並非完全如此 - 您通常需要調整其規則(並可能添加一些您自己的規則)以平衡事件量及其可操作性.

就個人而言,當我花一些時間在 snort 上變得更好時,適合我的設置是:

  • 使用 ssh 和相關的網路監獄設置 fail2ban
  • 創建一個閱讀 IDS 警報日誌的監獄(在我的情況下,這是 suricata,但這是一個細節),特別是尋找 Prio 1 警報,並查看任何標記為 DROP 的主機(是的,我可以載入相關的 ipsets)
  • 讓fail2ban 做剩下的。

這可能對您有用,也可能不適用,但這意味著您無需特別了解其內部結構即可獲得一些額外的保護,使其免受 snort 的影響。

但是,我要提到的是,snort 規則似乎比可能的需要更危言聳聽——了解它們所指向的威脅以及如何理解/解釋警報通常是值得的。

一旦您對 snort 更加熟悉,首先對其進行調整,然後考慮是否要讓它直接處理事情(例如,將其置於 IPS 模式)。

順便說一句,如果您的許多公開資產都是基於 Web 的,您可能需要考慮 WAF 如何成為圖片的一部分。

引用自:https://serverfault.com/questions/840820