Attack Signature Detection のフィールドを使うと、Security Rules が一致したトラフィックに対して動作できます。検出フィールドだけではアクションは適用されません。
- Security Analytics > Attack Analysis で、過去の一致を確認します。
- 信頼度、カテゴリ、シグネチャ Ref のいずれで一致させるかを選びます。
- 対象のホスト名、パス、メソッド、エンドポイントにルールの範囲を絞ります。
- 確認したトラフィックに適したアクションを選びます。
- 結果を監視し、正当なトラフィックに影響がある場合は式を調整します。
セキュリティの目的を満たす範囲で、できるだけ狭い適用範囲から始めます。信頼度の低いシグネチャは、広くブロックするのではなく、アプリケーション固有の確認候補として扱います。
これらのフィールドは、ダッシュボードまたは API で作成する Security Rules で使えます。ルール作成の手順は、ダッシュボードでカスタムルールを作成する または API でカスタムルールを作成する を参照してください。
次の式は、SQL インジェクションのカテゴリに一致します。
any(cf.waf.signature.request.categories[*] eq "sqli")特定の CVE カテゴリを含め、別のカテゴリでも同じ配列式を使えます。アクションを選ぶ前に、過去の一致を確認してください。
次の式は、信頼度の高いシグネチャに一致します。
any(cf.waf.signature.request.confidence[*] eq "high")信頼度の低いシグネチャに一致させるには、high を low に置き換えます。信頼度ごとに別ルールを作り、異なるアクションを適用できます。
次の式は、特定のシグネチャ Ref に一致します。
any(cf.waf.signature.request.refs[*] eq "d68f8101f6e14e25aefcaea69c530a29")Ref は、対応する Managed Rule の公開 Rule ID と同じ値です。この対応を使って、Managed Rules の設定と突き合わせます。
ルールビルダーで、シグネチャ条件とリクエストのプロパティを組み合わせます。ホスト名、パス、メソッドなどのプロパティを使い、緩和対象を影響のあるアプリケーション面に限定します。
既知の誤検知がある場合は、正当なエンドポイントを緩和対象から外します。アプリケーションの残りの部分は保護したままにします。デプロイ前に、ルールビルダーで組み合わせた式を検証してください。
Attack Signature Detection と Managed Rules のあいだに、特別な連携はありません。検出フィールドを使う Custom Rule は、通常の Custom Rules の順序に従います。
終端アクションはそのルールでリクエスト処理を止めます。Managed Rules は同じリクエストを評価しません。終端しない Log アクションなら、処理は Managed Rules まで続きます。
トラフィックを変えずに 2 つの製品を比較するには、次の手順を行います。
- 関連する検出フィールドを参照する Custom Rule を作成します。
- Custom Rule のアクションに Log を選びます。
- 対応する Managed Rules の保護は Block モードのままにします。
- Security Events で、ログに残った検出の一致と Managed Rules のブロックを比較します。
重複する扱いを足す前に、Managed Rules がそのトラフィックをすでに緩和しているかを確認します。アプリケーションのリリース後や、トラフィックが大きく変わったあとは、Security Rules を再確認してください。
フィールドの種類と Logpush の対応は、Attack Signature Detection のフィールド を参照してください。