避免常見的SSH安全漏洞和攻擊:保護您的Linux伺服器
引言:
在當今數位化時代,Linux伺服器已成為許多組織和個人不可或缺的一部分。然而,正如所有與網路相關的技術一樣,Linux伺服器也面臨安全威脅。其中,SSH(Secure Shell)是遠端管理和傳輸文件的常用協定。為了確保您的Linux伺服器的安全性,本文將介紹一些避免常見SSH安全漏洞和攻擊的方法,並提供相關程式碼範例。
一、更改SSH預設連接埠
預設情況下,SSH伺服器監聽22號連接埠。這很容易被駭客發現並嘗試暴力破解密碼。為了增加安全性,您可以將SSH端口變更為非標準端口,例如2222。這樣可以減少惡意入侵的風險。若要變更SSH端口,請編輯SSH伺服器設定檔/etc/ssh/sshd_config
,找到並修改下列行:
#Port 22 Port 2222
然後重新啟動SSH服務。
二、停用SSH密碼登錄,啟用SSH金鑰認證
SSH密碼登入容易受到暴力破解的攻擊。為了提高安全性,我們建議停用SSH密碼登錄,只允許SSH金鑰認證。 SSH金鑰認證使用公鑰和私鑰進行身份驗證,比傳統的密碼方式更安全可靠。
產生SSH金鑰對
在本機電腦上產生SSH金鑰對。開啟終端,輸入以下指令:
ssh-keygen -t rsa
依照提示操作,產生的金鑰會儲存在~/.ssh
目錄下。
上傳公鑰到伺服器
將產生的公鑰上傳到伺服器上,可以使用以下指令:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip
其中user
是您的用戶名,your_server_ip
是伺服器的IP位址。
修改SSH設定檔
編輯SSH伺服器設定檔/etc/ssh/sshd_config
,找到並修改以下行:
PasswordAuthentication no PubkeyAuthentication yes
然後重啟SSH服務。
三、限制SSH用戶登入
為了增加伺服器的安全性,您可以限制只允許特定的使用者登入SSH。這樣可以防止未授權的存取。
建立專用SSH群組
在Linux伺服器上使用下列指令建立一個專用的SSH使用者群組:
sudo groupadd sshusers
使用下列命令將使用者新增至SSH使用者群組:
sudo usermod -aG sshusers username
username是您要新增的使用者名稱。
編輯SSH伺服器設定檔
/etc/ssh/sshd_config,找到並修改以下行:
AllowGroups sshusers
暴力破解是駭客常用的攻擊方式之一。為了防止暴力破解SSH密碼,我們可以限制SSH登入嘗試次數,並設定登入失敗禁止一段時間。
使用下列指令安裝
fail2ban:
sudo apt-get install fail2ban
fail2ban 編輯
fail2ban設定檔
/etc/fail2ban/jail.local,新增以下內容:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600
fail2ban服務。
透過更改SSH預設連接埠、停用SSH密碼登入、啟用SSH金鑰認證、限制SSH使用者登入和限制SSH登入嘗試次數,您可以大幅增強Linux伺服器的安全性,並避免常見的SSH安全漏洞和攻擊。保護您的伺服器不被未經授權的存取是您作為系統管理員的責任之一。
以上是避免常見的SSH安全漏洞和攻擊:保護您的Linux伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!