チュートリアル:ルール エンジンを使用してセキュリティ ヘッダーを追加する

このチュートリアルでは、HTTP Strict-Transport-Security (HSTS)、X-XSS-Protection、Content-Security-Policy、X-Frame-Options など、ブラウザーベースの脆弱性を防ぐためにセキュリティ ヘッダーを実装する方法について説明します。 セキュリティベースの属性は、Cookie でも定義できます。

次の例は、ルール エンジン構成が関連付けられているルートに定義されているパスに一致するあらゆる受信要求に Content-Security-Policy ヘッダーを追加する方法を示しています。 ここでは、信頼できるサイト https://apiphany.portal.azure-api.net からのスクリプトにのみ、アプリケーション上での実行を許可します。

このチュートリアルでは、以下の内容を学習します。

  • ルール エンジン内で Content-Security-Policy を構成する。

前提条件

Azure portal で Content-Security-Policy ヘッダーを追加する

  1. Front Door リソース内で、[設定] の下にある [ルール エンジンの構成] を選び、セキュリティ ヘッダーを追加するルール エンジンを選びます。

    Azure Front Door のルール エンジンの構成ページを示すスクリーンショット。

  2. [ルールの追加] を選んで新しいルールを追加します。 ルールに名前を付け、[アクションの追加]>[応答ヘッダー] を選びます。

  3. [演算子] を [追加] に設定し、このルートへのすべての受信要求に応答としてこのヘッダーを追加します。

  4. ヘッダー名として「Content-Security-Policy」を追加し、このヘッダーで受け入れる値を定義し、[保存] を選びます。 このシナリオでは、script-src 'self' https://apiphany.portal.azure-api.net を選びます。

    追加されたセキュリティ ヘッダーを示すスクリーンショット。

    Note

    ヘッダー値は 640 文字までに制限されています。

  5. 構成に追加するルールをすべて追加したら、必ず優先ルートに移動し、ルール エンジン構成をルート ルールに関連付けてください。 この手順は、ルールを機能させるために必須です。

    ルーティング規則を関連付ける方法を示すスクリーンショット。

    Note

    このシナリオでは、ルールに一致条件を追加しませんでした。 ルート ルールに定義されているパスに一致する受信要求にはすべて、このルールが適用されます。 これらの要求の一部にのみ適用する場合、必ず特定の一致条件をこのルールに追加してください。

リソースをクリーンアップする

前の手順では、Front Door のルール エンジンでセキュリティ ヘッダーを構成しました。 このルールが不要になった場合は、ルール エンジン内で [ルールの削除] を選び、ルールを削除できます。

セキュリティ ルールを削除する方法を示すスクリーンショット。

次のステップ

Front Door の Web Application Firewall を構成する方法については、次のチュートリアルに進んでください。