ブログ | NGINX

SSLv3 に対する POODLE 攻撃から NGINX と NGINX Plus を保護する (CVE-2014-3566)

NGINX-F5 水平黒タイプ RGB の一部
オーウェン・ギャレット サムネイル
オーウェン・ギャレット
2014 年 11 月 15 日公開

SSL プロトコル バージョン 3 (SSLv3) で最近報告された脆弱性は、中間者攻撃で悪用され、HTTPS で暗号化されたプレーンテキスト送信の一部が抽出される可能性があります。 Google の研究者は、このような攻撃がどのように実行される可能性があるかを説明する詳細な説明を公開しました。

これは SSL/TLS の実装における脆弱性ではなく、ブロック暗号を使用する場合の SSLv3 プロトコルの設計における脆弱性です。 すべての代替ストリーム暗号にも弱点があるため、唯一の対策は、NGINX および NGINX Plus 構成で SSLv3 を無効にすることです。

NGINX で SSLv3 を無効にする

SSLv3 は NGINX および NGINX Plus ではデフォルトで有効になっており、HTTP およびメール サービスで使用される可能性があります。

[編集者注 – この記事が最初に公開された時点では、TCP トラフィックのプロキシと負荷分散は完全にはサポートされていませんでした。 完全性を期すため、次の手順は TCP トラフィックの保護を含めるように更新されました。

すべての NGINX および NGINX Plus インスタンスで次の手順を実行します。

  1. HTTP トラフィックに使用されるプロトコルのセットから SSLv3 を削除します。 次のssl_protocolsディレクティブが存在しない場合はhttp{}ブロックに追加するか、既存のディレクティブを編集してパラメータ リストからSSLv3 を削除します。

    # http{} 設定ブロック内の TLSv1 TLSv1.1 TLSv1.2; # POODLE (CVE‑2014‑3566) のため SSLv3 を省略
  2. NGINX または NGINX Plus インスタンスがメール トラフィックを処理する場合は、 mail{}構成ブロックで同じディレクティブを作成または編集します。

    # mail{} 設定で、blockssl_protocols TLSv1 TLSv1.1 TLSv1.2; # POODLE (CVE‑2014‑3566) のため SSLv3 を省略
  3. NGINX または NGINX Plus インスタンスが TCP トラフィックを処理する場合は、 stream{}構成ブロックで同じディレクティブを作成または編集します。

    # stream{} 構成で、blockssl_protocols TLSv1 TLSv1.1 TLSv1.2; # POODLE (CVE‑2014‑3566) のため SSLv3 を省略
  4. 構成内のssl_protocolsディレクティブの他のすべてのインスタンスを見つけます ( http{}mail{} 、およびstream{}ブロック内のserver{}構成ブロックに含めることができます)。 これらのssl_protocolsディレクティブを削除することをお勧めしますが、少なくともパラメータのリストからSSLv3 を削除してください。

    # すべてのサーバー{}ブロック ssl_protocols TLSv1 TLSv1.1 TLSv1.2;# POODLE (CVE‑2014‑3566) のため SSLv3 を省略
  5. 次のコマンドを実行して構成を再読み込みします。

    # nginx –s リロード

この変更による影響は何ですか?

すべての最新のブラウザと API クライアントは TLSv1 以降をサポートしています。 SSLv3 を無効にすると、Internet Explorer 6 を使用してブラウズする Windows XP ユーザーに不便が生じます。CloudFlare、Windows XP ユーザーの 1.12% (トラフィックの 3.12% を占める) が影響を受けると推定しています。これは、約 3000 人に 1 人のユーザーに相当します。

この変更は、Web クローラーやその他の自動ボット トラフィックにも影響する可能性があります。

未来

SSL ダウングレード攻撃では、攻撃者は SSL/TLS ハンドシェイクを妨害し、クライアントとサーバーが以前のバージョンの SSL/TLS を選択するように仕向けます。 SSLv3 の選択を強制するために使用されると、SSL/TLS 接続が POODLE 攻撃に対して脆弱になる可能性があります。 サーバーで SSLv3 を無効にすると、この攻撃は不可能になります。

Google は、SSL/TLS の強制的なダウングレードを防ぐことを目的としたTLS_FALLBACK_SCSVという SSL/TLS の拡張機能を提案しました。 [編集者注: この拡張機能は 2015 年 4 月にRFC 7507として採用されました。]この拡張機能は最終的に OpenSSL に受け入れられ、対応するクライアント側のサポートが主要なブラウザに追加される可能性があります。 これにより、Web サービスは SSLv3 をサポートできるようになりますが、従来のクライアントは依然として脆弱な状態になります。

それでも、この脆弱性は、全体的にはよりシンプルで信頼性の高いソリューションである SSLv3 にとって、最後の釘となる可能性があります。

他に何ができますか?

SSLv3 をサポートしないようにクライアント ソフトウェアを更新することをお勧めします。 これにより、SSLv3 を無効にするように更新されていないサービスにアクセスするときに、この攻撃から保護されます。

さらに読む


「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"