TLSの特定のバージョンで接続などを限定させる必要があったため、SSL/TLSについてのバージョンごとに、どうしてそうなってきたのか?とかをザックリと理解しておこうとして調べた。
AWSをつかっていればELBやALBでセキュリティポリシーを設定することによって、TLSv1.1以上とかTLSv1.2以上とかの接続に限定することができる。
- Application Load Balancer の HTTPS リスナー – Elastic Load Balancing
- Classic Load Balancer での事前定義された SSL セキュリティポリシー – Elastic Load Balancing
ApacheやNginxをつかっていれば、それぞれの設定ファイルに記述することによって、細かな設定ができる。
基本的には最新のOpenSSLと最新のTLSバージョンを利用していれば、セキュリティ的にはOKなはず。これによって古いブラウザとかが接続できなくなるが…。
SSL/TLSが改良されてきた過程など
このプロトコルについてはSSLv2, v3, TLSv1, 1.1, 1.2などのように最新のプロトコルが規定されてきたのですが、これがそれぞれどういった問題があって改良されてきたのか?ザックリと理解しておこうと、調べはじめたところ、ザックリとだけ理解しておくだけならばIPAが公開している「SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~:IPA 独立行政法人 情報処理推進機構」を読めばすむ。93ページなので、色々こまかなことを調べているよりも、通して読む方が理解が進んだ。
コラムとして、いくつかのSSL/TLSのプロトコルにまつわる実際に発生した事件について解説されていたりするので、知りたかったことを知ることができた。
それぞれのSSL/TLSがサポートされるブラウザのバージョンは?
Salesforceがよさげな表を公開してくれている。
SSL/TLSのセキュリティチェック
SSL Server Test (Powered by Qualys SSL Labs)を利用すると便利。
利用しているOpenSSLのバージョンについての脆弱性や利用できるプロトコルについて調べてレポートを作成してくれます。
調べてみて
普段あまりこういうったバージョンの差はサポートされるブラウザとかAndroidやiOSのバージョンとかしか意識したことがなかった。理解はしておこうと、実際に発生したインシデントの話や攻撃手法について知ると、あらためて様々なところで利用されているOpenSSLだからこそ知識として理解しておくべきなのかもしれません。