我有一個面向 Web 的 Ubuntu Linux 伺服器。因此,我得到了相當多的強力 SSH 嘗試(誰沒有)。我想在登入提示字元處顯示最近 N 次失敗的登入嘗試。我已經制定了簡單的腳本:
grep "Failed" /var/log/auth.log | tail -5
但我需要知道的是我應該把這行腳本放在哪裡?有沒有地方可以放置與 shell 無關的東西?
答案1
您可以使用幾個軟體包來幫助進行暴力攻擊。
- 拒絕主機
- 失敗2禁止
要收集日誌並向您發送報告,您可以使用 logwatch。它還可以發送失敗登入的摘要。
要回答您原來的問題,您可以將腳本放入「/etc/profile.d/yourscript.sh」中,它應該在登入時執行。
您也可以考慮設定 arno-iptables-firewall 軟體包。
答案2
這確實依賴 shell。對於bash
,您應該將其放入.bash_login
文件中。
關於防止暴力攻擊,除了已經建議將攻擊者的 IP 列入黑名單之外,我通常會告訴 sshd 偵聽非標準連接埠並停用密碼驗證。當然,這可能並不總是可行,但它確實有效。
答案3
將所有內容放入 /etc/profile 中。
在進入 shell 啟動檔案之前,它將執行 /etc/profile 中的所有內容。