groupingKey 元素

通常,每個作用中的規則都有一個規則實例 (或複本) 在「主動式相互關聯技術」引擎中執行。然而,有時不同的事件群組會需要相同的規則,而這些事件群組通常與不同的資源群組有關。分組鍵是一或多個事件屬性,或事件屬性的一部分,可以用來將已選取的事件分隔成不同群組,以作為群組進行唯一處理。<groupingKey> 元素會定義規則的分組鍵。<groupingKey> 元素的目的是針對分享共用性質 (如包含分組鍵之屬性的值所定義) 的每個事件群組,指引規則來建立個別規則實例 (或其複本)。

詳細資訊

下列兩個實務範例說明分組鍵的重要性。

實務範例 1:
發生兩個事件,DB2down 事件及 DB2up 事件。DB2® 程式在名稱為 A、B 及 C 的三台電腦上執行。A 序列規則定義為讓 DB2down 事件與 DB2up 事件相互關聯,並在 DB2 程式停止及不重新啟動時警示操作員。

如果不使用分組鍵來定義序列規則,且從電腦 A 接收到 DB2down 事件,則來自任何電腦的 DB2up 事件都會完成該序列,但這不能達成預期的目的。然而,如果將分組鍵定義為 hostname 屬性,則會為已選取事件中 hostname 屬性的每個唯一值建立規則的唯一複本或實例。「主動式相互關聯技術」引擎會將每個事件傳送至正確的規則實例 (該事件之主機名稱值的規則實例)。因此,如果從電腦 A 接收到 DB2down 事件,則「主動式相互關聯技術」引擎會為電腦 A 建立規則實例。如果從電腦 B 接收到 DB2down 事件,則「主動式相互關聯技術」引擎會為電腦 B 建立第二個規則實例。當從電腦 B 接收到 DB2up 事件時,「主動式相互關聯技術」引擎會處理第二個規則實例中的該事件。序列完成,且因為來自電腦 B 的 DB2down 及 DB2up 事件已正確地相互關聯,所以會警示操作員。

實務範例 2:
Incorrect login attempted 訊息的事件在特定環境中的所有電腦上發生。事件包含使用者 ID。臨界值規則定義為如果此事件在 5 分鐘之內發生 10 次以上,則向操作員發出警告。

可將分組鍵定義為使用者 ID。然後,會為每個唯一使用者 ID 建立新的規則實例。在唯一臨界值規則實例中會追蹤每個使用者的登入嘗試,每個實例都具有該使用者登入嘗試數目的不同計數。如果任何使用者 ID 在 5 分鐘內不正確的登入 10 次以上,則操作員會接收到警告。

此方法的其他變化包括:
  • 可以將分組鍵定義為主機名稱而不是使用者 ID。此選項可以偵測單一電腦上大量不正確的登入嘗試。
  • 可以將分組鍵定義為主機名稱與使用者 ID 的組合。此選項可以偵測特定使用者 ID 對特定電腦可能進行的攻擊嘗試。

如果針對規則所指定的所有事件類型中包含相同的屬性,則使用 <attributeName> 元素是定義分組鍵之最簡單且常用的方法。

屬性

<groupingKey> 具有下列屬性:

表 1. <groupingKey> 元素的屬性
名稱 說明 資料類型 必要的嗎?
missingAttributeHandling 定義規則在下列任一條件下必須執行的動作:
  • 當已選取的事件具有參與分組鍵的屬性,但該屬性的值遺失時
  • 當 <computedValue> 元素中的表示式傳回空值時。規則會將此空值當作遺失的屬性值。
missingAttributeHandling 屬性的有效值為:
  • ignoreEvent (預設值),這表示規則會忽略事件,而不會對它執行任何動作。
  • ignoreAttribute,這表示規則會接受事件,但會忽略值已遺失的屬性。然後,「主動式相互關聯技術」引擎會包括屬性的替換值。
xsd:string

包含範圍

包含

<groupingKey> 包含下列元素。

表 2. <groupingKey> 元素中包含的元素
元素 必要的或選用的?
<attributeAlias> 下列其中一個元素是必要的。編碼下列多個元素是選用的。容許這三個元素出現多次。可以按任何次序編碼這些元素。
<attributeName>
<computedValue>