众所周知,Heartbleed错误存在于OpenSSL版本1.0.1至1.0.1f(包括1.0.1)中。那么为什么要在存在错误的地方(12.04-> OpenSSL 1.0.1,14.04-> OpenSSL 1.0.1f)ssh
并sshd
使用OpenSSL 1.0.1进行编译?该libssl.so
是当然了最新的,但如果我跑
ldd `which ssh`
# or
ldd `which sshd`
没有链接到OpenSSL的未损坏版本。但是如果我跑步
sshd -V
# Under Ubuntu 12.04 it says:
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
# Under Ubuntu 14.04 it says:
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014
他们明确地说,它们是使用损坏的版本进行编译的。在https://launchpad.net/ubuntu/+source/openssh上,没有提及心跳错误发布期间的任何更新。
因此,我如何确定sshd
没有使用受影响的OpenSSL版本。如果不使用它,为什么他们要明确地说,他们使用了受影响的版本?
Heartbleed仅影响SSL / TLS连接,而不影响OpenSSL库中的每个加密函数,并且sshd根本不使用SSL / TLS,因此即使Heartbleed是使用受影响的OpenSSL版本进行编译的,它也不受Heartbleed的影响。请参阅此问题和答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句