この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
Apache HTTP Serverで使用しているOpenSSLのバージョンを確認する方法を3つご紹介します。
■ HTTPのレスポンスヘッダを見る
レスポンスヘッダのServerの値を確認します。
$ wget -S -O - http://localhost 2>&1|grep Server
Server: ・・・・・ OpenSSL/1.0.1j
ただし、apache側の設定で
ServerTokens ProductOnly
としている場合Serverは表示されません。
■ mod_ssl.so の中身を見る
stringsコマンドを使うとバイナリファイル中の文字列を抽出できます。
mod_ssl.soファイルの中身を見てみます。
$ strings /usr/local/apache2/modules/mod_ssl.so |grep 1.0.1
OpenSSL 1.0.1i 6 Aug 2014
ただしここで表示されるのはapacheがビルドされた時点の情報で、現在このバージョンで動作しているとは限りません。
■ mod_infoを使って確認する
mod_infoを使います。
インストールなどがされていなければ適宜設定をしてください。(アクセス元を限定するなど注意が必要です)
そのうえで下記のようなコマンドでバージョンの確認ができます。
$ wget -q -O - http://localhost/server-info |grep 1.0.1|sed "s/.\+\(OpenSSL\/[^ ]\+\).\+/\1/"
OpenSSL/1.0.1j