ルールについて
- English
- 日本語
ルールとは、定義された条件セットを満たすリクエストを Next-Gen WAF がどのように処理するかを規定する設定です。ルールは、企業 (アカウントとも呼ばれる) レベル、もしくはサイト (ワークスペースとも呼ばれる) レベルで作成できます。
企業 (アカウント) ルール : すべて、もしくは複数の特定のサイト (ワークスペース) に適用されます。
サイト (ワークスペース) ルール : 特定のサイト (ワークスペース) に適用されます。
ヒント : ルール作成ロジックのデバッグやテストの支援のため、Next-Gen WAF Simulator を使用してリクエストとレスポンスのサンプルを作成することを検討してください。
ルールの仕組み
各ルールは、WAF がアクションを実行すべき条件と、条件が満たされた場合に WAF が実行すべきアクションタイプ (例 : 許可またはブロック) を概説します。
Web クライアントが保護された Web アプリケーションにリクエストを送信すると、Next-Gen WAF はリクエストがルールの基準に満たしているかどうかを確認します。満たしている場合、WAF は一致するルールを使用して、実施すべき適切なアクションを決定します。ルールが競合する場合、WAF は優先順位ロジックを使用して、どのルールに従うべきかを決定します。リクエストを評価した後、WAF は適切なシグナルでリクエストにタグ付けし、決定されたアクションを実行します。
ルールタイプ
ルールには、次の複数のタイプがあります。
リクエストルール : WAF がアクションを実行するためにリクエストが満たす必要がある任意の条件を定義し、条件が満たされた場合に WAF が実行すべきアクションを定義します。たとえば、特定のヘッダーを持つすべてのリクエスト、特定のパスへのリクエスト、または特定の IP アドレスからのリクエストをブロックするルールを作成できます。リクエストルールは、パッケージ内容の制限の目的においては、カスタムルールとみなされます。
高度なレート制限ルール : しきい値 (例 : 1分間に100件のリクエスト) を超えた場合に、クライアントからのリクエストを個別に処理します。たとえば、アカウント乗っ取り攻撃を防ぐために、Web アプリケーションのログインページへのリクエストをレート制限するルールを作成できます。特定の IP アドレスからのログイン試行が何度も失敗する場合、その人物がパスワードを推測して他人のアカウントに侵入しようとしていると疑うのが妥当です。レート制限ルールは、一定期間その IP アドレスのログイン経路をブロックし、パスワードの推測を継続できないようにします。高度なレート制限ルールは、パッケージ内容の制限の目的においては、カスタムルールとみなされます。
サイトアラート (シグナルしきい値) : 特定のシグナルを含む IP アドレスからのリクエストをモニタリングおよび処理します。たとえば、ある IP アドレスが1時間に攻撃シグナルのタグが付いたリクエストを20件生成した場合に、セキュリティチームへ通知するようサイトアラート (シグナルしきい値) を設定できます。サイトアラート (シグナルしきい値) は、パッケージ内容の制限の目的においては、カスタムルールとみなされます。
シグナル除外ルール : 特定のシグナルでリクエストがタグ付けされるのを防ぎます。シグナル除外ルールは偽陽性を防ぐのに役立ちます。たとえば、従業員が生の HTML を投稿できる社内 CMS (コンテンツ管理システム) があるとします。従業員がクロスサイトスクリプティング (XSS) 攻撃のように見える生の HTML を投稿しようとすると、そのリクエストは
XSSシステムシグナルでタグ付けされ、その後ブロックされる可能性があります。偽陽性や善意の従業員が誤ってブロックされるのを防ぐために、VPN IP からのリクエストや HTML を投稿する際にXSSシグナルでタグ付けされないよう、シグナル除外ルールを作成できます。シグナル除外ルールはルールの制限にはカウントされません。テンプレート化されたルール : API、アカウント乗っ取り、もしくは共通脆弱性識別子 (CVE) 仮想パッチシステムシグナルに関連付けられた部分的にあらかじめ構築されたルール。アカウント乗っ取りや API テンプレート化されたルールを有効にすると、登録、ログイン、API リクエストの可視性が確保されます。この場合、一時的に共通脆弱性識別子 (CVE) 仮想パッチテンプレートルールを有効にして、より恒久的な解決策を実装する間、関連する共通脆弱性識別子 (CVE) から Web アプリケーションを保護します。
アクションタイプ
条件が満たされたときに WAF が実行する可能性のあるアクションタイプは以下のとおりです。
| アクションタイプ | 説明 | リクエストルール | 高度なレート制限ルール | シグナル除外ルール |
| シグナル追加 | WAF は、特定のシグナルでリクエストにタグ付けします。 | ✅ | ❌ | ❌ |
| 許可 | WAF は、一致したブロックルールに関係なくリクエストを許可し、リクエストをオリジンに転送します。 | ✅ | ❌ | ❌ |
| ブロック | WAF は、リクエストがオリジンにアクセスするのを防ぎ、サイト (ワークスペース) に設定されたブロッキングレスポンスコードを使用してレスポンスを生成し、リクエストを発行した Web クライアントにその応答を送信します。 | ✅ | ✅ - サイト (ワークスペース) レベルでのみサポート | ❌ |
| ブラウザチャレンジ | 設定したルールに基づき、WAF はリクエストを送信した Web クライアントに非インタラクティブ (JavaScript による作業証明) もしくは対話型チャレンジ (CAPTCHA) を送信します。WAF がリクエストを許可するには、Web クライアントがチャレンジを正常に完了する必要があります。 | ✅ - サイト (ワークスペース) レベルでのみサポート | ✅ - サイト (ワークスペース) レベルでのみサポート | ❌ |
| 偽装 | WAF は攻撃者に対して偽装したレスポンスを返し、攻撃が成功したかどうかを判断できないようにします。 | ✅ - サイト (ワークスペース) レベルでのみサポート | ✅ - サイト (ワークスペース) レベルでのみサポート | ❌ |
| 動的チャレンジ | リクエストに基づき、WAF はリクエストを開始した Web クライアントに送信するチャレンジのタイプを決定します。チャレンジのタイプには、プライベートアクセストークン (PAT)、非対話型 (JavaScript プルーフオブワーク) チャレンジ、対話型 (CAPTCHA) チャレンジがあります。WAF がリクエストを許可するには、Web クライアントが受信したチャレンジを正常に完了する必要があります。 | ✅ - サイト (ワークスペース) レベルでのみサポート | ✅ - サイト (ワークスペース) レベルでのみサポート | ❌ |
| シグナル除外 | WAF は、リクエストが特定のシグナルでタグ付けされるのを防ぎます。 | ❌ | ❌ | ✅ |
| ログ | WAF は、当社のデータストレージポリシーに基づいて、リクエストとレスポンスのデータを保存し、利用可能にします。 | ❌ | ✅ - サイト (ワークスペース) レベルでのみサポート | ❌ |
| トークン検証 | WAF は、Web クライアントが以前の GET リクエストでチャレンジを解決したかどうかをチェックし、リクエストに CHALLENGE-TOKEN-VALID もしくは CHALLENGE-TOKEN-INVALID シグナルを追加します。CHALLENGE-TOKEN-INVALID シグナルを持つリクエストをブロックする場合は、ルールを追加する必要があります。検証トークンアクションは主に POST クエストで使用されます。 | ✅ - サイト (ワークスペース) レベルでのみサポート | ❌ | ❌ |
アクセスできるアクションタイプは、アカウントに関連付けられたプラットフォームもしくはパッケージ製品によって異なる場合があります。
優先順位ロジック
ルールが競合する場合、Next-Gen WAF エージェントは以下の優先順位ロジックを使用して適用すべきルールを決定します。
許可アクションを含むルールは常に、ブロックアクションを含むルールよりも優先されます。たとえば、IP アドレスの範囲をブロックするルールと、その範囲内の特定の IP アドレスを許可するルールを作成した場合、許可ルールが優先されるため、その IP アドレスからのリクエストは許可されます。
通常、企業 (アカウント) のルールは、サイト (ワークスペース) のルールよりも優先されます。企業 (アカウント) ルールが優先されないのは、サイト (ワークスペース) ルールに許可アクションがある場合のみです。
ルールの表示
ルールの表示手順は、ルールが企業全体 (アカウント) に適用されるか、単一のサイト (ワークスペース)に適用されるかによって異なります。
複数のサイト (ワークスペース) に適用されるルールを表示する
企業レベル (アカウントレベル) のルールを表示するには、次の手順を実行します。
- Next-Gen WAF control panel
- Fastly control panel
- Next-Gen WAF コンソールにログインします。
Corp Rules メニューから、Corp Rules を選択します。
表示したいルールの右側にある View をクリックします。View ページが表示されます。
1つのサイト (ワークスペース) に適用されるルールを表示する
サイトレベル (ワークスペース) のルールを表示するには、次の手順を実行します。
- Next-Gen WAF control panel
- Fastly control panel
- Next-Gen WAF コンソールにログインします。
- Sites メニューから、複数のサイトがある場合はサイトを選択します。
Rules メニューから、Site Rules を選択します。
表示したいルールの右側にある View をクリックします。View ページが表示されます。
ルールの削除
ルールを削除する手順は、ルールが複数のサイト (ワークスペース) に適用されるか、単一のサイト (ワークスペース) に適用されるかによって異なります。
複数のサイト (ワークスペース) に適用されるルールを削除する
企業レベル (アカウントレベル) のルールを削除するには、次の手順を実行します。
- Next-Gen WAF control panel
- Fastly control panel
- Next-Gen WAF コンソールにログインします。
Corp Rules メニューから、Corp Rules を選択します。
削除したいルールの右側にある Edit または View をクリックします。
Remove corp rule をクリックし、次に Delete corp rule をクリックします。ルールが削除され、Corp Rules ページが表示されます。
1つのサイト (ワークスペース) に適用されるルールを削除する
1つのサイト (ワークスペース) にのみ適用されるルールを削除するには、次の手順を実行します。
- Next-Gen WAF control panel
- Fastly control panel
- Next-Gen WAF コンソールにログインします。
- Sites メニューから、複数のサイトがある場合はサイトを選択します。
Rules メニューから、Site Rules を選択します。
削除したいルールの右側にある Edit または View をクリックします。
Remove site rule をクリックし、次に Delete site rule をクリックします。ルールが削除され、Site Rules ページが表示されます。