SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
0
ATELIER 2 : MISE EN PLACE D’UN IDS (SNORT)
Module : Sécurité des réseaux informatiques
Mohamed Amine AIT LAFKIH
2015/2016
MST - RSI [Adresse de
la société]
1
2
Table des matières
Table des figures : .......................................................................................................... 3
Objectif du TP : .............................................................................................................. 4
Introduction .................................................................................................................... 5
Déroulement du TP : ...................................................................................................... 6
1. Maquettes de test : ............................................................................................ 6
2. Description des stations :.................................................................................. 6
3. Prérequis ........................................................................................................... 6
Installation et configuration de Snort ............................................................................. 7
1. Installation et lancement :................................................................................. 7
2. Configuration de snort.conf :............................................................................ 8
3. Les règles Snort : ............................................................................................ 12
Utilisation d’un port scan (Nmap) :.............................................................................. 12
Utilisation d’ACID avec Snort ..................................................................................... 16
Utilisation de BASE avec Snort : ................................................................................. 21
Conclusion.................................................................................................................... 27
3
Table des figures :
Figure 1 : Maquette utilisé durant le TP......................................................................... 6
Figure 2 : Modification des variables réseaux................................................................ 8
Figure 3 : Spécification des chemins vers les règles de Snort........................................ 8
Figure 4 : Spécification du répertoire des logs............................................................... 8
Figure 5 : Spécification des librairies............................................................................. 9
Figure 6: Configuration du "Portscan detection" ........................................................... 9
Figure 7 : Configuration des output et des chemins des fichiers de configuration ........ 9
Figure 8 : Inclusion des fichiers des règles pour le preprocessor................................... 9
Figure 9 : Détection des interfaces actives................................................................... 10
Figure 10 : Snort comme analyseur de trafic................................................................ 11
Figure 11 : Installation du service Snort....................................................................... 11
Figure 12 : Démarrage du service Snort....................................................................... 12
Figure 13 : Service.msc ................................................................................................ 12
Figure 14 : Réultat de Nmap avec un range de ports sur la machine windows........... 14
Figure 15 : Détection de l'OS avec Nmap .................................................................... 15
Figure 16 : Contenus du fichier log de Snort ............................................................... 15
Figure 17 : Acid_conf.php -> lien vers ADODB ......................................................... 17
Figure 18 : Acid_conf.php -> Paramètres de connexion à la base de données ............ 18
Figure 19 : Acid_conf.php -> Chemin vers JPGraph................................................... 18
Figure 20 : Acid_conf.php -> chemin vers portscan.log.............................................. 18
Figure 21 : ACID - La première page, la première fois. .............................................. 18
Figure 22 : ACID - création des tables......................................................................... 19
Figure 23 : ACID - page d'accueil................................................................................ 19
Figure 24 : ACID - Tableau récapitulatifs des alertes ICMP ....................................... 20
Figure 25 : ACID - Graphe comparant les alerts par rapport au temps (par heure)..... 20
Figure 26 : Installation de PEAR.................................................................................. 21
Figure 27 : Vérification des packages PEAR installé .................................................. 22
Figure 28 : BASE - configuration du chemin de la biblio ADODB ............................ 23
Figure 29 : BASE - Paramétrages des informations de connexion .............................. 23
Figure 30 : BASE - Chemin vers le portscan ............................................................... 23
Figure 31 : Création des tables nécessaire pour BASE ................................................ 24
Figure 32 : BASE - Page d'accueil ............................................................................... 24
Figure 33 : BASE - Tableau récapitulatif des alertes de scan de port.......................... 25
Figure 34 : BASE - Exemple de graphe ....................................................................... 26
4
Objectif du TP :
L’objectif de ce TP est de mettre en place un système de détection d’intrusion en se
basant sur le logiciel libre Snort. C’est un système de détection d'intrusion libre qui est capable
d'effectuer en temps réel des analyses de trafic et de logger les paquets sur un réseau IP. Il peut
effectuer des analyses de protocoles, recherche/correspondance de contenu et peut être utilisé
pour détecter une grande variété d'attaques.
Dans le cadre de ce TP, nous nous intéressons essentiellement aux aspects suivants :
 Comprendre et assimiler le rôle d’un système de détection d’intrusion dans la
sécurité des réseaux.
 Installer le logiciel Snort et les logiciels requis.
 Effectuer les configurations nécessaires pour le bon fonctionnement de Snort.
 Effectuer des tests avec Snort dans ses différents modes.
 Utilisation de SNORT comme un simple sniffer.
 Utilisation comme outil d'enregistrement de trafic réseau
 Apprendre à écrire de nouvelles règles personnalisées.
 Utilisation d’un mécanisme capable d’afficher les alertes remonté par Snort.
5
Introduction
Snort est un Système de Détection d'Intrusion, dont les qualités et les capacités ne sont
plus à démontrer. Il assure plusieurs fonctions :
 Analyse
 Journalisation
 Gestion
 Action
Son moteur d'analyse est basé sur la technique de recherche de signatures dans les
paquets. Il a donc un langage qui permet d'écrire les filtres correspondant à des signatures
d'attaques connues.
6
Déroulement du TP :
Durant ce TP nous allons travailler avec deux machines, la première est pour configurer
Snort alors que la deuxième agira comme un client malveillant.
1. Maquettes de test :
Figure 1 : Maquette utilisé durant le TP
Comme le montre la maquette ci-dessus, nous allons utiliser une machine virtuelle
(Machine 1) sur laquelle nous allons mettre en place Snort ainsi que d’autres services qui sont
nécessaire à son bon fonctionnement. La deuxième machine (Machine 2) agira comme une
machine du réseau extérieur pour faire des tests d’intrusion avec l’outil Nmap.
Les deux machine vont communiquer via la passerelle de vmwar (@IP : 192.168.231.2).
2. Description des stations :
Machine Type OS Fonction Services Adresse IP
Machine 1 Windows XP SP3 Snort Apache, Mysql, PHP, BASE 192.168.231.130/24
192.168.231.2
Machine 2 Windows 10 Client
malveillant
Nmap 192.168.231.1/24
192.168.231.2
3. Prérequis
 Snort 2.9.0.5.
 Snort rules.
 Bibliothèque Wincap.
7
 Bibliothèque ADODB.
 ACID :
o Apache 1.3.x
o PHP 4.x
o Mysql 3.23
o Package JPGraph
o Bibliothèque GD.
o DBTools
 BASE (Basi Analysis and Security Engine) :
o Apache 2.x
o PHP 5.4.x
o Package PEAR.
o Bibliothèque GD2.
 Navigateur web supportant les cookies.
Installation et configuration de Snort
1. Installation et lancement :
La première chose à faire est de télécharger l’exécutable de Snort, la version demandé
dans le TP est la 2.9.1.2, vu que nous l’avions pas trouvé, nous avions décidé de travailler avec
une version antérieur la 2.9.05.
Une fois l’installation terminé, un dossier qui regroupe tous les éléments nécessaires au
bon fonctionnement de Snort dans la racine de notre disque dur, dans notre cas : c:snort
Nous allons faire un petit détour rapide au niveau de l’arborescence de ce dossier :
 C :snortbin : les fichier sources.
 C :snortdoc : la documentation de Snort.
 C:snortetc : les fichiers de configuration, (snort.conf, …).
 C:snortrules : les règles de Snort.
 C:snortshemas : les fichiers sql nécessaire à la création des tables des bases de
donnèes snort et archive.
La prochaine étape, consistera à télécharger le pack des règles pour Snort depuis son
site officiel. Le package contiens plusieurs répertoires selon la version des règles téléchargé.
Nous avions opté pour la dernière version réservé aux personnes inscrits « snortrules-
snapshot ».
Le package contient plusieurs répertoires, nous allons nous intéresser aux dossiers
suivant : rules/, preproc_rules/. Il faut copier leur contenu dans leur dossier respectif de Snort.
Etant donné que Snort écoute le trafic et analyse le contenu des paquets reçus, il a besoin
de la Bibliothèque Winpcap.
Après l’installation de Snort, de l’ajout des règles ainsi que l’installation de Wincap,
nous sommes à présent en mesure de commencer la configuration de notre IDS Snort.
8
2. Configuration de snort.conf :
Le fichier de configuration de Snort se trouve au niveau du répertoire
C:snortetcsnort.conf.
Il faut éditer les lignes suivant :
Nous commençons par modifier les variables contenant les adresses IP de notre réseau
interne et externe comme montré dans la figure ci-dessous.
Figure 2 : Modification des variables réseaux
Notre réseaux local est le 192.168.321.0/24, c’est donc lui que nous précisons dans la
variable HOME_NET et pour le réseau externe nous le précisons pas, car nous estimons que
tous réseaux différent de notre réseaux local est considéré comme externe. Pour cela nous
mettons ANY dans la variable EXTERNAL_NET.
Nous modifions aussi le chemin vers les règles utilisé par Snort, dans notre cas nous
allons utiliser les deux répertoires rules et preproc_rules.
Figure 3 : Spécification des chemins vers les règles de Snort
La figure ci-dessus montre les valeurs que nous avons donné aux variables
RULE_PATH et PREPROC_RULE_PATH.
IL faut aussi préciser le chemin vers le dossier des logs pour Snort, comme montré dans
la figure suivante :
Figure 4 : Spécification du répertoire des logs
9
Il faut spécifier le chemin vers les librairies nécessaire pour le fonctionnement de Snort.
Figure 5 : Spécification des librairies
Maintenant il faut activer le sfportscan au niveau des préprocesseurs pour détecter et
afficher les alertes relatives aux scans de ports. Ces logs seront journalisé dans le fichier
C:snortlogportscan.log
Figure 6: Configuration du "Portscan detection"
Pour que Snort puisse enregistrer les logs dans une base de donnée, il faut décomenter
« output database » et la configurer selon nos propres paramètres, c’est même très important
car si nous devons préciser à Snort qu’il doit enregistrer les logs dans une base de données.
Pour le référencement et la classification des données, Snort a besoin de deux fichiers
de configuration classification.conf et reference.conf.
La figure suivante montre comment faire ces modifications.
Figure 7 : Configuration des output et des chemins des fichiers de configuration
Comme le montre cette figure, nous voulons que Snort enregistre les logs et les alertes
dans une base de donnée de type mysql, avec un utilisateur/motDePasse -> snorty/snorty dans
la base de donnée Snort, la dernière chose à préciser est l’emplacement du service mysql, dans
notre cas localhost.
Puisque nous utilisons le « preprocessor » pour le portscan, il ne faut pas oublier de préciser le
chemin vers les fichiers de configurations du processeur que nous avons téléchargé avec le pack
des règles.
Figure 8 : Inclusion des fichiers des règles pour le preprocessor
10
Nous avons à présent terminé la configuration de Snort. Pour être sur du bon
fonctionnement de notre configuration nous allons procéder à une multitude de tests.
La première chose sera de vérifier quel sont les interfaces actives au niveau de notre
machine, pour faire il faut utiliser Snort.
Deux façon se présente pour utiliser les commande Snort, la première est d’ajouter une
variable globale au niveau du système qui pointe vers le répertoire C:snortbin, la deuxième
consiste à naviguer jusqu’à ce même répertoire et d’exécuté les commandes.
Pour connaitre l’interface active nous allons utiliser la commande suivante :
# snort -W
Figure 9 : Détection des interfaces actives
Comme la montre la figure ci-dessus, nous n’avons qu’une seule interface active, et elle
a l’index 1. C’est cet index qui est important pour nous car nous allons l’utiliser dans beaucoup
d’autres commandes par la suite.
L’une des possibilités d’utilisation de Snort est l’analyse de trafic, pour l’exploiter de
cette manière nous allons utiliser la commande suivante (le x représente l’index de notre
interface active) :
# snort –v –ix
11
Figure 10 : Snort comme analyseur de trafic
La figure ci-dessus montre le résultat de la commande précédente, nous remarquons que
tous les paquets qui transitent sont journaliser en temps réel par Snort.
Maintenant que Snort marche bien, nous allons essayer d’installer le service Snort dans
notre machine.
Pour cela nous allons utilisé la commande suivante :
# Snort /SERVICE /INSTALL -de –c c:/snort/etc/snort.conf -l c:/snort/log –ix
!!! DONNER UNE DESCRIPTION A CETTE COMMANDE !!!
Figure 11 : Installation du service Snort
Comme la montre cette figure, le service Snort est à présent installer sur notre machine.
Nous pouvons le lancer/stopper/redémarrer via l’interface des services de la machine ou bien
via un invite de commande.
12
Maintenant nous allons lancer le service Snort :
Figure 12 : Démarrage du service Snort
Nous allons vérifier que Snort à bien démarrer et qu’il est bel est bien parmi les services
présents dans notre machine.
3. Les règles Snort :
Figure 13 : Service.msc
Cette partie n’est que théorique, nous n’allons pas la traiter au niveau de notre TP, mais
elle nous a aidé à comprendre les règles utilisé par Snort et de pouvoir en créer de nouvelles
adapté à nos besoin.
Dans notre cas nous avons ajouté 2 nouvelles règles au niveau du
fichier C:snortruleslocal.rules. Ces règles sont les suivantes :
alert icmp any any -> 192.168.231.0 any (msg :"ping detected"; sid:1000001;)
alert udp any any -> 192.168.231.0 any (msg:"testing UDP rule"; sid:1000002;)
Nous n’avons pas ajouté de règles pour le protocole tcp vu qu’il existe beaucoup de
règles dans le fichier community.rules que nous avons téléchargé depuis le site de Snort.
Utilisation d’un port scan (Nmap) :
Nous n’allons pas nous attarder sur le sujet de Nmap vu que ce n’ai pas la première fois
que nous allons l’utiliser, surtout que nous avons déjà fait une description de cet outils lors de
l’atelier 1. Donc nous allons directement traiter les questions en relation avec le port scan.
1. Nous pouvons utiliser Nmap pour lancer un ping avancé contre une machine ou un
réseau, l’un des exemples les plus utilisé de Nmap est la recherche des ports TCP et
UDP ouvert sur une machine, pour faire ça nous pouvons utiliser la commande
suivante :
# nmap –sS –sU 192.168.231.130
13
2. Pour détecter les ports TCP et UDP ouvert allant de 1 à 5000 sur la machine
windows, nous allons utiliser la commande suivante :
# nmap –sS –sU –p U:1-5000,T:1-5000 192.168.231.130
La figure ci-dessous montre le résultat de cette commande sur la machine Windows XP.
En vert nous voyant les ports TCP et UDP ouvert et qui ne sont pas filtré, en noir les
port TCP et UDP filtré. Bien sûr le port 80 est ouvert ainsi que le port 3306 parce que nous
avons activé les services apache et mysql au niveau de notre machine, le NTP aussi qui est
configuré par défaut au niveau de la machine et qui utilise le port 123.
14
Figure 14 : Réultat de Nmap avec un range de ports sur la machine windows
3. Pour détecter le type de système d’exploitation utilisé au niveau d’une machine nous
utilisons la commande suivante :
# nmap –O 192.168.231.130
La figure ci-dessous montre le résultat de la commande, et comme montré dans le cadre
rouge, nous remarquons que le système d’exploitation utilisé au niveau de notre machine cible
et Windows XP.
15
Figure 15 : Détection de l'OS avec Nmap
Normalement Snort a déjà commencé à enregistrer les logs dans des fichiers spécifiques
dans le répertoire que nous lui avons précisé lors de la configuration, à savoir C:snortlog
Après l’utilisation de Nmap nous allons essayer d’ouvrir le fichier log de Snort, pour
cela nous avons utilisé wireshark vu que notepad n’arrive pas à les ouvrir.
Figure 16 : Contenus du fichier log de Snort
16
Lors de la consultation du fichier de log de Snort nous remarquons une multitude de
paquets journalisé, et si nous essayons d’appliquer un filtre avec l’@IPS de la machine depuis
laquelle nous venons de lancer Nmap, nous tombons sur les paquets relatifs au dernier scan de
port.
Le problème, c’est que cette manière de consulter les logs n’est pas optimale, nous avons
remarqué que juste quelque minute après le premier lancement de Snort, que le fichier contenais
déjà des milliers de lignes, ajoutant à cela le besoin de faire une analyse rapide pour pouvoir
prendre des décisions en temps réel.
Une solution pour notre problème est l’utilisation d’une interface graphique qui nous
affiche ces informations que Snort nous journalise d’une manière plus lisible.
Dans ce qui suit nous verrons comment configurer et utiliser deux solutions les plus
connus, la première est ACID et la deuxième est BASE.
Utilisation d’ACID avec Snort
ACID (Analysis Console for Intrusion Databases) est un moteur d’analyse basé sur PHP
pour rechercher les évènements généré par des IDS, parfeux et des outils d’analyse de réseaux
dans une base de données. Cette console sera très utile pour afficher les alertes de Snort, les
recherches peuvent être optimisé selon le numéro de port, l’adresse IP source/destination et
protocoles.
Avant de commencer l’installation et la configuration d’ACID, il faut commencer par
préparer l’environnement en installant les services et les packages nécessaire et décrit dans la
partie prérequis en haut. Il est impérativement important de respecter les versions pour un
fonctionnement optimal d’ACID. Nous avons installé et configuré les packages suivants :
 PHP version 4 .3.1.
 Apache 1.3
 Mysql 3.23.1
 DBTools pour administrer les bases de données.
 Le package JPGraph 1.19 qui est nécessaire pour le dessin des graphes.
 La bibliothèque GD pour la manipulation des images, il faut penser à vérifier la
présence des librairies libpng et libjpeg.
Vu les dépendances d’ACID et le fait de ne pas trouver un serveur web ancien qui
respecte les versions que nous venons de cité, nous avons opté pour une installation séparé des
services. Cette installation ne sera pas détaillé vu que ce n’ai pas le sujet de notre TP.
Toutefois certaines modifications au niveau du fichier php.ini sont nécessaires, il faut
faire comme dans les lignes suivantes :
max_excution_time = 60
extension_dir = C:php4extensions // le chemin vers les extensions de php
session.save_path = C :php4sessiondata /*fichier temp, n’importe quel autre chemin
pourras être valide du moment que les droits d’écritures n’y sont pas interdis*/.
17
;error_reporting = E_ALL & ~E_NOTICE // cette ligne doit être commenté.
register_globals = ON // la valeur initiale est Off, il faut la changer à On
Après cela, nous avons utilisé DBTools pour créer les deux bases de données snort et
archive en utilisant le fichier suivant C:snortschemascreat_mysql sans oublié la création de
notre utilisateur snorty qui vas utiliser ces deux tables.
Maintenant que php, apache et mysql marche bien sur notre machine, nous devons
ajouter la bibliothèque ADODB.
ADODB est un ensemble de classe avancé de PHP Wrappers. Les wrappers sont des
données ou des programmes qui mettent en place un autre programme pour qu’il s’exécute
d’une bonne manière.
Une fois la bibliothèque téléchargé, il faut mettre le dossier quelque part ou il pourra
être accessible, parce que nous allons référencer son chemin lors de la configuration d’ACID.
Nous allons faire la même procédure pour le package JPGrah et nous allons le mettre
dans le dossier htdocs d’Apache pour que nous puissions le tester avant de commencer
l’installation d’ACID.
Maintenant que tout est près, il faut mettre le dossier d’ACID dans notre serveur web
pour pouvoir y accéder à tous moment. Il faut ouvrir le fichier de configuration d’ACID
(acid_conf.php) et le modifier comme ce qui suit.
La première chose est de spécifier le chemin vers ADODB ainsi que quel type de base
de données nous allons utiliser :
Figure 17 : Acid_conf.php -> lien vers ADODB
Maintenant il faut renseigner les informations de connexion pour les bases de données
snort et archive :
18
Figure 18 : Acid_conf.php -> Paramètres de connexion à la base de données
A présent, ACID auras besoin du package JPGraph, c’est pourquoi nous allons
renseigner son chemin comme suit :
Figure 19 : Acid_conf.php -> Chemin vers JPGraph
La dernière chose qui reste à faire est de spécifier le chemin vers le fichier où les
portscans sont enregistré :
Figure 20 : Acid_conf.php -> chemin vers portscan.log
Maintenant que la configuration est terminée nous allons essayer d’accéder à ACID via
un navigateur.
Figure 21 : ACID - La première page, la première fois.
La première chose que nous voyons lors du premier accès à la page web c’est un
message nous disant que la table snort n’est pas complète (comme montré dans la figure ci-
dessus).
C’est normale d’obtenir ce message, vu que les tables que contiennent les bases de
données snort et archive vienne du fichier creat_mysql. Ce fichier contient les 16 tables
19
nécessaires pour que Snort puisse enregistrer les alertes, mais ACID aussi à besoin de quelques
tables qui lui sont spécifique.
Il est possible d’utiliser ACID pour les créer en cliquant sur le lien « setup page »,
d’ailleurs c’est de cette méthode qui est recommendé.
Figure 22 : ACID - création des tables
Une fois sur la page « DB Setup », il faut utiliser le bouton « Create ACID AG » pour
créer les tables, si tous marche bien nous aurons des messages comme ceux dans la figure ci-
dessus. Ainsi il ne faut passer à la page d’accueil d’ACID que si nous avons tous à DONE.
Figure 23 : ACID - page d'accueil
Une fois sur la page d’accueil, nous remarquons que nous pouvons déjà tiré quelque
informations comme le pourcentage du trafic suspect pour les protocole TCP,UDP et ICMP,
nous pouvons aussi le voir pour les portscans.
Nous voyons en rouge le nombre d’alerte ajouté. Nous pouvons afficher des graph. Si
nous essayons de cliquer sur un protocole comme l’UDP par exemple, nous serions rediriger
vers une autre page qui nous affichera les informations de ces alertes d’une manière plus détaillé
sous forme d’un tableau.
La figure suivante montre un récapitulatif des alertes ICMP :
20
Figure 24 : ACID - Tableau récapitulatifs des alertes ICMP
Nous pouvons remarquer que chaque alerte est représenté sur une seule ligne, nous
pouvons récupérer les informations suivante à propos de chaque alerte comme la signature, le
timestamp, @IPS/@IPD et le protocole de couche 4.
Une autre fonctionnalité intéressante est la possibilité d’afficher ces informations sous
forme de graphes comme montré dans la figure suivante :
Figure 25 : ACID - Graphe comparant les alerts par rapport au temps (par heure).
21
Utilisation de BASE avec Snort :
BASE (Basi Analysis and Security Engine), est le successeur d’ACID. Cette dernière a
été abandonnée à cause de ses dépendances à des versions plus anciennes.
BASE à besoin des mêmes prérequis qu’ACID à la différence que pour BASE nous
pouvons travailler avec n’importe qu’elle nouvelle version de PHP,Apache est mysql.
Dans notre cas nous avons utilisé :
WAMP 2.4 (PHP 5.4.16, Apache 2.4, Mysql 5.6.1).
La bibliothèque GD2.
Le Package PEAR, ce dernier est nécessaire dans la mesure où il regroupe plusieurs
modules qui vont permettre à PHP de pouvoir envoyé des mails, de manipuler les bibliothèques
des images etc …
Pour installer PEAR, il faut accéder au répértoire ou nous avons PHP est de lancer la
commande suivante :
# php ./go-pear.phar
Cette commande lance l’installation du package PEAR comme montré dans la figure
suivante :
Figure 26 : Installation de PEAR
Maintenant il faut installer les bibliothèques que va utiliser BASE avec la commande
suivantes :
# pear install --alldeps Image_Color-alpha Image_Canvas-alpha Image_Graph-alpha Mail-
alpha Mail_Mime-alpha
22
Pour vérifier a présence des packages que nous venons d’installer nous utilisons la
commande :
# pear list –a
Figure 27 : Vérification des packages PEAR installé
La première chose à faire est d’installation Wamp et de créer les bases de données snort
et archive ainsi que l’utilisateur snorty.
Il faut activer la bibliothèque GD2 au niveau de PHP.
Maintenant il faut modifier le fichier php.ini comme suite :
max_execution_time = 60
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT /* cette ligne doit etre
commenté */
include_path = "C:wampbinphp5;C:wampbinphp5pear" /* nécessaire pour que BASE
puise utilisé le package PEAR */
extension_dir = "C:wampbinphp5ext" // chemin des extensions
session.save_path = "c:windowstemp" // chemin pour un répertoire temp
23
Une fois ce travail est fait, il faut configurer BASE, pour ça il faut modifier le fichier
base_conf.php comme ce qui suit :
Figure 28 : BASE - configuration du chemin de la biblio ADODB
Nous commençons par préciser le chemin vers la bibliothèque ADODB, et le type de la
base de données utilisé, dans notre cas mysql.
Après il faut renseigner les paramètres de connexion à la base de données.
Figure 29 : BASE - Paramétrages des informations de connexion
La dernière chose est de préciser le chemin vers le fichier portscan.
Figure 30 : BASE - Chemin vers le portscan
Une fois que la configuration est terminée, nous allons essayer d’accéder à BASE via
un navigateur. Comme ce qui était le cas pour ACID, BASE nous demande de créer des tables
qui sont nécessaire à son fonctionnement.
24
Un lien nous a été présenté pour nous rediriger vers la page de configuration de BASE,
nous utiliserons le bouton de création des tables et nous laissons faire. La figure suivante montre
le résultat une fois que nous avons créé les tables. Il faut que tous soit à DONE.
Figure 31 : Création des tables nécessaire pour BASE
Maintenant tout est prêt pour visualiser les alertes de Snort. Pour faire, il suffit d’accéder
à la page d’accueil de BASE, comme montré dans la figure suivante :
Figure 32 : BASE - Page d'accueil
Nous remarquons presque les mêmes informations que nous pouvons récolter lors de
l’utilisation d’ACID.
25
Nous pouvons aussi utiliser les graphes pour faire une analyse plus approprié. Tout à
l’heure nous avons affiché le détail des alertes au niveau du protocole ICMP avec ACID,
maintenant nous allons essayer de voir les alertes de scan de port, comme le montre cette figure
Figure 33 : BASE - Tableau récapitulatif des alertes de scan de port
26
La figure qui va suivre montre le résultat d’une requête qui demande l’affichage des
alertes selon le temps dans un graphique :
Figure 34 : BASE - Exemple de graphe
27
Conclusion
Durant le premier atelier nous avions vu comment mettre en place et configurer un
firewall, maintenant nous savons comment faire pour renforcer la sécurité d’un réseau en
utilisant un outil de détection d’intrusion fort comme Snort.
D’autre mécanisme aussi efficace sont encore à apprendre, nous aurons la chance de
traiter SSL durant le prochain atelier.

Contenu connexe

Similaire à Atelier IDS SNORT

Supervision rc3a9seau
Supervision rc3a9seauSupervision rc3a9seau
Supervision rc3a9seauMed Ali Bhs
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Saber LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Sabeur LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Sabeur LAJILI
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Alaaeddine Tlich
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauNicolas Roulleau
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiKhalid EDAIG
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembeddedAyoub Rouzi
 
Formation gns3
Formation gns3Formation gns3
Formation gns3Joeongala
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphinenoussa krid
 
Projet de fin d etudes
Projet de fin d etudesProjet de fin d etudes
Projet de fin d etudes3azwa
 
benhamza_elmader_proxy_ntop.pdf
benhamza_elmader_proxy_ntop.pdfbenhamza_elmader_proxy_ntop.pdf
benhamza_elmader_proxy_ntop.pdfSofianeBENHAMZA
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 
ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ssuser6373db
 

Similaire à Atelier IDS SNORT (20)

Supervision rc3a9seau
Supervision rc3a9seauSupervision rc3a9seau
Supervision rc3a9seau
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
 
Bah mamadou hady
Bah mamadou hadyBah mamadou hady
Bah mamadou hady
 
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpiCreation de cluster (Master et deux slave ) nfs, htcondor, mpi
Creation de cluster (Master et deux slave ) nfs, htcondor, mpi
 
Cours python
Cours pythonCours python
Cours python
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 
Supervision
SupervisionSupervision
Supervision
 
Formation gns3
Formation gns3Formation gns3
Formation gns3
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphine
 
Tp python
Tp pythonTp python
Tp python
 
Projet de fin d etudes
Projet de fin d etudesProjet de fin d etudes
Projet de fin d etudes
 
benhamza_elmader_proxy_ntop.pdf
benhamza_elmader_proxy_ntop.pdfbenhamza_elmader_proxy_ntop.pdf
benhamza_elmader_proxy_ntop.pdf
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
Cours réseauxf
Cours réseauxfCours réseauxf
Cours réseauxf
 
ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86
 
Fourth year internship report
Fourth year internship reportFourth year internship report
Fourth year internship report
 

Plus de Natasha Grant

How To Teach Reading Essay
How To Teach Reading EssayHow To Teach Reading Essay
How To Teach Reading EssayNatasha Grant
 
Good Ways To Transition Into A New Paragraph. Int
Good Ways To Transition Into A New Paragraph. IntGood Ways To Transition Into A New Paragraph. Int
Good Ways To Transition Into A New Paragraph. IntNatasha Grant
 
Things To Take Note Of, If You Are A Student
Things To Take Note Of, If You Are A StudentThings To Take Note Of, If You Are A Student
Things To Take Note Of, If You Are A StudentNatasha Grant
 
To Avoid Plagiarism You Should. How To Avoid Pla
To Avoid Plagiarism You Should. How To Avoid PlaTo Avoid Plagiarism You Should. How To Avoid Pla
To Avoid Plagiarism You Should. How To Avoid PlaNatasha Grant
 
Best Research Paper Writing Se
Best Research Paper Writing SeBest Research Paper Writing Se
Best Research Paper Writing SeNatasha Grant
 
Webtools - Paper Templates
Webtools - Paper TemplatesWebtools - Paper Templates
Webtools - Paper TemplatesNatasha Grant
 
Write Writing Motivation, Dissertation Motivation, Wr
Write Writing Motivation, Dissertation Motivation, WrWrite Writing Motivation, Dissertation Motivation, Wr
Write Writing Motivation, Dissertation Motivation, WrNatasha Grant
 
How To Write A Thesis Or Dissertation With Ease
How To Write A Thesis Or Dissertation With EaseHow To Write A Thesis Or Dissertation With Ease
How To Write A Thesis Or Dissertation With EaseNatasha Grant
 
Teachers You CanT Write An Entire Ess
Teachers You CanT Write An Entire EssTeachers You CanT Write An Entire Ess
Teachers You CanT Write An Entire EssNatasha Grant
 
007 Cheap Essay Writing Service In
007 Cheap Essay Writing Service In007 Cheap Essay Writing Service In
007 Cheap Essay Writing Service InNatasha Grant
 
If I Were President Writing Paper By Miss Van Teach
If I Were President Writing Paper By Miss Van TeachIf I Were President Writing Paper By Miss Van Teach
If I Were President Writing Paper By Miss Van TeachNatasha Grant
 
Website For Essay Writing
Website For Essay WritingWebsite For Essay Writing
Website For Essay WritingNatasha Grant
 
College Diversity Essay
College Diversity EssayCollege Diversity Essay
College Diversity EssayNatasha Grant
 
34 Song Title Prompts Writing Songs Inspiration,
34 Song Title Prompts Writing Songs Inspiration,34 Song Title Prompts Writing Songs Inspiration,
34 Song Title Prompts Writing Songs Inspiration,Natasha Grant
 
19 Writing Graphic Organizers Images - 5Th G
19 Writing Graphic Organizers Images - 5Th G19 Writing Graphic Organizers Images - 5Th G
19 Writing Graphic Organizers Images - 5Th GNatasha Grant
 
Why Do You Need Financial Assistance Essay - Writin
Why Do You Need Financial Assistance Essay - WritinWhy Do You Need Financial Assistance Essay - Writin
Why Do You Need Financial Assistance Essay - WritinNatasha Grant
 
Research Paper - YoderEnglish
Research Paper - YoderEnglishResearch Paper - YoderEnglish
Research Paper - YoderEnglishNatasha Grant
 
Can Anyone Help Me Write My MUN Position PaperT
Can Anyone Help Me Write My MUN Position PaperTCan Anyone Help Me Write My MUN Position PaperT
Can Anyone Help Me Write My MUN Position PaperTNatasha Grant
 
Effective Writing Examples. 10 Principles O
Effective Writing Examples. 10 Principles OEffective Writing Examples. 10 Principles O
Effective Writing Examples. 10 Principles ONatasha Grant
 
Precis Writing How To Write Precis Uses, Rules And Example Of Precis
Precis Writing How To Write Precis Uses, Rules And Example Of PrecisPrecis Writing How To Write Precis Uses, Rules And Example Of Precis
Precis Writing How To Write Precis Uses, Rules And Example Of PrecisNatasha Grant
 

Plus de Natasha Grant (20)

How To Teach Reading Essay
How To Teach Reading EssayHow To Teach Reading Essay
How To Teach Reading Essay
 
Good Ways To Transition Into A New Paragraph. Int
Good Ways To Transition Into A New Paragraph. IntGood Ways To Transition Into A New Paragraph. Int
Good Ways To Transition Into A New Paragraph. Int
 
Things To Take Note Of, If You Are A Student
Things To Take Note Of, If You Are A StudentThings To Take Note Of, If You Are A Student
Things To Take Note Of, If You Are A Student
 
To Avoid Plagiarism You Should. How To Avoid Pla
To Avoid Plagiarism You Should. How To Avoid PlaTo Avoid Plagiarism You Should. How To Avoid Pla
To Avoid Plagiarism You Should. How To Avoid Pla
 
Best Research Paper Writing Se
Best Research Paper Writing SeBest Research Paper Writing Se
Best Research Paper Writing Se
 
Webtools - Paper Templates
Webtools - Paper TemplatesWebtools - Paper Templates
Webtools - Paper Templates
 
Write Writing Motivation, Dissertation Motivation, Wr
Write Writing Motivation, Dissertation Motivation, WrWrite Writing Motivation, Dissertation Motivation, Wr
Write Writing Motivation, Dissertation Motivation, Wr
 
How To Write A Thesis Or Dissertation With Ease
How To Write A Thesis Or Dissertation With EaseHow To Write A Thesis Or Dissertation With Ease
How To Write A Thesis Or Dissertation With Ease
 
Teachers You CanT Write An Entire Ess
Teachers You CanT Write An Entire EssTeachers You CanT Write An Entire Ess
Teachers You CanT Write An Entire Ess
 
007 Cheap Essay Writing Service In
007 Cheap Essay Writing Service In007 Cheap Essay Writing Service In
007 Cheap Essay Writing Service In
 
If I Were President Writing Paper By Miss Van Teach
If I Were President Writing Paper By Miss Van TeachIf I Were President Writing Paper By Miss Van Teach
If I Were President Writing Paper By Miss Van Teach
 
Website For Essay Writing
Website For Essay WritingWebsite For Essay Writing
Website For Essay Writing
 
College Diversity Essay
College Diversity EssayCollege Diversity Essay
College Diversity Essay
 
34 Song Title Prompts Writing Songs Inspiration,
34 Song Title Prompts Writing Songs Inspiration,34 Song Title Prompts Writing Songs Inspiration,
34 Song Title Prompts Writing Songs Inspiration,
 
19 Writing Graphic Organizers Images - 5Th G
19 Writing Graphic Organizers Images - 5Th G19 Writing Graphic Organizers Images - 5Th G
19 Writing Graphic Organizers Images - 5Th G
 
Why Do You Need Financial Assistance Essay - Writin
Why Do You Need Financial Assistance Essay - WritinWhy Do You Need Financial Assistance Essay - Writin
Why Do You Need Financial Assistance Essay - Writin
 
Research Paper - YoderEnglish
Research Paper - YoderEnglishResearch Paper - YoderEnglish
Research Paper - YoderEnglish
 
Can Anyone Help Me Write My MUN Position PaperT
Can Anyone Help Me Write My MUN Position PaperTCan Anyone Help Me Write My MUN Position PaperT
Can Anyone Help Me Write My MUN Position PaperT
 
Effective Writing Examples. 10 Principles O
Effective Writing Examples. 10 Principles OEffective Writing Examples. 10 Principles O
Effective Writing Examples. 10 Principles O
 
Precis Writing How To Write Precis Uses, Rules And Example Of Precis
Precis Writing How To Write Precis Uses, Rules And Example Of PrecisPrecis Writing How To Write Precis Uses, Rules And Example Of Precis
Precis Writing How To Write Precis Uses, Rules And Example Of Precis
 

Dernier

Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 

Dernier (15)

Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 

Atelier IDS SNORT

  • 1. 0 ATELIER 2 : MISE EN PLACE D’UN IDS (SNORT) Module : Sécurité des réseaux informatiques Mohamed Amine AIT LAFKIH 2015/2016 MST - RSI [Adresse de la société]
  • 2. 1
  • 3. 2 Table des matières Table des figures : .......................................................................................................... 3 Objectif du TP : .............................................................................................................. 4 Introduction .................................................................................................................... 5 Déroulement du TP : ...................................................................................................... 6 1. Maquettes de test : ............................................................................................ 6 2. Description des stations :.................................................................................. 6 3. Prérequis ........................................................................................................... 6 Installation et configuration de Snort ............................................................................. 7 1. Installation et lancement :................................................................................. 7 2. Configuration de snort.conf :............................................................................ 8 3. Les règles Snort : ............................................................................................ 12 Utilisation d’un port scan (Nmap) :.............................................................................. 12 Utilisation d’ACID avec Snort ..................................................................................... 16 Utilisation de BASE avec Snort : ................................................................................. 21 Conclusion.................................................................................................................... 27
  • 4. 3 Table des figures : Figure 1 : Maquette utilisé durant le TP......................................................................... 6 Figure 2 : Modification des variables réseaux................................................................ 8 Figure 3 : Spécification des chemins vers les règles de Snort........................................ 8 Figure 4 : Spécification du répertoire des logs............................................................... 8 Figure 5 : Spécification des librairies............................................................................. 9 Figure 6: Configuration du "Portscan detection" ........................................................... 9 Figure 7 : Configuration des output et des chemins des fichiers de configuration ........ 9 Figure 8 : Inclusion des fichiers des règles pour le preprocessor................................... 9 Figure 9 : Détection des interfaces actives................................................................... 10 Figure 10 : Snort comme analyseur de trafic................................................................ 11 Figure 11 : Installation du service Snort....................................................................... 11 Figure 12 : Démarrage du service Snort....................................................................... 12 Figure 13 : Service.msc ................................................................................................ 12 Figure 14 : Réultat de Nmap avec un range de ports sur la machine windows........... 14 Figure 15 : Détection de l'OS avec Nmap .................................................................... 15 Figure 16 : Contenus du fichier log de Snort ............................................................... 15 Figure 17 : Acid_conf.php -> lien vers ADODB ......................................................... 17 Figure 18 : Acid_conf.php -> Paramètres de connexion à la base de données ............ 18 Figure 19 : Acid_conf.php -> Chemin vers JPGraph................................................... 18 Figure 20 : Acid_conf.php -> chemin vers portscan.log.............................................. 18 Figure 21 : ACID - La première page, la première fois. .............................................. 18 Figure 22 : ACID - création des tables......................................................................... 19 Figure 23 : ACID - page d'accueil................................................................................ 19 Figure 24 : ACID - Tableau récapitulatifs des alertes ICMP ....................................... 20 Figure 25 : ACID - Graphe comparant les alerts par rapport au temps (par heure)..... 20 Figure 26 : Installation de PEAR.................................................................................. 21 Figure 27 : Vérification des packages PEAR installé .................................................. 22 Figure 28 : BASE - configuration du chemin de la biblio ADODB ............................ 23 Figure 29 : BASE - Paramétrages des informations de connexion .............................. 23 Figure 30 : BASE - Chemin vers le portscan ............................................................... 23 Figure 31 : Création des tables nécessaire pour BASE ................................................ 24 Figure 32 : BASE - Page d'accueil ............................................................................... 24 Figure 33 : BASE - Tableau récapitulatif des alertes de scan de port.......................... 25 Figure 34 : BASE - Exemple de graphe ....................................................................... 26
  • 5. 4 Objectif du TP : L’objectif de ce TP est de mettre en place un système de détection d’intrusion en se basant sur le logiciel libre Snort. C’est un système de détection d'intrusion libre qui est capable d'effectuer en temps réel des analyses de trafic et de logger les paquets sur un réseau IP. Il peut effectuer des analyses de protocoles, recherche/correspondance de contenu et peut être utilisé pour détecter une grande variété d'attaques. Dans le cadre de ce TP, nous nous intéressons essentiellement aux aspects suivants :  Comprendre et assimiler le rôle d’un système de détection d’intrusion dans la sécurité des réseaux.  Installer le logiciel Snort et les logiciels requis.  Effectuer les configurations nécessaires pour le bon fonctionnement de Snort.  Effectuer des tests avec Snort dans ses différents modes.  Utilisation de SNORT comme un simple sniffer.  Utilisation comme outil d'enregistrement de trafic réseau  Apprendre à écrire de nouvelles règles personnalisées.  Utilisation d’un mécanisme capable d’afficher les alertes remonté par Snort.
  • 6. 5 Introduction Snort est un Système de Détection d'Intrusion, dont les qualités et les capacités ne sont plus à démontrer. Il assure plusieurs fonctions :  Analyse  Journalisation  Gestion  Action Son moteur d'analyse est basé sur la technique de recherche de signatures dans les paquets. Il a donc un langage qui permet d'écrire les filtres correspondant à des signatures d'attaques connues.
  • 7. 6 Déroulement du TP : Durant ce TP nous allons travailler avec deux machines, la première est pour configurer Snort alors que la deuxième agira comme un client malveillant. 1. Maquettes de test : Figure 1 : Maquette utilisé durant le TP Comme le montre la maquette ci-dessus, nous allons utiliser une machine virtuelle (Machine 1) sur laquelle nous allons mettre en place Snort ainsi que d’autres services qui sont nécessaire à son bon fonctionnement. La deuxième machine (Machine 2) agira comme une machine du réseau extérieur pour faire des tests d’intrusion avec l’outil Nmap. Les deux machine vont communiquer via la passerelle de vmwar (@IP : 192.168.231.2). 2. Description des stations : Machine Type OS Fonction Services Adresse IP Machine 1 Windows XP SP3 Snort Apache, Mysql, PHP, BASE 192.168.231.130/24 192.168.231.2 Machine 2 Windows 10 Client malveillant Nmap 192.168.231.1/24 192.168.231.2 3. Prérequis  Snort 2.9.0.5.  Snort rules.  Bibliothèque Wincap.
  • 8. 7  Bibliothèque ADODB.  ACID : o Apache 1.3.x o PHP 4.x o Mysql 3.23 o Package JPGraph o Bibliothèque GD. o DBTools  BASE (Basi Analysis and Security Engine) : o Apache 2.x o PHP 5.4.x o Package PEAR. o Bibliothèque GD2.  Navigateur web supportant les cookies. Installation et configuration de Snort 1. Installation et lancement : La première chose à faire est de télécharger l’exécutable de Snort, la version demandé dans le TP est la 2.9.1.2, vu que nous l’avions pas trouvé, nous avions décidé de travailler avec une version antérieur la 2.9.05. Une fois l’installation terminé, un dossier qui regroupe tous les éléments nécessaires au bon fonctionnement de Snort dans la racine de notre disque dur, dans notre cas : c:snort Nous allons faire un petit détour rapide au niveau de l’arborescence de ce dossier :  C :snortbin : les fichier sources.  C :snortdoc : la documentation de Snort.  C:snortetc : les fichiers de configuration, (snort.conf, …).  C:snortrules : les règles de Snort.  C:snortshemas : les fichiers sql nécessaire à la création des tables des bases de donnèes snort et archive. La prochaine étape, consistera à télécharger le pack des règles pour Snort depuis son site officiel. Le package contiens plusieurs répertoires selon la version des règles téléchargé. Nous avions opté pour la dernière version réservé aux personnes inscrits « snortrules- snapshot ». Le package contient plusieurs répertoires, nous allons nous intéresser aux dossiers suivant : rules/, preproc_rules/. Il faut copier leur contenu dans leur dossier respectif de Snort. Etant donné que Snort écoute le trafic et analyse le contenu des paquets reçus, il a besoin de la Bibliothèque Winpcap. Après l’installation de Snort, de l’ajout des règles ainsi que l’installation de Wincap, nous sommes à présent en mesure de commencer la configuration de notre IDS Snort.
  • 9. 8 2. Configuration de snort.conf : Le fichier de configuration de Snort se trouve au niveau du répertoire C:snortetcsnort.conf. Il faut éditer les lignes suivant : Nous commençons par modifier les variables contenant les adresses IP de notre réseau interne et externe comme montré dans la figure ci-dessous. Figure 2 : Modification des variables réseaux Notre réseaux local est le 192.168.321.0/24, c’est donc lui que nous précisons dans la variable HOME_NET et pour le réseau externe nous le précisons pas, car nous estimons que tous réseaux différent de notre réseaux local est considéré comme externe. Pour cela nous mettons ANY dans la variable EXTERNAL_NET. Nous modifions aussi le chemin vers les règles utilisé par Snort, dans notre cas nous allons utiliser les deux répertoires rules et preproc_rules. Figure 3 : Spécification des chemins vers les règles de Snort La figure ci-dessus montre les valeurs que nous avons donné aux variables RULE_PATH et PREPROC_RULE_PATH. IL faut aussi préciser le chemin vers le dossier des logs pour Snort, comme montré dans la figure suivante : Figure 4 : Spécification du répertoire des logs
  • 10. 9 Il faut spécifier le chemin vers les librairies nécessaire pour le fonctionnement de Snort. Figure 5 : Spécification des librairies Maintenant il faut activer le sfportscan au niveau des préprocesseurs pour détecter et afficher les alertes relatives aux scans de ports. Ces logs seront journalisé dans le fichier C:snortlogportscan.log Figure 6: Configuration du "Portscan detection" Pour que Snort puisse enregistrer les logs dans une base de donnée, il faut décomenter « output database » et la configurer selon nos propres paramètres, c’est même très important car si nous devons préciser à Snort qu’il doit enregistrer les logs dans une base de données. Pour le référencement et la classification des données, Snort a besoin de deux fichiers de configuration classification.conf et reference.conf. La figure suivante montre comment faire ces modifications. Figure 7 : Configuration des output et des chemins des fichiers de configuration Comme le montre cette figure, nous voulons que Snort enregistre les logs et les alertes dans une base de donnée de type mysql, avec un utilisateur/motDePasse -> snorty/snorty dans la base de donnée Snort, la dernière chose à préciser est l’emplacement du service mysql, dans notre cas localhost. Puisque nous utilisons le « preprocessor » pour le portscan, il ne faut pas oublier de préciser le chemin vers les fichiers de configurations du processeur que nous avons téléchargé avec le pack des règles. Figure 8 : Inclusion des fichiers des règles pour le preprocessor
  • 11. 10 Nous avons à présent terminé la configuration de Snort. Pour être sur du bon fonctionnement de notre configuration nous allons procéder à une multitude de tests. La première chose sera de vérifier quel sont les interfaces actives au niveau de notre machine, pour faire il faut utiliser Snort. Deux façon se présente pour utiliser les commande Snort, la première est d’ajouter une variable globale au niveau du système qui pointe vers le répertoire C:snortbin, la deuxième consiste à naviguer jusqu’à ce même répertoire et d’exécuté les commandes. Pour connaitre l’interface active nous allons utiliser la commande suivante : # snort -W Figure 9 : Détection des interfaces actives Comme la montre la figure ci-dessus, nous n’avons qu’une seule interface active, et elle a l’index 1. C’est cet index qui est important pour nous car nous allons l’utiliser dans beaucoup d’autres commandes par la suite. L’une des possibilités d’utilisation de Snort est l’analyse de trafic, pour l’exploiter de cette manière nous allons utiliser la commande suivante (le x représente l’index de notre interface active) : # snort –v –ix
  • 12. 11 Figure 10 : Snort comme analyseur de trafic La figure ci-dessus montre le résultat de la commande précédente, nous remarquons que tous les paquets qui transitent sont journaliser en temps réel par Snort. Maintenant que Snort marche bien, nous allons essayer d’installer le service Snort dans notre machine. Pour cela nous allons utilisé la commande suivante : # Snort /SERVICE /INSTALL -de –c c:/snort/etc/snort.conf -l c:/snort/log –ix !!! DONNER UNE DESCRIPTION A CETTE COMMANDE !!! Figure 11 : Installation du service Snort Comme la montre cette figure, le service Snort est à présent installer sur notre machine. Nous pouvons le lancer/stopper/redémarrer via l’interface des services de la machine ou bien via un invite de commande.
  • 13. 12 Maintenant nous allons lancer le service Snort : Figure 12 : Démarrage du service Snort Nous allons vérifier que Snort à bien démarrer et qu’il est bel est bien parmi les services présents dans notre machine. 3. Les règles Snort : Figure 13 : Service.msc Cette partie n’est que théorique, nous n’allons pas la traiter au niveau de notre TP, mais elle nous a aidé à comprendre les règles utilisé par Snort et de pouvoir en créer de nouvelles adapté à nos besoin. Dans notre cas nous avons ajouté 2 nouvelles règles au niveau du fichier C:snortruleslocal.rules. Ces règles sont les suivantes : alert icmp any any -> 192.168.231.0 any (msg :"ping detected"; sid:1000001;) alert udp any any -> 192.168.231.0 any (msg:"testing UDP rule"; sid:1000002;) Nous n’avons pas ajouté de règles pour le protocole tcp vu qu’il existe beaucoup de règles dans le fichier community.rules que nous avons téléchargé depuis le site de Snort. Utilisation d’un port scan (Nmap) : Nous n’allons pas nous attarder sur le sujet de Nmap vu que ce n’ai pas la première fois que nous allons l’utiliser, surtout que nous avons déjà fait une description de cet outils lors de l’atelier 1. Donc nous allons directement traiter les questions en relation avec le port scan. 1. Nous pouvons utiliser Nmap pour lancer un ping avancé contre une machine ou un réseau, l’un des exemples les plus utilisé de Nmap est la recherche des ports TCP et UDP ouvert sur une machine, pour faire ça nous pouvons utiliser la commande suivante : # nmap –sS –sU 192.168.231.130
  • 14. 13 2. Pour détecter les ports TCP et UDP ouvert allant de 1 à 5000 sur la machine windows, nous allons utiliser la commande suivante : # nmap –sS –sU –p U:1-5000,T:1-5000 192.168.231.130 La figure ci-dessous montre le résultat de cette commande sur la machine Windows XP. En vert nous voyant les ports TCP et UDP ouvert et qui ne sont pas filtré, en noir les port TCP et UDP filtré. Bien sûr le port 80 est ouvert ainsi que le port 3306 parce que nous avons activé les services apache et mysql au niveau de notre machine, le NTP aussi qui est configuré par défaut au niveau de la machine et qui utilise le port 123.
  • 15. 14 Figure 14 : Réultat de Nmap avec un range de ports sur la machine windows 3. Pour détecter le type de système d’exploitation utilisé au niveau d’une machine nous utilisons la commande suivante : # nmap –O 192.168.231.130 La figure ci-dessous montre le résultat de la commande, et comme montré dans le cadre rouge, nous remarquons que le système d’exploitation utilisé au niveau de notre machine cible et Windows XP.
  • 16. 15 Figure 15 : Détection de l'OS avec Nmap Normalement Snort a déjà commencé à enregistrer les logs dans des fichiers spécifiques dans le répertoire que nous lui avons précisé lors de la configuration, à savoir C:snortlog Après l’utilisation de Nmap nous allons essayer d’ouvrir le fichier log de Snort, pour cela nous avons utilisé wireshark vu que notepad n’arrive pas à les ouvrir. Figure 16 : Contenus du fichier log de Snort
  • 17. 16 Lors de la consultation du fichier de log de Snort nous remarquons une multitude de paquets journalisé, et si nous essayons d’appliquer un filtre avec l’@IPS de la machine depuis laquelle nous venons de lancer Nmap, nous tombons sur les paquets relatifs au dernier scan de port. Le problème, c’est que cette manière de consulter les logs n’est pas optimale, nous avons remarqué que juste quelque minute après le premier lancement de Snort, que le fichier contenais déjà des milliers de lignes, ajoutant à cela le besoin de faire une analyse rapide pour pouvoir prendre des décisions en temps réel. Une solution pour notre problème est l’utilisation d’une interface graphique qui nous affiche ces informations que Snort nous journalise d’une manière plus lisible. Dans ce qui suit nous verrons comment configurer et utiliser deux solutions les plus connus, la première est ACID et la deuxième est BASE. Utilisation d’ACID avec Snort ACID (Analysis Console for Intrusion Databases) est un moteur d’analyse basé sur PHP pour rechercher les évènements généré par des IDS, parfeux et des outils d’analyse de réseaux dans une base de données. Cette console sera très utile pour afficher les alertes de Snort, les recherches peuvent être optimisé selon le numéro de port, l’adresse IP source/destination et protocoles. Avant de commencer l’installation et la configuration d’ACID, il faut commencer par préparer l’environnement en installant les services et les packages nécessaire et décrit dans la partie prérequis en haut. Il est impérativement important de respecter les versions pour un fonctionnement optimal d’ACID. Nous avons installé et configuré les packages suivants :  PHP version 4 .3.1.  Apache 1.3  Mysql 3.23.1  DBTools pour administrer les bases de données.  Le package JPGraph 1.19 qui est nécessaire pour le dessin des graphes.  La bibliothèque GD pour la manipulation des images, il faut penser à vérifier la présence des librairies libpng et libjpeg. Vu les dépendances d’ACID et le fait de ne pas trouver un serveur web ancien qui respecte les versions que nous venons de cité, nous avons opté pour une installation séparé des services. Cette installation ne sera pas détaillé vu que ce n’ai pas le sujet de notre TP. Toutefois certaines modifications au niveau du fichier php.ini sont nécessaires, il faut faire comme dans les lignes suivantes : max_excution_time = 60 extension_dir = C:php4extensions // le chemin vers les extensions de php session.save_path = C :php4sessiondata /*fichier temp, n’importe quel autre chemin pourras être valide du moment que les droits d’écritures n’y sont pas interdis*/.
  • 18. 17 ;error_reporting = E_ALL & ~E_NOTICE // cette ligne doit être commenté. register_globals = ON // la valeur initiale est Off, il faut la changer à On Après cela, nous avons utilisé DBTools pour créer les deux bases de données snort et archive en utilisant le fichier suivant C:snortschemascreat_mysql sans oublié la création de notre utilisateur snorty qui vas utiliser ces deux tables. Maintenant que php, apache et mysql marche bien sur notre machine, nous devons ajouter la bibliothèque ADODB. ADODB est un ensemble de classe avancé de PHP Wrappers. Les wrappers sont des données ou des programmes qui mettent en place un autre programme pour qu’il s’exécute d’une bonne manière. Une fois la bibliothèque téléchargé, il faut mettre le dossier quelque part ou il pourra être accessible, parce que nous allons référencer son chemin lors de la configuration d’ACID. Nous allons faire la même procédure pour le package JPGrah et nous allons le mettre dans le dossier htdocs d’Apache pour que nous puissions le tester avant de commencer l’installation d’ACID. Maintenant que tout est près, il faut mettre le dossier d’ACID dans notre serveur web pour pouvoir y accéder à tous moment. Il faut ouvrir le fichier de configuration d’ACID (acid_conf.php) et le modifier comme ce qui suit. La première chose est de spécifier le chemin vers ADODB ainsi que quel type de base de données nous allons utiliser : Figure 17 : Acid_conf.php -> lien vers ADODB Maintenant il faut renseigner les informations de connexion pour les bases de données snort et archive :
  • 19. 18 Figure 18 : Acid_conf.php -> Paramètres de connexion à la base de données A présent, ACID auras besoin du package JPGraph, c’est pourquoi nous allons renseigner son chemin comme suit : Figure 19 : Acid_conf.php -> Chemin vers JPGraph La dernière chose qui reste à faire est de spécifier le chemin vers le fichier où les portscans sont enregistré : Figure 20 : Acid_conf.php -> chemin vers portscan.log Maintenant que la configuration est terminée nous allons essayer d’accéder à ACID via un navigateur. Figure 21 : ACID - La première page, la première fois. La première chose que nous voyons lors du premier accès à la page web c’est un message nous disant que la table snort n’est pas complète (comme montré dans la figure ci- dessus). C’est normale d’obtenir ce message, vu que les tables que contiennent les bases de données snort et archive vienne du fichier creat_mysql. Ce fichier contient les 16 tables
  • 20. 19 nécessaires pour que Snort puisse enregistrer les alertes, mais ACID aussi à besoin de quelques tables qui lui sont spécifique. Il est possible d’utiliser ACID pour les créer en cliquant sur le lien « setup page », d’ailleurs c’est de cette méthode qui est recommendé. Figure 22 : ACID - création des tables Une fois sur la page « DB Setup », il faut utiliser le bouton « Create ACID AG » pour créer les tables, si tous marche bien nous aurons des messages comme ceux dans la figure ci- dessus. Ainsi il ne faut passer à la page d’accueil d’ACID que si nous avons tous à DONE. Figure 23 : ACID - page d'accueil Une fois sur la page d’accueil, nous remarquons que nous pouvons déjà tiré quelque informations comme le pourcentage du trafic suspect pour les protocole TCP,UDP et ICMP, nous pouvons aussi le voir pour les portscans. Nous voyons en rouge le nombre d’alerte ajouté. Nous pouvons afficher des graph. Si nous essayons de cliquer sur un protocole comme l’UDP par exemple, nous serions rediriger vers une autre page qui nous affichera les informations de ces alertes d’une manière plus détaillé sous forme d’un tableau. La figure suivante montre un récapitulatif des alertes ICMP :
  • 21. 20 Figure 24 : ACID - Tableau récapitulatifs des alertes ICMP Nous pouvons remarquer que chaque alerte est représenté sur une seule ligne, nous pouvons récupérer les informations suivante à propos de chaque alerte comme la signature, le timestamp, @IPS/@IPD et le protocole de couche 4. Une autre fonctionnalité intéressante est la possibilité d’afficher ces informations sous forme de graphes comme montré dans la figure suivante : Figure 25 : ACID - Graphe comparant les alerts par rapport au temps (par heure).
  • 22. 21 Utilisation de BASE avec Snort : BASE (Basi Analysis and Security Engine), est le successeur d’ACID. Cette dernière a été abandonnée à cause de ses dépendances à des versions plus anciennes. BASE à besoin des mêmes prérequis qu’ACID à la différence que pour BASE nous pouvons travailler avec n’importe qu’elle nouvelle version de PHP,Apache est mysql. Dans notre cas nous avons utilisé : WAMP 2.4 (PHP 5.4.16, Apache 2.4, Mysql 5.6.1). La bibliothèque GD2. Le Package PEAR, ce dernier est nécessaire dans la mesure où il regroupe plusieurs modules qui vont permettre à PHP de pouvoir envoyé des mails, de manipuler les bibliothèques des images etc … Pour installer PEAR, il faut accéder au répértoire ou nous avons PHP est de lancer la commande suivante : # php ./go-pear.phar Cette commande lance l’installation du package PEAR comme montré dans la figure suivante : Figure 26 : Installation de PEAR Maintenant il faut installer les bibliothèques que va utiliser BASE avec la commande suivantes : # pear install --alldeps Image_Color-alpha Image_Canvas-alpha Image_Graph-alpha Mail- alpha Mail_Mime-alpha
  • 23. 22 Pour vérifier a présence des packages que nous venons d’installer nous utilisons la commande : # pear list –a Figure 27 : Vérification des packages PEAR installé La première chose à faire est d’installation Wamp et de créer les bases de données snort et archive ainsi que l’utilisateur snorty. Il faut activer la bibliothèque GD2 au niveau de PHP. Maintenant il faut modifier le fichier php.ini comme suite : max_execution_time = 60 ;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT /* cette ligne doit etre commenté */ include_path = "C:wampbinphp5;C:wampbinphp5pear" /* nécessaire pour que BASE puise utilisé le package PEAR */ extension_dir = "C:wampbinphp5ext" // chemin des extensions session.save_path = "c:windowstemp" // chemin pour un répertoire temp
  • 24. 23 Une fois ce travail est fait, il faut configurer BASE, pour ça il faut modifier le fichier base_conf.php comme ce qui suit : Figure 28 : BASE - configuration du chemin de la biblio ADODB Nous commençons par préciser le chemin vers la bibliothèque ADODB, et le type de la base de données utilisé, dans notre cas mysql. Après il faut renseigner les paramètres de connexion à la base de données. Figure 29 : BASE - Paramétrages des informations de connexion La dernière chose est de préciser le chemin vers le fichier portscan. Figure 30 : BASE - Chemin vers le portscan Une fois que la configuration est terminée, nous allons essayer d’accéder à BASE via un navigateur. Comme ce qui était le cas pour ACID, BASE nous demande de créer des tables qui sont nécessaire à son fonctionnement.
  • 25. 24 Un lien nous a été présenté pour nous rediriger vers la page de configuration de BASE, nous utiliserons le bouton de création des tables et nous laissons faire. La figure suivante montre le résultat une fois que nous avons créé les tables. Il faut que tous soit à DONE. Figure 31 : Création des tables nécessaire pour BASE Maintenant tout est prêt pour visualiser les alertes de Snort. Pour faire, il suffit d’accéder à la page d’accueil de BASE, comme montré dans la figure suivante : Figure 32 : BASE - Page d'accueil Nous remarquons presque les mêmes informations que nous pouvons récolter lors de l’utilisation d’ACID.
  • 26. 25 Nous pouvons aussi utiliser les graphes pour faire une analyse plus approprié. Tout à l’heure nous avons affiché le détail des alertes au niveau du protocole ICMP avec ACID, maintenant nous allons essayer de voir les alertes de scan de port, comme le montre cette figure Figure 33 : BASE - Tableau récapitulatif des alertes de scan de port
  • 27. 26 La figure qui va suivre montre le résultat d’une requête qui demande l’affichage des alertes selon le temps dans un graphique : Figure 34 : BASE - Exemple de graphe
  • 28. 27 Conclusion Durant le premier atelier nous avions vu comment mettre en place et configurer un firewall, maintenant nous savons comment faire pour renforcer la sécurité d’un réseau en utilisant un outil de détection d’intrusion fort comme Snort. D’autre mécanisme aussi efficace sont encore à apprendre, nous aurons la chance de traiter SSL durant le prochain atelier.