如何在 CentOS 7 上配置和保護伺服器設定


在這篇文章中,我們將學習一些安裝新伺服器後,出於安全性和可用性目的應採取的配置步驟。這將幫助我們建立堅實的基礎。

避免使用“root”使用者登入

root 是 Linux 環境中的管理員或超級使用者,擁有系統的所有許可權。通常強烈建議不要直接使用 root 使用者,因為它可能會導致許多問題,或者由於意外更改而導致資料意外丟失。

下一步,我們將設定一個具有 root 許可權的替代使用者,從而降低系統管理員日常活動的影響範圍。

建立新使用者

以 root 使用者身份登入後,我們可以建立一個新使用者來登入伺服器,可以使用以下命令建立使用者:

# adduser manager

建立使用者並分配密碼後,建議使用強密碼。

# passwd manager

分配 Root 許可權

現在,一旦建立了具有普通許可權的新使用者,我們需要擁有管理員許可權才能執行某些任務,我們將分配 root 許可權,使用者需要在需要 root 使用者許可權的命令前新增“sudo”。

要將使用者新增到管理員許可權組,我們需要以 root 使用者身份登入,要將使用者新增到超級使用者組,我們需要將新使用者新增到“wheel”組,在 CentOS 7 中,預設情況下,“wheel”組中的使用者可以使用“sudo”執行命令。

以下是將新使用者新增到 wheel 組的命令:

# gpasswd –a manager wheel

新增公鑰身份驗證以進行登入

在此步驟中,我們將透過為新使用者設定公鑰身份驗證來保護伺服器,這將提高伺服器的安全性,因為它需要私鑰才能登入。

生成金鑰對

如果我們沒有 SSH 金鑰對(包括公鑰和私鑰),我們需要生成新的金鑰。

以下是生成新金鑰對的命令:

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
a3:5d:58:cc:7f:94:30:bf:ae:1e:5c:11:25:f7:96:41 root@server1
The key's randomart image is:
+--[ RSA 2048]----+
|            o +Eo|
|           o + =+|
|            + =.o|
|         o . . + |
|         S . . + |
|         o o . + |
|         . . o . |
|               o |
|              .o |
+-----------------+

預設情況下,如果我們沒有提供檔名,它會自動將檔名設定為 id_rsa.pub 和 id_rsa_ppk,這兩個檔案將被生成,並且檔案將位於使用者主目錄的 .ssh 目錄中。

複製公鑰

生成 SSH 金鑰後,我們需要複製公鑰,然後不應與任何不應訪問伺服器的人共享私鑰。

我們可以透過兩種方式複製公鑰:

使用 ssh-copy-id

如果我們已安裝 ssh-copy-id,我們可以使用它將公鑰安裝到任何其他使用者或機器。

執行以下命令複製公鑰:

# ssh-copy-id manager@ipaddress-of-machine

公鑰將新增到使用者或機器的 .ssh/authorized_keys 中。我們需要使用相應的私鑰登入伺服器。

手動新增金鑰

假設我們已經生成了金鑰,請使用以下命令列印金鑰:

$ cat .ssh/id_rsa.pub

將使用該命令列印的金鑰複製到剪貼簿。

我們需要將此金鑰新增到 .ssh/authorized_keys 檔案。

如果我們沒有 .ssh 資料夾和 authorized_keys 檔案,我們需要按照以下步驟建立。

$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

然後,我們需要開啟 authorized_keys 檔案並將剪貼簿中的文字貼上進去。

# vi .ssh/authorized_keys

複製剪貼簿中的文字並儲存檔案。

使用 SSH 停用 root 登入

由於我們已經建立了一個具有 root 或超級使用者許可權的新使用者,我們現在可以使用 SSH 停用 root 使用者登入。

使用以下命令開啟 ssh 配置檔案:

$ vi /etc/ssh/sshd_config

在這裡,我們需要找到“#PermitRootLogin yes”行,取消該行的註釋並將該行更改為如下所示:

PermitRootLogin no

現在只需重新載入 SSH 服務即可使配置生效。

# systemctl reload sshd

現在阻止了使用 SSH 進行“root”登入,我們可以直接在機器上使用 root 使用者。

在這篇文章中,我們學習瞭如何使用最佳實踐來保護伺服器,例如建立具有 root 許可權的使用者和阻止 root 登入,以便我們可以避免意外命令導致的資料意外丟失,並透過使用 SSH 金鑰檔案防止使用密碼,並防止從機器外部使用 SSH 使用 root 使用者。

更新於:2019年10月18日

452 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.