登入時顯示最近登入失敗的訊息

登入時顯示最近登入失敗的訊息

我有一個面向 Web 的 Ubuntu Linux 伺服器。因此,我得到了相當多的強力 SSH 嘗試(誰沒有)。我想在登入提示字元處顯示最近 N 次失敗的登入嘗試。我已經制定了簡單的腳本:

grep "Failed" /var/log/auth.log | tail -5

但我需要知道的是我應該把這行腳本放在哪裡?有沒有地方可以放置與 shell 無關的東西?

答案1

您可以使用幾個軟體包來幫助進行暴力攻擊。

  1. 拒絕主機
  2. 失敗2禁止

要收集日誌並向您發送報告,您可以使用 logwatch。它還可以發送失敗登入的摘要。

要回答您原來的問題,您可以將腳本放入「/etc/profile.d/yourscript.sh」中,它應該在登入時執行。

您也可以考慮設定 arno-iptables-firewall 軟體包。

答案2

這確實依賴 shell。對於bash,您應該將其放入.bash_login文件中。

關於防止暴力攻擊,除了已經建議將攻擊者的 IP 列入黑名單之外,我通常會告訴 sshd 偵聽非標準連接埠並停用密碼驗證。當然,這可能並不總是可行,但它確實有效。

答案3

將所有內容放入 /etc/profile 中。

在進入 shell 啟動檔案之前,它將執行 /etc/profile 中的所有內容。

答案4

有一個Perl腳本,SSH塊可用於對抗 SSH 暴力破解。
它遵循來自 IP 位址的頻繁嘗試並減慢他們的嘗試。

相關內容