保护 SSH 服务器免遭暴力破解

保护 SSH 服务器免遭暴力破解

我有一台小型 SVN 服务器,旧的戴尔 optiplex 运行 debian。我对我的服务器没有那么高的要求,因为它只是一个小型 SVN 服务器……但我希望它是安全的。

我刚刚将我的服务器更新为更新更好的 optiplex,并开始研究旧服务器。遇到问题后,我将其关闭。当我检查日志时,它充满了暴力破解尝试,不知何故有人成功进入了我的计算机。这个人创建了一个名为“knarkgosse”的额外卷,其中包含两个目录“root”和“swap1”之类的东西。我真的不知道他们为什么这样做,也不知道他们做了什么,但确实想防止这种情况再次发生。不过我觉得这有点奇怪,因为我每隔几个月就会更改一次密码,而且密码总是由随机字母和数字组合而成……不容易暴力破解。

我知道我可以阻止 root 登录,并使用 sudoers...并更改 SSH 端口,但我还能做什么?

我有几个问题:

  1. 如何才能在尝试错误次数达到 X 次后 5 分钟内阻止登录。或者在每次尝试错误后放慢登录速度?

  2. 是否存在某种服务器可以连接的中央黑名单?黑名单会跟踪“不安全”且永远不应授予访问权限的 IP 地址?

  3. 我还能做什么来确保我的服务器的安全?

就像我之前说的,我正在运行 Debian 5,其中包含 Apache(www-data 用户问题?)、svn、mysql、php、phpmyadmin、hudson。它位于家庭网络上,端口转发在 80、443、8080、8180、23 和 22 上。

答案1

Fail2ban端口敲门应该可以满足您的大部分需求。

还建议更改您的 SSH 端口并仅允许基于密钥的身份验证。

有人可能会说,增加额外的安全措施可能会达到收益递减点,但话又说回来,何时“足够安全”还是由你自己来决定。

禁止 root 登录也是一个好主意。

答案2

安全密码和密钥认证是无可替代的。 话虽如此,失败禁止是一款出色的工具,可用于禁止尝试验证次数过多的用户的 IP。它还作为大多数发行版的预构建包提供。请注意,您可能会意外被禁止,因此请确保您也有一个恢复白名单 IP 或方便的控制台访问...

Fail2Ban 提供了几个很好的例子,教你如何配置你问到的所有内容……但是,它没有一个通用的错误地址存储库。我认为任何地方都没有这样的存储库,因为很容易获得另一个 IP(dhcp 更新/僵尸网络攻击/等等)。我还会禁用使用常见的“管理员”类型用户名(root/admin/administrator/sysop/等等)通过 ssh 登录,因为这些是最常被使用的。

答案3

我已使用以下方法阻止了暴力攻击:

答案4

我一直是脑脊液/肝纤维化它可以阻止试图暴力破解、端口扫描和其他一些选项的人的 IP 地址。它基本上是 IP 表的大型 perl 包装器,但配置文件并不难读,文档也不错。

相关内容