翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
有効な がないリクエストのブロック AWS WAF トークン
このセクションでは、 の使用時にトークンが不足しているログインリクエストをブロックする方法について説明します。 AWS WAF モバイル SDK。
インテリジェントな脅威を使用する場合 AWS マネージドルールのルールグループ AWSManagedRulesACFPRuleSet
、AWSManagedRulesBotControlRuleSet
、AWSManagedRulesATPRuleSet
および 、ルールグループが呼び出す AWS WAF ウェブリクエストトークンのステータスを評価し、それに応じてリクエストにラベルを付けるための トークン管理。
注記
トークンのラベル付けは、これらのマネージドルールグループのいずれかを使用して評価したウェブリクエストにのみ適用されます。
適用されるトークン管理のラベル付けについては、前述の「のトークンラベルのタイプ AWS WAF」セクションを参照してください。
その後、インテリジェントな脅威軽減マネージドルールグループは、トークンの要件を次のように処理します。
-
AWSManagedRulesACFPRuleSet
AllRequests
ルールは、 を実行するように設定されています。Challenge すべてのリクエストに対する アクション。accepted
トークンラベルのない を効果的にブロックします。 -
AWSManagedRulesATPRuleSet
は、rejected
トークンラベルを持つリクエストをブロックしますが、absent
トークンラベルを持つリクエストはブロックしません。 -
accepted
トークンラベルなしでリクエストを 5 回送信すると、AWSManagedRulesBotControlRuleSet
のターゲットを絞った保護レベルが、クライアントにチャレンジを送信します。有効なトークンを持たない個別のリクエストはブロックされません。ルールグループの共通の保護レベルでは、トークンの要件は管理されません。
インテリジェントな脅威ルールグループの詳細については、「AWS WAF Fraud Control アカウント作成の不正防止 (ACFP) ルールグループ」、「AWS WAF Fraud Control アカウント乗っ取り防止 (ATP) ルールグループ」、および「AWS WAF Bot Control ルールグループ」を参照してください。
Bot Control または ATPマネージドルールグループの使用時にトークンが欠落しているリクエストをブロックするには
Bot Control とATPルールグループでは、有効なトークンがないリクエストがルールグループの評価を終了し、ウェブ によって引き続き評価される可能性がありますACL。
トークンが不足ているリクエスト、あるいはトークンが拒否されたリクエストをすべてブロックするには、マネージドルールグループの直後に実行するルールを追加し、ルールグループがユーザーに代わって処理しないリクエストをキャプチャしてブロックします。
ATP マネージドルールグループACLを使用するウェブJSONのリストの例を次に示します。ウェブACLには、awswaf:managed:token:absent
ラベルをキャプチャして処理するためのルールが追加されています。このルールは、ATPルールグループの範囲に合わせて、ログインエンドポイントに送信されるウェブリクエストに評価を絞り込みます。追加されたルールは太字で表示されます。
{ "Name": "exampleWebACL", "Id": "55555555-6666-7777-8888-999999999999", "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/webacl/exampleWebACL/55555555-4444-3333-2222-111111111111", "DefaultAction": { "Allow": {} }, "Description": "", "Rules": [ { "Name": "AWS-AWSManagedRulesATPRuleSet", "Priority": 1, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesATPRuleSet", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesATPRuleSet": { "LoginPath": "/web/login", "RequestInspection": { "PayloadType": "JSON", "UsernameField": { "Identifier": "/form/username" }, "PasswordField": { "Identifier": "/form/password" } }, "ResponseInspection": { "StatusCode": { "SuccessCodes": [ 200 ], "FailureCodes": [ 401, 403, 500 ] } } } } ] } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSManagedRulesATPRuleSet" } }, { "Name": "RequireTokenForLogins", "Priority": 2, "Statement": { "AndStatement": { "Statements": [ { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:token:absent" } } }, { "ByteMatchStatement": { "SearchString": "/web/login", "FieldToMatch": { "UriPath": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, { "ByteMatchStatement": { "SearchString": "POST", "FieldToMatch": { "Method": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "RequireTokenForLogins" } } ], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "exampleWebACL" }, "Capacity": 51, "ManagedByFirewallManager": false, "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:" }