その他
    ホーム技術発信DoRubyApache HTTP Serverで使用しているOpenSSLのバージョンを確認する3つの方法

    Apache HTTP Serverで使用しているOpenSSLのバージョンを確認する3つの方法

    この記事はアピリッツの技術ブログ「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