如何在 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 使用者。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP