如何停止/防止 SSH 暴力破解
我對網路管理非常陌生,所以請認為我還沒有那麼有經驗。
我有一個帶有 plesk 面板的 Ubuntu 根伺服器。
昨天我和我的朋友注意到我們的 TS3 的語音質量很差。我向伺服器發送了一些 ping,並且丟包率非常高。之後我用Google搜尋了一下,發現有一個
auth.log
. 我下載了它並滾動了一下,然後我發現了這個:May 13 10:01:27 rs204941 sshd[9351]: input_userauth_request: invalid user student [preauth] May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): check pass; user unknown May 13 10:01:27 rs204941 sshd[9351]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.220.198.102 May 13 10:01:29 rs204941 sshd[9351]: Failed password for invalid user student from 112.220.198.102 port 39806 ssh2 May 13 10:01:29 rs204941 sshd[9351]: Received disconnect from 112.220.198.102: 11: Bye Bye [preauth] May 13 10:01:31 rs204941 sshd[9353]: Invalid user student from 112.220.198.102
似乎有人多次嘗試通過 SSH 登錄。我滾動了一下,發現有人嘗試使用許多不同的使用者名:
student, tech, psi, news,...
文件中顯示了數百個這樣的登錄。
我在我的數據中心的網站上查找了流量統計數據。它只有每小時 17MB。我有一個 100Mbit 的骨幹網,所以數據傳輸本身似乎不是問題。
目前我無法以任何方式訪問伺服器。
我的問題是:我怎樣才能再次獲得訪問權限,我怎樣才能抑制這種攻擊並防止後續攻擊?
如何獲得訪問權限?
目前尚不清楚為什麼您無法訪問您的帳戶。
如果您的機器受到攻擊或高負載,您應該與您的提供商討論限制訪問(IP 限制)或使伺服器離線(斷開與 Internet 的連接)。
您可能還需要您的提供者可以提供幫助的帶外訪問。
如果有人破壞了您的伺服器,您可能需要從備份中恢復或使用恢復映像。
如何防止對您的伺服器的攻擊,尤其是 SSH
防止暴力登錄的最佳方法?
首先不要讓他們進入您的機器!有很多方法可以在暴力嘗試到達您的主機之前阻止它們,甚至在 SSH 級別。
話雖如此,使用類似 fail2ban 的東西保護您的作業系統是一個好主意。http://en.wikipedia.org/wiki/Fail2ban
Fail2ban 類似於 DenyHosts …但與專注於 SSH 的 DenyHosts 不同,fail2ban 可以配置為監視將登錄嘗試寫入日誌文件的任何服務,而不是僅使用 /etc/hosts.deny 來阻止 IP 地址/主機, fail2ban 可以使用 Netfilter/iptables 和 TCP Wrappers /etc/hosts.deny。
您應該考慮一些重要的安全技術來幫助防止暴力登錄:
SSH:
- 不允許root登錄
- 不允許 ssh 密碼(使用私鑰認證)
- 不要在每個界面上都聽
- 為 SSH 創建一個網路介面(例如 eth1),它不同於您提供請求的介面(例如 eth0)
- 不要使用常見的使用者名
- 使用允許列表,並且只允許需要 SSH 訪問的使用者
- 如果您需要 Internet 訪問…限制對有限 IP 集的訪問。一個靜態 IP 是理想的,但是將其鎖定為 xx0.0/16 比 0.0.0.0/0 更好
- 如果可能的話,找到一種無需 Internet 訪問即可連接的方法,這樣您就可以拒絕 SSH 的所有 Internet 流量(例如,使用 AWS,您可以獲得繞過 Internet 的直接連接,稱為 Direct Connect)
- 使用fail2ban之類的軟體來擷取任何暴力攻擊
- 確保作業系統始終是最新的,尤其是安全和 ssh 包
應用:
- 確保您的應用程序始終是最新的,尤其是安全包
- 鎖定您的應用程序“管理”頁面。上面的許多建議也適用於您的應用程序的管理區域。
- 密碼保護您的管理區域,例如用於 Web 控制台的 htpasswd 將投射任何底層應用程序漏洞並創建額外的進入障礙
- 鎖定文件權限。“上傳文件夾”因成為各種令人討厭的東西的入口點而臭名昭著。
- 考慮將您的應用程序放在私有網路後面,並且隻公開您的前端負載均衡器和跳轉盒(這是 AWS 中使用 VPC 的典型設置)