有效处理对服务器的恶意连接尝试? (在 /var/log/auth.log 中记录为“连接由 xx 端口 xx [preauth] 关闭”)?

有效处理对服务器的恶意连接尝试? (在 /var/log/auth.log 中记录为“连接由 xx 端口 xx [preauth] 关闭”)?

我想知道有什么有效的方法来处理连接到我的服务器的恶意尝试。如前所述,尝试显示/var/log/auth.log为登录Connection closed by IPaddress port XXX [preauth]

有关以下的附加信息sshd_config

  • 密码登录已禁用
  • MaxAuthTries 3
  • PubkeyAuthentication yes
  • PasswordAuthentication no
  • PermitEmptyPasswords no
  • DenyUsers pi admin ubuntu

问题的第一部分是:我是否应该阻止这些尝试?

大约每隔几秒钟就有一次尝试。这些尝试来自不同的IP(我可以处理尝试多次登录但没有成功的IP)我认为),但是大量的连接尝试似乎有点令人头疼。

一个条件是我不想只将某些 IP 列入白名单以通过 ssh 连接到服务器。

现在如果应该阻止这些尝试,我很想就如何处理这个问题提出一些建议(除了fail2ban之外请)。

非常感谢!

答案1

如果您将事情限制为仅公钥身份验证,那么您可能没问题。 (请注意,这意味着您还应该转向ChallengeResponseAuthentication。 )为了获得额外的安全性,您也no可以关闭。PermitRootLogin

我运行的服务器一直在进行扫描,我并不担心,因为他们没有我的密钥,我没有打开密码身份验证,而且他们实际上不可能进入。

如果需要,您可以使用诸如fail2ban之类的东西,但这不是必需的。如果您可以接受一点日志噪音,请忽略它。如果问题方或明显不感兴趣的网络(例如,您从未去过的国家/地区的电信)是一个大问题,您还可以手动将其添加到防火墙。

答案2

VPN 是最好的建议。放置 VPN 服务器(开放VPN例如)您的 SSH 服务器和互联网之间。无论您的服务器位于家里还是在云端,这都相当简单。您的 SSH 服务器将仅侦听 SSH 连接的专用 IP。您的 VPN 服务器将暴露在互联网上(1194/UDP 或 943/TCP 或 443/TCP)。 OpenVPN 非常灵活,您可以使用证书进行身份验证(避免使用密码)。

这意味着您必须先连接到 VPN,然后才能访问目标 SSH 服务器。此外,出于安全原因,必须可以通过私有 IP 访问 VPN 服务器的 SSH。这意味着您必须先连接到 VPN,然后才能通过 SSH 访问 VPN 服务器进行管理。但如果出现问题,就有可能将自己锁在门外。

B 计划是将sshd_config文件中的用户列入白名单,并确保他们仅使用 ssh 密钥进行身份验证。使用参数允许用户或允许组。不属于神圣列表的人将被拒绝 SSH 访问。

计划C是启用双因素身份验证 (2FA). 白名单用户需要输入 2FA 代码才能获得访问权限

相关内容