让我们假设 ssh 密钥暴力破解是不现实的。
在我看来,您最大的漏洞将是某人获得对客户端文件系统的访问权限。如果是这种情况,那么键盘记录器和许多其他讨厌的东西是可能的,这使得密码短语成为一个小障碍。
关键蛮力真的不现实吗?如果密钥暴力破解是现实的,那么假设密码也是暴力破解是否合理?
让我们假设 ssh 密钥暴力破解是不现实的。
在我看来,您最大的漏洞将是某人获得对客户端文件系统的访问权限。如果是这种情况,那么键盘记录器和许多其他讨厌的东西是可能的,这使得密码短语成为一个小障碍。
关键蛮力真的不现实吗?如果密钥暴力破解是现实的,那么假设密码也是暴力破解是否合理?
对于初学者来说,是的,在正常情况下,密钥暴力破解是不现实的。任何正确配置的服务器都不允许您对 SSH 密钥进行数十亿次猜测。如果是这样,则服务器的安全协议存在一些重大问题。如果针对单个帐户的关键故障太多,则生产服务器的日志中应该会熄灭各种红灯。
http://blog.codinghorror.com/brute-force-key-attacks-are-for-dummies/ https://askubuntu.com/questions/2271/how-to-harden-an-ssh-server
出于几乎所有意图和目的,这在实践中是不可能的。
请记住,如果有人获得了对客户端文件系统的访问权限,那么您的状态就已经很糟糕了。然而,这并不意味着应该放弃所有进一步的安全措施。
例如,在远程利用的情况下,在没有获得全部权限的情况下获得对系统的 shell 访问权限是很常见的。例如,对 Apache Web 服务器的远程利用将使用 shell... 作为服务器本身 (whoami = apache),它并不总是像您希望的那样具有特权。
因此,对于受感染的客户端计算机,您要确保在受感染之前该计算机具有各种安全保护,可以使受感染后的生活变得地狱般。
有很多方法可以破坏客户端计算机,因此我不可能在这里概述所有可能的情况,但是:
作为分层安全方法的一部分,您在 ssh 密钥上应用密码。如果您担心系统完整性,请不要将密钥保存在该系统上,将其保存在 USB、hsm 等外部设备上。
您应该考虑风险与复杂性,并考虑不同的攻击场景。如果有人只是暴力破解密钥,这意味着他们正在猜测一个值并且不需要对您的系统进行物理访问。如果他们可以访问您的系统而您没有密码,他们就不需要使用暴力破解,因为他们已经拥有密钥。
如果攻击者有系统访问权限,他们很可能有能力在使用时截取实际密钥值,而无需暴力破解。
顺便说一句,密码短语更有可能是一个对人类有意义的字符串,并且比键值短,因此熵更少,等等。在大多数情况下,强制通过所需的时间更短短语与键本身。