首頁  >  文章  >  運維  >  SSH存取控制策略在Linux SysOps中的應用

SSH存取控制策略在Linux SysOps中的應用

王林
王林原創
2023-09-26 11:14:051236瀏覽

SSH访问控制策略在Linux SysOps中的应用

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn