シミュレーターでルールロジックをテストする

ルールロジックのテストとデバッグを行うには、シミュレーター機能を使用してください。シミュレーターを使用すると、Next-Gen WAF の検知エンジンを通じてサンプルのリクエストとレスポンスを送信できます。構築されたサンプルに基づいて、検知エンジンは次の情報を含む出力を生成します。

  • WAF がサンプルリクエストをブロックまたはログ記録を行うかどうか

  • 返されるレスポンスコード

  • WAF がリクエストに追加するシグナル

  • 修正が発生するかどうか

制約事項

シミュレーターには次の制限があります。

  • シミュレーターは、高度なレート制限ルール偽装アクション、位置情報 (つまり、国コードを使用するルール) をサポートしていません。

  • シミュレーターはリバースプロキシのデプロイメント実装を使用しています。エッジ WAF のデプロイ方法を使用する場合、実装とシミュレーターの間に不一致が生じることがあります。

  • 処理終了時に残っているシグナルが情報提供用とみなされる場合、シミュレーターは、リクエストに追加されたシグナルを返しません。ただし、リクエストが明示的にブロックまたは許可されている場合はこの限りではありません。

シミュレーターを使用する

シミュレーターを使用するには、次の手順を実行します。

  1. Next-Gen WAF control panel
  2. Fastly control panel
  1. Next-Gen WAF コンソールにログインします。
  2. Sites メニューから、複数のサイトがある場合はサイトを選択します。
  3. Rules メニューから Simulator を選択します。

  4. Sample Request フィールドで、サンプルリクエストを作成します。

  5. Sample Response フィールドで、サンプルレスポンスを作成します。

  6. Simulate をクリックします。

  7. Simulation Output を表示します。

Simulating logged requests

重要: このセクションは、Fastly コンソールで Next-Gen WAF プロダクトにアクセスできるお客様のみに適用されます。

シミュレーターのリクエスト詳細ビューから、過去に記録されたリクエストを直接開くことができます。リクエストは WAF エージェントが保存したデータから再構成され、シミュレーションを実行する前に確認・編集できるシミュレーターフォームに事前に入力されます。

再構築に関する制限事項

リクエストの再構築精度は、元のリクエストの内容タイプによって異なります。シミュレーションを実行する前に、再構築されたリクエストをよく確認してください。

コンテンツタイプ忠実注記
application/x-www-form-urlencoded正確なラウンドトリップ
application/json中〜高信号パスキーから合成されている
application/xml, text/xml中規模要素パスはネストをエンコードする
text/plain中規模信号値に基づく最善の努力
multipart/form-data再構築されていないMIME 境界情報は WAF 処理中に失われる
text/csv再構築されていない区切り文字や行の配置情報は WAF 処理中に失われる

追加の制約事項:

  • クエリ文字列: クエリパラメータは、WAF エージェントによって保存された URI から削除されます。信号検出をトリガーしたクエリパラメータのみが復元可能です。トリガーとならなかったパラメータは復元できません。

  • ボディ解析エラーのあるリクエスト: Next-Gen WAF エージェントがコンテンツタイプの不一致を検出した場合 (MALFORMED-DATAまたはJSON-ERRORシグナルで示される)、宣言されたコンテンツタイプが信頼できないため、ボディは再構築されません。

シミュレータでリクエストを開始する

シミュレーターでリクエストを開くには、以下の手順を実行してください。

  1. Fastly コンソールにログインしてください。
  2. Security > Next-Gen WAF > Requests の順に移動します。
  3. workspaces バーで、ワークスペース名の右側にあるメニュー メニューアイコン をクリックして、ワークスペースを選択します。
  4. リクエストの横にあるドキュメントアイコン ドキュメントアイコン をクリックして、リクエストの詳細画面を開いてください。

  5. オプションをクリックして、リクエストのシミュレーションを選択してください。シミュレーターは再構成されたリクエストを表示します。

  6. 事前に入力済みのサンプルリクエストサンプルレスポンスを確認してください。必要に応じて編集し、不足している内容を補完してください (上記の再構築に関する制限事項を参照)。

  7. Simulate をクリックします。

  8. Simulation Output を表示します。