Fastly WAFルール管理インターフェースについて(オリジナル)
最終更新日 2020-07-14
重要
発表の通り、本日、Fastly WAF (WAF Legacy および WAF 2020) は正式に廃止されました。 Fastly 次世代 WAF も同様の機能を提供します。疑わしい Web トラフィックや異常な Web トラフィックを監視し、指定したアプリケーションやオリジン サーバーに向けられた攻撃からリアルタイムで保護します。
Fastly WAF ルール管理インターフェイスでは、Fastly サービスに関連する WAF で有効化されたルールを可視化・管理することができます。エンジニアまたはスーパーユーザーの役割を割り当てられた場合、ルール管理インターフェイスを使用して、WAF ルールの詳細の検査、ルール ID またはカテゴリによる検索とフィルタリング、閾値とスコアの管理、ルールモードの変更、および変更を本番環境に導入することができます。
制約事項
現在、Fastly WAF ルール管理インターフェイスには以下の制限があります。
- しきい値ルールを無効にできますが、これは推奨されません。WAF から保護カテゴリーが失われるため、これらの無効化はお勧めしません。
- ロールバックや、個々のルールモードの変更を取り消すことはできません。ルールモードを誤って変更した場合、そのルールをオリジナルモードに変更する必要があります。本番環境の WAF に対する変更の詳細については、変更のデプロイセクションを参照してください。
重要
このインターフェイスでは、本番サービスのルールモードを変更できます。しきい値を下げたり、ログからブロックにルールモードを変更すると、誤検知の原因となる可能性があります。
Fastly WAF ルール管理インターフェイスへのアクセス
WAF ダッシュボードから Fastly WAF ルール管理インターフェイスにアクセスできます。Fastly WAF ルール管理インターフェイスにアクセスするには、以下の手順に従ってください。
- Fastly コントロールパネルにログインします。Home ページには、アカウントに関連するすべてのサービスのリストが表示されます。
- 一覧からサービスを選択し、WAF リンクをクリックしてください。WAF サマリーページが表示されます。
- Manage Rules リンクをクリックします。Manage rules ページが表示されます。
Fastly WAF ルール管理インターフェイスの使用
Fastly WAF ルール管理インターフェイスでは、選択した Fastly サービスに関連する WAF で現在有効になっているルールが表示されます。ルールを有効化していない場合やWAFにルールが表示されない場合は、サポートチームまでご連絡ください。
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 リクエストの異常スコアになります。例えば、クリティカル異常スコアが 6 点、エラー異常スコアが 5 点に設定されているとします。HTTP リクエストがクリティカルルールとエラールール両方と一致した場合、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種類のモードがあります。
- ログモード: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、リクエストがルールの条件に完全に一致した場合に結果をログに記録します。結果が現在設定されているログプロバイダーに記録されます。
- Blocking Mode: このモードは、ルールがアクティブで脅威の特定を目的としていることを意味します。このモードのルールは、HTTP リクエストをブロックし、オリジンに送信されるのを防ぎます。ブロックモードのルールでも、現在設定されているログプロバイダーに結果が記録されます。
- Disabled: このモードは、ルールが無効化されていることを意味します。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 に追加することができます。検索ボックスの下に表示されるスコープフィルターで新しいルールを参照、検索、選択し、新しいルールを追加することができます。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への変更は実行されません。