チュートリアル:ルール エンジンを使用してセキュリティ ヘッダーを追加する
重要
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。 このチュートリアルの手順を完了するには、ルール エンジンを使って構成した Front Door が必要です。 詳細については、Front Door の作成に関するクイックスタートとルール エンジンの構成に関する記事を参照してください。
Azure portal で Content-Security-Policy ヘッダーを追加する
Front Door リソース内で、[設定] の下にある [ルール エンジンの構成] を選び、セキュリティ ヘッダーを追加するルール エンジンを選びます。
[ルールの追加] を選んで新しいルールを追加します。 ルールに名前を付け、[アクションの追加]>[応答ヘッダー] を選びます。
[演算子] を [追加] に設定し、このルートへのすべての受信要求に応答としてこのヘッダーを追加します。
ヘッダー名として「Content-Security-Policy」を追加し、このヘッダーで受け入れる値を定義し、[保存] を選びます。 このシナリオでは、
script-src 'self' https://apiphany.portal.azure-api.net
を選びます。Note
ヘッダー値は 640 文字までに制限されています。
構成へのルールの追加が完了したら、ルール エンジンの構成を、選択したルートのルート ルールに関連付けます。 この手順は、ルールを機能させるために必須です。
Note
このシナリオでは、ルールに一致条件を追加しませんでした。 ルート ルールに定義されているパスに一致する受信要求にはすべて、このルールが適用されます。 これらの要求の一部にのみ適用する場合、必ず特定の一致条件をこのルールに追加してください。
リソースをクリーンアップする
前の手順では、Front Door のルール エンジンでセキュリティ ヘッダーを構成しました。 このルールが不要になった場合は、ルール エンジン内で [ルールの削除] を選び、ルールを削除できます。
次のステップ
Front Door の Web Application Firewall を構成する方法については、次のチュートリアルに進んでください。