如何在 Tomcat 6 安装中获取 OpenSSL 版本

如何在 Tomcat 6 安装中获取 OpenSSL 版本

阅读下面提到的文章后,我了解到检查 Tomcat 正在使用的 OpenSSL 版本是一种很好的做法。

https://wiki.apache.org/tomcat/Security/Heartbleed

文章中有这么一句话:

Tomcat 使用哪个版本的 OpenSSL?

Tomcat 启动时,AprLifecycleListener 会记录此信息。例如,

10-Apr-2014 19:25:28.801 INFO [main] org.apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.
10-Apr-2014 19:25:28.804 INFO [main] org.apache.catalina.core.AprLifecycleListener.init APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
10-Apr-2014 19:25:29.955 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1g 7 Apr 2014)

我花了几个小时,但在 tomcat 日志中找不到此信息。我还需要查看其他地方吗?还有其他方法可以知道吗?

我在 Windows Server 2003、Tomcat 6 上。我尝试将日志级别降低到“信息”,然后降低到“调试”,重新启动 Web 服务器却没有获取此信息。

答案1

Tomcat 的版本在这里并不重要,重要的是您使用的 tcnative-1.dll 的版本。最新版本是 Tomcat Native 1.1.30。这是 2014 年 4 月 15 日发布的 heartbleed 漏洞修复。

从 Windows 开始:检查 tcnative-1.dll 属性来识别版本。

如果您使用的是 1.1.23 或更早版本,那么您就不会受到此特定漏洞的影响。如果您使用的是 1.1.24-1.1.29,那么您可能会受到此漏洞的影响。

如果您使用默认的 JSSE 来支持 SSL,那么无论您的 Tomcat 使用的是哪个版本的 OpenSSL,您都可能不会受到影响。手动将 SSL 连接器更改为使用 APR 可能会使您受到攻击。

编辑

启动时查看环境

编辑 $CATALINA_BASE\bin\setenv.bat(如有必要,请创建该文件)并将 tc-native 库、apr 和 OpenSSL 的路径添加到 PATH。例如:

set PATH=%PATH;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\native\Debug;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\apr\Debug;C:\OpenSSL\lib\VC

OpenSSL 的哪些版本受到影响?OpenSSL 不同版本的状态:

OpenSSL 1.0.1 到 1.0.1f (含) 存在漏洞 OpenSSL 1.0.1g 不存在漏洞 OpenSSL 1.0.0 分支不存在漏洞 OpenSSL 0.9.8 分支不存在漏洞 该漏洞于 2011 年 12 月被引入 OpenSSL,并且从 2012 年 3 月 14 日 OpenSSL 发布 1.0.1 版开始就一直存在。2014 年 4 月 7 日发布的 OpenSSL 1.0.1g 修复了该漏洞。

参考:

相关内容