outils de sécurité réseau€¦ · snort analyse le trafic du réseau, compare ce trafic à des...
TRANSCRIPT
SNORT
Système de détection d’intrusion
CR150 - TP#1
Nom & Prénom : KHALID MOKRINI
Matricule d’étudiant : 1566527
Date : 11.02.2015
Outils de Sécurité Réseau
1) Présentation Générale des IDS
2) SNORT - Système de détection d’intrusion
2.1 Présentation de SNORT
2.2 Architecture de SNORT
2.3 Les composants principaux de SNORT
2.4 Installation de SNORT
2.5 Fonctionnement & Fonctionnalités
2.5 Avantages & désavantages
3) Appréciation du logiciel.
4) Contexte d’utilisation de SNORT
5) Logiciels similaires
6) Références
Fonctionnalités
1- Présentation Générale des IDS
Qu’est-ce qu’un IDS ?
Le Système de Détection d'Intrusions est très utile dans la surveillance du
réseau informatique, et des équipements terminaux. Sans lui, on est
complètement aveugle sur ce qui se passe réellement sur le réseau
informatique.
De quoi est constitué un IDS?
Un IDS est essentiellement un sniffer couplé avec un moteur qui analyse le
trafic selon des règles. Ces règles décrivent un trafic à signaler
L’IDS peut analyser :
Couche Réseau (IP, ICMP)
Couche Transport (TCP, UDP)
Couche Application (HTTP, Telnet)
2- SNORT Système de détection d’intrusion
2.1 Présentation de SNORT
Snort est un système de détection d'intrusions réseau en Open Source,
capable d'effectuer l'analyse du trafic en temps réel.
On l'utilise en général pour détecter une variété d'attaques et de scans
tels que des débordements de tampons, des scans de ports furtifs, des
attaques CGI, des scans SMB, des tentatives d'identification d'OS, et
bien plus. Snort permet d’analyser le trafic réseau, il peut être
configuré pour fonctionner en plusieurs modes :
Le mode sniffer : dans ce mode, SNORT lit les paquets circulant
sur le réseau et les affiche d’une façon continue sur l’écran
Le mode packet logger : dans ce mode SNORT journalise le
trafic réseau dans des répertoires sur le disque.
Le mode détecteur d’intrusion réseau (NIDS) : dans ce mode,
SNORT analyse le trafic du réseau, compare ce trafic à des
règles déjà définies par l’utilisateur et établi des actions à
exécuter.
Le mode Prévention des intrusions réseau (IPS) : c’est
SNORTinline
2.2 Architecture de SNORT
SNORT est constitué de plusieurs composants logiques.Ces
composants permettent de détecter une attaque particuliere et de
generer en sortie un ealerte dans le format désiré.
2.3 Les composants principaux de SNORT
Le décodeur de paquet
Le décodeur de paquet récupère les paquets provenant de differents
types d’interface réseau et le prépare pour les préprocesseurs ou le
moteur de détection.
Les préprocesseurs
Les préprocesseurs sont des modules d’extension pour arranger ou
modifier les paquets de données avant que le moteur de détection
n’intervienne. Certains préprocesseurs détectent aussi des anomalies
dans les entêtes des paquets et génèrent alors des alertes.
Les préprocesseurs sont chargés et configurés en utilisant le mot clé
préprocesseur. Le format de directive d'un préprocesseur dans une règle SNORT est de la forme:
Préprocesseur <name> : <options>
Les différentes options propres à chaque préprocesseur sont données
dans le manuel à l’adresse suivante
http://manual.snort.org/node17.html.
Les moteurs de détections
Le moteur de détection de SNORT constitue le cœur de L’IDS,Il est
responsable de détecter toute activité d’intrusion dans les flux de
données. Il utilise des regles qui consistent a une définition d’un
ensemble de criteres sur le paquets. Si un paquet correspond a une
regle, une action est réalisée.
Selon la puissance de l’équipement ou est installé SNORT et le nombre
de regles définies, le nombre de paquets analysés peut etre plus ou
moins important
Le système de journalisation et d’alerte
Selon les décisons prises par le moteur de détection, les paquets
peuvent etre journalisés ou generer une alerte. La journalisation peut
s’effectuer par de simples fichiers textes, des fichiers selon le format
tcpdump, ou selon d’autres formes.
Les modules de sortie
Les modules de sortie peuvent effectuer differents opérations selon
la manière dont on désire sauvegarder les informations generées
par le système de journalisations d’alertes :
- Enregistrement simple dans un fichier (comme
/log/snort/alerts)
- Envoyer des notificatrions d’evenements SNMP
- Enregistrer dans une base de données comme MySQL
- Transformer dans un format XML
- Envoyer des messages SMB (Server Message Block)…etc
2.4 Installation de SNORT sur Kali
Les étapes pour l'installation de SNORT sont les suivantes :
o Installation de l'outil SNORT
o Installation des règles SNORT
o Liaison Mysql et SNORT
o Mise en place de ACID (Interface php pour visualiser les logs
SNORT)
Pré-requis
Préparer le serveur en effectuant différentes mises à jour et
installations, de manière à pouvoir installer correctement
l’application Snort
Installation de SNORT
Maintenant, l’installation de Snort peut commencer :
Verification de l'installation de Snort
2.4 Fonctionnement & Fonctionnalités
Configuration Snort
D’abord éditons le fichier snort.conf
Ouvrons le fichier de configuration de Snort avec KWrite.
kwrite /etc/snort/snort.conf
Comme vous pouvez le voir dans la capture d'écran ci-dessus, le
fichier de configuration est composé de six (6) sections.
o Définissez les variables sur votre réseau
o Configurer la bibliothèque dynamique chargée
o Configurez les préprocesseurs
o Configurez les plugins de sortie
o Ajoutez les directives de l'exécution de configuration
o Personnalisez vos règles
Nous devons d'abord définir les variables de notre réseau interne et
externe. Celles-ci sont définies par les lignes:
var HOME_NET
var EXTERNAL_NET
Nous devons régler le HOME_NET à notre adresse IP interne,
comme 192.168.1.1, ou de notre sous-réseau interne, comme
192.168.1.0/24.
Dans le fichier de configuration de SNORT (/etc/snort/snort.conf),
vous avez toute une série de include. Il s'agit des règles utilisées
par SNORT pour détecter d'éventuelles intrusions. Il y a des règles
de telnet, ICMP, FTP, ... Bref, commentez celles que vous ne voulez
pas et décommentez celles qui vous parait utile.
Ajout des règles Snort:
Nous devons définir notre chemin à nos règles. Comme nous
pouvons le voir dans la capture d'écran ci-dessous:
var RULE_PATH / etc / snort / rules
Après avoir configuré SNORT, nous écrivons nos propres règles de
« surveillance ». Pour simplifier l’analyse des sorties produites par
SNORT, nous utilisons que les règles que nous écrivons.
Test de la configuration de Snort
Nous pouvons naviguer vers le répertoire de règles en tapant ces
deux commandes :
cd / etc / snort / rules
ls -l
De cette façon, nous pouvons voir tous les fichiers qui composent
nos règles de Snort. Ce sont ces règles Snort qui sont conçus pour
attraper les intrusions et d'alerter l'administrateur de sécurité.
Lier les logs SNORT avec MySQL
Nous allons éditer le fichier de configuration de SNORT afin de lui
indiquer qu'il faut rediriger les logs dans une base de données (ici
MySQL par exemple).
L’utilisateur MySQL accédant à la base de données s'appelle
"user_snort", son password associé est "snort_pwd", le nom de la
base MySQL utilisée par snort est "snort" et la machine qui fait
tourner la base Mysql est la même que celle où SNORT tourne.
2.5 Avantages et inconvénients
Points forts
Permet de vérifier le bon fonctionnement d’un firewall : en plaçant une sonde
de chaque coté, on peut comparer le trafic entrant avec le trafic sortant.
Gratuit (Open Source )
Extrêmement maniable
On peut disposer aussi bien de son code source que de ses packages
déjà compilés.
Les alertes peuvent être lues à l’écran, envoyées dans un fichier,
envoyées en messages Popup, être stockées dans une base de
données MySql, …au choix !
Il vient déjà avec des règles minimales, on peut ainsi avoir des
exemples de règles concrètes.
Large communauté d’utilisateurs (Beaucoup de contributions &
documentations)
Bonne base de signatures (mise à jour & modifiable)
output database:log,mysql,user=user_snort
password=snort_pwd dbname=snort host=localhost
Point faible
o Souvent vulnérable par rapport à des attaques de Denial of
Service.
o SNORT a plus tendance que d’autres IDS à fournir des fausses
alertes (en moyenne, 70% des alertes remontées sont fausses),
par exemple à cause de petites signatures comme phf qui
déclenchent une alerte alors que cela peut être une simple
requête contenant les mots "dhfudge" ou "muphf".
o Ne peut pas traiter les flux cryptés car la signature de ces
attaques dépend évidemment du type de cryptage et aussi
évidemment de la clé employée (c’est une des raisons).
o Un IDS fonctionne en mode binaire : il traduit toute requête
comme une intrusion ou comme une trame "permise". Il n’existe
pas d’intermédiaire entre les deux. Tout ce qui est possible, est
de donner un degré d’importance à ces alertes
o Les vraies attaques menées par exemple sur cgi-bin, ne sont
pas toujours détectées…
3) Appréciation de logiciel SNORT
Sa force réside dans sa capacité à scruter le trafic réseau et à
prendre des décisions en se fondant sur une correspondance entre
des règles et les paquets détectés.
C’est le meilleur pour moi puisque c’est open source
Indispensable pour la sécurité de l’entreprise et de ses
informations, c’est pourquoi il est primordial de s’équiper d’un tel
mécanisme d’alerte qui permet aux responsables de sécurité
informatique de réagir à temps et d’etre au courant des risques ou
des tentatives d’attaques et de pouvoir s’en protéger.
4) Contexte d’utilisation de SNORT
Snort est un IDS léger écrit par Marty Roesch qui est capable
d'exécuter l'analyse de trafic en temps réel et la sauvegarde des
paquets sur des réseaux IP. Certaines des autres particularités de Snort sont :
- Analyse des protocoles - Recherche et comparaison par contenu
- Possibilité d’Alertes en temps réel
- Peut lire dans une trace de TCPDump et s'exécuter en prenant en compte une règle donnée
- Langage des règles flexible pour définir le trafic a collecter ou a ignorer
Peut également être utilisé avec d'autres projets open sources tels
que SnortSnarf, ACID, sguil et BASE (qui utilise ACID) afin de
fournir une représentation visuelle des données concernant les
éventuelles intrusions.
5) Logiciels similaires
Éditeur / Solution
Types Description
Cisco
NetRanger
Appliance
IDS
Cisco propose deux produits distincts : un IDS réseau et un IDS
host. - Les capteurs réseau comprennent un appareil de sécurité réseau et un module de sécurité qui permet d'exécuter
des fonctions de surveillance et de commutation à partir d'un même châssis. La détection des intrusions se fait en temps réel,
notamment en environnement Gigabit et sur des liaisons 802.1q. - La solution Cisco IDS Host Sensor, développée par
Entercept, permet de protéger les serveurs d'entreprise.
Enterasys
Networks
Dragon 6.0
Appliance
IDS
Protège à la fois les serveurs (Dragon Host Sensor) et les
réseaux (Dragon Network Sensor). Permet également la
surveillance de pare-feu, de routeurs et d'IDS d'autres marques. Une gestion par interface Web est proposée ainsi
qu'une mise à jour quotidienne des signatures.
ISS
RealSecure et
Proventia
Logiciel
et appliance
IDS - IPS
Destiné aux réseaux et aux systèmes, la gamme RealSecure
propose RealSecure Network Sensor, qui s'installe sur une station dédiée pour contrôler le trafic réseau à la recherche de
signatures d'attaques et RealSecure Server Sensor, qui protège les serveurs stratégiques par l'analyse des événements au
niveau du noyau du système d'exploitation, des journaux de connexions et de l'activité réseau de ces serveurs.
Network
Associates Mcafee
Entercept et
IntruShield Network
IDS Sensor
Logiciel
et appliance
IDS - IPS
Les rachats respectifs d'Intruvert et d'Entercept Security
Technologies (en avril 2003) permettent à Network Associates de proposer deux produits distincts. IntruShield pour la
prévention d'intrusions réseau (en appliance) et Entercept pour la prévention d'intrusions système. Disponible en version
desktop et serveurs de données
Symantec
Symantec Host IDS
et Symantec
ManHunt
Logiciel
IDS
Le leader mondial de la sécurité se positionne à la fois au
niveau des serveurs (Symantec Host IDS) et du réseau (Symantec ManHunt). Ces solutions s'intègrent à Symantec
Security Management System pour optimiser la hiérarchisation et l'identification des attaques.
Références
http://fr.wikipedia.org/wiki/Snort
https://www.snort.org/
http://www.trustonme.net/didactels/187.html
http://www.journaldunet.com/solutions/0312/031212_ids_ips.shtml
http://wiki.monitoring-fr.org/securite/snort/snort-ubuntu-install
http://lea-linux.org/documentations/Reseau-secu-SNORT