最近、大規模なセキュリティ攻撃が発生し、SSL/TLSは危機に瀕しています。2009年以降、SSL/TLSでは深刻な脆弱性が毎年2つ以上発見されています。サイドチャネル攻撃、ダウングレード攻撃、プロトコルと実装の脆弱性に加えて、Heartbleed、CRIME、BREACH、POODLE、 Lucky 13などの攻撃が日々登場しています。

セキュリティを確保するためにプロトコルと暗号スイートを組み合わせて使用しますが、CVE-2009-3555(SSL/TLSリネゴシエーションの脆弱性)以来、脆弱性が発見されるたびに、この組み合わせが変化してきました。状況は急速に変わりつつあります。BEAST攻撃が発生した当時は、RC4暗号化スイートがリスク軽減の方法だと考えられていました。ところがその後すぐに、RC4自体に欠陥があることが判明しました。

バラクーダネットワークスは以上の状況を踏まえ、Barracuda WAFに新たな機能を2つ追加し、きめ細かいシステム制御を可能にしています。最初の機能は、SSL/TLSプロトコルまたは暗号化スイートを無効にした場合に、特定のエラーメッセージにリダイレクトする機能です。2番目の機能は、SSL/TLSプロトコルのバージョンごとに、暗号化スイートのオーバーライドを定義する機能です。

プロトコルベースのリダイレクト

サポートされていないプロトコルや暗号化スイートを使ってクライアントが接続を開始すると、BWAFは最初のリネゴシエーションで接続を終了します。これによって接続エラーが発生するのですが、一般的なエラーを通知するページが表示されます。この場合、問題の原因を特定するためには、ログのチェックやクライアントを使った状況の再現といった手間がかかってしまいます。新しいリリースのBWAFは、プロトコルと暗号化スイートを最初のハンドシェイクでチェックします。クライアントが古いプロトコルや暗号化スイートを使用している場合や、サポートされていないものを使用している場合、BWAFは接続を終了し、クライアントをカスタムエラーページにリダイレクトします。カスタムエラーページでは、接続終了の理由を詳しく記述できるので、トラブルシューティングが簡単になります。

この機能の設定は非常にシンプルです。設定には、[Webサイト]タブの[URLの許可/拒否]ルールを使用します。変更したいサービスを選択し、[追加]をクリックします。[ACLの作成]の下にある[拡張マッチ]を選択し、さらにエレメントタイプで[SSLバージョン]を選択します。演算子と値を選択することにより、複数の組み合わせを作成できます。

カスタムエラーページを作成するには、[ライブラリ]->[レスポンス画面]を選択します。これにより、クライアントに表示するエラーメッセージをカスタマイズできます。

以上は、サービスごとに個別設定する場合の手順です。グローバルに設定したい場合は、[セキュリティポリシー]->[グローバルACL]を選択してください。ここで指定したルールは、すべてのサービスに適用されます。

リダイレクトを行うには、リダイレクトするプロトコルをWAFで有効にする必要があります。たとえば、SSLv3をリダイレクトする場合、WAFでSSLv3を有効にし、許可/拒否ルールを設定してください。プロトコルが有効になっていないと、接続の終了時にリダイレクトは発生しません。

以下は、リダイレクトページのサンプルです。ブラウザではSSlv3のみを使用する設定が行われており、WAFではSSLv3接続をブロックおよびリダイレクトする設定が行われています。

プロトコルごとに暗号化スイートをオーバーライド

旧リリースのBarracuda Web Application Firewallでは、暗号化スイートのオーバーライドリストはグローバルリストでした。したがって、暗号化スイートのオーバーライドを設定すると、有効化されているプロトコルすべてに適用されました。新しいバージョンのBarracuda WAFでは、プロトコルバージョンごとに暗号化スイートのオーバーライドを設定できるので、特定の暗号化プロトコルと暗号化スイートを組み合わせて使用しなければならない場合にも対応できます。暗号化スイートのオーバーライドは、プロトコルごとに設定が可能です。

設定するには、[基本設定]->[サービス]を選択し、変更するサービスを編集します。サービスで[SSL]に移動し、[高度な設定]を選択します。先頭にある暗号化のオーバーライドはグローバル設定です。したがって、Barracuda WAFで有効になっているすべてのプロトコルに適用されます。その次に、SSLv3、TLS1.0、TLS1.1にそれぞれ適用されるオーバーライド設定が表示されています。それぞれプロトコル固有のオーバーライドなので、プロトコルで選択した暗号化のみに適用されます。つまり、グローバルのオーバーライドはTLS1.2と、特定の暗号化が選択されていないプロトコルに適用されます。

[基本設定]->[サービス]->[SSL]->[高度な設定]を選択すると、次のように暗号化スイートのグローバルオーバーライドが一覧表示されます。プロトコル固有のオーバーライドを設定すると、この暗号化スイートのリストがTLS1.2で使用されます。

次は、エラー画面のサンプルです。暗号化がFirefoxでサポートされていないため、エラーが表示されています。

次は、エラー画面のサンプルです。暗号化がFirefoxでサポートされていないため、エラーが表示されています。

プロトコル/暗号化の組み合わせについては、NISTがTLS実装のガイドラインを発表しています。また、Mozilla FoundationはWikiでサーバ側のセキュリティを実現する推奨構成を発表しています。POODLE攻撃が検出されてからは、SSLv3を無効化し、TLS(TLS1.1以降)を使用することが推奨されています。また、RC4を完全に無効化することも推奨されています。SHA256署名を使用し、MD5を無効化することが理想的です。

セキュリティ管理をシンプルに

ITのシンプル化は、バラクーダネットワークスの全製品に共通の設計理念です。Barracuda Web Application Firewallを導入することによって、セキュリティと暗号化をきめ細かく簡単に管理することができ、面倒なアプリケーションの変更作業からも解放されます。また、柔軟性ときめ細かい管理もBarracuda Web Application Firewallの特長であり、最新の標的型攻撃や自動攻撃に対抗できるようにセキュリティを調整できます。

Barracuda Web Application Firewallのアプリケーションセキュリティ機能について詳しくは、こちらの製品ページをご覧ください。

※本内容はBarracuda Product Blog 2015年9月8日Redirection and cipher suite override based on SSL/TLS configuration now availableを翻訳したものです

Tushar Richabadas

本稿は、バラクーダネットワークスのWebサイトに掲載されている『バラクーダラボ』10月14日付の記事の転載です。