Tuto Snort - Config
Tuto Snort - Config
Tuto Snort - Config
C l u b d e l a s é c ur i t é i n f o r m at i q ue
I N S A T
Atelier IDS
Snort
Outil de Détection d’intrusion
Introduction
Les systèmes de détection d’intrusion ou IDS pour (Intrusion Detection System) sont
indispensables pour la sécurité du réseau, ils permettent (comme leur nom l’indique) de détecter
les tentatives d’intrusions, et ceci en se basant sur une base de signatures des différentes attaques
connues, donc leur fonctionnement est semblable à celui des anti-virus.
Snort
Snort est un système de détection d'intrusions réseau en Open Source, capable d'effectuer
l'analyse du trafic en temps réel. On l'utilise en général pour détecter une variété d'attaques et de
S E C U R I N E T S
Club de la sécurité informatique
I N S A T
www.securinets.com
Tel : 20322191
S E C U R I N E T S
C l u b d e l a s é c ur i t é i n f o r m at i q ue
I N S A T
scans tels que des débordements de tampons, des scans de ports furtifs, des attaques CGI, des
scans SMB, des tentatives d'identification d'OS, et bien plus.
Snort permet d’analyser le trafic réseau, il peut être configuré pour fonctionner en plusieurs
modes :
§ Le mode sniffer : dans ce mode, SNORT lit les paquets circulant sur le réseau et les
affiche d’une façon continue sur l’écran
§ Le mode « packet logger » : dans ce mode SNORT journalise le trafic réseau dans des
répertoires sur le disque
§ Le mode détecteur d’intrusion réseau (NIDS) : dans ce mode, SNORT analyse le trafic
du réseau, compare ce trafic à des règles déjà définies par l’utilisateur et établi des
actions à exécuter
§ Le mode Prévention des intrusions réseau (IPS) : c’est SNORTinline.
Snort (l’architecture)
S E C U R I N E T S
Club de la sécurité informatique
I N S A T
www.securinets.com
Tel : 20322191
S E C U R I N E T S
C l u b d e l a s é c ur i t é i n f o r m at i q ue
I N S A T
Après la détection d’intrusion, une série de « output plugins » permet de traiter cette intrusion
de plusieurs manières : envoie vers un fichier log, envoie d’un message d’alerte vers un serveur
syslog, stocker cette intrusion dans une base de données SQL.
Installation
L’installation de Snort n’est pas d’une grande difficulté, toutefois avant l’installation de
SNORT, on doit installer :
· Libpcap : Librairie utilisée par Snort pour capturer les paquets
· Gcc : indispensable pour compiler les sources de Snort
· BASE :(Basic Analysis and Security Engine) (optionnel), sert à fournir une
représentation visuelle des données concernant les éventuelles intrusions.
On peut décomposer l’installation en deux parties :
mkdir /etc/snort Création du répertoire contenant la
configuration Snort
cp /usr/local/snort/snort.conf Copie du fichier de config snort dans /etc/snort
/etc/snort/snort.conf
cp snortrules.tar.gz /etc/snort Mise en place des règles dans le répertoire de
configuration Snort
cd /etc/snort On se place dans le répertoire de configuration
Snort
tar xvzf snortrules.tar.gz Décompactage des règles
S E C U R I N E T S
Club de la sécurité informatique
I N S A T
www.securinets.com
Tel : 20322191
S E C U R I N E T S
C l u b d e l a s é c ur i t é i n f o r m at i q ue
I N S A T
Pour un fonctionnement performant, on doit toujours mettre à jours les règles de Snort, pour
cela il suffit de télécharger les mises à jours de l’Internet (voir www.snort.org ) et procéder à
l’installation de ces règles comme expliqué ci-dessus.
Configuration et Lancement
Les règles Snort sont placées dans le répertoire /etc/snort/rules.
Il faut éditer le fichier de configuration snort (/etc/snort/snort.conf) et spécifier le
réseau sur lequel l'IDS travaille. Il faut pour cela modifier la variable HOME_NET :
var HOME_NET [192.168.0.0/24]
Dans le fichier de configuration de Snort (/etc/snort/snort.conf), il y a une série
de ‘include’. Il s'agit des règles utilisées par Snort pour détecter d'éventuelles intrusions. Il y a
des règles de telnet, ICMP, FTP, ..., On doit commenter les règles qu’on ne veut pas appliquer et
enlever le commentaire des règles qui nous intéressent.
Snort est maintenant prêt à être lancé avec, par exemple, la commande:
snort D i eth0 l /var/log/snort c /etc/snort/snort.conf
Cette ligne de commande indique que Snort sera lancé en tant que daemon (-D), il regardera
l'interface réseau eth0 (-i eth0), utilisera le répertoire /var/log/snort/ pour enregistrer les logs et
le fichier de configuration /etc/snort/snort.conf.
Remarque : pour lancer Snort à chaque démarrage, il suffit de rajouter la ligne précédente à la
fin du fichier /etc/init.d/rc.local.
S E C U R I N E T S
Club de la sécurité informatique
I N S A T
www.securinets.com
Tel : 20322191
S E C U R I N E T S
C l u b d e l a s é c ur i t é i n f o r m at i q ue
I N S A T
le répertoire /var/log/snort.
i carte Spécifie la carte réseau.
b Journalise les paquets au format
binaire tcpdump.
r fichier Lit un fichier au format tcpdump.
h réseau Spécifie le réseau local, par
exemple 192.168.1.0/24.
n nb Traite nb paquets et s’arrête.
Voici un exemple de règle :
Alert tcp any any > 192.168.1.0/24 80 (flags :A ;content :
“passwd”;msg:“detection de `passwd` “;)
Cette règle permet de générer un message d’alerte “détection de passwd” lorsque le trafic à
destination d’une machine du réseau local 192.168.1.0/24 vers le port 80, contient la chaîne «
passwd » (spécifié par l’utilisation du mot-clé « content »), et que le flag ACK du header TCP est
activé (flags : A).
Tests
Notre machine dont on a installé Snort est d’adresse IP 192.168.0.2 ;
A partir de la machine d’adresse 192.168.0.1, on essaye de scanner notre machine en utilisant
la commande nmap avec l'option -sS qui permet de faire un scan de type SCAN FIN;
S E C U R I N E T S
Club de la sécurité informatique
I N S A T
www.securinets.com
Tel : 20322191
S E C U R I N E T S
C l u b d e l a s é c ur i t é i n f o r m at i q ue
I N S A T
nmap sF 192.168.0.2
On remarque que Snort détecte cette intrusion et enregistre dans un dossier portant l'adresse
de la machine source de l'intrusion (192.168.0.1) les logs suivants :
[**] ICMP PING NMAP [**]
04/2323:27:37.895549 192.168.0.1 > 192.168.0.2
ICMP TTL:46 TOS:0x0 ID:9937 IpLen:20 DgmLen:28
Type:8 Code:0 ID:32676 Seq:23169 ECHO
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[**] SCAN FIN [**]
04/2323:27:49.202929 192.168.0.1:59321 > 192.168.0.2:1
TCP TTL:52 TOS:0x0 ID:38933 IpLen:20 DgmLen:40
*******F Seq: 0x26F2832B Ack: 0x0 Win: 0x400 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[**] SCAN FIN [**]
04/2323:27:41.248172 192.168.0.1:59321 > 192.168.0.2:10
TCP TTL:42 TOS:0x0 ID:4473 IpLen:20 DgmLen:40
*******F Seq: 0x26F2832B Ack: 0x0 Win: 0xC00 TcpLen: 20
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
+
Conclusion
Outre la mise en place des pares feu et des systèmes d’authentification, il est de nos jours
nécessaire de mettre en place un système de détection d’intrusion.
Nous avons étudié le fonctionnement de ces systèmes en particulier nous avons pris comme
exemple l’outil Open Source Snort qui est le plus réputé en terme d’efficacité et présente une
souplesse en terme de personnalisation.
Pour une meilleure lisibilité dans la lecture des logs et les alertes; il existe plusieurs interfaces
graphiques pour Snort les plus connues sont SnartSnort et ACID.
Aussi pour une meilleure gestion des logs, Snort peut être interfacé avec un SGBD (Système
de Gestion de Base de Données) comme par exemple MySQL.
S E C U R I N E T S
Club de la sécurité informatique
I N S A T
www.securinets.com
Tel : 20322191