チュートリアル: ルール エンジンを使用してセキュリティ ヘッダーを追加する
重要
Azure Front Door (クラシック) は、2027 年 3 月 31 日に廃止されます。 サービスの中断を回避するには、2027 年 3 月までに Azure Front Door の Standard または Premium レベルに Azure Front Door (クラシック) プロファイルを移行することが重要です。 詳細については、Azure Front Door (クラシック) の廃止に関するページを参照してください。
このチュートリアルでは、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 サブスクリプション。
- Azure Front Door。 このチュートリアルを完了するには、ルール エンジンを使用して構成された Azure Front Door が必要です。 詳細については、Azure Front Door の作成に関するクイックスタートとルール エンジンの構成に関する記事を参照してください。
Azure portal で Content-Security-Policy ヘッダーを追加する
お使いの Azure Front Door リソース内で、[設定] に移動し、[ルール エンジン構成] を選択します。 セキュリティ ヘッダーを追加するルール エンジンを選択します。
[ルールの追加] をクリックして新しいルールを作成します。 ルールに名前を付け、[アクションの追加]>[応答ヘッダー] を選択します。
[演算子] を [Append] に設定して、このヘッダーを、このルートのすべての着信要求への応答として追加します。
ヘッダー名として「Content-Security-Policy」を入力し、このヘッダーの値を指定します。 この例では、
script-src 'self' https://apiphany.portal.azure-api.net
を使用します。 [保存] をクリックします。Note
ヘッダー値は 640 文字までに制限されています。
ルールを追加したら、ルール エンジンの構成を、選択したルートのルート ルールに関連付けます。 この手順は、ルールを有効にするために必要です。
Note
この例では、ルールに追加された [一致条件] はありませんでした。 このルールは、ルート ルールに定義されているパスに一致するすべての受信要求に適用されます。 要求のサブセットに適用するには、ルールに特定の [一致条件] を追加します。
リソースをクリーンアップする
前の手順で構成したセキュリティ ヘッダー ルールが不要になった場合は、削除できます。 これを行うには、Azure Front Door リソースのルール エンジンに移動し、[ルールの削除] を選択します。
次のステップ
Azure Front Door の Web Application Firewall を構成する方法については、次のチュートリアルに進んでください。