このトピックでは、Web Application Firewall (WAF) 3.0 で保護設定を行う際によくある問題とその解決策について説明します。
特定の保護ルール ID を検索する方法
WAF コンソールで特定のルール ID が見つからない場合は、ルールタイプに応じて以下の項目を確認してください。
組み込みコア Web 保護ルールを検索する
Web アプリケーションファイアウォール 3.0 コンソールにログインします。上部のナビゲーションバーで、お使いの WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。
左側のナビゲーションペインで、を選択します。
対象の保護テンプレートを見つけて展開し、操作 列の エンジン構成 をクリックします。
エンジン構成 ページでルールを検索します。
カスタムルールを検索する
Web コア保護 の下にある カスタムルール、HTTP Flood Protection、スキャン保護 などの他のモジュール用のカスタムルールを見つけるには、次の手順に従います。
左側のナビゲーションペインで、 を選択します。
ページでルールを検索します。
ホワイトリストルールを検索する
左側のナビゲーションペインで、を選択します。
ページでルールを検索します。
ボット管理ルールを検索する
[Web 保護]組み込みルール
左側のナビゲーションペインで、 の順に選択します。
[保護ルール ID] ドロップダウンリストで、
23009863などのルール ID を入力すると、対応するボット管理ルールを検索できます。
[アプリ 保護] 組み込みルール
左側のナビゲーションペインで、 を選択します。
ページでルールを検索します。
[高度なカスタムルール]
左側のナビゲーションペインで、を選択します。
ページでルールを検索します。
保護ルールが削除された場合
上記のいずれの場所でもルールが見つからない場合、そのルールは削除された可能性があります。ActionTrail を使用して、DeleteDefenseRule または DeleteDefenseTemplate という名前のイベントを確認できます。詳細については、「ActionTrail コンソールでイベントをクエリ」をご参照ください。
WAF ログにおける acl_action:block の意味
acl_action:block フィールドは、リクエストがブロックされたことを必ずしも意味するわけではありません。acl_test が true の場合、監視モードが有効になっていることを示します。このモードでは、WAF はログを記録するだけで、ブロックなどの保護アクションをトリガーしません。リクエストが実際にブロックされたかどうかを判断するには、final_action フィールドを確認します。final_action:block の値は、リクエストがブロックされたことを示します。
ボディパラメーターフィールドを使用したカスタムルールが有効にならない場合
考えられる原因は、指定された一致コンテンツが短すぎることです。[Body Parameter] フィールドを使用してトラフィックを検出するには、一致コンテンツを 4 文字より長くする必要があります。たとえば、パラメーター名を name に、論理演算子を [equals] に、一致コンテンツを David に設定できます。この値の長さは 5 文字で、4 文字を超えています。
ドメインの HTTP フラッド攻撃対策をバイパスする方法
特定のドメインへのリクエストに対して HTTP フラッド攻撃対策をバイパスする必要がある場合は、以下のいずれかの方法を使用できます。
ホワイトリストルール
(オプション) HTTP フラッド攻撃対策から除外するドメインを保護対象として追加します。詳細については、「保護対象を手動で追加」をご参照ください。この手順は、ALB インスタンス内のドメインにのみ必要です。
ホワイトリストルールを作成し、Bypassed Modules を HTTP Flood Protection に、有効対象 をバイパスするドメインに設定します。詳細については、「ホワイトリスト」をご参照ください。
これらの手順を完了すると、WAF はホワイトリストに登録されたドメインへのリクエストに対して HTTP フラッド攻撃対策をバイパスします。
HTTP フラッド攻撃対策ルール
ALB インスタンスに含まれていないドメイン
HTTP フラッド防御ルールを作成します。ルールテンプレートの有効対象 フィールドに、バイパスするドメインを設定します。詳細については、「HTTP フラッド防御ルールを設定して CC 攻撃を防御する」をご参照ください。
HTTP フラッド防御ルールのステータス スイッチをオフにします。
これらの手順を完了すると、指定したドメインへのリクエストに対して HTTP フラッド攻撃対策がバイパスされます。
ALB インスタンス内のドメイン
ALB インスタンス内のすべてのドメインを保護対象として追加します。詳細については、「保護対象を手動で追加」をご参照ください。
2 つの HTTP フラッド攻撃対策ルールを作成します。詳細については、「HTTP フラッド攻撃対策ルールを設定して CC 攻撃を防御」をご参照ください。
ルールの要件は以下のとおりです。
ルール A: ビジネス要件に基づいて、wafnew.cc.mode.titte を wafnew.cc.normal または wafnew.cc.strict に設定します。有効対象 を、CC 攻撃から保護する ALB インスタンス内のドメインに設定します。
ルール B: 有効対象 に、ALB インスタンスとバイパスしたいドメインを設定します。
ルール A の ステータス スイッチをオンにし、ルール B の ステータス スイッチをオフにします。
これらの手順を完了すると、ルール A 内のドメインへのリクエストは CC 攻撃から保護され、ルール B 内のドメインへのリクエストはこの保護をバイパスします。
ダブルスラッシュ (//) を含む URL に対するルールが有効にならない場合
WAF ルールエンジンは、連続するスラッシュ (/) を 1 つのスラッシュに圧縮することで URL を正規化します。したがって、ダブルスラッシュ (//) を含む URL に一致するように設定されたカスタムルールはトリガーされません。
二重スラッシュ (//) を含む URL に対して ACL アクセス制御を設定する場合、対応する単一スラッシュのパスを一致条件として直接使用できます。 たとえば、URL パス //api/sms/request に一致させるには、一致内容として /api/sms/request を入力するだけです。 これにより、WAF はこのパスを含むリクエストにアクセス制御を適用します。
リクエスト ID を使用して WAF ブロックを調査する方法
WAF がリクエストをブロックすると、一意のリクエスト ID がレスポンスで返されます。この ID を使用して、セキュリティレポートまたはログで詳細を検索し、リクエストがブロックされた理由を特定できます。
リクエスト ID を取得する:リクエストがブロックされると、ブロックページにデフォルトでリクエスト ID が表示されます。後の検索で使用するために ID をコピーします。

WAF コンソールでの検索: Web Application Firewall 3.0 コンソールにログインします。 左側のナビゲーションウィンドウで、を選択します。 時間範囲を設定し、リクエスト ID を traceidを入力してください 検索ボックスに貼り付け、検索を開始します。
説明保護対象のログ配信が有効になっている場合、 ページで検索を実行することもできます。
ブロック理由の分析: セキュリティレポート ページで、リクエストの 保護モジュール と ヒットしたルール を表示します。リクエストが正当であると判断した場合は、ログリスト でリクエストを検索し、操作 列にある 誤検知の無視 をクリックします。詳細については、「ホワイトリスト」をご参照ください。
従量課金 WAF の API セキュリティを無効にする方法
従量課金 WAF インスタンスで API セキュリティ機能が不要になった場合は、以下の手順に従って無効にします。
Web Application Firewall 3.0 コンソールにログインします。上部のナビゲーションバーで、WAF インスタンスのリソースグループとリージョン(中国本土 または 中国本土以外)を選択します。
左側のナビゲーションペインで、を選択します。
タブに移動します。
すべての保護オブジェクトおよび保護オブジェクトグループの 基本検査 スイッチをオフにします。オフにすると、履歴 API Security データがクリアされ、アクセスできなくなります。
WAF による CORS ヘッダーの処理
WAF は、リクエストの CORS ヘッダーを変更 しません。また、CORS レスポンスヘッダーを自動的に挿入したり、Origin ヘッダーを動的にエコーバックしたりする設定項目も提供 しません。CORS ポリシーは、オリジンサーバーまたはアプリケーションで設定および管理する必要があります。
"413 Request Entity Too Large" エラーが発生する理由
原因:アップロードされたファイルのサイズが、1 回のリクエストに対する WAF の制限 (現在 2 GB) を超えています。
解決策:
ファイルサイズを縮小して、各リクエストが 2 GB 未満になるようにします。
WAF を Ultimate Edition にアップグレードします。Ultimate Edition では、最大ファイルサイズ 10 GB がサポートされます。詳細については、「アップロードファイルのサイズを制御」をご参照ください。
WAF ブロックアラートについて
WAF ブロックアラートを受信することは、保護メカニズムが機能していることを示します。これは必ずしもサービスが影響を受けていることを意味するわけではありません。ただし、場合によっては、誤検知や保護の失敗を確認する必要があります。
アラートの意味
WAF ブロックアラートは、システムがセキュリティルールに一致する悪意のあるリクエストを正常に識別してブロックしたことを意味します。これらのリクエストは、オリジンサーバーに到達する前にフィルタリングされます。オリジンサーバーのリソースを消費しません。これは、保護が意図したとおりに機能していることを示しています。
調査が必要なシナリオ
誤検知:バックエンドログインや API 呼び出しなどの正当なユーザートラフィックがブロックされている場合、保護ルールが厳しすぎる可能性があります。この場合、サービスの可用性が影響を受けます。保護ルールを調整するか、リクエストの特性をホワイトリストに追加する必要があります。
大規模な CC 攻撃:高頻度の CC 攻撃を受けている場合、WAF がトラフィックをブロックしていても、一部の悪意のあるリクエストが WAF 保護をバイパスする可能性があります。さらに、過剰な攻撃トラフィックによってブラックホールフィルタリングがトリガーされ、WAF サービスが利用できなくなる可能性があります。防御戦略の詳細については、「HTTP フラッド攻撃対策ルールを設定して CC 攻撃を防御」をご参照ください。
スクリプトファイルのアップロードに対するデフォルトポリシー
デフォルトの WAF 保護ポリシーは、主に SQL インジェクションやクロスサイトスクリプティング (XSS) などの高頻度 Web 攻撃、および JSP、PHP、ASP などの一般的な Web シェルを防御するように設計されています。
.py、.sh、.cmd、.bat などのスクリプトファイルの拡張子は、正規のバックグラウンドタスクやバッチ処理によく使用されます。通常の業務リクエストを誤ってブロックすることを避けるため、デフォルトポリシーでは、これらの拡張子はグローバルなブロック範囲に含まれていません。
これらのアップロードをブロックする必要がある場合は、カスタムルールを作成して、アップロード API パスとファイル拡張子を照合することで、アップロードを正確に制御することを推奨します。
中国国外の IP をブロックしながらクローラーを許可する方法
これは、設定を組み合わせることで実現できます。
前方一致と正規表現マッチの比較
一致機能:前方一致は、固定文字列にのみ一致するシンプルなモードです。正規表現マッチは、複雑なパターンマッチングをサポートする高度なモードです。
パフォーマンス:前方一致は非常に効率的です。正規表現マッチは、内部エンジンの複雑さによりリソースを若干多く消費し、従量課金 WAF インスタンスを使用している場合はコストがわずかに高くなります。
ルールのチューニングに関する推奨事項: ルールで期待される保護が得られない場合は、一致方法が適切かどうかを確認してください。 たとえば、URI パスの場合、単一のプレフィックスまたはサフィックスによる一致の代わりにContains One of Multiple ValuesまたはRegex Matchを使用することで、一致率を向上させることができます。 正規表現による一致を使用する場合、正規表現が整形式であることを確認し、複雑なネストを避けてください。
ホワイトリストルールの有効時間
ホワイトリストルールは、追加後 すぐに 有効になります。既存のブロック期間が終了するまで待つ必要はありません。
ルールを設定した後もリクエストがブロックされる場合は、以下の項目を確認してください。
テンプレートとルールのスイッチがオンになっている。
[適用対象] 設定が正しい。
一致条件が正しく設定されている。
CDN や Anti-DDoS などのレイヤー 7 プロキシが WAF の前面にデプロイされている場合、アセットを追加する際に、WAF の前にレイヤー 7 プロキシがあるかどうか (Anti-DDoS Proxy や CDN など) オプションを選択する必要があります。そうしないと、WAF は実際のクライアント IP アドレスを取得できません。
レート制限ルールによってブラックリストに登録されたオブジェクトを管理する方法
手動でのブロック解除:このシナリオでは、オブジェクトを手動でブロック解除することはできません。アクセスをすぐに復元するには、以下のいずれかの方法を使用します。
ホワイトリストルールを作成する (推奨):ホワイトリストルールを追加して、リクエストを許可します。
ルール設定の変更: ルールの 一致条件、アクション、Statistical Object、または [しきい値] を変更すると、そのルールの履歴ブラックリストがクリアされ、以前にブロックされていたすべてのオブジェクトのブロックが解除されます。
永続的なブロック:サポートされていません。最大ブロック期間は 86,400 秒 (24 時間) です。
空または欠落している Referer を含むリクエストをブロックする方法
両方のシナリオをカバーするには、以下の 2 つの一致条件を追加する必要があります。
ヘッダーフィールド
Refererの論理演算子は Does Not Exist に設定されています。ヘッダーフィールド
Refererの論理演算子は Empty に設定されています。
リスク警告
この設定により、内部サーバーの呼び出し、API リクエスト、クライアント SDK からのリクエストなど、Referer ヘッダーを含まない正当なリクエストがブロックされる可能性があります。このような正当なトラフィックを許可するために、ホワイトリストルールを作成することを推奨します。
異なるポート間でルールトリガーに一貫性がない場合
WAF 保護テンプレートは、保護対象ごとに独立して有効になります。特定のポートでルールがトリガーされない場合、通常は、ポートが WAF に正しく追加されていないか、正しい保護テンプレートに関連付けられていないことが原因です。
トラブルシューティングと解決策
ポート接続ステータスを確認する:影響を受けるポートが WAF に正常に追加されていることを確認します。
ポリシーバインディングを確認する:ポートに対応する保護対象が、意図した保護テンプレートに正しく関連付けられていることを確認します。
ホワイトリストルールの他のモジュールに対する優先度
ホワイトリストルールの優先度が最も高くなります。リクエストがホワイトリストルールに一致すると、WAF は Bypassed Modules で指定されたモジュールをバイパスします。
API を使用してルールに IP を追加する方法
はい。詳細については、「コア Web 保護ルールの作成」をご参照ください。
WAF フィンガープリントルールの仕組み
フィンガープリントルールは、IP アドレスではなく、クライアントブラウザーまたはツールの特性から生成されたハッシュ値に基づいてリクエストに一致します。詳細は以下のとおりです。
JA3 フィンガープリント:このフィンガープリントは、TLS バージョンや暗号スイートなどの主要な TLS ハンドシェイクパラメーターに MD5 ハッシュを適用することで生成されます。
JA4 フィンガープリント:このフィンガープリントは、ブラウザーバージョンやオペレーティングシステムを含むより多くの情報を利用して、重複を減らします。
HTTP/2 フィンガープリント:このフィンガープリントは、HTTP/2 クライアントの元のフィンガープリントに基づいて MD5 アルゴリズムを使用して生成されます。
リクエストが一致するフィンガープリントを含んでいる限り、IP アドレスの地理的な発信元に関係なくルールがトリガーされます。
WAF によるドメインリダイレクトのサポート
いいえ。WAF はドメインリダイレクト機能を提供しません。このタイプのリダイレクトを実装するには、オリジンサーバーまたは DNS レイヤーで設定する必要があります。
API を使用して WAF 3.0 ホワイトリストルールをクエリおよび変更する方法
ホワイトリストルールを作成または変更するには、CreateDefenseRule オペレーションを呼び出し、whitelist パラメーターを設定します。 詳細については、「CreateDefenseRule」をご参照ください。
ボット管理ブロックルールを無効にした後もドメイン名にアクセスできない場合の対処方法
ボット管理ブロックルールを無効にした後もドメイン名にアクセスできない場合は、以下の手順で問題のトラブルシューティングを行ってください。
キャッシュの問題を確認する:ブラウザーのシークレットモードまたはプライベートモードでドメイン名にアクセスして、ローカルキャッシュからの干渉を除外します。
ステータスコードを確認する:405 Method Not Allowed などの特定の HTTP ステータスコードを確認して、リクエストが別の保護モジュールまたはオリジンサーバーによってブロックされているかどうかを判断します。
ブロック理由を検証する:ブロックされたリクエストの最新のリクエスト ID を取得します。このトピックの「リクエスト ID を使用して WAF ブロックを調査する方法」セクションを参照して、トリガーされたルールを見つけます。これにより、カスタムルールや HTTP フラッド攻撃対策ルールなどの別の緩和ポリシーがリクエストをブロックしたかどうかを確認できます。
WAF カスタムルールが有効になるまでの時間
WAF カスタムルールはリアルタイムで有効になります。
単一のドメイン名が Web アプリケーションとミニアプリの両方を提供する場合に、誤検知を回避するために緩和ポリシーを設定する方法
単一のドメイン名が Web アプリケーションとミニアプリの両方を提供する場合、誤検知を回避するために以下のように緩和ポリシーを設定します。
個別のドメイン名を使用する:ミニアプリと Web アプリケーションに異なるセカンドレベルドメイン名を使用します。次に、それぞれに個別の緩和ポリシーを適用します。
API を除外する:共有ドメイン名を使用する必要がある場合は、カスタムルールからミニアプリの API または User-Agent を除外します。これにより、チャレンジや高度なカスタムルールなどの機能との互換性の問題を防ぎます。
複数の WAF カスタムルールテンプレートを作成した場合の優先度の決定方法
WAF カスタムルールテンプレートの優先度は以下のように決定されます。
ソート:カスタムルールの実行順序はルール ID によって決定されません。
実行ロジック:リクエストが同じ保護モジュール内の複数のルールに一致し、これらのルールに同じアクションが設定されている場合、有効になるルールはランダムに選択されます。
最適化の提案:きめ細かい一致条件を使用して、ルールの重複を減らします。また、ホワイトリストルールを使用して許可ロジックを管理することもできます。
許可されることが期待される CDN またはクラウドプロバイダーの IP アドレスを WAF がブロックした場合の対処方法
許可されることが期待される CDN またはクラウドプロバイダーの IP アドレスを WAF がブロックした場合は、以下の手順で問題のトラブルシューティングを行ってください。
分析:WAF は、IP アドレスライブラリに基づいて IP アドレスの地理的な場所を決定します。この場所は、CDN POP (ポイントオブプレゼンス) の実際の物理的な場所と異なる場合があります。たとえば、AWS CloudFront POP の IP アドレスは、米国国外にあると識別される可能性があります。
所有権を検証する:クライアントの実際のネットワーク環境を確認します。また、クラウドプロバイダーの公式 IP アドレスリストを確認することで、POP の所有権を確認することもできます。
IP アドレスを許可する:必要に応じて、IP アドレスをホワイトリストに追加して、誤ってブロックされないようにします。
IP ブラックリストによるドメインごとの IP ブロックまたは関連ドメインの自動ブロックの可否
WAF 3.0 IP ブラックリストの機能は以下のとおりです。
一致ディメンション:IP ブラックリストは、クライアントの IP アドレスまたは IP アドレス範囲に基づくリクエストのブロックのみをサポートします。ドメイン名を直接ブラックリストに追加することはできません。
適用範囲:WAF がリクエストをブロックすると、ブロックアクションは現在関連付けられているドメイン名の保護対象にのみ適用されます。WAF は、ソース IP アドレスをグローバルブラックリストに自動的に追加して、他の Web サイトやドメイン名へのアクセスを防ぐことはしません。
WAF によるスキャナーが生成したトラフィックからの HSTS レスポンスヘッダーの削除の可否
WAF は、脆弱性スキャナーからのトラフィックと HSTS (HTTP Strict Transport Security) レスポンスヘッダーを以下のように処理します。
デフォルトの動作:デフォルトでは、WAF は HSTS レスポンスヘッダーを削除しません。また、スキャントラフィックに対して特別な処理も適用しません。
ブロックトリガー:WAF は、スキャントラフィックに疑わしい攻撃の特性が含まれ、緩和ルールをトリガーした場合にのみ、ブロックまたはチャレンジアクションを実行します。