前回までに、「Qualys SSL Labs」というスコア形式によるWEBサーバーのセキュリティ設定を評価するサービスを紹介させていただきました。
今回は、サーバー移行とOpenSSLのバージョンアップを行った後、Apacheの設定変更を行うことでスコアを上げていくことができましたので、具体的な設定内容について紹介していきます。
OpenSSLのバージョンアップ
OpenSSLとmod_sslのバージョンアップを行なう事で、TLS1.2が利用可能という状況が整います。
ここで使うコマンドはOSにより違いはありますが以下の3つです。
# yum update openssl ※OpenSSLのバージョンアップ
# yum update mod_ssl ※mod_sslのバージョンアップ
# service httpd restart ※Apacheの再起動
実際にこのTLS1.2を「使う」ということと「使われている」ということを確認するにはApacheの設定ファイル(使う方)とブラウザの通信状況(使われている方)を見ていく必要があります。
今回、OSの移行によりApacheも2.4となりましたので、実際は特に何もせずにTLS1.2を使い、ブラウザ側でも使わている状態となります。
なぜ、特に何もせずにTLS1.2を使えているのか
実際にTLS1.2を使うように指定しているのはApacheの設定ファイルの中です。
Apacheのバージョンによりデフォルトで記載のある内容は異なりますが「SSLProtocol」という記載箇所を確認します。
対象となるApacheの設定ファイルは/etc/httpd/conf.d/ssl.confとなります。
SSLProtocol all -SSLv3
この記載で、allが意味するところは、SSL2.0、SSL3.0、TLSv1.0、TLSv1.1、TLSv1.2となります。
この中から「-」引き算でSSLv3を引いているので、SSL2.0、TLSv1.0、TLSv1.1、TLSv1.2
さらに、この設定のすぐ上に「Disable SSLv2 access by default:」と記載があり、デフォルト状態でSSLv2が無効化されているためTLSv1.0、TLSv1.1、TLSv1.2が利用可能な状態となりブラウザ側でTLSv1.2を選択して通信を行っています。
SSL/TLSの遷移
SSL(Secure Sockets Layer)、TLS(Transport Layer Security)は以下の表のような経緯でVerアップを行ってきました。TLSはSSLの次世代規格となります。
SSL1.0 | リリースされずに廃止 |
SSL2.0 | 1994年リリース |
SSL3.0 | 1995年 |
TLS1.0 | 1999年 |
TLS1.1 | 2006年 |
TLS1.2 | 2008年 |
TLS1.3 | 2018年 |
名前を変えてVerアップってよくありますよね。ファミコンからのスーファミ、次はウルトラファミコンと思っていたところにNINTENDO64みたいな感じです。
何故か話がそれてSSLとTLSの歴史的な遷移の話になってしまいました。
ちなみに、このままでは「Qualys SSL Labs」のテスト結果は「B」のままです。次回こそはA+までの道のりを説明したいと思います。
コメント