Linux

如何完全禁用root登錄

  • June 12, 2015

我在 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 rootfromman 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 個選項:

  1. 如上一個答案中所述,處理 /etc/securetty 文件。
  2. 從 /etc/shadow 中刪除 root 密碼 - 這樣沒有人將能夠以 root 身份登錄,而 cron 作業和 sudo 將起作用。

第二個選項用於 Ubuntu 預設配置,因為它不會破壞與 KDE 1/2 時代的舊軟體的兼容性,後者使用幫助對話框來獲取 root 密碼並獲得 root 權限。

引用自:https://serverfault.com/questions/698562