Answers:
不,Heartbleed并不会真正影响SSH密钥,因此您可能不需要替换一直在使用的SSH密钥。
首先,SSL和SSH是两种不同用途的两种不同安全协议。同样,尽管OpenSSL和OpenSSH的名称相似,但它们也是两个完全不同的软件包。
其次,Heartbleed漏洞利用会导致易受攻击的OpenSSL TLS / DTLS对等方返回随机的64kB内存,但是几乎可以肯定,它仅限于使用该OpenSSL的进程可以访问的内存。如果该使用OpenSSL的进程无法访问您的SSH私钥,则它无法通过Heartbleed泄漏它。
此外,你通常只把你的SSH 公共您使用SSH连接到服务器的密钥,顾名思义,公钥是可以公布的关键。谁知道都没关系。实际上,您希望公众知道您的正确公共密钥。
感谢@Bob指出此漏洞可能影响使用OpenSSL易受攻击版本作为其客户端TLS / DTLS库的客户端应用程序。因此,例如,如果您的Web浏览器或基于SSL的VPN客户端使用了易受攻击的OpenSSL版本并连接到了恶意服务器,则该恶意服务器可以使用Heartbleed查看该客户端软件的内存的随机摘要。如果该客户端应用出于某种原因在内存中拥有您的SSH私钥的副本,则它可能会通过Heartbleed泄漏。
在我的脑海中,除了SSH之外,我没有想到任何其他软件可以在内存中存储未加密的SSH私钥的副本。好吧,假设您将SSH私钥保留在磁盘上加密。如果您未在磁盘上对SSH私钥进行加密,那么我想您可能已经使用了一些使用OpenSSL TLS的文件传输或备份程序来通过网络复制或备份主目录(包括您的~/.ssh/id_rsa
SSH私钥或其他SSH私钥) ),那么它可能在内存中包含SSH私钥的未加密副本。再说一次,如果您要将未加密的SSH私钥备份到恶意服务器,则可能比Heartbleed担心得多。:-)
“第二,Heartbleed漏洞利用会导致易受攻击的OpenSSL TLS / DTLS对等方返回随机的64kB内存,但是几乎可以肯定,它仅限于使用该OpenSSL的进程可以访问的内存。”
如果计算机受到威胁,那么您如何信任其中的任何内容,包括ssh?来自heartbleed.com
“实践中有哪些泄漏?
我们已经从攻击者的角度测试了一些我们自己的服务。我们从外面发起攻击,没有留下任何痕迹。在不使用任何特权信息或凭证的情况下,我们就可以从我们自己的X.509证书,用户名和密码,即时消息,电子邮件以及关键业务文档和通信中窃取秘密密钥。”
有人可能在服务器上放了一个没有密码的私钥,他们认为这不是恶意的……但是事实证明是这样。b / c SSL错误允许用户输入密码,即具有“ sudo”权限的用户...这可能不是问题....但是...
人们有时会做疯狂的事情
http://blog.visionsource.org/2010/08/28/mining-passwords-from-public-github-repositories/