DenyHosts
DenyHosts是针对SSH服务器的一个基于日志的入侵预防安全工具,是用Python编写的。其通过监测身份验证登录日志中失败的登录尝试,屏蔽这些登录者的IP地址,从而预防对SSH服务器的暴力破解。DenyHosts是由Phil Schwartz开发的,他也是Kodos正则表达式调试器的开发者。
開發者 | Phil Schwartz |
---|---|
当前版本 | 2.6(2006年12月7日 | )
源代码库 | |
编程语言 | Python |
操作系统 | Linux, FreeBSD |
类型 | 安全、主机入侵预防系统 |
许可协议 | GPL |
网站 | denyhosts.sf.net |
原理
编辑DenyHosts通过监测身份验证登录日志的末尾,来获取近期失败的登录尝试信息。DenyHosts记录了有关登录者IP地址的信息,并将失败的登录尝试次数与用户指定的阈值进行比较。如果失败的登录尝试次数太多,DenyHosts假定发生了字典式攻击,并通过将IP地址添加到服务器上的/etc/hosts.deny
,屏蔽相关IP,防止其进一步的攻击。DenyHosts 2.0及以上的版本支持集中同步,从而可以阻止攻击过多台电脑的惯犯。
从多台计算机,DenyHosts 2.0 及以上支持集中同步,所以重复的罪犯将被阻止。denyhosts.net网站从运行了该软件的计算机上收集统计信息。
漏洞
编辑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