Les modules de sortie sont une nouveauté de la version
1.6. Ils permettent à SNORT d'être bien plus flexible dans le
formatage et la présentation des sorties à ses utilisateurs. Les
modules de sortie son exécutés quand les sous-systèmes
d'alerte ou de journalisation de SNORT sont appelés, après les
préprocesseurs et le moteur de détection. Le format des
directives dans le fichier de règles est très similaire à
celui des préprocesseurs.
Plusieurs plugins de sortie peuvent être
spécifiés dans le fichier de configuration de SNORT. Quand
plusieurs plugins du même type (journal, alert) sont
spécifiés, ils sont "empilés" et appelés en
séquence quand un événement se produit. Comme avec les
systèmes standards de journalisation et d'alerte, les plugins de sortie
envoient leurs données à /var/log/snort par défaut ou vers
un répertoire désigné par un utilisateur (en utilisant
l'option de la ligne de commande " l").
Liste des modules de sortie :
· Alerte syslog (Alert_syslog) ;
· Alerte rapide (Alert_fast) ;
· Alerte pleine (Alert_full) ;
53
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
· Alerte smb ;
· Alerte unixsock ;
· Log _tcpdump.
Les modules de sortie sont chargés au moment de
l'exécution en spécifiant le mot clé output
dans le fichier de règles : output <nom>:
<options>
SNORT permet d'écrire des règles personnelles
et utilise un langage simple et léger de description de règles
qui est flexible et assez puissant.
Les règles SNORT sont divisées en deux sections
logiques, l'entête de la règle et les options de la
règle.
L'entête de la règle : il contient comme
information l'action de la règle, le protocole, les adresses IP source
et destination, les masque réseaux et les ports source et
destination.
Option de la règle : contient les messages d'alerte et
les informations sur les parties du paquet qui doivent être
inspectées pour déterminer si l'action de la règle doit
être acceptée.
Figure 19.3: Les différents champs d'une
règle SNORT
? L'entête de règle
Le champ « action » : il peut prendre
plusieurs valeurs selon l'action à mener par
SNORT en détectant des paquets réseaux
répondant au critère définie dans la règles. Ces
valeurs sont les suivantes :
· alert : génère une alerte et log le paquet
;
· log : log le paquet ;
· pass : ignore le paquet ;
· activate : active une règle dynamique ;
· dynamic : définie une règle dynamique.
Le champ « Protocole » :
décrit le protocole utilisé pour la communication. Snort
supporte les protocoles TCP, UDP, ICMP et IP.
54
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
Les champs «Direction» : renseignent
Snort sur la direction des échanges réseau (->,
<-, < >).
Les champs «Adress/Port » :
décrivent les adresses IP et les ports des machines qui
échangent des données sur le réseau.
? Options
· Msg : affiche un message dans les
alertes et journalise les paquets ;
· Logto : journalise le paquet dans un
fichier nommé par l'utilisateur au lieu de la sortie standard ;
· Ttl : teste la valeur du champ TTL de
l'entête IP ;
· Tos : teste la valeur du champ TOS de
l'entête IP ;
· Id : teste le champ ID de fragment de
l'entête IP pour une valeur spécifiée ;
· Ipoption : regarde les champs des
options IP pour des codes spécifiques ;
· Fragbits : teste les bits de
fragmentation de l'entête IP ;
· Dsize : teste la taille de la charge du
paquet contre une valeur ;
· Flags : teste les drapeaux TCP pour
certaines valeurs ;
· Seq : teste le champ TCP de
numéro de séquence pour une valeur spécifique ;
· Ack : teste le champ TCP d'acquittement
pour une valeur spécifiée ;
· Itype : teste le champ type ICMP contre
une valeur spécifiée ;
· Icode : teste le champ code ICMP contre
une valeur spécifiée ;
· Icmp_id : teste le champ ICMP ECHO ID
contre une valeur spécifiée ;
· Icmp_seq : teste le numéro de
séquence ECHO ICMP contre une valeur spécifique ;
· Content : recherche un motif dans la
charge d'un paquet ;
· Content-list : recherche un ensemble de
motifs dans la charge d'un paquet ;
· Offset : modifie l'option content, fixe
le décalage du début de la tentative de correspondance de motif
;
· Depth : modifie l'option content, fixe
la profondeur maximale de recherche pour la tentative de correspondance de
motif ;
· Nocase : correspond à la
procédure de chaîne de contenu sans sensibilité aux
différences majuscules/minuscules ;
· Session : affiche l'information de la
couche applicative pour la session donnée ;
· Rpc : regarde les services RPC pour des
appels à des applications/procédures spécifiques :
55
YABOUI Frèse
Inspection du trafic pour la détection et la
prévention d'intrusions
· Resp : réponse active (ferme les
connexions, etc) ;
· React : réponse active (bloque
les sites web).