我正在设置 Linode 服务器和入门安全指南建议禁用通过 IPv4 或 IPv6 的 ssh 访问,以便我只启用其中一个。
我了解减少攻击面的一般理论,但为什么我要选择其中一个而不是另一个?我怎么知道我需要哪一个?
仅监听一种互联网协议。SSH 守护程序默认侦听 IPv4 和 IPv6 上的传入连接。除非您需要使用这两种协议通过 SSH 连接到您的 Linode,否则请禁用您不需要的协议。这不会禁用整个系统的协议,它仅适用于 SSH 守护程序。
答案1
禁用其中一个或另一个的原因有很多。我的家庭和办公室有稳定的 IPv6 地址,但 IPv4 地址总是在变化。因此,防火墙 IPv6 更容易、更安全,因此我关闭了 IPv4。
当我需要进行维护时,我可以从已知网络进行 ssh,或者打开 VPN 并获取允许通过防火墙的 IPv6 地址。
这一切都取决于你的环境,但这对我来说是有效的:)
答案2
您可能知道,有许多自动机器人试图入侵互联网上的系统。其中一些机器人试图通过 ssh 连接到互联网上的每个系统并尝试使用常用密码。
任何将系统接入网络的人都会看到他们的日志中充满了有关入侵尝试的消息。但是,它们全都在 IPv4 上!IPv6 上没有。机器人会尝试连接到每个存在的 IPv4 地址,但在 IPv6 上这是不可能的,因为 IPv4 地址太多了。
我通常会启用这两种协议,但是当我禁用其中一种时,它就会变为 IPv4。
答案3
有更有效的方法来保护你的 ssh 服务器。我认为保护 ssh 最重要的两个步骤是:
- 设置基于密钥的身份验证并禁用密码身份验证。
- 保持软件为最新版本。
在存在这两个协议的情况下,禁用 IPv4 或 IPv6 几乎不会带来任何安全性提升。
有论据支持将 ssh 配置为同时监听 IPv4 和 IPv6,即使您通常不同时使用它们。
如果由于服务器或提供商路由器配置错误导致无法访问其中一种协议,则可以使用另一种协议登录。在这种情况下,同时启用 IPv4 和 IPv6 将使问题更容易调试。