SSH存取控制策略在Linux SysOps中的應用,具體程式碼範例如下:
在Linux系統運作中,SSH(Secure Shell)是一種加密的遠端登入協議,被廣泛應用於遠端伺服器管理。然而,由於SSH的預設配置較為寬鬆,可能有安全隱患。為了加強系統的安全性,我們需要對SSH進行存取控制策略的設定和管理。本文將介紹SSH存取控制策略的應用,並提供具體的程式碼範例。
一、停用SSH的root使用者登入:
預設情況下,SSH允許root使用者透過密碼登錄,這對系統的安全性帶來風險。為了提高系統的安全性,我們應該停用root使用者透過SSH登入。透過修改SSH設定檔/etc/ssh/sshd_config
,在檔案中找到PermitRootLogin
選項,並將其值改為no
。
範例程式碼:
sudo nano /etc/ssh/sshd_config
將PermitRootLogin
改為no
後儲存並退出。
二、停用密碼登錄,只允許公鑰登入:
為了增加系統的安全性,我們也可以停用密碼登錄,只允許公鑰登入。透過使用公鑰認證,可以避免密碼被猜解或被暴力攻擊的風險。為了配置公鑰認證,需要在伺服器上產生公鑰/私鑰對,並將公鑰新增至~/.ssh/authorized_keys
檔案中。
範例程式碼:
首先,在本機產生公鑰/私鑰對:
ssh-keygen -t rsa
依照提示設定檔案儲存路徑和密碼(可選)。
然後,將公鑰複製到遠端伺服器:
ssh-copy-id user@remote_server_ip
將user
替換為遠端伺服器上你要登入的用戶名,remote_server_ip
#替換為遠端伺服器的IP位址。
最後,重新登入SSH伺服器:
ssh user@remote_server_ip
這將自動使用公鑰進行認證,而無需輸入密碼。
三、限制SSH登入特定IP範圍:
為了進一步加強系統的存取控制,我們可以限制SSH登入只能從特定IP範圍進行。透過修改SSH設定檔/etc/ssh/sshd_config
,可以設定AllowUsers
選項來限制特定使用者只能從特定的IP位址範圍登入。
範例程式碼:
sudo nano /etc/ssh/sshd_config
在檔案中找到AllowUsers
選項,並將具體的使用者名稱和IP範圍加進去。
例如,限制使用者user1
只能從IP位址為192.168.0.0/24
的主機登入:
AllowUsers user1@192.168.0.*
儲存並登出設定檔。
四、使用防火牆控制SSH存取:
除了在SSH設定檔中進行存取控制,我們也可以使用防火牆來控制SSH的存取。透過設定防火牆規則,我們可以限制特定的IP位址和連接埠可以存取SSH服務。
範例程式碼:
使用iptables
指令來設定防火牆規則:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j DROP
以上程式碼的意思是允許來自192.168.0.0/24
網段的IP位址存取SSH服務,並拒絕其他IP位址的存取。
最後,應用防火牆規則:
sudo iptables-save > /etc/sysconfig/iptables sudo systemctl restart iptables
這樣,我們就使用防火牆限制了SSH的存取。
總結:
透過停用root用戶登入、停用密碼登入、限制SSH登入特定IP範圍以及使用防火牆控制SSH訪問,我們可以增強系統的安全性。對於Linux SysOps來說,SSH存取控制策略是一個重要的安全措施。透過本文提供的程式碼範例,希望可以幫助您更好地配置和管理SSH的存取控制策略。
以上是SSH存取控制策略在Linux SysOps中的應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!