SSH密钥交换比密码身份验证更安全吗?


9

远程用户使用SSH通过Internet连接到我们总部的多个服务。SSH密码与其LAN A / D帐户同步。

与让用户输入密码相比,让用户使用CD或纸之类的东西将SSH密钥的副本带回家的安全性更高吗?还是我都需要?

我的问题可能会重新组织为:SSH的密码身份验证协议中是否存在任何漏洞?

这条消息使我感到怀疑:

The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:.
Are you sure you want to continue connecting (yes/no)?

Answers:


22

您看到的消息是一个单独的问题。它要求您确认要连接的主机确实是您期望的主机。在服务器上,您可以通过运行获取指纹ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub。然后,当您第一次远程连接时,可以确保指纹匹配。

主机密钥(在这里起作用)解决了中间攻击中的人为问题-也许DNS已被破坏,并且您正在连接到竞争对手的计算机,而不是您自己的计算机。该计算机将收集您的凭据,并将您的连接透明地转发到真实服务器,从而在您不知情的情况下窃取您的信息。确保主机密钥匹配可以防止这种情况的发生,除非攻击者实际上已经窃取了服务器的公共密钥。

但是,问题仍然存在-您如何知道哪个密钥正确?第一次连接后,公钥存储在~/.ssh/known_hosts文件中,因此以后的连接很好。但第一次,您要么需要某种带外方式来获取指纹,要么就遵循“ TOFU”模型:首次使用信任。

但这与密码和密钥无关,只是密钥和密码都可能通过这种攻击被盗-从某种意义上讲,这就是您所要求的漏洞。

(至少)有三个原因使密码比密钥差:

  1. 它们可能被强行使用。典型的用户选择的8个字符的密码具有大约30位的猜测熵。ssh公钥/私钥对为1024位或更大。暴力破解ssh密钥实际上是不可能的,但是自动密码猜测一直在发生。
  2. 他们可能是愚蠢的。用户经常选择可怕的密码,即使有适当的限制,他们也倾向于在多个地方使用更难的密码。这显然使攻击更加容易。
  3. 密码可以被远程窃取。当您使用SSH时,密码是在网络上加密的,但是在受感染的系统上用记录所有密码的ssh服务器替换ssh服务器是很常见的。使用密钥,私钥将保留在本地系统上,并且根本不会发送,因此,如果不真正损害客户端计算机,就无法将其窃取。

另外,ssh密钥与类似的东西一起使用时提供了便利ssh-agent-您无需麻烦地进行连接即可轻松进行连接,而无需每次都进行身份验证,同时仍保持合理的安全性。

要求两者都没有明显的优势,因为具有足够的访问权以窃取私钥的人也可以很容易地窃取用户的密码。如果您需要的安全性不止此,请考虑使用两因素身份验证系统,例如RSA SecurID或WiKID


好答案。正是我想要的。谢谢!
srmark 2010年

关于数字3)如果您要登录的是已经被压缩的服务器...为什么有人要您的密码?我能想到的唯一原因是,如果到处都使用相同的密码。
Sirex

Sirex-对;他们会窃取您的密码并在其他系统上使用它。在问题中请注意,密码用作“ LAN A / D”。因此,他们从ssh登录服务器窃取您的密码,然后也可以访问Windows服务器。此外,现在,每当系统受到威胁时,您都必须进行“确定,每个人都再次更改密码”的防火练习。
mattdm

同样,如数字2所示,用户到处使用相同的密码。叹。
mattdm

讨厌讨厌的用户!:(
Sirex

1

您真正要问的是“比其他因素好一个因素”,该主题是多因素身份验证,实际上,建议您研究该主题。

通常,“因素”是您知道的东西(密码),您拥有的东西(ssh文件或按键刷卡)或您所拥有的东西(指纹)。

一个本身并不比另一个更好,它们是互补的。如果只需要使用密钥文件丢失cd,就和泄露密码一样糟糕。对于安全环境,常见的有两个因素:身份验证。


是的,我明白您的意思。但是,在这种情况下,我只是试图找出是否可以使用诸如man之类的东西来破解密码验证。
srmark 2010年

以ssh为例,不,因为密码提供部分也已加密,并且密钥在会话期间更改(我相信30秒)。不过,这并不反映密码与密码
Sirex
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.