假设没有人能从我这里窃取到实际密码,那么使用 SSH 破解我的服务器(该服务器在标准端口上使用非常强的密码(包含大写字母、小写字母、括号、下划线、美元、句点等 24 个符号,并且不含人类语言单词))是否几乎不可能?
答案1
虽然很少见,但仍然存在零日漏洞......所以你永远不知道。也许你可以将对端口 22 [在防火墙级别] 的访问限制在少数主机/网络上?
或者你可以采用安全隐蔽的方式并实施端口敲击?
答案2
请记住,您的密码可能非常强,而其他用户的密码可能非常弱。输入AllowGroups
或AllowUsers
可/etc/ssh/sshd_config
关闭其他用户的 ssh 访问。
还请记住,您的密码可能是也安全:这个密码几乎肯定会被写下来。
话虽如此,我认为你还是很安全的;如果你结合端口敲击等,你就非常安全。
答案3
这一切都取决于攻击者攻击您的 tcp/22 端口进行登录的速度。如果您不使用某种东西来终止这种重复连接,那么随着时间的推移,任何密码都可能被发现。在这种情况下,时间会很长。几个月的持续攻击。在我浏览过的 SSH 日志中,我看到很少针对特定帐户的定向攻击,而有很多上门寻找弱密码的行为。
但是,您不能假设所有攻击者都是随意的。专门针对您的人会愿意等待几个月才能攻破。正是出于这样的原因,共享密钥在可能的情况下是首选。您描述的密码很可能是三个九不可能破解的(在合理的时间限制内)。我不会指望五个九。
答案4
将 sshd 移至非标准端口可能只是添加到您的配置中,并且可能会消除 99% 的 ssh 机器人流量。既然您可以如此轻松地隐藏,为什么要让自己暴露在所有的暴力攻击之下呢?;-)
如果 sshd 会暴露在互联网上,我通常还建议将其配置为仅使用基于 SSH 密钥对的身份验证。只要您妥善保管私钥,坏人几乎不可能以您的身份在服务器上进行身份验证。
正如另一位评论者已经指出的那样,这并不能保护您免受 sshd 本身的零日攻击。将流量限制在仅需要通过防火墙规则连接的机器上始终是一个好主意。