Fastly WAF ルール管理インターフェイス (2020) について

Fastly WAF ルール管理インターフェイスは、Fastly サービスに関連付けられた WAF で有効化されたルールの可視性の取得と管理が可能です。エンジニアまたはスーパーユーザーの役割が割り当てられている場合、ルール管理インターフェイスを使用して、WAF ルールの詳細の確認、ルール ID またはカテゴリーによる検索フィルター、しきい値およびスコアの管理、ルールモードの変更、変更内容の本番環境への反映などを行うことができます。

Fastly WAF ルール管理インターフェイスへのアクセス

WAF ダッシュボードから Fastly WAF ルール管理インターフェイスにアクセスできます。Fastly WAF ルール管理インターフェイスにアクセスするには、以下の手順に従ってください。

  1. Fastly コントロールパネルにログインします。All services ページが表示されます。
  2. リストから Fastly サービスを選択し、WAF リンクをクリックしてください。WAF サマリーページが表示されます。
  3. Manage Rules リンクをクリックします。Manage rules ページが表示されます。

    Manage rules ページ

ルールについて

Fastly WAF ルール管理インターフェイスでは、選択した Fastly サービスに関連する WAF で現在有効になっているルールが表示されます。ルールを有効化していない場合や WAF にルールが表示されない場合は、support@fastly.com までご連絡下さい。

ルールにはスコアリングルールしきい値ルールアプリケーション固有のルールの3種類があります。リビジョンインジケーターは、ルールが改訂されているかどうかを示します。改訂されたルールは、前バージョンよりも保護機能が強化されている場合があります。

スコアリングルール

スコアリングルールでは、受信する HTTP リクエストで検知された異常に基づいてスコアが加算されます。スコアリングルールの例は次のとおりです。

WAF スコアリングルール

Fastly では、4つのルールカテゴリーに対してデフォルトの異常スコアが設定されています。HTTP リクエストがカテゴリー内のルールと一致すると、その数値がそのカテゴリーの合計スコアに追加されます。すべてのルールのスコア合計が、その HTTP リクエストの異常スコアになります。例えば、クリティカル異常スコアが 6 点、エラー異常スコアが 5 点に設定されているとします。HTTP リクエストがクリティカルルールとエラールール両方と一致した場合、HTTP リクエストのスコアは 11点 になります。

スコアリングルールには2種類のモードがあります。

  • スコアリング: このモードは、ルールが有効で、脅威の特定を目的としていることを意味します。このモードのルールは、対応するしきい値ルールの設定に基づいてスコアを加算し、その結果を現在設定されているログプロバイダーに記録します。しきい値ルールについては、しきい値ルールセクションを参照してください。
  • 無効モード: このモードは、ルールが無効化されていることを意味します。このルールで検出された脅威は、合計異常スコアに含まれず、結果はログに記録されません。

Details リンクをクリックするとApache ModSecurity 形式のルールと対応する生成 VCL の形式が表示されます。

しきい値ルール

しきい値ルールは、Web アプリケーションまたは API に対する特定の攻撃カテゴリーを対象とします。これらのルールは、合計スコア (スコアリングルールによって算出されます) を、適切なしきい値に設定された値と照合します。しきい値ルールの例は以下のとおりです。

WAF しきい値ルール

しきい値ルールには、カテゴリー名、リビジョンインジケーター、タグ、ルール ID、モードセレクター、および詳細リンクが含まれます。

しきい値ルールはアクションを実行し、クライアント HTTP リクエストをログに記録、またはブロックしてログに記録します。これらのルールは、スコアが所定のしきい値を超えるとアクションを実行します。各カテゴリーに対応するしきい値は Settings ページで設定します。

しきい値を下げることで WAF の感度が向上します。しきい値を上げると、さまざまなしきい値カテゴリーで WAF の感度が低下します。

Fastly WAF では、以下を含むしきい値ルールが攻撃カテゴリー別に設定されています。各ルールには、それぞれ感度をコントロールするためのしきい値が与えられています。

ID しきい値名 ルールアクションの条件 対応するしきい値 アクションの選択
1010090 インバウンド異常スコア インバウンド異常スコアが設定されたインバウンド異常しきい値を超えた場合にアクションを実行 インバウンド異常しきい値 ログまたはブロック & ログ
1010080 セッション固定 セッション固定スコアが設定されたセッション固定しきい値を超えた場合にアクションを実行 セッション固定しきい値 ログまたはブロック & ログ
1010070 HTTP 違反 設定された HTTP 違反スコアが HTTP 違反しきい値を超えた場合にアクションを実行 HTTP 違反しきい値 ログまたはブロック & ログ
1010060 PHP インジェクション PHP インジェクションスコアが設定された PHP インジェクションしきい値を超えた場合にアクションを実行 PHP インジェクションしきい値 ログまたはブロック & ログ
1010050 リモートコマンド実行 (RCE) RCE 異常スコアが、設定された RCE しきい値を超えた場合に作動 RCE しきい値 ログまたはブロック & ログ
1010040 ローカルファイルインクルージョン (LFI) LFI スコアが設定された LFI しきい値を超えた場合にアクションを実行 LFI しきい値 ログまたはブロック & ログ
1010030 リモートファイルインクルージョン (RFI) RFI スコアが設定された RFI しきい値を超えた場合にアクションを実行 RFI しきい値 ログまたはブロック & ログ
1010020 クロスサイトスクリプティング (XSS) XSS スコアが設定された XSS しきい値を超えた場合にアクションを実行 XSS しきい値 ログまたはブロック & ログ
1010010 SQL インジェクション SQL インジェクションスコアが設定された SQL インジェクションしきい値を超えた場合にアクションを実行 SQL インジェクションしきい値 ログまたはブロック & ログ

アプリケーション固有ルール

アプリケーション固有ルールは、特定のライブラリ、フレームワーク、コンポーネントのコンテキストで特定の脆弱性を利用しようとするシグネチャを検索します。これらのルールは即座にアクションを実行します。アプリケーション固有ルールには3種類のモードがあります。

  • ログモード: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、リクエストがルールの条件に完全に一致した場合に結果をログに記録します。結果が現在設定されているログプロバイダーに記録されます。
  • ブロックモード: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、HTTP リクエストをブロックし、オリジンに送信されるのを防ぎます。ブロックモードのルールでも、現在設定されているログプロバイダーに結果が記録されます。
  • 無効モード: このモードは、ルールが無効化されていることを意味します。ルールに一致する HTTP リクエストは、オリジンに直接送信されます。

ルールの検索

ルール検索ボックスでは、ルール ID またはキーワードを使用して特定のルールを検索できます。結果は Rule View に表示されます。

キーワード検索では、ルールソースに特定のクエリ文字列を含むルールを検索できます。例えば、 javaphploic または ddos のようなキーワードを含むルールを検索できます。キーワード検索では、ルールの mod_security ソースとクエリ文字列が比較されます。

Include all と Exclude applied フィルターを使用して、検索範囲をコントロールできます。Include all を選択すると、WAF で現在アクティブなルールだけでなく、ルールライブラリ全体に検索範囲が拡大されます。Exclude applied を選択すると、現在 WAF でアクティブではないライブラリーのルールのみが検索されます。

WAF ルール検索

ルールのカテゴリー別フィルタリング

カテゴリー別のフィルタリングを行うことで、現在 WAF で設定されている異なるタイプのルールを表示できます。フィルターは組み合わせることが可能です。

  • Status フィルター: ログ、ブロック、または無効のルールモードでフィルターできます。
  • Publisher フィルター: ルールパブリッシャーでフィルターできます。現在サポートされているパブリッシャーには、OWASP、Trustwave、Fastly が含まれます。
  • Attack type フィルター: 攻撃タイプフィルターでは、特定の攻撃カテゴリーを保護する WAF で有効なルールを表示できます。

新しいルールを WAF に追加する

アプリケーションに対する攻撃パターンとリスクの変化に基づいて、新しいルールを WAF に追加することができます。検索ボックスの下に表示されるスコープフィルターで新しいルールを参照、検索、選択し、新しいルールを追加することができます。Include all フィルターを選択すると、現行ルールライブラリにあるすべてのルールが Rule View に表示されます。

ルールが閲覧可能になると、 検索ボックスを使用して特定のルール ID またはキーワードで検索できます。例えば、CVE-2017-9805 で公開された Apache Struts2 の脆弱性を狙った攻撃から保護したい場合、struts2 または RCE でルールを検索できます。

Include all selected が選択されたWAF ルール検索画面

Rule View は以下のように表示されます。

WAF rule view の結果

Details リンクを選択すると、ルールソースを表示できます。ルールが VCL で実行される方法についての詳細が表示されます。

Options を選択して、モードを Log または Block に変更することで、ルールを有効化できます。

ルールが有効であることを確認する

ルールモードを選択すると、ルールが Rule View の上部に表示されます。Include all フィルターの選択を解除し、StatusPublisher、または Attack type フィルターを使用して、ルールが WAF に追加されていることを確認できます。

ルールが追加されたことを確認したら、変更の有効化セクションの指示に従って変更をデプロイします。

変更の有効化

Fastly WAF のルール管理インターフェイスでは、潜在的な Web への攻撃発生時のルールの動作を左右するルールモードとしきい値の変更が可能です。ルールモード変更後、Activate (有効化) ボタンをクリックすることで、これらの変更を本番環境に適用できます。

Fastly WAF の有効化ボタン

Activate をクリックすると、変更の有効化を確認するメッセージが表示されます。Yes をクリックして続けます。

WAF ポリシーの実行

Fastly WAF がインバウンドリクエストを処理する際、スコアリングルールがまず実行され、その後にしきい値ルールが実行されます。アプリケーション固有ルールと Fastly ルールは最後に実行されます。

累積スコアが設定されたしきい値を超えた場合、しきい値ルールによってアクションが実行されます。しきい値カテゴリーとアクション条件の詳細については、しきい値ルールセクションの表を参照してください。

WAF プロセス

Back to Top