
在執行 a 時,ps -efH
我看到很多以下內容,其中 14:24 基本上是當前系統時間。這些進程每分鐘都會彈出。
root 6851 1 0 14:24 ? 00:00:00 sshd: root [priv]
sshd 6852 6851 0 14:24 ? 00:00:00 sshd: root [net]
root 6869 6851 1 14:24 ? 00:00:00 sshd: root [pam]
root 6861 1 0 14:24 ? 00:00:00 sshd: root [priv]
sshd 6863 6861 0 14:24 ? 00:00:00 sshd: root [net]
root 6874 6861 0 14:24 ? 00:00:00 sshd: root [pam]
root 6865 1 0 14:24 ? 00:00:00 sshd: root [priv]
sshd 6866 6865 0 14:24 ? 00:00:00 sshd: root [net]
root 6875 6865 0 14:24 ? 00:00:00 sshd: root [pam]
root 6872 1 1 14:24 ? 00:00:00 sshd: root [priv]
sshd 6873 6872 0 14:24 ? 00:00:00 sshd: root [net]
root 6876 6872 0 14:24 ? 00:00:00 sshd: root [pam]
這是否意味著有人試圖透過 SSH 暴力破解這台機器上的 root 密碼?還是不那麼邪惡的事情?
答案1
這是否意味著有人試圖透過 SSH 暴力破解這台機器上的 root 密碼?還是不那麼邪惡的事情?
這可能是透過 SSH 進行暴力破解的嘗試,但即使它是“邪惡的”,我也不會因此而失眠。大多數可在網路上公開存取的伺服器始終都會受到攻擊者的探測。某人幾乎是“給關節加套管”,這沒什麼值得失眠的。系統的實際滲透率是。
哎呀,我剛剛檢查了auth.log
我管理的公共伺服器,並在過去 24 小時內運行以下命令時統計了超過 2000 次「身份驗證失敗」嘗試:
sudo grep "authentication failure;" /var/log/auth.log | wc -l
聽起來很可怕,但說實話,誰在乎呢?auth.log
使用上述命令的稍微修改版本來快速目視檢查日誌條目:
sudo grep "authentication failure;" /var/log/auth.log
…。向我展示了這樣的東西:
Mar 15 07:02:09 hostname sshd[2213]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=115.239.228.35 user=root
Mar 15 07:02:19 hostname sshd[2236]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=115.239.228.35 user=root
Mar 15 07:02:31 hostname sshd[2355]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=115.239.228.35 user=root
請注意帳戶上的所有嘗試存取嘗試如何root
?在我設置的任何系統上,root
都會立即被絕育。所以這些嘗試對我來說都是徒勞無功的。因此,如果您檢查auth.log
並發現有大量ssh
透過該帳戶進入系統的嘗試root
,請確保您的系統root
帳戶已完全停用,以消除該問題。
經過root
帳戶嘗試後,如果您看到看似隨機的使用者名稱存取您的系統,這也是另一次入侵系統的嘗試。除非這些用戶名等於您系統上的某個用戶名,否則我根本不會擔心它們。
現在,一些系統管理員會說解決此問題的最佳解決方案是簡單地完全停用 SSH 的密碼身份驗證,並僅使用 SSH 金鑰對,但我傾向於認為這是矯枉過正。並不是說 SSH 金鑰對很弱(事實並非如此),但如果系統的存取方法從第一天起就設定得合理且安全,並且密碼足夠強大而不易被駭客攻擊,那麼系統就相當安全。這是因為現代 Web 伺服器上最大的漏洞是實際在伺服器本身上運行的前端 Web 應用程序,而不是 SSH 之類的東西。
歸根結底,我不會擔心這些隨機的“戰爭撥號”嘗試,而是先發製人地理性確保伺服器本身禁用了root
用戶帳戶。如果你在 2015 年仍然在啟用該帳戶的情況下運行公共伺服器root
,從長遠來看你基本上會感到頭痛。