首頁  >  文章  >  運維  >  避免常見的SSH安全漏洞和攻擊:保護您的Linux伺服器

避免常見的SSH安全漏洞和攻擊:保護您的Linux伺服器

WBOY
WBOY原創
2023-09-08 11:02:051476瀏覽

避免常見的SSH安全漏洞和攻擊:保護您的Linux伺服器

避免常見的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金鑰認證使用公鑰和私鑰進行身份驗證,比傳統的密碼方式更安全可靠。

  1. 產生SSH金鑰對
    在本機電腦上產生SSH金鑰對。開啟終端,輸入以下指令:

    ssh-keygen -t rsa

    依照提示操作,產生的金鑰會儲存在~/.ssh目錄下。

  2. 上傳公鑰到伺服器
    將產生的公鑰上傳到伺服器上,可以使用以下指令:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip

    其中user是您的用戶名,your_server_ip是伺服器的IP位址。

  3. 修改SSH設定檔
    編輯SSH伺服器設定檔/etc/ssh/sshd_config,找到並修改以下行:

    PasswordAuthentication no
    PubkeyAuthentication yes

    然後重啟SSH服務。

三、限制SSH用戶登入
為了增加伺服器的安全性,您可以限制只允許特定的使用者登入SSH。這樣可以防止未授權的存取。

  1. 建立專用SSH群組
    在Linux伺服器上使用下列指令建立一個專用的SSH使用者群組:

    sudo groupadd sshusers
  2. ##新增允許SSH存取的使用者

    使用下列命令將使用者新增至SSH使用者群組:

    sudo usermod -aG sshusers username

    其中

    username是您要新增的使用者名稱。

  3. 修改SSH設定檔

    編輯SSH伺服器設定檔
    /etc/ssh/sshd_config,找到並修改以下行:

    AllowGroups sshusers

    然後重啟SSH服務。

四、限制SSH登入嘗試次數

暴力破解是駭客常用的攻擊方式之一。為了防止暴力破解SSH密碼,我們可以限制SSH登入嘗試次數,並設定登入失敗禁止一段時間。

  1. 安裝失敗登入嘗試計數器

    使用下列指令安裝
    fail2ban

    sudo apt-get install fail2ban

  2. 設定

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

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