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

Pau*_*len 15 security ssh brute-force-attacks

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

我刚刚将我的服务器更新到更新更好的 optiplex,并开始查看旧服务器。我在遇到问题后将其取下。当我检查日志时,它充满了蛮力尝试,不知何故有人成功进入了我的机器。此人创建了一些名为“knarkgosse”的额外卷,其中包含两个目录“root”和“swap1”之类的。不知道为什么和他们做什么,但肯定希望防止这种情况再次发生。我觉得这有点奇怪,因为我每隔几个月左右就会更改我的密码,而且密码总是随机的字母和数字组合在一起......不容易暴力破解。

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

所以我有几个问题:

  1. 如何在 X 次错误尝试后阻止登录 5 分钟。还是在每次错误尝试后缓慢尝试?

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

  3. 我还能做些什么来将安全应用于我的服务器?

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

gWa*_*ldo 18

Fail2banPort Knocking应该可以满足您的大部分需求。

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

可以说,在添加额外的安全措施时,您可能会达到收益递减的程度,但话说回来,何时“足够安全”由您来决定。

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

  • 我使用拒绝主机,但它与fail2ban afaik 几乎相同。 (2认同)

The*_*Wiz 7

安全密码和密钥认证是无可替代的。 话虽如此,Fail2Ban是一个很好的工具,可以禁止尝试多次验证的用户的 IP。它也可以作为大多数发行版的预构建包使用。请注意,您可能会不小心被禁止,因此请确保您也有恢复白名单 IP 或易于控制台访问...

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


And*_*ehm 5

我已经停止了蛮力攻击: