DenyHosts
外觀
開發者 | Phil Schwartz |
---|---|
當前版本 | 2.6(2006年12月7日 | )
源代碼庫 | |
編程語言 | Python |
操作系統 | Linux, FreeBSD |
類型 | 安全、主機入侵預防系統 |
許可協議 | GPL |
網站 | denyhosts.sf.net |
DenyHosts是針對SSH服務器的一個基於日誌的入侵預防安全工具,是用Python編寫的。其通過監測身份驗證登錄日誌中失敗的登錄嘗試,屏蔽這些登錄者的IP地址,從而預防對SSH服務器的暴力破解。DenyHosts是由Phil Schwartz開發的,他也是Kodos正則表達式調試器的開發者。
原理
[編輯]DenyHosts通過監測身份驗證登錄日誌的末尾,來獲取近期失敗的登錄嘗試信息。DenyHosts記錄了有關登錄者IP地址的信息,並將失敗的登錄嘗試次數與用戶指定的閾值進行比較。如果失敗的登錄嘗試次數太多,DenyHosts假定發生了字典式攻擊,並通過將IP地址添加到服務器上的/etc/hosts.deny
,屏蔽相關IP,防止其進一步的攻擊。DenyHosts 2.0及以上的版本支持集中同步,從而可以阻止攻擊過多台電腦的慣犯。
從多台計算機,DenyHosts 2.0 及以上支持集中同步,所以重複的罪犯將被阻止。denyhosts.net網站從運行了該軟件的計算機上收集統計信息。
DenyHosts僅對使用IPv4的連接有效。它在IPv6下不起作用。
DenyHosts可以手動運行,可以作為一個守護進程,也可以作為一個cron任務。
漏洞
[編輯]Daniel B. Cid撰寫了一篇論文,表示DenyHosts以及類似的應用Fail2ban和BlockHosts,容易受到遠程日誌注入的攻擊[1]。這個問題在2.6版中被修復[2]。
參見
[編輯]- Fail2ban,一個類似的程序,防止對SSH以及其他服務的暴力破解攻擊
- OSSEC
- TCP Wrapper
參考文獻
[編輯]- Carla Schroder, Linux Networking Cookbook, O'Reilly, 2007, pp. 223–226, ISBN 0-596-10248-8
- Ken Leyba, Protect your server with Deny Hosts(頁面存檔備份,存於網際網路檔案館), 2008-01-28, 自由軟件雜誌 issue 21
- Daniel Bachfeld, 24 July 2009, Protecting SSH from brute force attacks. DenyHosts(頁面存檔備份,存於網際網路檔案館), H-online