この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
Webサーバー(Apache、Nginx)の利用者が、HTTPS通信時に使用するSSL(TLS)のバージョンプロトコルと暗号スイート(cipher)をサーバー側のログに記録します。
はじめに
Webサーバーのログに、SSL(TLS)のバージョンプロトコルと暗号スイートを記録しているでしょうか?
これらの情報を記録し、アクセス解析することによって、強度に問題のある暗号通信が、どの程度使われているか知ることができます。
また、クラウド環境など各種負荷が直接料金に反映されることもあるため、環境に適した暗号スイートを選択する際に必要な情報としても利用できます。
通信中については、スマホアプリのHTTPS通信をBurp Suiteで確認などを参考にしてください。
Webサーバーの設定方法
それぞれ設定ファイルの適切な箇所に下記を追加します。
ログのパス、ファイル名などは任意。同時に記録する内容は、公式マニュアル等を確認ください。
設定後、設定ファイルの再読み込みか、再起動を行ってください。
残念ながら、この方法でハンドシェイクの段階は記録できません。
Apache 2.4系
SSLOptions +StdEnvVars
CustomLog logs/ssl_cipher.log "%t %h %{SSL_PROTOCOL}e %{SSL_CIPHER}e %{SSL_SESSION_ID}e %{SSL_SESSION_RESUMED}e"
Nginx
log_format ssl "$time_local $remote_addr $ssl_protocol $ssl_cipher $ssl_session_id $ssl_session_reused";
access_log /var/log/nginx/ssl_cipher.log ssl;
ログ出力例
FirefoxとIE6で、記録したログは以下のような表示になりました。
バージョンプロトコルと暗号スイート(cipher)が記録されています。
関係団体の公開情報など
BEAST、 Poodleなど、プロトコルに対する攻撃が有名です。
2015年06月、IETFがSSLv3の廃止を求めるRFC7568を公開しています。
またIPAも、SSL 3.0 の脆弱性対策について(CVE-2014-3566)を掲載しております。
ECサイトなどでも用いられるクレジット業界におけるグローバルセキュリティ基準 PCI DSSでは、
2016年11月からの審査基準 v3.2で、新規実装では、SSLプロトコル、初期のTLSが使用できません。
また、稼働環境でも2018年6月30日SSLプロトコル、初期のTLSの使用を停止する必要があり、それ以前にリスク軽減と移行計画が必要になります。
詳しくは、PCI Document Libraryを、確認してください。
参考サイト
SSL導入になどに、下記のサイトを参考にApacheの場合はSSLCipherSuite、Nginxの場合は ssl_ciphersを、設定ファイルに確実に記述しましょう。
SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~
IPAのサイトです。PDFで全93ページのSSL/TLS暗号設定ガイドラインや、チェックリストがダウンロードできます。
CRYPTREC
日本政府による暗号技術評価プロジェクト。
Mozilla SSL Configuration Generator
Mozillaが提供している、主要ミドルウェアのSSL設定ファイル生成サイト。
Symantec CryptoReport
Symantecが提供している、外部からのSSLチェックが実施できるサイトです。
SSL Server Test (Powered by Qualys SSL Labs)
Qualysが提供している、外部からのSSLチェックが実施できるサイトです。
おわりに
元々、ECサイトやマーケティングに重きを置いている組織では、機会損失になることを恐れ、対応端末の減るバージョンプロトコルや暗号スイートの見直しをなかなか行ってくれない傾向があります。
Googleアナリティクスなどを利用し、古いブラウザの使用状況や購入状況を確認して、見直すのがスマートです。
しかしながら、パフォーマンス測定など、実際使用された暗号スイートを記録したい事情がある場合などは、今回のようにログに記録してみてください。
関連記事など
- Kali Linux 2017.1 導入と日本語化
- Burp Suiteを日本語化する方法
- スマホアプリのHTTPS通信をBurp Suiteで確認
- Mac版のOWASP ZAPで脆弱性チェックの設定
- Rubyのサポート期間一覧
脆弱性診断サービスなど
弊社、アピリッツではセキュリティ診断サービスを行っております。
下記リンクから内容の確認と、問い合わせが可能です。