はじめに
Intrusion Policy 内の Limit/Threshold/Both 機能を用いる事で、任意 Rule により生成される Intrusion Event の数をコントロールすることが可能です。
本ドキュメントでは、当 Limit/Threshold/Both 機能の設定例と確認方法を紹介します。
本ドキュメントは、Cisco Firepower Management Center for VMWare バージョン 6.4.0、Cisco Firepower Threat Defense Virtual for VMware バージョン 6.4.0を用いて確認、作成しております。
構成例
本ドキュメントは、以下の構成で、動作確認例を紹介します。

設定例
Intrusion Policy のルールに制限(Limit/Threshold/Both)を設定することにより、当該ルールがトリガーされる際に、一定期間内に生成される Intrusion Event の数をコントロールできます。FMC の Policies > Intrusion > Intrusion Policy 箇所で、対象ルールを選択し、"Event Filtering" の "Threshold" 項目で詳細内容を設定できます。以下は SID 408 PROTOCOL-ICMP Echo Reply に対するルール制限の設定例です。

生成される Intrusion Event の数を制限するためのタイプは Limit、Threshold、Both の 3つが存在し、それぞれの違いは以下の通りです。
・Limit:指定された期間内で、対象ルールに対し、生成できる最大の Intrusion Event の数をコントロールする
・Threshold:指定された期間内で、対象ルールがトリガーされた回数は閾値を超えたたびに、1つの Intrusion Event を生成させるようにコントロールする
・Both:指定された期間内で、対象ルールがトリガーされた回数は閾値を超えた場合にのみ、1つの Intrusion Event を生成させるようにコントロールする
以下は制限のタイプを選択するための画面です。

Intrusion Policy のルールに制限を設定したい場合に、制限のタイプを指定した上で、以下の 3つ のパラメータを設定する必要があります。
・Track By:送信元 IP アドレスまたは宛先 IP アドレスのどちらによって追跡されるかを指定する(Source もしくは Destination を指定できる)
・Count:Intrusion Event の数をコントロールするための閾値を指定する
・Seconds:Intrusion Event の数をコントロールするための期間(秒数)を指定する
以下はパラメータを設定するための画面です。

制限(Limit/Threshold/Both)と抑制(Suppression)の違い
特定なルール(Signature)がトリガーされた際に、Limit/Threshold/Both 機能と Suppression 機能の両方とも、予め設定された基準に基づいて、実際に生成される Intrusion Event の数へのコントロールを実現できます。両機能の違いは以下の通りです。
・Limit/Threshold/Both:一定期間内に生成される Intrusion Event の数をコントロールします。
・Suppression:Intrusion Event の生成を抑制します。
Intrusion Policy の抑制(Suppression)機能の詳細については、Firepower System: Intrusion PolicyのSuppression機能を用いた Intrusion Event の抑制についてを参照ください。
Limitの動作確認例
特定なルール(Signature)に対して、120 秒以内に最大 2つ の Intrusion Event を生成させたい場合に、「Limit」の設定により実現できます。以下は Intrusion Policy 中の SID 408 PROTOCOL-ICMP Echo Reply によって ICMP パケット検知時に、「Limit」が設定された場合の動作を紹介します。
1. 対象ルール SID 408 PROTOCOL-ICMP Echo Reply の Rule State を Generate Events に設定します。

2. 対象ルール(SID 408)に対する制限を以下の通りに設定します。
- Type:Limit
- Track By:Source
- Count:2
- Seconds:120

3. 「Limit」を設定された後の SID 408 PROTOCOL-ICMP Echo Reply の行で Event filters のマークを確認できます。

4. Client A -> Server への ICMP トラフィックをヒットするための ACP(Access Control Policy) を作成し、対象 Intrusion Policy を呼び出すように設定します。

5. Client A -> Server への Ping を連続で 5回 実施します。

6. FMC の Intrusion Event 画面で、対象ルールに対して 2つ の Intrusion Event しか生成されていないことを確認できます。

Thresholdの動作確認例
特定なルール(Signature)に対して、120 秒以内に対象ルールがトリガーされた回数は 2 を超えたたびに、1つの Intrusion Event を生成させたい場合に、「Threshold」の設定により実現できます。以下は Intrusion Policy 中の SID 408 PROTOCOL-ICMP Echo Reply によって ICMP パケット検知時に、「Threshold」が設定された場合の動作を紹介します。
1. 対象ルール SID 408 PROTOCOL-ICMP Echo Reply の Rule State を Generate Events に設定します。

2. 対象ルール(SID 408)に対する制限を以下の通りに設定します。
- Type:Threshold
- Track By:Source
- Count:2
- Seconds:120

3. 「Threshold」を設定された後の SID 408 PROTOCOL-ICMP Echo Reply の行で Event filters のマークを確認できます。

4. Client A -> Server への ICMP トラフィックをヒットするための ACP(Access Control Policy) を作成し、対象 Intrusion Policy を呼び出すように設定します。

5. Client A -> Server への Ping を連続で 7回 実施します。

6. FMC の Intrusion Event 画面で、対象ルールに対して 3つ の Intrusion Event しか生成されていないことを確認できます。

Bothの動作確認例
特定なルール(Signature)に対して、120 秒以内に対象ルールがトリガーされた回数は 2 を超えた場合にのみ、1つの Intrusion Event を生成させたい場合に、「Both」の設定により実現できます。以下は Intrusion Policy 中の SID 408 PROTOCOL-ICMP Echo Reply によって ICMP パケット検知時に、「Both」が設定された場合の動作を紹介します。
1. 対象ルール SID 408 PROTOCOL-ICMP Echo Reply の Rule State を Generate Events に設定します。

2. 対象ルール(SID 408)に対する制限を以下の通りに設定します。
- Type:Both
- Track By:Source
- Count:2
- Seconds:120

3. 「Both」を設定された後の SID 408 PROTOCOL-ICMP Echo Reply の行で Event filters のマークを確認できます。

4. Client A -> Server への ICMP トラフィックをヒットするための ACP(Access Control Policy) を作成し、対象 Intrusion Policy を呼び出すように設定します。

5. Client A -> Server への Ping を連続で 7回 実施します。

6. FMC の Intrusion Event 画面で、対象ルールに対して 1つ の Intrusion Event しか生成されていないことを確認できます。

参考情報
https://www.cisco.com/c/en/us/td/docs/security/firepower/640/configuration/guide/fpmc-config-guide-v64/tuning_intrusion_policies_using_rules.html?bookSearch=true#ID-2237-000001c8