Installation et configuration d'un serveur Snort

Introduction :

Nous allons ici installer et configurer un système de détection d'intrusion sur notre réseau.


Nous aurons ici 2 interfaces réseaux sur notre N-IDS (Network Intrusion Detection System).


Interface 1 : 192.168.10.20 sera l'interface de capture de trafic réseau.

Interface 2 : 192.168.1.5 sera l'interface de remontée des alertes à un réseau de supervision. en l'occurence les alertes seront remontés à un serveur Prelude (Installation et configuration qui se fera avec un autre tutoriel).

Le réseau à inspecter est : 192.168.10.0/16 et le réseau de supervision est 192.168.1.0/24. L'installation se fera à partir des sources pour snort et pour certaines librairies pour le reste l'utiliataire "apt" sera utilisé. Nous sommes ici sous Debian 4.0 et ce tutoriel est compatible avec Ubuntu.


Installation :


Dépendances installées via apt:

apt-get update

apt-get install libgnutils-dev libprelude2 libprelude2-dbg mysql-server flex byacc libmysqlclient15-dev


Dépendances installées depuis les sources:

téléchargez et installez libpcap depuis tcpdump.org et pcre sur pcre.org

./configure && make && make install pour chacune des 2 dépendances


Nous allons ici installer le serveur porprement dit.

Installation :

téléchargez la dernière version de snort depuis snort.org

./configure --enable-prelude --with-libprelude-prefix --with-mysql=/usr

make && make install



Configuration du N-IDS Snort :


Installation de la base de vulnérabilité :

Inscrivez vous sur le site snort.org afin de pouvoir récupérer les dernières règles de vulnérablilité.

Désormais vous pouvez télécharger les dernières régles.

Désarchivez les dans un répertoire que vous aurez créé : /usr/local/share/regles_Snort/2008_02


Configuration de la base de donnée :

Les alertes générées par Snort seront ici remontées à une base de donnée et à un serveur prelude. Nous allons ici voir la création et la mise en place de cette base de donnée.


echo "CREATE DATABASE snort;" | mysql -u root -p

echo "grant INSERT,SELECT on snort.* to snort@localhost;" | mysql -u root -p

echo "GRANT ALL PRIVILEGES ON snort.* TO snort@'localhost' IDENTIFIED BY 'password';" | mysql -u root -p

cd repertoire_snort_sources

mysql -D snort -u root -p < ./schemas/create_mysql

echo "grant INSERT,SELECT,UPDATE on snort.sensor to snort@localhost;" | mysql -u root -p

Configuration de : /etc/snort/snort.conf (Cliquez pour faire apparaitre le fichier)


Cette configuration de Snort est optimisée pour superviser un réseau de grande taille à haut débit, avec un Serveur web de type Apache. Ce fichier remonte ces informations à la base de donnée que nous avons précédemment créé. A ce stade de la configuration la remontée d'informations à Prelude n'est pas activée. Tous les préprocesseurs de calcul stables sont activés et le préprocesseur de calcul de performance est activé.

Fin de la configuration de Snort


mkdir /var/snort

touch /var/snort/snort.stats

chmod 777 /var/snort/snort.stats


Vérification de la configuration de Snort :

snort -c /usr/local/share/regles_Snort/2008_01/etc/snort.conf -a -C -d -T

Si cette vérification s'avère être un suces on peut démarrer Snort : il suffit d'enlever l'option -T précédemement utilisée pour vérifier la configuration de Snort et de la remplacer par l'option -D pour le lancer en tant que Démon

Lancement :

snort -c /usr/local/share/regles_Snort/2008_01/etc/snort.conf -a -C -d -D

Les quelques options utilisée au lancement sont : décoder les trames ARP (-a) , afficher seulement les caractères (-C), afficher les informations récupérées en couche applicative (-d)