如何保护Mac服务器(日志中的“可能的破解尝试”)

我经常在/var/log/secure.log得到这些:

 Nov 5 10:50:49 www sshd[775]: reverse mapping checking getaddrinfo for 124.107.32.54.pldt.net [124.107.32.54] failed - POSSIBLE BREAK-IN ATTEMPT! Nov 5 10:50:49 www sshd[775]: Invalid user weber from 124.107.32.54 Nov 5 10:51:18 www sshd[802]: Invalid user weblogic from 66.178.48.196 Nov 5 10:51:56 www sshd[826]: reverse mapping checking getaddrinfo for gw-baneasa-v422.comtelnetworks.eu [193.230.208.98] failed - POSSIBLE BREAK-IN ATTEMPT! Nov 5 10:51:56 www sshd[826]: Invalid user webmail from 193.230.208.98 Nov 5 10:52:22 www sshd[860]: Invalid user webmail from 150.214.102.129 Nov 5 10:53:29 www sshd[905]: Invalid user webmaster from 195.205.203.6 Nov 5 10:53:57 www sshd[928]: Invalid user webmaster from 86.101.90.21 Nov 5 10:54:29 www sshd[943]: Invalid user webservd from 151.118.130.225 

我禁用了所有forms的SSH身份validation,除了publickey所以我不认为他们会find方法。但是我应该更担心这个吗?

  • 有没有办法阻止这种情况发生,或者我的网站刚刚变得stream行?
  • 我可以在服务器上设置防火墙来阻止失败的login尝试吗? 这次袭击似乎是分发的。 每一次尝试都来自不同的IP。

移动SSH端口的一个不错的select是使用类似Blockhosts的东西。 这是一个python脚本,可以扫描日志文件(通常是/var/log/auth.log),并将dynamic条目放入/etc/hosts.allow,以阻止人们进行powershell扫描。 我使用它在我的SSH和vsftpd安装黑名单连续5个不正确的密码后,以良好的效果。

正如已经指出的那样,它只是一个自动扫描,它会尝试一个众所周知的(对攻击者当然)types的目标的字典附加。

作为一个嘈杂的减less技术,你可以改变你的服务器上的SSHD端口,你可以用一个非常简单的方法来实现这个目标。

注意 :这种方法与真正的安全无关 (因为大家都知道安全性通过默默无闻是不安全的),但可以帮助保持脚本小子,而你的系统日志会感谢你:)

编辑

  • 黑名单方法的替代实现可以通过使用实时公共SSH暴力黑名单(如sshbl.org)来实现

  • 本地BL方法的替代scheme是BFD(蛮力检测)

你也可以考虑使用fail2ban 。

将您的身份validation方法限制为publickey是一个很好的开始。 使用日志扫描程序Denyhosts或Blockhosts(如Graeme所述)将有助于防止来自同一地址的重复尝试。 Denyhosts有一个可选的共享数据库,可以让你阻止其他人看到的地址。

除了限制身份validation方法外,我发现的最佳解决scheme是将SSH移动到不同的端口。 扫描似乎集中在端口22.在离开端口后,我的每个服务器上的尝试已经下降到零。

如果你打开了ssh,会使你的机器看起来像一个有趣的目标,因为它很可能是一个服务器,因此值得从黑客的angular度入手。

你可以通过默默无闻的安全来移动你的ssh端口。 你可以在机器上做这个提示http://www.macosxhints.com/article.php?story=20050707140439980它也可以在10.5上工作。 10.6我没有这样做,但我知道没有理由为什么它不会在那里工作。

您也可以在防火墙上执行此操作,将不同端口的外部请求转换为在本机上转发至22。 这只是一个不明确的安全方法。

您可以从外部禁用ssh,并使用VPN进入。从安全的angular度来看,这是最强的select。

无论如何,请确保您有一个强大的密码。 如果你有一个强大的密码,他们将不会进入,但是留在默认的端口上,可能会出现一个微小的拒绝服务攻击,通过authentication请求压倒机器,或者至less会损失一点性能。

你会注意到,他们几乎只是按字母顺序尝试各种login。 另一层安全性是有一个非标准的login名。 你可以打赌,他们将尝试pipe理和根例如。

我也想禁用较旧的,不太安全的ssh1协议: http : //www.macosxhints.com/article.php? story=2005021023215253

你有22个港口接触到世界。 您可以使用内置的OSX防火墙function来缩小可以访问您的计算机的IP地址,也可以在networking之前放置某种防火墙设备/服务器,并在连接之前要求用户连接到(通常通过VPN)到您的服务器。

我个人不会打扰改变SSH的端口。 默默无闻的安全是一个神话。 端口扫描程序可以很容易地找出在非标准端口上运行的服务types,使环境变得不规范可能会导致供应商出现问题,或者更加恼人地添加更多的东西来确保所有新雇用的人员都知道要做的事情。 它只是增加了更多的东西文件,并确保标准化。

别担心。 这是一个自动扫描,这次你赢得了硬币的折腾。

很高兴知道,我认为Blockhosts是SSH的一个更好的select

丹妮拉, 巴尼亚萨