Linux
如何完全禁用root登錄
我在 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 和 sudo(以及 sudo -i)執行的 cronjobs 應該仍然可以工作。
我的伺服器正在執行 CentOS 7(通過 cronjobs 安裝更新)
提前感謝
杰倫
編輯:
我發現 root 登錄是每 10 分鐘一次,我認為應該安排一次。所以我查看了 crontab,看來 spamassassin 正在這樣做。由於我不再使用它(我使用我的 Norton IS 進行垃圾郵件過濾),我決定將其刪除。
由於我沒有任何證據表明我已經被黑了,我正在考慮只是運氣不好(也許是核心恐慌)。
但是我仍然想知道關於如何禁用物理 rootlogin 的問題。
你可以使用
passwd -l root
fromman 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 個選項:
- 如上一個答案中所述,處理 /etc/securetty 文件。
- 從 /etc/shadow 中刪除 root 密碼 - 這樣沒有人將能夠以 root 身份登錄,而 cron 作業和 sudo 將起作用。
第二個選項用於 Ubuntu 預設配置,因為它不會破壞與 KDE 1/2 時代的舊軟體的兼容性,後者使用幫助對話框來獲取 root 密碼並獲得 root 權限。