文章目錄 業務場景 操作步驟 修改sshd配置文件 修改SELinux開放給ssh使用的端口 修改防火墻,開放新端口 重啟sshd生效 相關知識點介紹 sshd服務 SELinux服務 firewall.service服務
業務場景
我們在某市實施交通信控平臺項目,我們申請了一臺服務器,用于平臺安裝 由于機房機器只有內網,不連互聯網,我們無法安裝所需要的軟件。我們將操作系統重裝,裝了CentOS7.9,整理rpm包安裝需要的軟件(有興趣的可以看下:CentOS7.9離線安裝docker ce和docker-compose) 客戶的維保單位告知我們,市局機房要求,為了網絡和數據安全,服務器不能使用22端口,必須替換
操作步驟
修改sshd配置文件
注意,這里是sshd
的配置文件sshd_config
,命令: vi /etc/ssh/sshd_config
找到“#Port 22
”,然后把兩行的“#”號即注釋去掉,修改成:
Port 22
Port 12223
SSH默認監聽端口是22,如果你不強制說明別的端口,開放的就是22,所以一開始是注釋掉的 我們在設置其他端口替換22時,一開始可以先保留了22端口,防止中間過程失敗時,無法用22端口連接服務器,那就尷尬了(此時,只能去服務器上操作了,如果是異地服務器或者進機房流程很麻煩,就會很坑) 現在是有22和12223兩個端口可以用,等一切都ok了,再注釋關閉22端口,這樣比較保險。
修改SELinux開放給ssh使用的端口
CentOS7.9初始化系統里,是已經安裝了SELinux的,所以沒有這一步操作,端口修改不會生效 如果沒有這一步,systemctl restart sshd
重啟會失敗,會輸出報錯信息 其實操作也很簡單,以下三步操作和驗證 首先,查看SELinux開放給ssh使用的端口,semanage port -l|grep ssh
,可以看到輸出ssh_port_t tcp 22
,表明開放的是22端口 然后,添加我們的端口 semanage port -a -t ssh_port_t -p tcp 12223
最后,semanage port -l|grep ssh
查看是否添加成功,可以看到輸出ssh_port_t tcp 12223, 22
修改防火墻,開放新端口
生產環境服務器,肯定要啟用防火墻的,我們使用的是系統自帶的firewall.service
啟用防火墻加入開機自啟動,并重啟防火墻(防止防火墻沒啟動) 添加新端口12223,并reload生效
systemctl enable firewalld.service
systemctl restart firewalld.service
firewall-cmd --zone = public --add-port= 12223 /tcp --permanent
firewall-cmd --reload
重啟sshd生效
執行命令systemctl restart sshd
重啟sshd 重啟后,可以使用ftp工具或者ssh工具測試,可以發現新端口12223
已經可以使用 此時,端口號22也可以正常使用,需要修改sshd配置文件,關閉 vi /etc/ssh/sshd_config
,將Port 22
注釋掉,重啟systemctl restart sshd
即可生效此時再驗證,可以發現,22端口,已經不可以訪問
相關知識點介紹
sshd服務
sshd是Linux系統中的SSH服務(Secure Shell),它是一種通過加密方式遠程登錄和管理Linux服務器的協議 在Linux系統中,sshd服務默認安裝在/etc/ssh/sshd_config文件中。可以通過修改這個配置文件來配置sshd的各種參數,如監聽端口、登錄方式、訪問控制等 為了保障系統的安全性,建議及時更新和維護sshd服務,避免使用弱密碼和默認配置,并且限制不必要的遠程登錄方式。此外,可以使用防火墻等安全措施來進一步增強系統的安全性
SELinux服務
SELinux,全名為Security-Enhanced Linux,是一種強制訪問控制(MAC)機制,用于增強Linux操作系統的安全性。它是由美國國家安全局(NSA)開發并貢獻給開源社區的 SELinux通過將訪問控制策略應用到系統中的資源(如文件、進程、網絡等)上,限制了進程和用戶的訪問權限,從而提供了更細粒度的安全策略控制 與傳統的Linux訪問控制模型相比,SELinux提供了更高級別的安全保護,因此它在高度安全性要求的環境中得到廣泛使用,如政府、軍事和金融領域
firewall.service服務
防火墻是用于保護計算機網絡免受未經授權的訪問和惡意攻擊的重要安全工具。在Linux系統中,使用iptables命令來管理防火墻規則 firewall.service是Linux系統中負責管理防火墻規則的systemd服務單元,簡化了對防火墻規則的管理。它負責啟動、停止、重啟和管理防火墻規則的加載 在啟動時,firewall.service會加載預先定義的防火墻規則以保護系統。這些規則可以配置讓特定的網絡流量通過或阻止特定的網絡流量傳入系統 通過編輯firewall.service文件,可以自定義防火墻規則。可以定義允許通過的網絡端口和協議,限制網絡流量的來源和目的地,以及其他的網絡安全配置