SSH:公钥认证与密码的安全性

信息安全 linux
2021-08-27 21:53:32

为什么 Pubkey 身份验证被认为比密码更安全,这是否适用于我的情况(下文有更详细的描述)?

我是一名科学家(没有接受过正式的 IT 培训),但我为我的研究小组建立并管理了这个小型网络。我不关心硬件键盘记录器连接到我们的网络。我们不会做任何任何人都想窃取的事情,而且可能任何能够物理访问我们机器的人都会知道这一点。我主要只关心那些不知道我们没有什么值得窃取的人的远程攻击。

可以肯定,公钥很长,因此暴力攻击几乎是不可能的,但是,使用具有强度强制执行的长密码(12+ 字符,需要所有类),暴力攻击成功的可能性已经足够远程了?

关于可能安装在用户远程计算机上的键盘记录器,为什么这比从硬盘驱动器中取出 pubkey 更危险?在我看来(也许很天真),如果用户机器上安装了恶意软件,那么软件提取该密钥(它存储在可预测的位置)比破解记录的密钥流更容易密码并知道该密码属于什么。

我听到的另一件事是担心受感染的服务器会窃取用户密码。如果我们的其中一台服务器遭到入侵,我已经迷路了。服务器是我要保护的。

谢谢!

2个回答

安全不是绝对的,不是在真空中拥有和评估的财产。相反,当你问我安全吗?第一个反应是针对什么威胁模型你写:

我主要只关心那些不知道我们没有什么值得窃取的人的远程攻击。

很公平,这是一个很好的澄清。在这种情况下,让我们检查您的其他问题。

可以肯定,公钥很长,因此暴力攻击几乎是不可能的,但是,使用具有强度强制的长密码(12+ 字符,需要所有类),暴力攻击成功的可能性已经足够遥远了?

你滑过如何强制使用如此复杂的密码的问题;在现代 UNIX 系统上更改密码的方法有很多种,您假设可以拦截所有这些方法。一次失败,一个弱密码,你的系统就被渗透了。但在这种情况下更喜欢密码的主要原因是我们今天在互联网上看到了大量的自动密码猜测器。我不知道当前尝试随机私钥的任何攻击,并且(除非进一步发现系统的弱密钥生成)我不希望看到任何攻击。使用密钥对使您远离攻击者,从而远离攻击;从中可以获得带宽和 CPU 收益,以及安全性收益。

关于可能安装在用户远程计算机上的键盘记录器,为什么这比从硬盘驱动器中取出 pubkey 更危险?

对我来说,键盘记录器的问题主要与第三方机器有关,例如网吧中的机器。使用密码验证,任何用户都可以从任何机器登录,有些人会;迟早,他们会从不值得信赖的机器上执行此操作。也可以使用公钥来做到这一点,但这样做需要一些技巧,这通常伴随着风险意识的提高。此外,我们在野外看到键盘记录器;我认为我们还没有看到很多恶意软件会在临时本地存储上寻找密钥对,然后监视网络流以查看使用密钥对的远程端点。

我听到的另一件事是担心受感染的服务器会窃取用户密码。

这一切都不是孤立发生的。密码盗窃对攻击者很有用,因为人们经常在别处使用相同的密码。如果您的用户确实需要一个 12 字符的密码,并且对选择有严格的要求,那么至少他们中的一些人可能认为这是他们的“超级机密”密码,适用于他们所在的所有需要​​密码的系统非常强的一个;您的安全性现在仅与该池中所有用户的维护最差的系统一样强大,而且我并不热衷于信任其他所有人(这就是为什么我自己的服务器需要密钥对硬件令牌+密码用于远程登录)。

还有其他次要问题,例如传递代理模型中使用的密钥对,可以处理从一个远程系统到另一个系统的登录,而无需将私有材料“通过网络”发送到任何一个,但希望上述分析能给您一些思考.

密钥可以受密码保护。因此,要访问服务器,攻击者需要密钥和密码。

但是,如果您非常担心您的服务器受到威胁,您可能会查看可用于 ssh 的不同的两因素身份验证。