2017.04.04 システム
[SSL] SSL/TLS暗号化設定を見直そう!!(その1)
セキュリティエンジニアのオーハシです。すっかり春、宇都宮でも桜が見頃となってきています。やっぱり、春は良いですね、最高の気分を味わえる季節だと思いませんか!?
今回は「SSL/TLS暗号化設定」を一緒に考えていきたいと思いますので、どうぞお付き合いください。
SSL/TLSのオサライ
SSL(Secure Sockets Layer)とはネットスケープコミュニケーションズ社にて開発されたセキュアプロトコルです。例えば、HTTPプロトコルと組み合わせることにより、セキュアなHTTP通信、つまりは、HTTPS(Hypertext Transfer Protocol Secure)による暗号化通信が可能になる訳ですね。
歴史を見ていくと、SSL1.0は非公開、1995年にSSL2.0、1996年にSSL3.0がリリースとなり、その後、IETF(Internet Engineering Task Force)に管理が移り、TLS(Layer Security Protocol)が策定されると、1999年にTLS1.0、2006年にTLS1.1、2008年にTLS1.2がリリース、さらには、2015年にはTLS1.3の策定がスタートしています。
日々、脆弱性対策やセキュリティ強化への取り組みを進め、常にバージョンアップに努めていることが分かりますよね。
SSL/TLSに関する脆弱性
まずは、暗号化通信が解読される脆弱性「POODLE攻撃」ですが、SSL3.0を使用している場合に攻撃を受ける可能性があります。最新TLSが有効であっても、TLSではなくSSL3.0による暗号化通信を強制的に行うように仕向けられ、結果、SSL3.0の脆弱性を突いた攻撃を受けることに繋がってしまいます。対策はSSL3.0を無効化するのみ。
» SSL3.0プロトコルに暗号化データを解読される脆弱性(POODLE攻撃)
» SSL3.0の脆弱性対策について(CVE-2014-3566)
続いて、米国の暗号輸出規制に伴う脆弱性「FREAK攻撃」ですが、当時、米国では暗号輸出が厳しく規制されていて、暗号化強度がとても低い512ビット以下の鍵長のものしか認められていませんでした。米国以外では、この暗号化強度の低い輸出グレード(512ビット以下の鍵長)に対応するため、さまざまな箇所で輸出グレード(512ビット以下の鍵長)を受入する実装が成されていた訳です。
そして、10年以上が過ぎ去っても、コンピュータ処理能力が大きく向上し、もはや「512ビット以下の鍵長」では暗号化の意味を持たないと言っても良いいまでも、輸出グレード(512ビット以下の鍵長)を受入する実装のままの状態が続いていました。「FREAK攻撃」を受ければ、強制的に輸出グレード(512ビット以下の鍵長)を使うように誘導され、結果、暗号化通信を傍受される可能性に繋がってしまいます。
» SSL/TLSの実装が輸出グレードのRSA鍵を受け入れる問題(FREAK攻撃)
とても有名な脆弱性のみ紹介してきましたが、日々の情報収集が大切であることは言うまでもありません。
脆弱性対策を踏まえた暗号化設定
「Apache 2.4.25」と「OpenSSL 1.0.2k」を使用して、脆弱性対策を踏まえた暗号化設定を進めていくことにします。「POODLE攻撃」と「FREAK攻撃」には確実に対応しなければいけませんよね。
その1「セキュリティ高レベル」
SSLProtocol -ALL +TLSv1.2 SSLHonorCipherOrder on SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256!RC4:!LOW:!MD5:!aNULL:!eNULL:!3DES:!EXP:!PSK:!SRP:!DSS:!ADH:!DH Header always set Strict-Transport-Security "max-age=31536000"
その2「セキュリティ標準レベル」
SSLProtocol -ALL +TLSv1.2 SSLHonorCipherOrder on SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:!RC4:!LOW:!MD5:!aNULL:!eNULL:!3DES:!EXP:!PSK:!SRP:!DSS:!ADH:!DH
参考資料
» SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~
今回はここまで、次回は設定内容を詳しく見ていくことにします。セキュリティ業界の動きはとても速いので、日々、最新技術を吸収していくことが大切です!!<つづく>
» [SSL] SSL/TLS暗号化設定を見直そう!!(その1)
» [SSL] SSL/TLS暗号化設定を見直そう!!(その2)
» [SSL] SSL/TLS暗号化設定を見直そう!!(その3)