在 Linux 上保護 SSH 服務(wù)器連接 8 種方法

admin Linux運維評論605字數(shù) 2225閱讀模式
摘要

SSH 是一種廣泛使用的協(xié)議,用于安全地訪問 Linux 服務(wù)器。大多數(shù)用戶使用默認設(shè)置的 SSH 連接來連接到遠程服務(wù)器。但是,不安全的默認配置也會帶來各種安全風險。

具有開放 SSH 訪問權(quán)限的服務(wù)器的 root 帳戶可能存在風險。尤其是如果你使用的是公共 IP 地址,則破解 root 密碼要容易得多。因此,有必要了解 SSH 安全性。

這是在 Linux 上保護 SSH 服務(wù)器連接的方法。

1. 禁用 root 用戶登錄

為此,首先,禁用 root 用戶的 SSH 訪問并創(chuàng)建一個具有 root 權(quán)限的新用戶。關(guān)閉 root 用戶的服務(wù)器訪問是一種防御策略,可以防止攻擊者實現(xiàn)入侵系統(tǒng)的目標。例如,你可以創(chuàng)建一個名為 exampleroot 的用戶,如下所示:

useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot

以下是上述命令的簡要說明:

useradd 創(chuàng)建一個新用戶,并且 - m 參數(shù)在你創(chuàng)建的用戶的主目錄下創(chuàng)建一個文件夾。
passwd 命令用于為新用戶分配密碼。請記住,你分配給用戶的密碼應(yīng)該很復雜且難以猜測。
usermod -aG sudo 將新創(chuàng)建的用戶添加到管理員組。
在用戶創(chuàng)建過程之后,需要對 sshd_config 文件進行一些更改。你可以在 / etc/ssh/sshd_config 找到此文件。使用任何文本編輯器打開文件并對其進行以下更改:

# Authentication:
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers exampleroot

PermitRootLogin 行將阻止 root 用戶使用 SSH 獲得遠程訪問。在 AllowUsers 列表中包含 exampleroot 會向用戶授予必要的權(quán)限。

最后,使用以下命令重啟 SSH 服務(wù):

> rumenz@rumenz /home/rumenz/www.rumenz.com
> sudo systemctl restart ssh

如果失敗并且你收到錯誤消息,請嘗試以下命令。這可能因你使用的 Linux 發(fā)行版而異。

> rumenz@rumenz /home/rumenz/www.rumenz.com
> sudo systemctl restart sshd

2. 更改默認端口

默認的 SSH 連接端口是 22。當然,所有的攻擊者都知道這一點,因此需要更改默認端口號以確保 SSH 安全。盡管攻擊者可以通過 Nmap 掃描輕松找到新的端口號,但這里的目標是讓攻擊者的工作更加困難。

要更改端口號,請打開 / etc/ssh/sshd_config 并對文件進行以下更改:

Include /etc/ssh/sshd_config.d/*.conf
Port 22099

在這一步之后,使用 sudo systemctl restart ssh 再次重啟 SSH 服務(wù)?,F(xiàn)在你可以使用剛剛定義的端口訪問你的服務(wù)器。如果你使用的是防火墻,則還必須在此處進行必要的規(guī)則更改。在運行 netstat -tlpn 命令時,你可以看到你的 SSH 端口號已更改。

3. 禁止使用空白密碼的用戶訪問

在你的系統(tǒng)上可能有你不小心創(chuàng)建的沒有密碼的用戶。要防止此類用戶訪問服務(wù)器,你可以將 sshd_config 文件中的 PermitEmptyPasswords 行值設(shè)置為 no。

PermitEmptyPasswords no

4. 限制登錄 / 訪問嘗試

默認情況下,你可以根據(jù)需要嘗試多次輸入密碼來訪問服務(wù)器。但是,攻擊者可以利用此漏洞對服務(wù)器進行暴力破解。通過指定允許的密碼嘗試次數(shù),你可以在嘗試一定次數(shù)后自動終止 SSH 連接。

為此,請更改 sshd_config 文件中的 MaxAuthTries 值。

MaxAuthTries 3

5. 使用 SSH 版本 2

SSH 的第二個版本發(fā)布是因為第一個版本中存在許多漏洞。默認情況下,你可以通過將 Protocol 參數(shù)添加到 sshd_config 文件來啟用服務(wù)器使用第二個版本。這樣,你未來的所有連接都將使用第二個版本的 SSH。

Include /etc/ssh/sshd_config.d/*.conf
Protocol 2

6. 關(guān)閉 TCP 端口轉(zhuǎn)發(fā)和 X11 轉(zhuǎn)發(fā)

攻擊者可以嘗試通過 SSH 連接的端口轉(zhuǎn)發(fā)來訪問你的其他系統(tǒng)。為了防止這種情況,你可以在 sshd_config 文件中關(guān)閉 AllowTcpForwarding 和 X11Forwarding 功能。

X11Forwarding no
AllowTcpForwarding no

7. 使用 SSH 密鑰連接

連接到服務(wù)器的最安全方法之一是使用 SSH 密鑰。使用 SSH 密鑰時,無需密碼即可訪問服務(wù)器。另外,你可以通過更改 sshd_config 文件中與密碼相關(guān)的參數(shù)來完全關(guān)閉對服務(wù)器的密碼訪問。

創(chuàng)建 SSH 密鑰時,有兩個密鑰:Public 和 Private。公鑰將上傳到你要連接的服務(wù)器,而私鑰則存儲在你將用來建立連接的計算機上。

在你的計算機上使用 ssh-keygen 命令創(chuàng)建 SSH 密鑰。不要將密碼短語字段留空并記住你在此處輸入的密碼。如果將其留空,你將只能使用 SSH 密鑰文件訪問它。但是,如果你設(shè)置了密碼,則可以防止擁有密鑰文件的攻擊者訪問它。例如,你可以使用以下命令創(chuàng)建 SSH 密鑰:

ssh-keygen

8. SSH 連接的 IP 限制

大多數(shù)情況下,防火墻使用自己的標準框架阻止訪問,旨在保護服務(wù)器。但是,這并不總是足夠的,你需要增加這種安全潛力。

為此,請打開 / etc/hosts.allow 文件。通過對該文件進行的添加,你可以限制 SSH 權(quán)限,允許特定 IP 塊,或輸入單個 IP 并使用拒絕命令阻止所有剩余的 IP 地址。

下面你將看到一些示例設(shè)置。完成這些之后,像往常一樣重新啟動 SSH 服務(wù)以保存更改。

版權(quán)聲明:文章圖片資源來源于網(wǎng)絡(luò),如有侵權(quán),請留言刪除!!!
廣告也精彩
admin
  • 本文由 發(fā)表于 2023年4月3日 17:37:21
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://yudch.cn/10469.html
匿名

發(fā)表評論

匿名網(wǎng)友 填寫信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: