我们正试图确定Heartbleed的脆弱性窗口。 有没有人有一个如何确定哪个版本的OpenSSL被用来build立一个给定的Tomcat本机DLL的想法?
我们的服务器上有Tomcat 6(不知道tcnative-1.dll的版本,但试图跟踪它),升级到Tomcat 7(与tcnative 1.dll版本1.1.27)。
我找不到任何关于哪个版本的tcnative-1.dll与哪个openssl版本链接的信息。
Apache的更新日志没有这个信息,文档提供了一个有链接的DLL的网站,但没有关于它使用的17个版本中的哪一个的信息。
从这个apache tomcat项目的bugzilla入口可以看出答案:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56363
受影响的版本是1.1.24到1.1.29(现在是最后一个正式版本)。
对于自1.1.23以来的版本(与openssl 1.0.0g链接),您可以在可从tomcat存档下载的windows二进制包中find一个VERSIONS文件,该文件提供有关这些库的信息。
早期的tcnative-1版本至less包含一个openssl.exe捆绑,可以通过命令“version”查询版本信息。
要findtcnative-1.dll使用的OpenSSL的版本,您需要导航到\ bin文件夹并从命令提示符(对于Windows)发出以下查询, find "OpenSSL" tcnative-1.dll
注意:对linux系统使用适当的grep查询
或者,您还可以在logs \ catalina.log文件中find通过tomcat加载的openssl的版本。 当apr初始化并加载它时,这将被打印。
有一次,您使用上述技术确定了openssl版本,则可以通过http://en.wikipedia.org/wiki/Heartbleed#Affected_OpenSSL_installationsvalidation漏洞