Linux服務器加固的基本步驟詳解
在輸入密碼之前,按下 回車使用 /home/your_username/.ssh 中的默認名稱 id_rsa 和 id_rsa.pub。
本文引用地址:http://www.104case.com/article/201809/389050.htmWindows
這可以使用 PuTTY 完成,在我們指南中已有描述:使用 SSH 公鑰驗證。
2、將公鑰上傳到您的服務器上。 將 example_user 替換為你用來管理服務器的用戶名稱,將 203.0.113.10 替換為你的服務器的 IP 地址。
在本機上:

OS X
在你的服務器上(用你的權限受限用戶登錄):

在本機上:
如果相對于 scp 你更喜歡 ssh-copy-id 的話,那么它也可以在 Hemebrew 中找到。使用 brew install ssh-copy-id 安裝。
Windows
選擇 1:使用 WinSCP 來完成。 在登錄窗口中,輸入你的服務器的 IP 地址作為主機名,以及非 root 的用戶名和密碼。單擊“登錄”連接。
一旦 WinSCP 連接后,你會看到兩個主要部分。 左邊顯示本機上的文件,右邊顯示服務區上的文件。 使用左側的文件瀏覽器,導航到你已保存公鑰的文件,選擇公鑰文件,然后點擊上面工具欄中的“上傳”。
系統會提示你輸入要將文件放在服務器上的路徑。 將文件上傳到 /home/example_user/.ssh /authorized_keys,用你的用戶名替換 example_user。
選擇 2:將公鑰直接從 PuTTY 鍵生成器復制到連接到你的服務器中(作為非 root 用戶):

上面命令將在文本編輯器中打開一個名為 authorized_keys 的空文件。 將公鑰復制到文本文件中,確保復制為一行,與 PuTTY 所生成的完全一樣。 按下 CTRL + X,然后按下 Y,然后回車保存文件。
最后,你需要為公鑰目錄和密鑰文件本身設置權限:

這些命令通過阻止其他用戶訪問公鑰目錄以及文件本身來提供額外的安全性。有關它如何工作的更多信息,請參閱我們的指南如何修改文件權限。
3、 現在退出并重新登錄你的服務器。如果你為私鑰指定了密碼,則需要輸入密碼。
SSH 守護進程選項
1、 不允許 root 用戶通過 SSH 登錄。 這要求所有的 SSH 連接都是通過非 root 用戶進行。當以受限用戶帳戶連接后,可以通過使用 sudo 或使用 su - 切換為 root shell 來使用管理員權限。

2、 禁用 SSH 密碼認證。 這要求所有通過 SSH 連接的用戶使用密鑰認證。根據 Linux 發行版的不同,它可能需要添加 PasswordAuthentication 這行,或者刪除前面的 # 來取消注釋。

如果你從許多不同的計算機連接到服務器,你可能想要繼續啟用密碼驗證。這將允許你使用密碼進行身份驗證,而不是為每個設備生成和上傳密鑰對。
3、 只監聽一個互聯網協議。 在默認情況下,SSH 守護進程同時監聽 IPv4 和 IPv6 上的傳入連接。除非你需要使用這兩種協議進入你的服務器,否則就禁用你不需要的。 這不會禁用系統范圍的協議,它只用于 SSH 守護進程。
使用選項:
AddressFamily inet 只監聽 IPv4。
AddressFamily inet6 只監聽 IPv6。
默認情況下,AddressFamily 選項通常不在 sshd_config 文件中。將它添加到文件的末尾:

4、 重新啟動 SSH 服務以加載新配置。
如果你使用的 Linux 發行版使用 systemd(CentOS 7、Debian 8、Fedora、Ubuntu 15.10+)

如果您的 init 系統是 SystemV 或 Upstart(CentOS 6、Debian 7、Ubuntu 14.04):

使用 Fail2Ban 保護 SSH 登錄
Fail2Ban是一個應用程序,會把頻繁出現登陸失敗的IP地址進行自動封禁。一般情況下,人們都不會連續三次以上輸錯密碼(如果使用 SSH 密鑰,那不會超過一個),因此如果服務器充滿了登錄失敗的請求那就表示有惡意訪問。
這個軟件的監聽范圍很廣,包括我們熟知的 SSH、HHTP或者SMTP。不過在默認僅監視 SSH,并且因為 SSH 守護程序通常配置為持續運行并監聽來自任何遠程 IP 地址的連接,所以對于任何服務器都是一種安全威懾。
刪除未使用的面向網絡的服務
大部分 Linux 發行版都可以使用網絡服務,你可以選擇把不再需要的那部分刪除掉,這樣可以減少被攻擊的概率。
查明運行的服務
要查看服務器中運行的服務:

評論