是否值得努力阻止失敗的登入嘗試

是否值得努力阻止失敗的登入嘗試

值得跑步嗎失敗2禁止,sshd過濾器 或類似的工具,將嘗試登入但失敗的 IP 位址列入黑名單?

我看過有人爭論這是“適當保護”伺服器上的安全劇院。然而,我覺得這可能會讓腳本小子轉向他們清單中的下一個伺服器。

假設我的伺服器“得到了適當的保護”,並且我並不擔心暴力攻擊實際上會成功 - 這些工具只是保持我的日誌文件乾淨,還是我在阻止暴力攻擊嘗試方面獲得了任何有價值的好處?

更新:很多關於暴力猜測密碼的評論 - 我確實提到我並不擔心這一點。也許我應該更具體地詢問fail2ban對於只允許基於密鑰的ssh登入的伺服器是否有任何好處。

答案1

限制登入嘗試的速率是防止某些高速密碼猜測攻擊的簡單方法。然而,分散式攻擊很難限制,而且許多攻擊的速度很慢,持續數週或數月。我個人更喜歡避免使用像fail2ban這樣的自動回應工具。這有兩個原因:

  1. 合法使用者有時會忘記密碼。我不想禁止合法用戶訪問我的伺服器,從而迫使我再次手動啟用他們的帳戶(或者更糟的是,嘗試找出 100/1000 個被禁止的 IP 位址中的哪一個是他們的)。
  2. IP 位址對使用者來說並不是一個好的識別碼。如果您在一個 IP 後面有多個使用者(例如,一所學校在 500 台學生電腦上執行 NAT),則單一使用者做出一些錯誤的猜測可能會讓您陷入痛苦的世界。同時,我看到的大多數密碼猜測嘗試都是分散式的。

因此,我不認為fail2ban(以及類似的自動回應工具)是保護伺服器免受暴力攻擊的非常好的方法。用於減少日誌垃圾郵件(我的大多數 Linux 伺服器上都有)的簡單 IPTables 規則集如下所示:

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP

它可以防止在任何 60 秒內從單一 IP 到 ssh 的超過 4 次連線嘗試。其餘的可以透過確保密碼相當強來處理。在高安全性伺服器上,強制使用者使用公鑰身份驗證是停止猜測的另一種方法。

答案2

像fail2ban這樣的工具有助於減少不必要的網路流量並使日誌檔案更小更乾淨。這並不是一個大的安全解決方案,但使系統管理員的生活變得更輕鬆;這就是為什麼我建議在您負擔得起的系統上使用fail2ban。

答案3

這不僅僅是為了減少噪音——大多數 ssh 攻擊都會嘗試暴力猜測密碼。因此,雖然您會看到許多失敗的 ssh 嘗試,但也許在第 2034 次嘗試時,他們可能會獲得有效的使用者名稱/密碼。

與其他方法相比,fail2ban 的優點在於它對有效連線嘗試的影響最小。

答案4

抱歉,但我想說,如果您的 sshd 拒絕嘗試使用密碼進行身份驗證,則您的伺服器已得到適當的保護。

PasswordAuthentication no

相關內容