SHA-1証明書を利用したサイトと説明していましたが、ご指摘を受けて変更。
関連情報
- Intent to remove: TLS 1.0 version downgrade (Chromium.org)
- 「SSL サーバーが古い可能性があります」と出る場合の対処方法(サーバー管理者)(Qiita)
- エラーコード:ERR_SSL_FALLBACK_BEYON_DMINIMUM_VERSION(Chromeヘルプフォーラム)
今回の問題は?
Chrome45より「TLS 1.0への安全でないフォールバックが無効」になったことが原因です。TLS 1.0で暗号化されたウェブサイトがブロックされるわけではありません。
- 仕様(RFC5746)に対応していないサーバーが、TLS 1.0よりも新しいClient Helloを無視するから
が正しいかなぁと思います。
上記図のように、
でSSL暗号化されたサイト(https://)をチェックして、MITM(Man-In-the-Middle-attack : 中間者攻撃)に非対応の場合、ダメですね。大抵そういう場合、SSL v3も有効(POODLE対策できていない)な場合が多いのじゃないでしょうか。合わせて対策が必要に思います。
※ただ、MITMのエラーがでなくても TLS version intolerance において、疑わしいTLS設定になっている場合にはダメみたいですね。
TLS 1.0サポート、SSL 3.0サポートのサーバーで、 TLS 1.0サポートがないし、TLS 1.3とか1.98とか2.98ってなんだ?というおかしい設定になっているからですかねぇ。
※ただ、MITMのエラーがでなくても TLS version intolerance において、疑わしいTLS設定になっている場合にはダメみたいですね。
TLS 1.0サポート、SSL 3.0サポートのサーバーで、 TLS 1.0サポートがないし、TLS 1.3とか1.98とか2.98ってなんだ?というおかしい設定になっているからですかねぇ。
RFC5746で何が変わったの?
TLS/SSLの仕様改訂によって、 Client Helloに含まれる不明な情報は無視してはならず、必ず対応しなければならないとあります。私も詳細をちゃんとよんでいないので
- TLS/SSL 再ネゴシエーション 脆弱性(digicert)
を参照されればよいかなと思います。
フォールバックってなに?
フォールバックとは、暗号化強度の高いプロトコルで接続出来なかった場合に、より強度の低いプロトコルで再接続する機能のこと。これを悪用して、わざと暗号化強度の高いプロトコルでの接続を失敗させ、低い暗号化強度を使わせるダウングレード攻撃が存在します。
つまり、RFC5746のTLS/SSLの仕様改訂に対応していないウェブシステムを使っている場合に問題が起こる
っていうことかなぁと思います。
具体的にどうすればいいの?
以下、問題サイトのウェブサーバー管理者向けです。
RFC 5746をサポートするパッチを当てよ
たとえば、RedHat系であれば、
がその情報ですね。
この例を参考にすれば
- OpenSSL 0.9.8m 以降にアップグレードせよ
- OpenSSL 0.9.8m 以降のライブラリ(mod_ssl)を利用したウェブシステムを利用せよ
ってことです。
※ただし、RedHatのパッチについては、 0.9.8m ではなく、特別な名前になっています。
RedHat Linux ES 5なら、「openssl-devel-0.9.8e-12.el5」 がパッチ名ですね。これ以上のバージョンで問題のパッチがあたるということになるようです。
※ただし、RedHatのパッチについては、 0.9.8m ではなく、特別な名前になっています。
RedHat Linux ES 5なら、「openssl-devel-0.9.8e-12.el5」 がパッチ名ですね。これ以上のバージョンで問題のパッチがあたるということになるようです。
で再度確認し、
と、Client-Initiated Renegotiation が NoだったらOKです。
付録:ただ、それだけじゃないでしょ!?
この脆弱性が放置されているサーバーは、もれなく他の脆弱性もあるはず。
某サイトだと、ほらほら〜、脆弱性てんこ盛りですぞ!
とりあえずは、
- SSL v3の停止(POODLE対策)
- SHA-1証明書を、SHA-256 (SHA-2)への移行
ぐらいは必須じゃないかなーと思うのでまとめておきます。
SSL v3の停止
- 【IT担当者向け】POODLE SSLv3 ウェブ暗号化通信脆弱性への対策メモ(京都大学東南アジア研究所)
上記を参考に対策をしてみてください。
を再度チェックし、「Contfiguration」の「Protocols」のSSL 3.0
がNoになっていれば、SSL v3は停止しています。
速攻で、SSL v3.0を無効化しましょう。
SHA−1証明書から、SHA-256(SHA-2)へ移行
のようにSHA1が使われていたら対処が必要です。
- Gradually sunsetting SHA-1 (Google Online Security Blog)
にも書かれていますが、Microsoftも含めて、2017年1月1日より信頼されなくなるらしいので、まだ時間はありますけど、やっておいて損はないと思います。
大体再発行でいけるようになってるケースが多いんじゃないでしょうか。
- SHA-1からSHA-2への移行について(Global Sign)
などを参考にしてみてください。
のように、SHA256が使われていれば、SHA-2への移行はできています。
2015年9月5日 @kimipooh
2015年9月8日 大幅改訂 @kimipooh
Chrome45でアクセス不可となったSSLサイトの原因は、
返信削除Chrome 45から「TLS 1.0への安全でないフォールバック」が無効にされたことが原因との事です。
https://code.google.com/p/chromium/issues/detail?id=498998
追伸、先程のコメントを訂正します。
返信削除chrome45でアクセス不可になったSSLサイトの原因は、
プロトコルのサポートが安全ではないからのようです。
ご指摘ありがとうございます。
削除確かにその通りですね。少し勉強して大幅に書き直してみました〜