これはVAddy Adventカレンダー13日目の記事です。
VAddyは、継続的なWeb脆弱性検査が簡単に実現できるSaaSです。
海外のカンファレンスに行くと懇親会は立食パーティの場合が多いです。そこではビールが振舞われますが、ラグニタスIPAやストーンIPAなど人気のクラフトビールが入っているのが嬉しいですね。
国内でもiOSDCや、私たちが定期的に開催してるVAddyミートアップでは、懇親会でクラフトビールを出しています。完全に私の趣味です・・・
WebサーバのSSL設定
WebサーバのSSLの設定は主に、SSL証明書関係の設定、利用する暗号スイートやプロトコルの設定があります。
利用するプロトコル(SSLv3など)と暗号スイートですが古い設定のまま使い続けていると、脆弱なプロトコルになっているものまで使っている可能性があります。
そこで、暗号スイートとプロトコルの設定は見直しが必要なのですが、Webサーバのバージョンや、接続してくるブラウザのバージョンまで気にするとどの設定をするのが良いかわからなくなってきます。
そこで、Mozillaが便利なツール(サイト)を提供しています。
Mozilla SSL設定ツール
それがMozilla SSL Configuration Generatorです。
Webサーバの種類(Apache, Nginxなど)とバージョンを指定するだけで、オススメの設定が出てきます。
そして、Modern, Intermediate, Oldというラジオボタンを選択すると、対応するブラウザのバージョンが出てきますので、ここで必要な要件の確認ができます。基本的にはModernが良いですが、Android5よりも下のバージョンを使っているユーザをサポートしないといけない場合などは、Intermediateを使うか検討が必要になります。
2016年12月の時点の対応ブラウザは表のようになってます。
Type | 対応ブラウザ |
---|---|
Modern | Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, Java 8 |
Intermediate | Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7 |
OLD | Windows XP IE6, Java 6 |
HSTS Enabled
はデフォルトでチェックが入っています。HSTS(HTTP Strict Transport Security)は最初のHTTP接続以降は全てHTTPSに強制するため基本的には入れておいたほうが良いですが、HTTP接続も一部残す必要がある場合は無効にするか検討が必要です。
ModernとIntermediateの比較
Apache2.4.18をベースに、ModernとIntermediateの違いを見てみます。
(2016年12月時点のものです。内容は将来変わると思います)
利用するプロトコル
Type | プロトコル |
---|---|
Modern | TLSv1.2 |
Intermediate | TLSv1.2, TLSv1.1, TLSv1 |
暗号スイート
Type | 暗号スイート |
---|---|
Modern | ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256 |
Intermediate | ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256 DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA ECDHE-RSA-AES128-SHA ECDHE-ECDSA-AES256-SHA ECDHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA256 DHE-RSA-AES256-SHA ECDHE-ECDSA-DES-CBC3-SHA ECDHE-RSA-DES-CBC3-SHA EDH-RSA-DES-CBC3-SHA AES128-GCM-SHA256 AES256-GCM-SHA384 AES128-SHA256 AES256-SHA256 AES128-SHA AES256-SHA DES-CBC3-SHA |
色がついている箇所がModernに含まれない暗号スイートです。
つまり、Intermediateは、Modernの暗号スイートに加えて、色がついている暗号スイートとなります。
より詳細な比較
詳細は、Mozillaのドキュメントを参照ください。細かい比較まで載っています。
https://wiki.mozilla.org/Security/Server_Side_TLS