
我在 OVH 的伺服器在中午 12:10 左右突然離線。
根據我的日誌,駭客以 root 使用者身分入侵。這意味著他可能知道我的密碼。我已經更改了密碼,但我仍然想知道他是怎麼進來的。
在 sshd_config 中,PermitRootLogin no
他們通常無法透過 SSH 進入。因此,直接以 root 身分進入的唯一方法是透過 KVM,而我是唯一有權存取該權限的人。
這是他倒下時的日誌。我可以透過簡單的重新啟動來解決它。但正如我看到之前的日誌,有人多次進入根目錄。而且我很確定那不是我。同樣的日誌也顯示有人正在以 root 身分進入。
Jun 11 12:10:01 vps115965 systemd: Starting Session c3450 of user root.
Jun 11 12:10:01 vps115965 systemd: Started Session c3450 of user root.
Jun 11 21:31:02 vps115965 xinetd[2703]: START: gopher pid=22775 from=::ffff:46.182.107.117
我的問題。如何才能完全停用 root 登入。對於這一點,我的意思只是實體登入。以 root 身份運行的 cronjobs 和 sudo (以及 sudo -i)應該仍然可以工作。
我的伺服器正在運行 CentOS 7(透過 cronjobs 安裝更新)
先致謝
傑羅恩
編輯:
我發現根登入是每 10 分鐘一次,我認為應該安排一次。所以我查看了 crontab,看來 spamassassin 正在這樣做。由於我不再使用它(我使用諾頓 IS 進行垃圾郵件過濾),所以我決定將其刪除。
由於我沒有任何證據表明我已被駭客攻擊,所以我認為只是運氣不好(也許是內核恐慌)。
但是我仍然想知道如何禁用物理 rootlogin 的問題。
答案1
您可以使用passwd -l root
從man passwd
您可以看到的描述。
-l This option is used to lock the specified account and it is available to root only. The locking is performed by rendering the encrypted pass-
word into an invalid string (by prefixing the encrypted string with an !).
答案2
您有 2 個選擇:
使用 /etc/securetty 檔案進行處理,如前面的答案所述。
從 /etc/shadow 中刪除 root 密碼 - 這樣任何人都無法以 root 身份登錄,而 cron 作業和 sudo 將正常工作。
第二個選項在 Ubuntu 預設配置中使用,因為它不會破壞與 KDE 1/2 時代的舊軟體的兼容性,該軟體使用幫助程式對話方塊來獲取 root 密碼並獲取 root 權限。
答案3
實體控制台的登入是透過/etc/securetty
文件控制的。若要防止 root 使用者使用任何控制台登錄,請使用諸如echo > /etc/securetty
清空文件之類的方法(您可能需要先建立備份)。
如果您只想關閉特定路徑(例如使用序列控制台登入),只需從檔案中刪除它們即可/etc/securetty
。
完成此操作後,您仍然可以使用登入SSH和一個普通用戶帳戶,然後使用須藤成為根。