MacOSX 10.8 忽略 hosts.deny

MacOSX 10.8 忽略 hosts.deny

我一直在尝试设置我的 MacOS X Server(我最近将其升级到 Mountain Lion),以使用拒绝主机,因为我需要为其打开端口 22。拒绝主机已设置并向 /etc/hosts.deny 添加条目,因此我决定向其中添加我的笔记本电脑 IP,以验证它是否真的有效,但我仍然可以登录,并且我的 IP 显示在 /private/var/log/system.log 中。我甚至重新启动了一次服务器,只是为了确保没有必须重新启动的服务。

我尝试了以下条目:

ALL: <my laptop's IP>
sshd: <my laptop's IP>
sshd: 127.0.0.1

我的 /etc/sshd_config 设置了以下参数:

UsePAM yes
UseDNS no

我谷歌了一下,看看在 OSX 10.7 或 10.8 中,deny.hosts 是否已被弃用,但没有找到任何迹象表明它已被弃用。您知道哪里出了问题吗?或者是否有其他方法可以实现相同的结果?

是的,私钥可以解决这个问题,但目前我还是想坚持使用密码验证。我还喜欢denyhosts的想法,它实际上阻止了对服务器上运行的所有服务的访问,而不仅仅是ssh。

答案1

我也想获取一些关于如何让 Denyhosts 在 Mac OS X Mountain Lion 上运行的信息。到目前为止我还没有成功,但我知道下一步该怎么做。不过我不确定我是否真的需要它。

根据http://denyhosts.sourceforge.net/ssh_config.html

为了利用 DenyHosts,您必须确保您的 sshd 服务器已经编译了 tcp_wrappers 支持。

但 OS X ML 似乎不再是这种情况了。https://discussions.apple.com/thread/4267535?start=0&tstart=0

这就是为何 hosts.deny 在 Mountain Lion 中被忽略的原因。

但我不确定是否要通过 Mac 端口安装 libwrap...也许我只需将 SSH 端口更改为更高的端口,以限制失败的身份验证尝试的冲击。

一旦您仅接受使用 sshd 的公钥身份验证,您实际上只会通过 syslog 损失一些几乎不可测量的性能和更多的磁盘空间。

答案2

OS X 10.8 使用pf数据包过滤。要阻止来自特定 IP 的传入流量,您可以添加如下行/etc/pf.conf

block in from 221.0.213.154

然后执行以下操作重新加载配置文件:

pfctl -e -f /etc/pf.conf

我尝试过这个,它对我有用。

答案3

我已经能够通过在 Snow Leopard 和 Mountain Lion 上使用稍加修改的 Fail2ban 安装成功阻止这些暴力攻击。我使用了本教程以及一些建议的调整安迪·弗拉根博士。如果您在任何地方遇到困难,请告诉我,我很乐意提供帮助。

相关内容