H OW -T O S NORT
Guide d’Installation
Snort est un outil de détection d'intrusions réseau (NIDS). Il est complété
par une multitude de plugins et d'outils d'analyse.
National Agency For Computer Security
Agence National de la Sécurité Informatique
HOW-TO SNORT
Introduction :
Snort est un système de détection d’intrusion (NIDS). Disponible sous licence GPL,
fonctionnant sur les systèmes Windows et linux.
Il permet d’analyser le trafic réseau en temps réel. On l'utilise en général pour détecter
une variété d'attaques et de scans tels que des débordements de mémoire, des scans de
ports, des attaques CGI, des tentatives de déni de service (DOS).
Snort peut être configuré en trois modes :
Mode sniffer : écoute le réseau et affiche les paquets sur l’écran
Mode paquet logger : fonctionne comme le mode sniffer avec une journalisation des
logs dans un répertoire sur le disque.
Mode détecteur d’intrusion réseau (NIDS) : snort compare le trafic du réseau à des
règles définies par l’utilisateur et établi des actions à exécuter.
Installation :
Ce guide explique les différentes étapes pour mettre en place un NIDS avec une base de
données mysql pour les logs.
Les étapes d’installation de snort sont les suivantes :
- Installation des prérequis
- Installation de snort
- Installation des règles snort
- Liaison snort avec mysql
- Mise en place d’ACID (Interface php pour visualiser les logs snort)
Prérequis de snort :
- MySQL
- MySQL MySQL-client
- php-mysql
- Apache
- mod_php
Rq : Si vous utilisez déjà un système debian, il suffit de taper la commande
apt-get install nom_du_paquet
Installation de l’outil snort :
1
Agence National de la Sécurité Informatique
Vous pouvez télécharger snort, paquet source ou binaires à partir du site officiel:
[Link]
Dans un terminal shell exécuter les commandes suivantes :
À partir de source À partir du binaires
# tar –xzvf [Link] # rpm –ivh snort-mysql-[Link]-
[Link]
# cd snort-x.x.x.x
# ./configure –with-mysql
# make
# make install
Installation des règles snort :
Vous pouvez télécharger les règles de snort à partir de l’adresse suivante :
[Link]
# cp [Link] /etc/snort
# cd /etc/snort
# tar -xzvf [Link]
Les règles sont installés dans /etc/snort/rules. Maintenant, Il faut éditer le fichier de
configuration snort (/etc/snort/[Link]) et spécifier le réseau sur lequel l'IDS travaille.
Il faut pour cela modifier les variables suivantes:
“var HOME_NET any” “var HOME_NET [Link]/24” (Selon votre plage)
“var EXTERNAL_NET any” “var EXTERNAL_NET !$HOME_NET”
“var DNS_SERVERS $HOME_NET” vous indiquez votre DNS
“var RULE_PATH” “var RULE_PATH /etc/snort/rules”
Choisissez les règles de détection à activer selon l’environnement à surveiller, en
commentant ou décommentant les lignes d’appels des règles :
2
Agence National de la Sécurité Informatique
Test de Fonctionnement :
1- Mode sniffer :
Ce mode permet d’écouter les paquets TCP/IP circulant dans le réseau et les afficher
sur l’écran.
# snort –v
Cette commande permet d’afficher les entêtes des paquets TCP/IP capturés.
# snort -vd
Cette commande affiche tous les paquets TCP/IP, entêtes et données.
# snort -vde
Cette commande affiche tous les paquets TCP/IP, entêtes et donné[Link] que les
entêtes de la couche liaison des données.
2- Mode paquet logger :
Ce mode permet de sniffer le trafic des paquets TCP/IP et journalise les logs dans
un répertoire déjà crée.
# snort -vde -l ./log
Cette commande permet d’exécuter snort et de loguer dans le répertoire log, toutes les
entêtes des paquets TCP/IP relatifs au réseau [Link]/24.
# snort -v -l ./log -h [Link]/24
3- Mode NIDS :
Le mode NIDS permet d’analyser le trafic réseau des paquets TCP/IP en le
comparant à des règles spécifier dans le fichier « [Link] ». Ce guide est déjà dédié
pour la mise en place de snort en mode NIDS.
Vous pouvez lancer snort avec cette commande:
snort -c /etc/snort/[Link] -D
L’option «c »: permet de spécifier quels sont les règles qui seront actifs.
3
Agence National de la Sécurité Informatique
L’option « D » : permet de lancer snort en mode daemon.
Liaison des logs de snort avec mysql :
Connectez-vous sur la base mysql en tant qu’administrateur « mysql –u root –p » et
suivez les commandes suivantes afin de créer la base snort.
create database snort ; création de la base snort
use mysql ; on se place ici pour créer l’utilisateur qui gèrera la base snort
insert into user values ('localhost', 'user_snort', password('snort_pwd'));
création de l’utilisateur snort
grant all privileges on snort.* to user_snort@localhost identified by 'snort_pwd'
with grant option; attribution des droits de la base snort à l’utilisateur snort
Une fois ces commandes effectuées, il suffit d'exécuter le script sql fournit avec la
distribution de snort.
mysql -u root snort < ./contrib/create_mysql
Mise en place d’ACID :
ACID est une interface PHP qui permet de visualiser les alarmes générées par snort.
ACID dépend de ces deux paquets :
- Adodb : Contient des scripts PHP génériques de gestion de bases de données.
- PHPlot : librairie de scripts PHP utilisée par ACID pour présenter
graphiquement certaines données statistiques.
Vous devez les installez dans la racine d’apache :
cd /var/www/html
tar -xvzf acid*
tar -xvzf adodb*
tar -xvzf phplot*
vi /var/www/html/acid/acid_conf.php
Une fois vous avez terminer l’installation, placez vous dans le fichier acid_conf.php et
configurer les champs suivants :
- $DBlib_path="../adodb";
- $Chartlin_path="../phplot";
- alert_dbname="snort"
- alert_host="localhost"
- alert_user="user_snort"
- alert_password="snort_pwd"
4
Agence National de la Sécurité Informatique
Voilà, maintenant vous pouvez vérifier qu’ACID est bien configuré (allez voir sur
[Link]