の新しいコンソールエクスペリエンスの紹介 AWS WAF
更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「更新されたコンソールエクスペリエンスの使用」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ノンブロッキングアクションのためのカスタムリクエストヘッダーの挿入
このセクションでは、ルールアクションがリクエストをブロックしない場合に、 AWS WAF にカスタムヘッダーを元の HTTP リクエストに挿入するように指示する方法について説明します。このオプションでは、リクエストにのみ追加します。元のリクエストの一部を変更したり、置き換えたりすることはできません。カスタムヘッダー挿入のユースケースには、挿入されたヘッダーに基づいてリクエストを異なる方法で処理するようにダウンストリームアプリケーションに通知し、分析のためにリクエストのフラグを立てることが含まれます。
重要
このオプションは、ルールアクション Allow、Count、CAPTCHA、Challengeおよび に設定された保護パック (ウェブ ACL) のデフォルトアクションに適用されますAllow。ルールアクションの詳細については、「でのルールアクションの使用 AWS WAF」を参照してください。デフォルトの保護パック (ウェブ ACL) アクションの詳細については、「」を参照してくださいで保護パック (ウェブ ACL) のデフォルトアクションを設定する AWS WAF。
カスタムリクエストヘッダー名を使用する場合の考慮事項
リクエストヘッダーに追加されたプレフィックス
AWS WAF は、リクエストに既に存在するヘッダーとの混同を避けるためx-amzn-waf-、 で挿入するすべてのリクエストヘッダーにプレフィックスを付けます。たとえば、ヘッダー名 を指定するとsample、 はヘッダー AWS WAF を挿入しますx-amzn-waf-sample。
重要
セキュリティプラクティスとして、ヘッダーがすでに で始まるリクエストをブロックする文字列一致ルールを追加できますx-amzn-waf-。これにより、カスタムリクエストヘッダーを処理するときに によって AWS WAF 挿入されるx-amzn-waf-プレフィックス文字列を模倣する非AWS WAF ソースからのリクエストがブロックされます。
次の例は、x-amzn-waf-プレフィックスが挿入されなかったトラフィックをブロックするように設定された文字列一致ルールを示しています AWS WAF。
"Rules": [ { "Name": "CustomHeader", "Priority": 0, "Statement": { "ByteMatchStatement": { "SearchString": " x-amzn-waf-", "FieldToMatch": { "Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "CustomHeader" } } ]
文字列一致ルールの使用については、「」を参照してください文字列一致ルールステートメント。
同じ名前のヘッダー
リクエストに既に挿入されているのと同じ名前のヘッダーがある場合、 AWS WAF はヘッダーを AWS WAF 上書きします。したがって、同じ名前の複数のルールでヘッダーを定義すると、リクエストを検査して一致を見つける最後のルールにはヘッダーが追加され、それよりも前のルールには追加されません。
終了しないルールアクションでのカスタムヘッダーの使用
Allow アクションとは異なり、Countアクションは保護パック (ウェブ ACL) の残りのルールを使用したウェブリクエストの処理 AWS WAF を停止しません。同様に、 CAPTCHAおよび がリクエストトークンが有効であるChallengeと判断した場合、これらのアクションはウェブリクエストの処理 AWS WAF を停止しません。したがって、これらのアクションを使用するルールでカスタムヘッダーを挿入する場合、後続のルールもカスタムヘッダーを挿入することがあります。ルールアクションの動作については、「でのルールアクションの使用 AWS WAF」を参照してください。
例えば、表示された順序で優先順位付けされた次のルールがあるとします。
-
Count アクションと
RuleAHeaderという名前のカスタマイズされたヘッダーを持つ RuleA。 -
Allow アクションと
RuleBHeaderという名前のカスタマイズされたヘッダーを持つ RuleB。
リクエストが RuleA と RuleB の両方に一致する場合、 はヘッダーと x-amzn-waf-RuleAHeader AWS WAF を挿入しx-amzn-waf-RuleBHeader、保護されたリソースにリクエストを転送します。
AWS WAF は、リクエストの検査が完了すると、カスタムヘッダーをウェブリクエストに挿入します。したがって、アクションが Count に設定されているルールでカスタムリクエスト処理を使用する場合、追加するカスタムヘッダーは後続のルールによって検査されません。
カスタムリクエスト処理の例
ルールのアクションまたは保護パック (ウェブ ACL) のデフォルトアクションのカスタムリクエスト処理を定義します。次のリストは、保護パック (ウェブ ACL) のデフォルトアクションに追加されたカスタム処理の JSON を示しています。
{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample protection pack (web ACL) with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }