Linux云主機常用的登錄方式是SSH,對于密碼登錄方式創建的云主機,如何保證登錄安全性呢?本文以CentOS 7.6為例,對SSH登錄進行安全加固。
表 彈性云主機詳細信息
| 參數 | 取值 |
|---|---|
| 名稱 | ecs-f5a2 |
| 操作系統 | CentOS 7.6 64bit |
| 彈性公網IP | 119.3.xxx .x |
| 登錄方式 | 密碼 |
修改默認端口
1.通過SSH密碼方式遠程登錄云主機。
2.執行以下命令,修改SSH登錄的默認端口,比如修改為“5000”。
vim /etc/ssh/sshd_config
按“i”進入編輯模式,在第17行,將注釋符“#”刪掉,修改為“Port 5000”。
圖 修改前

圖 修改后

3.按“Esc”,輸入:wq保存并退出。
增加防火墻規則:開放指定端口
CentOS 7系列操作系統的默認防火墻是fireware,而不是iptables。因此,如果系統是默認防火墻,則不需要執行本節操作;如果安裝過iptables,則要參考本節指導開放SSH登錄的5000端口。
1.執行以下命令,檢查是否安裝了iptables。
service iptables status
- 如果提示如下類似信息,表示未安裝iptables,跳過本節,繼續添加安全組規則操作。

- 如果提示如下類似信息,表示安裝了iptables,并且為“active”狀態。繼續執行步驟2。

2.執行以下命令增加iptables規則,開放5000端口。
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT
3.執行以下命令查看iptables現有規則是否已包含5000端口。
iptables -L -n

添加安全組規則
安全組中的入方向規則默認開啟了22端口,當云主機的SSH登錄端口修改為5000時,需要為安全組新加一條規則。
1.登錄管理控制臺。
2.選擇“計算 > 彈性云主機”,進入云主機控制臺。
3.單擊云主機名稱“ecs-f5a2”進入詳情頁面。
4.選擇“安全組”頁簽,單擊展開安全組規則詳情,單擊列表右上角的“更改安全組規則”。
5.添加一條入方向規則,如下圖所示。
圖 安全組規則

編輯hosts.allow和hosts.deny
“/etc/hosts.allow”和“/etc/hosts.deny”是控制遠程訪問的文件,通過配置該文件可以允許或者拒絕某個IP或者IP段的客戶訪問Linux云主機的某項服務。
比如SSH服務,通常只對管理員開放,那我們就可以禁用不必要的IP,而只開放管理員可能使用到的IP段。
因為云主機需要在不同地點登錄,建議編輯“/etc/hosts.allow”允許所有IP地址登錄,這樣不會影響正常使用。
vim /etc/hosts.allow
在最后一行增加“sshd:ALL”。

我們可以通過一些方法識別云主機的安全風險,比如檢查SSH狀態,查看疑似惡意登錄的IP,然后在“/etc/hosts.deny”中將這些地址禁止。