규칙의 구조

규칙의 가장 기본 파트는 이벤트 선택, 그룹화 키, 상태 규칙의 시간 창, 규칙 응답, 활성화 간격 및 수명 주기 조치입니다. 규칙에는 또한 표현식 및 변수가 포함됩니다. 표현식은 규칙에 추가할 수 있는 사용자 정의 논리가 포함되어 있는 코드입니다.

이벤트 선택

이벤트 선택 기준은 규칙이 어떤 이벤트를 처리하기 위해 승인할지를 판별합니다. <eventSelector> 요소는 규칙의 이벤트 선택 기준을 정의합니다. 이벤트 선택은 타이머 패턴이 정의한 규칙을 제외한 모든 규칙에 적용됩니다. 타이머 규칙은 이벤트를 처리하지 않으므로 이벤트 선택기준이 포함되어 있지 않습니다.

그룹화 키

일반적으로 각 활성 규칙에는 ACT(Active Correlation Technology) 엔진에서 실행 중인 하나의 규칙 인스턴스 또는 사본이 있습니다. 그러나 때로는 종종 다른 자원 그룹과 관련되는 다른 이벤트 그룹에 동일한 규칙이 필요하기도 합니다. 그룹화 키는 규칙에게 공통 특성을 공유하는 각 이벤트 그룹마다 별도의 규칙 인스턴스(또는 사본)를 작성하도록 지시하는 방법입니다.

그룹화 키는 추가적인 이벤트 선택 양식의 역할을 합니다. 규칙이 그룹화 키를 사용하여 정의된 경우, 규칙이 그룹화 키로 정의된 특성이 있는 이벤트를 받으면, 이벤트는 해당 특성을 공유하는 이벤트를 처리하는 규칙 인스턴스로 전송됩니다. 예를 들어 Audit Failure 유형의 모든 보안 이벤트를 수집하고 이벤트의 호스트 이름 속성이 될 그룹화 키를 정의하는 규칙을 정의할 수 있습니다. 이제 규칙은 호스트 이름 속성의 각 고유값에 대해 실행 중인 규칙의 개별 사본과 함께 여러 번 사용할 수 있습니다. 또한 Audit Failure 이벤트를 받는 모든 시스템을 모니터하여 이러한 이벤트가 각 호스트 이름당 2분의 기간 동안 11차례 이상 발생하는지 여부를 판별할 수도 있습니다.

<groupingKey> 요소는 규칙의 그룹화 키를 정의하며, 콜렉션, 계산, 중복, 연속 및 임계값 패턴으로 정의되는 규칙에만 사용할 수 있습니다.

상태 규칙의 시간 창

정직 규칙은 특정 기간 동안 발생하는 여러 이벤트를 상호 관련시키므로 상태 규칙의 기본 파트는 <timeWindow> 요소로 정의되는 시간 창입니다. 시간 창은 상태 규칙이 패턴을 일치시키기 위해 처리 중인 기간을 지정합니다.

규칙 응답

규칙 응답 조치는 규칙이 처리를 완료할 때 수행할 조치를 정의합니다. 다음 각 언어 요소는 규칙 응답 조치의 여러 다른 유형을 정의합니다.
  • <onDetection> 내의 <action>
  • <onNextEvent> 내의 <action>
  • <onTimeOut> 내의 <action>
  • <onTimeWindowComplete> 내의 <action>
규칙에 사용 가능한 규칙 응답 조치의 유형은 규칙 패턴에 따라 다릅니다.

활성화 간격

활성화 간격은 규칙이 활성 및 비활성인 시기를 정의합니다. <activationInterval> 요소는 규칙의 활성화 간격을 정의합니다.

규칙은 개별 지정 시간에 또는 특정 이벤트에 의해 활성화하거나 비활성화할 수 있습니다.

규칙을 개별 지정 시간에 특정 이벤트에 의해 활성화되거나 비활성화되도록 지정한 경우 규칙은 지정 시간 또는 이벤트 수신 중 먼저 발생하는 조건에 의해 활성화되거나 비활성화됩니다. 그러나 이 경우 규칙은 전체 수명 주기 동안 여러 이벤트에 의해 활성화되거나 비활성화될 수 있습니다. 예를 들어 규칙은 이벤트에 의해 활성화되고, 비활성화되고, 정의된 지정 시간에 활성화되고, 다시 비활성화된 다음 다른 이벤트에 의해 활성화될 수도 있습니다.

<activationByGroupingKey> 요소는 <activationInterval> 요소 내에 포함된 한 요소입니다. <activationByGroupingKey> 요소에는 <groupingKey> 요소로 정의되는 규칙 인스턴스를 활성화하고 비활성화할 수 있는 이벤트를 지정하는 요소가 포함되어 있습니다.

수명 주기 조치

수명 주기 조치는 규칙의 수명 주기의 네 가지 기본 단계인 로드, 활성화, 비활성화 및 로드 해제 시에 취할 조치를 정의합니다.

<lifeCycleActions> 요소에는 이러한 조치를 정의하는 다음과 같은 요소가 포함되어 있습니다.
  • <onLoad> 내의 <action>
  • <onActivation> 내의 <action>
  • <onDeactivation> 내의 <action>
  • <onUnload> 내의 <action>