DenyHosts

DenyHosts是针对SSH服务器的一个基于日志的入侵预防安全工具，是用Python编写的。其通过监测身份验证登录日志中失败的登录尝试，屏蔽这些登录者的IP地址，从而预防对SSH服务器的暴力破解。DenyHosts是由Phil Schwartz开发的，他也是的开发者。

原理 
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，容易受到远程日志注入的攻击。这个问题在2.6版中被修复。

参见 
 Fail2ban，一个类似的程序，防止对SSH以及其他服务的暴力破解攻击
 
 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,

外部链接 
DenyHosts网站
Blue Box page on installing DenyHost
Gentoo linux问题报告

自由安全软件
自由網路軟體
用Python編程的自由軟體
Linux安全软件