Ssh
在 sshd 上應用 fail2ban 是否安全“收到斷開/斷開連接…preauthpr和一種在噸Hpreauth“日誌?
我在
/var/log/auth.log
(Debian Buster)中看到了很多這樣的日誌:Jan 2 17:10:17 mybox sshd[16304]: Received disconnect from 1.2.3.4 port 37792:11: Bye Bye [preauth] Jan 2 17:10:17 mybox sshd[16304]: Disconnected from authenticating user root 1.2.3.4 port 37792 [preauth] Jan 2 17:10:20 mybox sshd[16306]: Received disconnect from 5.6.7.8 port 63061:11: Bye Bye [preauth] Jan 2 17:10:20 mybox sshd[16306]: Disconnected from authenticating user root 5.6.7.8 port 63061 [preauth] Jan 2 17:12:38 mybox sshd[16380]: Received disconnect from 9.10.11.12 port 55224:11: Normal Shutdown, Thank you for playing [preauth] Jan 2 17:12:38 mybox sshd[16380]: Disconnected from authenticating user root 9.10.11.12 port 55224 [preauth]
我知道這些都是企圖闖入,因為沒有人應該試圖登錄那台機器(除了我)。
中沒有相應的規則
/etc/fail2ban/filter.d/sshd.conf
,因此這些嘗試不會導致fail2ban 禁止違規IP 地址。我已經禁用了密碼登錄,所以我猜這裡發生的事情是這些嘗試在他們嘗試進行身份驗證之前就被丟棄了,因此fail2ban 沒有選擇它們。
但是,由於我知道這些都是入侵嘗試,我仍然想禁止該 IP,以阻止他們嘗試其他事情並填寫我的日誌。
添加與其中一些行匹配的正則表達式對我來說是否安全,或者我會冒匹配合法(基於密鑰)登錄嘗試的風險?哪些部分可以安全組合?將匹配單詞“斷開連接”和標籤“
$$ preauth $$“一定表示失敗的基於密碼的暴力破解?
/etc/fail2ban/filter.d/sshd.conf 中沒有相應的規則,因此這些嘗試不會導致fail2ban 禁止違規IP 地址。
你用的是什麼版本?Fail2Ban 帶有一個關於此的預定義規則,包含在所有模式使用的常見故障正則表達式中。
我的一個系統中的 Fail2Ban v0.10.2 包含以下規則:
^<F-NOFAIL>Received <F-MLFFORGET>disconnect</F-MLFFORGET></F-NOFAIL> from <HOST>: 11:
Fail2Ban v0.11.2 包括這個(更好):
^<F-NOFAIL>Received <F-MLFFORGET>disconnect</F-MLFFORGET></F-NOFAIL> from <HOST>%(__on_port_opt)s:\s*11:
顯然,開發人員認為以下任何一行
Received disconnect from <HOST>: 11: Received disconnect from <HOST> port XXXXX:11:
就足夠了。相關的關鍵字是
Received disconnect from
和: 11:
部分(而不是[preauth]
後綴)。這
<F-NOFAIL>
意味著這條線不是失敗的,並且會在不<F-NOFAIL>
禁止 IP 的情況下期待另一個匹配,因此您必須刪除周圍的標籤。