Yahoo! Japan が、2018年6月1日から TLS1.0 と TLS1.1 のサポートを順次終了して TLS1.2 のみのサポートに切り替えています。ここ数年、各社ウェブサービスでも TLS1.0 と TLS1.1 を無効化する動きもあり、今後 SSL/TLS のプロトコルは TLS1.2 以上に設定することが標準になるでしょう。そこで今回は、Apache httpd サーバーで TLS1.0 と TLS1.1 を無効にし、設定を確認する方法をメモしておきました。
参考資料:Yahoo!セキュリティセンター
TLS1.0 と TLS1.1 を無効化する理由
無効化する理由は、TLS1.0 と TLS1.1(実装にもよる)に POODLE(プードル)という暗号化通信を解読されてしまう脆弱性があるためです。
POODLE が発見された当初は、SSL3.0 のみがこの脆弱性の対象と思われていましたが、(これにより SSL3.0 は 2015年6月に利用が禁止されました)TLS1.0 と TLS1.1 にも影響することが発見され、RFC7525(TLSの安全な使用に関する推奨事項及びDTLS)では TLS1.0 と TLS1.1の使用を非推奨とする内容になっています。
また、クレジットカードの情報セキュリティ基準 PCI DSS でも「2018年6月30日までに 初期のTLS(1.0 と 1.1)を廃止してね!」の旨が定められています。おそらくこれが TLS1.0 と TLS1.1 の無効化を後押ししている大きな要因でしょう。
TLS1.2 に対応している OSやブラウザー
SSLはすべてのバージョンが利用を禁止されていますので TLS1.0 と TLS1.1を無効化した場合、現時点(2018年6月6日)では TLS1.2 のみを利用することになります。
標準設定で TLS1.2 に対応している OSやブラウザーは次の通りです。少し古いパソコンやスマートフォンを使っている方には影響がありそうですね。
TLS1.2 に対応している OS
- Windows 7 以上
- MacOS X 10.9 以上
- iOS 5.0 以上
- Android 5.0 以上
TLS1.2 に対応している ブラウザ
- Google Chrome 30 以上
- Firefox 27 以上
- Safari 7 以上
- Internet Explorer 11 以上
- Edge すべてのバージョン
TLS1.0 と TLS1.1 の無効化設定
TLS1.2 を使うには OpenSSL が バージョン 1.0.1 以上であることが必要なので、念のため確認しておきます。
OpenSSL 1.0.2k-fips 26 Jan 2017
Apache httpd サーバーで TLS1.0 と TLS1.1 を無効にし、TLS1.2 のみ利用する設定は次の通りです。
vi /etc/httpd/conf.d/ssl.conf
参考資料:SSLProtocol | mod_ssl - Apache HTTP Server Version 2.4
設定が終わったら Apache httpd を再起動します。
無効化されていることの確認
最後に SSL Server Test(SSL Labs)で、TLS1.0 と TLS1.1 が無効になっていることを確認します。
おわりに
TLS の新しいバージョン TLS1.3 が、2018年3月23日 IETFにより承認されました、TLS1.2 のリリースが2008年ですので実に10年ぶりのアップデートになります。TLS1.3 ではより安全なインターネット通信ができるようになっています。早く普及してくれるといいですね。
コメント