Heartbleedのセキュリティバグに関する記事 を読んだ後、ApacheTomcatが使用しているOpenSSLのバージョンを確認することをお勧めします。
記事には次の文が含まれています。
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 Server2003でTomcat6を使用しています。Webサーバーを再起動するたびに、ログレベルをInfo
に変更してから、Debug
に変更しようとしましたが役に立ちませんでした。
OpenSSLはTomcatの一部ではありません。これは別のアプリケーションです。 Tomcatを使用するためにOpenSSLは必要ありません。 OpenSSLは、UnixおよびLinuxシステムのSSLに使用されます。 Windowsには独自のSSL実装がありますが、Windowsにopensslをインストールすることもできます。
TomcatにSSLを使用していますか?では、https://localhost:8443
のようなものを使用してTomcatWebアプリケーションに接続しますか、それともIISまたはApacheの間にありますか?引用するログの例は例です!
Opensslがインストールされている場合は、次の手順に従ってバージョンを見つけることができます。
Opensslコマンドがエラーを返した場合は、おそらくインストールされていません。
HTTPSが有効になっている場合、MS-WindowsでのTomcatの展開にはいくつかの一般的なモードがあります。
スタンドアロンのTomcatサーバーを使用している場合は、使用されているHTTPSメソッドを コネクタプロトコル構成の検査 で判別できます。 Apacheが提供するTomcat6.0バイナリには、デフォルトでAPR(したがってOpenSSL)が含まれていますが、使用していない場合もあります(とにかくアップグレードしてください!)。さらに、OpenSSLを個別にインストールしている場合、Tomcatの観点からは関係ありません(ただし、Apacheまたは他のWebサーバーで使用される可能性があります)。
公式の(投稿)Apache-2.2 Webサーバーバイナリを使用している場合、OpenSSLのバージョン番号は通常、インストーラーパッケージのファイル名にエンコードされます。 2.4の場合、いくつかの異なるパッケージバージョンがあります。少なくとも1つの(Apachehaus)がOpenSSLバージョンを文書化し、は実行可能なopenssl.exe
を提供しますが、通常のユーザーにはない場合がありますPATH
Apacheインストールのbin/
サブディレクトリにあります。
LogLevelが「info」以上の場合、Apacheは起動時にmod_sslとOpenSSLのバージョンをログに記録します。 6.0.36以降、Tomcat6は同じことを行います( バグ#53057 )。
実行中のプロセスがロードしたDLLを確認するには Process Explorer は便利ですが、残念ながら、通常のTomcatバイナリ配布はOpenSSL(およびそれ以上)を単一のDLL =(tcnative-1.dll
)* nixシステムの規則のように簡単に識別できる(そして置き換え可能な)libssl.dll
/libcrypto.dll
(または同様のもの)ではありません(この分析はApachehaus Apacheで機能します) httpdですが。)
かなり原始的ですが信頼できる方法は、find
プロンプトからcmd
(または strings がすでにある場合)を使用することです。
cd \Program Files\Apache-Tomcat\bin
find "OpenSSL" tcnative-1.dll
[...]
TLSv1 part of OpenSSL 1.0.1d 5 Feb 2013
SSLv3 part of OpenSSL 1.0.1d 5 Feb 2013
SSLv2 part of OpenSSL 1.0.1d 5 Feb 2013
DTLSv1 part of OpenSSL 1.0.1d 5 Feb 2013
Process Explorerは、実行中のTomcat6プロセスが簡単に見つからない場合にtcnative-1.dll
の場所を教えてくれます。
要約すると:
netstat -abn -p TCP
をチェックして、443(または使用しているHTTPSポート)で何がリッスンしているかを確認します