Vous êtes sur la page 1sur 4

Office de la Formation Professionnelle et de la Promotion du Travail

Direction Régionale du Marrakech - Safi

Compétence 14 : Sécuriser une infrastructure digitale

TP N°3 : IDS/IPS avec Snort

Qu'est‐ce que Snort ?


Snort est un système de détection et de prévention d'intrusion de réseau open source (IDS / IPS)
développé par Sourcefire. Combinant les avantages de la signature, du protocole et de l'analyse
d’anomalie, Snort est la technologie IDS / IPS le plus largement utilisée dans le monde entier. Avec
des millions de téléchargements et près de 400 000 utilisateurs enregistrés, Snort est devenu le
standard de facto pour IPS.
Dans cette sous‐section, nous allons apprendre comment installer snort à partir de sources, rédiger des
règles et effectuer des tests de base.
Installation du Snort:
# apt‐get update
# apt‐get install snort*

Vérification de l'installation du Snort:


Créez les fichiers suivants snort.conf et icmp.rules:
Ouvrez le fichier de configuration de snort.
# leafpad /etc/snort/snort.conf
Vérifiez le fichier de configuration et vérifiez si les règles icmp sont incluses ou non. Sinon, incluez la
ligne ci‐dessous.
include /etc/snort/rules/icmp.rules
Ouvrez le fichier de règles icmp et incluez la règle mentionnée ci‐dessous.
# leafpad /etc/snort/rules/icmp.rules
Incluez la ligne ci‐dessous dans le fichier icmp.rule.
alert icmp any any > any any (msg:"Ping detected"; sid:1000477; rev:1)
La règle de base ci‐dessus émet des alertes lorsqu'il existe un paquet ICMP. Pourtant, pas tout les
paquets ICMP sont des ping, alors vous allez ajouter une autre régle spécifiant le type exacte du
paquet ICMP: « alert icmp any any > any any (msg:"Ping detected"; itype:8; sid:1000477; rev:1)”,
l’opion itype:8 définit le type de paquet ping
La structure d’une régle est la suivante:
<Rule Actions> <Protocol> <Source IP Address> <Source Port> <Direction Operator> <Destination IP
Address> <Destination > (rule options)

Structure Exemple
Rule Actions alert
Protocol icmp
Source IP Address any
Source Port any
Direction Operator ‐>
Destination IP Address any
Destination Port any
(rule options) (msg:”ICMP Packet”; sid:477; rev:3;)

Exécution du Snort :
Exécutez le snort à partir de la ligne de commande, comme indiqué ci‐dessous.
# snort ‐c /etc/snort/snort.conf ‐l /var/log/snort/
‐c pour le fichier de règles et ‐l pour le répertoire de journal
Afficher l'alerte de journal
Essayez de faire un ping sur votre IP afin de vérifier la règle de ping. Voici l'exemple d'une alerte de
snort pour cette règle ICMP.
Pour vérifier que la règle marche bien, on ping depuis la machine du pirate 192,168,56,101 vers la
machine du victime 192,168,56,102. Snort attrape les messages ICMP reçues (type0) et envoyés (type
8): Vous allez remarquer que seule les paquets envoyés (type 8) ont créé une alerte, ce qui est
exactement l’objectif de la règle.

Explication d'alerte
Quelques lignes sont ajoutées pour chaque alerte, qui comprend les éléments suivants : Le message est
imprimé en première ligne.
Source IP
IP de destination
Type de paquet et informations d'en‐tête.
Si vous avez une interface différente pour la connexion réseau, utilisez l'option ‐dev ‐i. Dans cet
exemple, l’interface réseau est eth0.
# snort ‐dev ‐i eth0 ‐c /etc/snort/snort.conf ‐l /var/log/snort/
Exécuter Snort comme Daemon
Ajoutez l'option ‐D pour exécuter snort en tant que démon.
# snort ‐D ‐c /etc/snort/snort.conf ‐l /var/log/snort/
Les règles par défaut peuvent être téléchargées à partir de:

https://www.snort.org/downloads/#rule‐downloads
Les alertes générées par snort sont enregistré dans /var/log/snort/, les alertes contient les messages, les
adresses sources, et les adresses destination, le type de paquets et les informations de l’entête.

Alerte pour l’accès à la plateforme de réseau sociale Facebook:


1- Enregistrer la page d’accueil de Facebook dans le dossier /var/www/html/ de la machine du pirate
2- Changer le DNS de sorte que les requêtes DNS de la machine victimes seront résolues au niveau du
pirate, pour ceci, vous insérer dans le fichier /etc/hosts de la machine victime la ligne suivante :
192.168.56.102 facebook.it.
3- On démarre Snort et on visite la page facebook.it, on remarque une requête GET qui apparait, ceci
sera la base de notre règle.
En générale on va créer une régle qui contrôle les paquets TCP sortant de tout port de $HOME_NET
vers $HTTP_PORTS de $EXTERNAL_NET

Alerte pour l’accès à la plateforme de réseau sociale Facebook:


4- alert tcp $HOME_NET any > $EXTERNAL_NET $HTTP_PORTS (msg:"Request for Facebook
detected!"; content:"GET"; nocase; pcre:"/Host:.{0,15}facebook\.it/i"; sid:1000004; rev:1;)
On enregistre cette règle dans le fichier my_rules.rules , on relance snort et on revisite la page
facebook.it.
On va remarquer que une alerte est enregistrée sur le fichier log de snort

Vous aimerez peut-être aussi