denyhosts忽略/etc/hosts.allow

我正在运行Ubuntu 13.10 (不是LTS,我知道…)。 我已经安装了denyhosts 。 我有/etc/hosts.deny/etc/hosts.allow 。 我已经添加了2个IP到hosts.allow (home + work)。 但是,每当我从这些IPlogin,我收到一封电子邮件,告诉我发生了可疑的login。

我已经尝试以两种不同的方式格式化hosts.allow文件。 这似乎没有工作。

首先:

 ... sshd: iii.iiiii : allow sshd: iii.iiiii : allow 

第二:

 ... sshd: iii.iiiii sshd: iii.iiiii 

我不知道这是否相关,但如果我注意到我无法解释的东西。

如果我跑

 $ sudo service denyhosts restart * Stopping DenyHosts denyhosts [ OK ] /etc/init.d/denyhosts: 44: test: /etc/hosts.deny: unexpected operator * Starting DenyHosts denyhosts 

但是,如果我在hosts.deny或hosts.allow中search错误,找不到任何:

 sudo test -e /etc/hosts.allow sudo test -e /etc/hosts.deny 

在我忘记之前,我的/etc/denyhosts.conf文件:

 ... # Most operating systems: HOSTS_DENY = /etc/hosts.deny # # Some BSD (FreeBSD) Unixes: HOSTS_DENY = /etc/hosts.allow ... 

正如注释所说,/etc/hosts.allow显然是在一些BSD Unix上使用的。 这是问题吗? 在我读过Ubuntu的一些指南中,显然这不是。

编辑:

/etc/init.d/denyhosts文件运行:

 HOSTS_DENY=$(grep ^HOSTS_DENY $CONFIG | cut -d = -f 2) 

在我的情况下返回hosts.allowhosts.deny

你有这两个没有注释,所以这使我相信,拒绝主机使用/etc/hosts.allow 。 注释掉第二个HOSTS_DENY行并重新启动拒绝主机。

如果仍然收到电子邮件,则需要将SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = NO添加到您的denyhosts.conf文件中。 这要求DenyHosts 0.6或更高。 详情请参阅此 。

您还需要创build带有您的可信IP地址的allowed-hosts文件,每行一个。 这在configuration中由WORK_DIR定义的相同文件夹中。

您需要将HOSTS_DENY = /etc/hosts.allowHOSTS_DENY = /etc/hosts.allow ,因为您在Ubuntu上,而不是在BSD框中。

然后,您需要了解如何处理hosts.(allow|deny)文件。 使用这些文件的服务总是在hosts.deny之前检查hosts.allow并在第一次匹配时停止。 因此,如果您在hosts.allow文件中授予IP地址访问权限,则无论hosts.deny的内容如何,​​都将授予访问权限。 如果拒绝主机向该文件添加更多地址,则不需要关心。 hosts.allow文件基本上允许您将IP地址列入白名单。

有关更多信息,请参阅hosts_access(5)手册页。