如何制止OpenSSH漏洞?
Michael Cobb:OpenSSH是一個免費的基于SSH協議的有關安全的網絡層實用工具。可在絕大多數基于Linux的系統上使用,也可以在許多網絡基礎設施設備上使用,它為遠程登錄和遠程文件傳輸等網絡服務以多因素身份驗證方式提供加密服務。默認情況下,SSH服務器允許在關閉連接前嘗試登錄6次,一臺SSH客戶端只允許嘗試登錄3次。然而,研究員KingCope最新發現的身份認證漏洞允許攻擊者可在2分鐘內在一些鍵盤操作開啟的OpenSSH服務器上不限次數的嘗試登錄。概念驗證利用代碼是一個非常簡單的命令:
ssh -lusername -oKbdInteractiveDevices=`perl -e 'print "pam," x 10000'` targethost
雖然在兩分鐘內暴力破解強密碼不太可能會成功,不過對于內置SSH的設備來說暴力破解密碼仍是一個常見現象,這表明攻擊者仍然在尋找使用弱密碼的服務器來謀求價值,特別是那些鍵盤操作認證已在FreeBSD上等默認啟用的時候。黑客不使用最常見的密碼,而是一些更特別的密碼來找到正確的,反正該認證漏洞允許他們隨便進行嘗試。
Red Hat、OpenBSD以及CentOS系統看上去可能不受該認證漏洞影響,不過FreeBSD以及Mac操作系統會受影響,因為它們在認證失敗時不會有任何延時。這雖然不是一個非常嚴重的漏洞,但在官方補丁和最佳實踐出來之前,管理員應該采取以下步驟避免漏洞被利用:
· 禁用密碼驗證
· 使用一個密鑰用于驗證,只有具有密鑰的電腦可以訪問面向Internet的服務器
· 使用鍵長度至少2048節
· 使用強密碼來保護密鑰
· 減少20或30秒嘗試登錄期
· 限制嘗試登錄次數
· 不禁用登錄失敗時的延時
也可以用Fail2ban這類的工具來防止OpenSSH漏洞,減少錯誤認證的幾率以及更新防火墻規則,在指定時間內拒絕受懷疑的IP地址訪問。