Vous êtes sur la page 1sur 9

Guide d'installation d'une architecture

SNORT / MYSQL / BASE / NESSUS

Auteurs :
Armel LOSBAR - armel.losbar@free.fr
Fabien DESBRUERES - fabien.desbrueres@netys.org
Pascal DUPEYRE - pascal.dupeyre@netasr.net
Sylvain GARCIA - sylvain.garcia@isynet.org

Cours : Sécurité des Réseaux


M Marc ROZENBERG

MASTER 2 ASR 2006-2007


Université d'Evry Val d'Essonne

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
1/9
1 PLATEFORME DE TEST

2 DESCRIPTION DES STATIONS

TYPE FONCTION SERVICES ADRESSE IP


Windows 2000 Server SNORT Apache, MySQL, PHP, 192.168.1.60
SP4 BASE
Linux Debian 2.4 NESSUS 192.168.1.61
Windows XP SP2 Client audité Apache, MySQL, PHP, 192.168.1.62
Emule, Skype

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
2/9
3 PRÉPARATION DES STATIONS

3.1 STATION WINDOWS 2000 SERVER

3.1.1 INSTALLATION DE WAMP5

Installation du serveur WAMP5 1.6.6. Il intègre les serveurs Apache 2.0.59, MySQL 5.0.24a,
PHP phpmyadmin 2.8.2.4 pour Windows. Ce serveur est téléchargeable a l'adresse
http://www.wampserver.com/.

Les serveurs Apache et MySQL seront utilisés afin de centraliser les logs générés par SNORT
dans une base de données MySQL.
Ces logs seront ensuite analysés par le biais de BASE (Basic Analysis and Security Engine)
BASE est un ensemble de script PHP capable d'analyser et synthétiser les alertes remontées
par SNORT au sein d'une base SQL.
BASE supporte les bases SQL MySQL, PostgreSQL et MSSQL. Grâce à ses scripts il est
possible d'effectuer des recherches sur les alertes, mais aussi de les visualiser par type d'alertes,
par protocole, par date et heure, et de générer des graphiques.

3.1.2 INSTALLATION DE WINPCAP 3.1

WinPcap est une API utilisée pour la capture des paquets. Il est nécessaire de l'installer pour
l'utilisation de SNORT. WinPcap est disponible à l'adresse http://www.winpcap.org/.

3.1.3 INSTALLATION DE SNORT

SNORT est disponible à l'adresse http://www.snort.org.

Pour configurer Snort il faut éditer le fichier Snortpath\etc\snort.conf où Snortpath correspond au


répertoire d’installation du logiciel. Dans notre configuration le chemin est le suivant :
« C:\Snort\etc\snort.conf »

Dans ce fichier nous allons nous intéresser à quatre sections :


- Network settings
- Rules settings
- Output settings
- Include settings

Section Network settings

Cette section nous permet d’indiquer à Snort les réseaux, les sous réseaux sur lesquels il doit
être à l’écoute. Il peut notamment surveiller une seule adresse IP ou un groupe d’adresse IP
associés aux machines sur le réseau.

Dans notre réseau 192.168.1.0/24, notre sonde snort sniffe la totalité. Pour ce faire nous avons
modifié la ligne du fichier de configuration par défaut :

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
3/9
var HOME_NET any

Nous l’avons remplacé par :

var HOME_NET 192.168.1.0/24

Avec cette ligne la sonde va écouter entièrement le réseau 192.168.1.0.

Section Rules settings

Snort peut détecter des attaques et nous alerter quand l’une d’entre elle surgit, cependant pour
savoir que faire en cas d’attaque, il doit savoir où se trouvent les règles sur le système de fichier.
Pour ce faire, il faut modifier le fichier de configuration et remplacer la ligne suivante :

Var RULE_PATH SnortPath\rules


Où Snortpath correspond à l’emplacement du répertoire d’installation de Snort à savoir pour
nous C:\Snort. La ligne à ajouter sera donc :

Var RULE_PATH C:\Snort\rules

Section Output settings

Cette section, est très importante, car elle permet de définir comment Snort nous restituera
l’information.
Dans cette section, il y a deux sous sections importantes, à savoir :
- alert outputs
- database output

On s’est intéressé à la deuxième sous section car on souhaite générer les logs et les écrire
dans une base de données MySql.
Pour ce faire, il faut modifier la ligne suivante :

# output database: log, mysql, user=root password=test dbname=db host=localhost

Et la remplacer par:

output database: log, mysql, user=snort password=snort dbname=snort host=127.0.0.1


port=3306 sensor_name=sensor_lea

Remarque:

Dans cette ligne on précise l’emplacement de la base de données mysql (la machine même)
ainsi que son port d’écoute, l’utilisateur autorisé à écrire dans la BD, ainsi que le nom de la sonde
pour l’identifier. Ce nom est très important dans le cas ou l’on dispose de plusieurs sondes.

Section Include settings

Il y a deux fichiers standard de configuration qui doivent être référencés pour snort pour
classifier correctement les attaques et fournir les alertes de références qu’il génère.

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
4/9
Ces fichiers sont les suivants :
- classification.config
- reference.config

Fichier classification.config

Pour modifier le classification.config dans le fichier snort.conf il faut faire comme suit :

1- Trouver cette ligne : Include classification.config


2- Insérer le chemin actuel du fichier classification.config à la place de ligne précédente :

include Snortpath\etc\classification.config

Dans notre configuration, cela équivaut à :

include C:\snort\etc\classification.config

Fichier reference.config

Il faut ensuite faire la même chose pour pour le deuxième fichier reference.config.
1- Trouver cette ligne : Include reference.config
2- Insérer le chemin actuel du fichier reference.config à la place de ligne précédente :

include Snortpath\etc\reference.config

Dans notre configuration, cela équivaut à :

include C:\snort\etc\reference.config

Il faut maintenant sauvegarder le fichier et tester SNORT.

3.1.4 FONCTIONNEMENT DE SNORT.

Dans une console dos, il faut se placer dans le dossier Snort\bin ou se trouve l’exécutable de
snort pour le lancer.
La commande : snort -W permet de voir si winpcap est correctement installé et si snort
fonctionne correctement car elle doit nous afficher une liste exhaustive des interfaces sur
lesquelles on peut sniffer le réseau.

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
5/9
Ensuite pour lancer Snort sur une des interfaces listées, il faut lancer la commande :

snort -v –ix

Cela va lancer snort dans un mode verbeux (-v) sur une interface spécifiques (-ix). Le x spécifie
l’interface sur laquelle on souhaite sniffer le réseau.
Voici un exemple de capture :

snort -ix -c c:\snort\etc\snort.conf -K ascii

Cela va lancer la capture et enregistrer les logs dans notre base de données MySQL.
On remarquera le format choisi pour l'enregistrement des logs : ascii.

3.1.5 CRÉATION DE LA BASE DE DONNÉES MYSQL

Tout se passe par la console d'administration phpmyadmin http://localhost/phpmyadmin.


Création de la base de données « snort »:

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
6/9
Importation du script de création des tables MySQL fournit par SNORT disponible dans
« c:\snort\schemas\create_mysql »:

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
7/9
Création d'un utilisateur nommé « snort », avec comme password « snort », pour la table
« snort » ayant les droits de création , d'insertion, de sélection, de suppression et de modification:

grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to


snort@localhost;

set password for ‘snort’@’localhost’ = password(‘snort’);

A partir de ce moment votre base de données est configurée et utilisable par SNORT.

3.1.6 CONFIGURATION DE BASE

BASE est un ensemble de script PHP capable d'analyser et synthétiser les alertes remontées
par SNORT au sein d'une base SQL.
Il est disponible à l'adresse http://sourceforge.net/projects/secureideas
Pour l'installer il suffit de placer le dossier téléchargé dans votre répertoire www d'Apache.
Ensuite il suffit d'y accéder depuis votre navigateur Internet et de vous laissez guider dans les
étapes de configuration.
Pour la génération de graphique il est indispensable que la librairie gd2 soit chargée au sein de
PHP. Pour l'activer, il faut éditer votre fichier php.ini et décommenter la ligne
« extension=php_gd2.dll ».

Interface de gestion :

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
8/9
3.2 STATION LINUX DEBIAN

3.2.1 PRÉSENTATION DE NESSUS

Nessus est un scanner de vulnérabilités. Dans notre architecture nous allons l'utiliser afin de
générer du trafic d'attaque à destination de la machine Windows XP, et ainsi avoir des remontées
d'attaques par la machine SNORT. Nessus est disponible à l'adresse http://www.nessus.org.

3.3 STATION WINDOWS XP

C'est à destination de cette machine que seront lancées toutes les attaques.
Différents services tournent dessus afin d'offrir d'éventuelles failles de sécurité.
Services disponibles:
● apache
● skype
● emule

Copyright Armel LOSBAR - Fabien DESBRUERES - Pascal DUPEYRE - Sylvain GARCIA - Décembre 2006
9/9