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]

参见

编辑

参考文献

编辑

外部链接

编辑