DenyHosts是針對SSH伺服器的一個基於紀錄檔的入侵預防安全工具,是用Python編寫的。其通過監測身分驗證登入紀錄檔中失敗的登入嘗試,封鎖這些登入者的IP位址,從而預防對SSH伺服器的暴力破解。DenyHosts是由Phil Schwartz開發的,他也是Kodos正規表示式除錯器英語Kodos Python Regular Expression Debugger的開發者。

DenyHosts
開發者Phil Schwartz
目前版本2.6(2006年12月7日,​17年前​(2006-12-07
原始碼庫 編輯維基數據鏈結
程式語言Python
作業系統Linux, FreeBSD
類型安全主機入侵預防系統
許可協定GPL
網站denyhosts.sf.net

原理

編輯

DenyHosts通過監測身分驗證登入紀錄檔的末尾,來取得近期失敗的登入嘗試資訊。DenyHosts記錄了有關登入者IP位址的資訊,並將失敗的登入嘗試次數與使用者指定的閾值進行比較。如果失敗的登入嘗試次數太多,DenyHosts假定發生了字典式攻擊英語Dictionary attack,並通過將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]

參見

編輯

參考文獻

編輯

外部連結

編輯