Éléments des fichiers de règles

Élément de configuration | Remarques |
---|---|
<var name="FREQ">8</var> |
Déclaration de constantes en haut de fichier. |
<group name="..."> <rule ...> … </rule> </group> |
Les éléments <rule> doivent être sous un élément <group>. L’attribut name est obligatoire et se termine par une virgule. Sert à classifier les règles se trouvant dans le groupe. |
<rule id="123456"> | L’attribut id d’une règle est obligatoire, compris entre 1 et 999999. |
<rule overwrite="yes|no"> | Permet de s’affranchir de l’unicité de l’attribut id ; remplace une règle précédemment définie. |
<rule level="0..15"> | Obligatoire. Associe un niveau de gravité à la règle ; les règles de niveau 0 sont évaluées en priorité sur les autres. |
<rule accuracy="0"> | Permet de rendre toutes les règles dotées de cet attribut moins prioritaires que les autres. |
<rule maxsize="0..9999"> | Permet à la règle de ne s’appliquer qu’à des logs dont le message a une longueur au moins égale à la valeur de cet attribut. |
<rule timeframe="..." frequency="..."> | Déclare une règle composite, se déclenchant si un événement survient plusieurs fois dans un laps de temps donné. |
<rule noalert="..."> | Considère qu'une règle n'est pas applicable si aucune règle enfant ne l'est. |
<rule ignore="..."> | Inhibe la règle pendant un certain nombre de secondes après un déclenchement. |
<rule id="..." level="..."> <decoded_as>...</decoded_as> </rule> |
Indique le décodeur de 1ᵉʳ niveau (ou de 2ᵈ niveau utilisant l’option use_own_name) qui doit avoir été utilisé pour le message. SES Evolution supporte les noms de décodeurs de tous les niveaux et ignore l’option use_own_name. |
<rule id="..." level="..."> <if_sid>...</if_sid> </rule> |
Relie une règle à une règle parente par ID de règle. |
<rule id="..." level="..."> <if_group>...</if_group> </rule> |
Relie une règle à des règles parentes par nom de groupe. |
<rule id="..." level="..."> <if_level>...</if_level> </rule> |
Relie une règle à des règles parentes par niveau de gravité minimal. |
<rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/avancée/PCRE2/PCRE2 portant sur le message de log, afin de déterminer si la règle correspond. NOTE
|
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ décodé srcuser, ou, à défaut, sur le champ décodé dstuser, afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Spécification d’adresses IPv4 ou IPv6 (adresses individuelles, plages, réseau avec longueur de masque) comparées aux champs srcip ou dstip afin de déterminer si la règle correspond. Il est possible de mettre une spécification en négatif en la préfixant par un point d’exclamation. |
<rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> |
Expressions régulières OSSEC simple/PCRE2 portant sur les champs décodés srcport et dstport afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ décodé id afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ décodé status afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ (pré)décodé hostname afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ décodé data afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ (pré)décodé program_name afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Expression régulière OSSEC simple/PCRE2 portant sur le champ décodé url afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <action>...</action> </rule> |
Valeur exacte comparée avec le champ décodé action afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <field name="...">...</field> </rule> |
Expression régulière OSSEC avancée portant sur le champ décodé nommé, afin de déterminer si la règle correspond. |
<rule id="..." level="..."> <time>...</time> </rule> |
Spécifie une plage horaire d’applicabilité de la règle. Les formats supportés par OSSEC sont supportés. EXEMPLE
SES Evolution utilise le fuseau horaire du système pour évaluer l’heure locale. |
<rule id="..." level="..."> <weekday>...</weekday> </rule> |
Spécifie des jours de la semaine d’activation de la règle. Les formats supportés par OSSEC sont supportés. EXEMPLE
SES Evolution utilise le fuseau horaire du système pour évaluer l’heure locale (et donc le jour). |
<rule id="..." level="..."> <rule id="..." level="..."> |
Décrit la règle en l’associant à une vulnérabilité connue. |
<rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> |
Décrit la règle à l’aide d’un texte, un lien ou un item Open Source Vulnerability Database. SES Evolution ne supporte qu’un seul item de chaque type pour une même règle. |
<rule id="..." level="..."> <group>...</group> </rule> |
Ajoute des groupes d’appartenance à la règle en plus de ceux spécifiés dans le nœud <group> parent de la règle. |
<rule id="..." level="..."> <description>...</description> </rule> |
Description obligatoire de l’événement caractérisé par la règle. SES Evolution utilise cette description dans le résumé de log affiché sur l’agent et la console. |
<rule id="..." level="..."> <category>...</category> </rule> |
Relie la règle à un des types de décodeurs. Option utilisée pour les règles 1 à 7 dans le fichier rules_config.xml. |
<rule id="..." level="..."> <if_fts/> </rule> |
Rend la règle opérante uniquement si un décodeur a détecté (avec option fts) qu’un ensemble de champs portait des valeurs vues ensemble pour la première fois. |
<rule id="..." level="..."> <rule id="..." level="..."> |
Permet de mettre des ensembles de valeurs de champs dans un cache, puis qu’une autre règle, par la suite, soit désactivée pour les mêmes ensembles de valeurs. |
<rule id="..." level="..."> <check_diff/> </rule> |
Permet d’ignorer deux logs identiques successifs. |
<rule id="..." level="..." frequency="..." timeframe="..."> <if_matched_regex>...</if_matched_regex> </rule> |
Permet à une règle composite de se déclencher si plusieurs logs émis récemment peuvent être caractérisés par une expression régulière OSSEC avancée. |
<rule id="..." level="..." frequency="..." timeframe="..."> <if_matched_group>...</if_matched_group> </rule> |
Permet à une règle composite de se déclencher si plusieurs logs émis récemment ont été caractérisés par une règle dans un groupe donné. |
<rule id="..." level="..." frequency="..." timeframe="..."> <if_matched_sid>...</if_matched_sid> </rule> |
Permet à une règle composite de se déclencher si plusieurs logs émis récemment ont été caractérisés par une règle ayant un identifiant donné. |
<rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> |
Permet à une règle composite de se déclencher si l’on trouve plusieurs logs partageant le même champ srcip, srcport, dstport, id ou user. |
<rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> |
Permet à une règle composite de se déclencher si l’on trouve plusieurs logs ayant des valeurs distinctes pour le même champ srcip, url. |

Élément de configuration | Supporté | Remarques |
---|---|---|
<rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> <rule id="..." level="..."> |
Non | SES Evolution n’utilise pas la bibliothèque libgeoip. |
<rule id="..." level="..."> <list lookup="..." field="...">...</list> </rule> |
Non |
Recherche rapide d’un champ dans une base de données au format CDB. SES Evolution n’utilise pas la bibliothèque CDB. |
<rule id="..." level="..."> <compiled_rule>...</compiled_rule> </rule> |
Partiel |
Permet de compiler ses propres règles pour des besoins spécifiques. SES Evolution supporte la fonction is_simple_http_request qui sert d’exemple mais est utilisée dans les jeux de règles standard. |
<rule id="..." level="..."> <options>...</options> </rule> |
Partiel | SES Evolution supporte uniquement l’option no_log ; les alertes par e-mail ou réponses actives ne sont pas supportées |
<rule id="..." level="..." frequency="..." timeframe="...">
<rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> |
Non | Options OSSEC inutiles dans le cadre d’une configuration ayant pour seul effet d’annuler une option <same_...> précédemment écrite dans la même règle : il est conseillé d’enlever l’option précédente. |
<rule id="..." level="..." frequency="..." timeframe="..."> <rule id="..." level="..." frequency="..." timeframe="..."> |
Non | SES Evolution effectue l’analyse et la corrélation de logs au niveau de l’agent et non au niveau du serveur. En conséquence il n’est pas possible de corréler des logs d’agents multiples ; ces options sont donc ignorées. |
<rule id="..." level="..." frequency="..." timeframe="..."> <different_srcgeoip/> </rule> |
Non | SES Evolution n’utilise pas la bibliothèque libgeoip. |