Morphologie d'une règle

Les parties les plus élémentaires d'une règle sont la sélection d'événement, la clé de groupement, la plage temporelle pour les règles avec état, la réponse à la règle, l'intervalle d'activation et les actions de cycle de vie. Une règle contient également des expressions et des variables. Une expression est un code qui comporte une logique personnalisée pouvant être ajoutée à une règle.

Sélection d'événement

Les critères de sélection d'événement déterminent les événements autorisés à être traités par la règle. L'élément <eventSelector> définit ces critères pour une règle. La sélection d'événement s'applique à toutes les règles, excepté celles qui sont définies par le modèle de temporisateur. La règle temporisée ne traitant pas d'événement, elle ne contient aucun critère de sélection d'événement.

Clé de groupement

Généralement, chaque règle active possède une instance de règle, ou copie, exécutée dans le moteur Active Correlation Technology. Cependant, une même règle est parfois nécessaire pour différents groupes d'événements souvent liés à différents groupes de ressources. La clé de groupement permet de conduire une règle à créer une instance de règle (ou une copie) pour chaque groupe d'événements possédant des caractéristiques communes.

Elle constitue une forme supplémentaire de sélection d'événement. Si une règle comportant une clé de groupement reçoit un événement qui possède la caractéristique définie par cette clé, cet événement est dirigé vers l'instance de règle correspondante. Par exemple, vous pouvez définir une règle qui collecte tous les événements de sécurité de type Audit Failure (Echec de l'audit) et spécifier que la clé de groupement doit être l'attribut de nom d'hôte d'un événement. Cette règle peut alors être utilisée plusieurs fois, chacune de ses copies étant exécutée pour chaque valeur unique de l'attribut de nom d'hôte. Vous pouvez également surveiller tous les systèmes qui reçoivent l'événement Audit Failure pour savoir si plus de 10 événements de ce type se produisent au cours d'un intervalle de 2 minutes pour chaque nom d'hôte.

L'élément <groupingKey> définit la clé de groupement d'une règle, et est valide dans les règles définies par les modèles de collecte, de calcul, de duplication, de séquence et de seuil.

Plage temporelle pour les règles avec état

Les règles avec état corrèlent plusieurs événements produits au cours d'une certaine période. La plage temporelle, définie par l'élément <timeWindow>, constitue ainsi une partie élémentaire d'une règle avec état. Elle spécifie la période au cours de laquelle la règle avec état effectue des traitements pour correspondre à son modèle.

Réponse à la règle

Les actions de réponse à la règle définissent les actions à appliquer lorsque la règle a achevé ses opérations de traitement. Chaque élément de langage suivant définit un type différent d'action de réponse à la règle :
  • <action> dans <onDetection>
  • <action> dans <onNextEvent>
  • <action> dans <onTimeOut>
  • <action> dans <onTimeWindowComplete>
Les types d'actions de réponse à la règle disponibles pour une règle dépendent du modèle de règle.

Intervalle d'activation

L'intervalle d'activation définit le moment où une règle est active ou inactive. L'élément <activationInterval> définit l'intervalle d'activation d'une règle.

Une règle peut être activée ou désactivée à un moment précis dans le temps ou sous l'effet d'un événement spécifique.

Si vous spécifiez qu'une règle doit être activée ou désactivée à un moment précis dans le temps et sous l'effet d'un événement spécifique, cette règle sera alors activée ou désactivée par ce qui survient en premier, à savoir le moment précis dans le temps ou la réception de l'événement. Toutefois, la règle peut dans ce cas être activée ou désactivée par une multitude d'événements tout au long de son cycle de vie. Par exemple, elle peut être activée par un événement, désactivée, activée à un moment défini dans le temps, désactivée à nouveau, puis activée par un autre événement.

L'élément <activationByGroupingKey> est contenu dans l'élément <activationInterval>. Il contient des éléments qui spécifient les événements pouvant activer et désactiver une instance de règle définie par <groupingKey>.

Actions de cycle de vie

Les actions de cycle de vie définissent les actions à appliquer lors de ces quatre étapes principales du cycle de vie d'une règle : chargement, activation, désactivation et déchargement.

<lifeCycleActions> contient les éléments suivants, qui définissent ces actions :
  • <action> dans <onLoad>
  • <action> dans <onActivation>
  • <action> dans <onDeactivation>
  • <action> dans <onUnload>