Fastly WAF ルール管理インターフェイス
最終更新日 2020-07-14
2020年7月13日をもって、Fastly がこれまで提供してきた WAF はレガシー (旧) 製品となりました。旧バージョンをご使用のすべての既存のお客様は、引き続きサポートをご利用いただけます。Fastly Next-Gen WAF (powered by Signal Sciences) は、お客様のアプリケーションやオリジンサーバーに対する疑わしい異常な Web トラフィックをプロアクティブに監視し、お客様のシステムを保護します。いずれも、コントロールパネルのダッシュボードまたはアプリケーション・プログラミング・インターフェイス (API) を介してコントロールできます。Fastly Next-Gen WAF 製品をご検討、またはそれらへの移行に興味がおありの場合は、japan@fastly.com または Fastly のアカウントチームまでお問い合わせください。
Fastly WAF ルール管理インターフェイスにより、Fastly サービスに関連する WAF で有効なルールの可視性の取得と管理が可能です。エンジニアまたはスーパーユーザーの役割が割り当てられている場合、ルール管理インターフェイスを使用して、WAF ルールの詳細の確認、ルール ID やカテゴリーによる検索やフィルター、しきい値やスコアの管理、ルールモードの変更、変更内容の本番環境への反映などを行うことができます。
制約事項
現在、Fastly WAF ルール管理インターフェイスには以下の制限があります。
- しきい値ルールを無効にできますが、これは推奨されません。WAF から保護カテゴリーが失われるため、これらの無効化はお勧めしません。
- ロールバックや、個々のルールモードの変更を取り消すことはできません。ルールモードを誤って変更した場合、そのルールをオリジナルモードに変更する必要があります。本番環境の WAF に対する変更の詳細については、変更のデプロイセクションを参照してください。
このインターフェイスでは、本番サービスのルール モードを変更できます。しきい値を下げたり、ログからブロックにルールモードを変更すると、誤検知の原因となる可能性があります。
Fastly WAF ルール管理インターフェイスへのアクセス
WAF ダッシュボードから Fastly WAF ルール管理インターフェイスにアクセスできます。Fastly WAF ルール管理インターフェイスにアクセスするには、以下の手順に従ってください。
-
Fastly コントロールパネルにログインします。Home ページが表示されます。
- 一覧からサービスを選択し、WAF リンクをクリックしてください。WAF summary ページが表示されます。
-
Manage Rules リンクをクリックします。Manage rules ページが表示されます。
Fastly WAF ルール管理インターフェイスの使用
Fastly WAF ルール管理インターフェイスでは、選択した Fastly サービスに関連する WAF で現在有効になっているルールが表示されます。ルールを有効化していない場合や WAF にルールが表示されない場合は、support@fastly.com までご連絡下さい。
Fastly WAF ルール管理インターフェイスは、以下のメインセクションで構成されています。
WAF のステータスバー
ステータスバーには、WAF のステータスの概要が表示されます。
- ステータスインジケータ: WAF がご利用のサービスで有効化され、オリジンを保護している場合、Active (緑) と表示されます。
- WAF ID: WAF ID が表示され、クリップボードにその ID をコピーすることが可能です。 Fastly WAF API にアクセスする際に WAF ID が使用されることがあります。
- 略称ルール概要: アクティブルールと関連するモードが表示されます。
- デプロイ日: このサービスで有効化されている WAF ルールから生成された VCL を含む、前回サービスがデプロイされた日時 (UTC) が表示されます。
ルールビュー
ルールビューでは、WAF で現在有効になっているすべてのルールのリストと関連するモードが表示されます。ルールには、スコアリングルール、しきい値ルール (脅威カテゴリーとも呼ばれます)、アプリケーション固有ルールの 3 種類があります。
ルールには、ルール名、タグ、リビジョンインジケーター、ルール ID、モードセレクター、および詳細リンクが含まれます。リビジョンインジケーターは、ルールが改訂されているかどうかを示します。改訂されたルールは、前バージョンよりも保護機能が強化されている場合があります。
スコアリングルール
スコアリングルールは、受信した HTTP リクエストで検出された異常に基づいてスコアを増加させ、しきい値のルールは、その合計を適切なしきい値に設定された値と照合します。スコアリングルールの例は以下のとおりです。
Fastly では、4つのルールカテゴリーに対してデフォルトの異常スコアが設定されています。HTTP リクエストがあるカテゴリーのルールに該当すると、その数値がそのカテゴリーの合計スコアに追加されます。すべてのルールのスコア合計が、その HTTP リクエストの異常スコアになります。例えば、ある HTTP リクエストがクリティカルルールとエラールールに該当し、クリティカル異常スコアが 6 に設定され、エラー異常スコアが 5 に設定されている場合、その HTTP リクエストの異常スコアは 11 です。
異常スコアの値の変更はお勧めしません。代わりに、Thresholds and Scores ページでしきい値を変更することを推奨します。
スコアリングルールには2種類のモードがあります。
- Scoring: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、対応するしきい値ルールの設定に基づいてスコアを加算し、その結果を現在設定されているログプロバイダーに記録します。しきい値ルールについては、しきい値ルールのセクションを参照してください。
- Disabled: このモードは、ルールが無効化されていることを意味します。このルールで検出された脅威は、合計異常スコアに含まれず、結果はログに記録されません。
Details リンクをクリックすると、ルールの形式が Apache ModSecurity 形式と、対応する生成された VCL で表示されます。
生成された VCL には、Apache ModSecurity 言語から VCL への一般的な変換が表示されます。ここに表示される VCL には、設定値に基づいてルールが異常スコアを加算する方法は示されません。
しきい値ルール
しきい値ルールは、Web アプリケーションまたは API に対する特定の攻撃カテゴリーを対象とします。しきい値ルールの例は以下のとおりです。
しきい値ルールには、カテゴリー名、リビジョンインジケーター、タグ、ルール ID、モードセレクター、および詳細リンクが含まれます。
しきい値ルールはアクションを実行し、クライアント HTTP リクエストをログに記録、またはブロックしてログに記録します。これらのルールは、スコアが所定のしきい値を超えるとアクションを実行します。各カテゴリーに対応するしきい値は、Thresholds and Scores ページで設定します。
しきい値を下げることで 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 インジェクションしきい値 | ログまたはブロック & ログ |
しきい値ルールを無効化すると、WAF からその保護カテゴリー全体が削除されます。しきい値ルールを無効化する場合はご注意ください。
アプリケーション固有ルール
アプリケーション固有ルールは、特定のライブラリ、フレームワーク、コンポーネントのコンテキストで特定の脆弱性を利用しようとするシグネチャを検索します。これらのルールは即座にアクションを実行します。アプリケーション固有ルールには3種類のモードがあります。
- ログモード: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、リクエストがルールの条件に完全に一致した場合に結果をログに記録します。結果が現在設定されているログプロバイダーに記録されます。
- ブロックモード: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、HTTP リクエストをブロックし、オリジンに送信されるのを防ぎます。ブロックモードのルールでも、現在設定されているログプロバイダーに結果が記録されます。
- 無効モード: このモードは、ルールが無効化されていることを意味します。HTTP リクエストがルールに該当しても、オリジンに直接送信されます。
ルール検索
ルール検索ボックスでは、ルール ID またはキーワードを使用して特定のルールを検索できます。結果は Rule View に表示されます。
キーワード検索では、ルールソースに特定のクエリ文字列を含むルールを検索できます。例えば、 java
、 php
、loic
または ddos
のようなキーワードを含むルールを検索できます。キーワード検索では、ルールの mod_security ソースとクエリ文字列が比較されます。
Include all と Exclude applied フィルターを使用して、検索範囲をコントロールできます。Include all を選択すると、WAF で現在アクティブなルールだけでなく、ルールライブラリ全体に検索範囲が拡大されます。Exclude applied を選択すると、現在 WAF でアクティブではないライブラリーのルールのみが検索されます。
カテゴリーフィルター
カテゴリーフィルターでは、現在 WAF で設定されているさまざまなタイプのルールを表示できます。フィルターは組み合わせることが可能です。
- Status フィルター: ログ、ブロック、または無効のルールモードでフィルターできます。
- Publisher フィルター: ルールパブリッシャーでフィルターできます。現在サポートされているパブリッシャーには、OWASP、Trustwave、Fastly が含まれます。
ヒント
Publisher フィルターを使用して OWASP を選択すると、スコアリングモードのすべてのルールが表示されます。
- Attack type フィルター: 特定のカテゴリーの攻撃から保護する WAF で有効なルールを表示できます。
しきい値とスコア
Thresholds and scores ページではしきい値とその他の OWASP セキュリティポリシーの設定を行うことができます。Thresholds and Scores リンクをクリックすると、これらの設定にアクセスできます。
このページではしきい値とスコアに関する WAF の感度を調整できます。
新しいルールを WAF に追加する
アプリケーションに対する攻撃パターンとリスクの変化に基づいて、新しいルールを WAF に追加することができます。検索ボックスの下に表示される Scope フィルターを使用して新しいルールを参照、検索、選択し、WAF に追加できます。Include all フィルターを選択すると、現行ルールライブラリにあるすべてのルールが Rule View に表示されます。
Include all を選択すると、現在アクティブなルールよりもはるかに多くのルールが表示されます。ページネーションにより、ルールベースを参照できます。
ルールが閲覧可能になると、検索ボックスを使用して特定のルール ID またはキーワードで検索できます。例えば、CVE-2017-9805 で公開された Apache Struts2 の脆弱性を狙った攻撃から保護したい場合、struts2
または RCE
でルールを検索できます。
Rule View は以下のように表示されます。
Details リンクを選択すると、ルールソースを表示できます。これにより、ルールが VCL で実行されるプロセスに関する詳細を確認できます。
Options を選択して、モードを Log only または Block に変更することで、ルールを有効化できます。
OWASP ルールでは、Scoring と Disabled のモードのみ利用可能です。新しい OWASP ルールを有効化するには、Scoring を選択します。
ルールが有効であることを確認する
ルールモードを選択すると、ルールが Rule View の上部に表示されます。Include all フィルターの選択を解除し、Status、Publisher、または Attack type フィルターを使用して、ルールが WAF に追加されていることを確認できます。
ルールが追加されたことを確認したら、変更のデプロイセクションの指示に従って変更内容をデプロイします。
WAF ポリシーの実行
Fastly WAF がインバウンドリクエストを処理する際、スコアリングルールがまず実行され、その後にしきい値ルールが実行されます。アプリケーション固有ルールと Fastly ルールは最後に実行されます。
累積スコアが設定されたしきい値を超えた場合、しきい値ルールによってアクションが実行されます。しきい値カテゴリーとアクション条件の詳細については、しきい値ルールのセクションの表を参照してください。
変更のデプロイ
Fastly WAF ルール管理インターフェイスでは、潜在的な Web アプリケーション攻撃に直面した際、ルールモードとしきい値を変更することで、ルールの動作を変更できます。ルールモードの変更後、Deploy ボタンをクリックしてこれらの変更を本番環境に反映できます。
Deploy をクリックすると、変更をデプロイするかどうかを尋ねる確認メッセージが表示されます。Yes をクリックしてデプロイを実行します。
デプロイが完了すると、デプロイボタンの下に表示された日付を確認することで、変更がデプロイされたことを確認できます。
Deploy ボタンを選択しないと WAF への変更は実行されません。