REPUBLIQUE DU BENIN
Fraternité-Justice-travail
******************
MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE (MESRS)
**************************
ECOLE SUPéRIEUR DE GESTION D'INFORMATIQUE
ET
DES SCIENCES (ESGIS)
*************************************
RAPPORT DE STAGE
NIVEAU D'éTUDE : Licence
FILIèRE : Ingénierie Informatique
et Réseaux
(Option : Système Réseaux et
Sécurité)
THEME :
Mise en place d'un système de
détection d'intrusion avec
SNORT
Réalisé et soutenu par : Vanice CHACHA Sous
la direction de :
Mr Wilfried QUENUM
Année académique : 2013-2014
Nous dédions cette oeuvre :
? A Dieu tout puissant pour toute sa bienveillance et l'aide
de son esprit saint pour l'accomplissement de mes oeuvres ;
? A mes parents, qui ont voulu le meilleur pour nous, recevez
ce travail comme source de reconnaissance et d'une profonde affection.
Remerciements :
La réalisation de ce rapport ne serait effective sans
l'appui de certaines personnes ressources à qui nous devons une
reconnaissance particulière. Nous tenons donc de façon
sincère à adresser nos remerciement à l'endroit de :
? Notre maître de mémoire M. Wilfried QUENUM qui
en dépit de ses multiples occupations n'a ménagé aucun
effort pour mettre à notre disposition l'expertise nécessaire
pour la réalisation de ce rapport ;
? Tout le personnel de la Direction de l'Informatique le
LinKnet Africa, pour leur franche collaboration, leur aide et leurs
explications ;
? A tous ceux qui ont participé de près comme de
loin à la rédaction de ce rapport.
Pour finir ces mots de remerciements, nous exprimons notre
gratitude à tous ceux qui par leur soutien et conseils ont
contribué d'une manière ou d'une autre à la
réalisation de ce travail.
Yanice CHACHA
Plan
Introduction
Première partie :
I- Présentation de Linknet Africa Sarl
II- Tâches accomplies au cours du stage
Deuxième partie :
I- Objectifs
II- IDS, IPS et Choix de SNORT
III- Fonctionnement, avantages, inconvénients et
limites
1- Fonctionnement de SNORT
2- Définition des règles de snort
3- Positionnement de SNORT dans le réseau
4- Avantages, inconvénients et Limites
IV- Installation et Configuration de snort
V- Difficultés rencontrées
Conclusion
Réalisé et présenté par
Yanice CHACHA
6
Mise en place d'un système de détection
d'intrusion avec SNORT
INTRODUCTION
L'informatique de l'entreprise fournit le support et
l'accès au Système d'Information(SI). Le SI est constitué
de l'ensemble des données qui représentent les principaux
risques. «Le 31 janvier 2014, Orange France a informé certains de
ses abonnés (800 000) qu'ils ont été la cible d'une
intrusion. Pas plus tard que quelques mois, ils se sont encore fait voler des
données clients. Cette fois, près de 1,3 million de personnes
seraient concernées. Et il ne s'agit plus seulement d'abonnés,
mais aussi de prospects liés à d'autres fournisseurs. Autant de
contacts à qui l'opérateur a dû écrire en insistant
sur les conséquences de l'attaque, c'est-à-dire les risques de
« phishing » encourus».
Ces chiffres sont loin d'être suffisants pour expliquer
les risques auxquels s'expose un système informatique mal ou peu
sécurisé, mais assez effrayants pour me pousser à porter
mon choix sur le thème : « Mise en place d'un
système de détection d'intrusion avec SNORT»
Mon rapport s'articule en deux parties :
- une première portera sur la présentation de
Linknet Africa SARL, société où j'ai
effectué mon stage, et des tâches que j'ai
accomplies durant mon apprentissage.
- et la deuxième, sur la mise en place de l'IDS SNORT.
Je m'appesantirai ici sur le fonctionnement, l'installation, la configuration
du système et enfin quelques tests pratiques.
Présentation de la structure
d'accueil
Première partie :
Réalisé et présenté par Yanice
CHACHA
8
Mise en place d'un système de détection
d'intrusion avec SNORT
I- Présentation de Linknet Africa Sarl
LinkNet Africa Sarl est une Société de Service
et d'Ingénierie Informatique (SSII) créée par des
Ingénieurs MCSE (Microsoft Certified System Engineer) et CCNA (Cisco
Certified Network Associate) en Mai 1998. Elle est spécialisée
dans l'offre de services dans les domaines des Réseaux Informatiques, de
l'Internet et des Télécommunications.
LinkNet Africa Sarl offre ses prestations pour la
configuration et l'implémentation des services à valeur
ajoutée sur les réseaux TCP/IP. On peut citer entre autres
services : la configuration d'environnement Intranet/Internet, l'interconnexion
de sites distants, la Voix sur IP (VOIP), la configuration de routeur Cisco,
l'installation de connexion XDSL... etc....
Le savoir-faire de Linknet Africa Sarl réside notamment
dans sa compétence prouvée à travers la mise en oeuvre de
solutions simples, pratiques et adaptées à l'environnement
technologique de notre pays, qui respectent les normes requises. Linknet Africa
Sarl accompagne aussi ses clients dans la sélection, l'acquisition et la
gestion des équipements centraux de leur système
d'Information.
Métier
|
Réseaux Informatiques :
|
Configurations, Serveurs, Interconnexion, Voix sur IP,
Wireless, Câblage, Formation, Matériel, Conseil, Rédaction
Cahier de Charge ...
|
Télécommunications :
|
Ingénierie, VPN, Installateur Réseau interne et
Centrale privée PABX, Liaison radio, Terminaux...
|
Internet :
|
Sites Web, Hébergement, Configurations et Routage,
Server mail, ADSL, SDSL...
|
nologies
|
Système d'Exploitation :
|
Microsoft Serveur, Linux, Novell Netware ...
|
Langages:
|
Java, Visual-Basic, VBA, C++, XML, PHP, JavaScript, Html, SQL,
langages SAS (L4G, Macro, SCL, SQL)
|
Bases de données :
|
SAS, MySQL, SQL Server, Access, Oracle
|
Analyses Statistiques:
|
SAS System, Dataware house, Data mining
|
Réalisé et présenté par Yanice
CHACHA
9
Mise en place d'un système de détection
d'intrusion avec SNORT
A- Structuration de Linknet Africa
LNA est constitué de cinq (5) départements qui se
présentent comme suit:
a. La direction générale
Cette unité assurée par le Directeur
général Mr Martin ATCHADE s'occupe de l'existence de plans
d'actions et de leur cohérence. Elle suit la réalisation des
objectifs de LNA et contrôle la mise en place d'actions correctrices au
sein de la société. Enfin elle gère et évalue le
personnel de la Société et coordonne les activités de tous
les employés de l'entreprise.
b. Le service E-CENTER
L'E-CENTER a pour fonction principale de répondre aux
divers besoins de ses clients par l'intermédiaire de
www.wabenin.com, site
d'information portant sur les diverses offres et opportunités au Benin.
Ce site a été créé par les développeurs de
LNA et permet au personnel de ce service de disposer des informations
nécessaires pouvant satisfaire les attentes des clients' E-Center
s'occupe également de fournir du matériel informatique
accessibles aux clients et de dispenser une formation de type qualifiée
à toute personne désirant maitriser la bureautique.
c. Le Service Commercial
Ce service est Composé de deux divisions
coordonnées par un responsable commercial:
La division Recherche prospective et
Fidélité de la clientèle :
Elle se charge de :
- constituer une base de données d'informations sur ses
clients potentiels et de les classer par secteur d'activités
- planifier des campagnes de prospection par secteur
d'activité.
- identifier et prospecter de nouveaux clients.
- mettre en oeuvre des stratégies de
fidélité des clients de LNA.
La division de Gestion de la clientèle et
Rédaction DAO :
Le personnel de cette division a pour rôle :
- d'adresser des courriers aux clients pour tout ce que LNA
entreprend.
- d'étudier les attentes des clients et des prospects et y
répondre avec diligence.
- de suivre et d'analyser les réactions sur l'utilisation
des offres de LNA.
- de s'informer sur les appels d'offres relatifs aux technologies
de l'information à travers les articles de presse.
d. Le Service administratif financier et Logistique
Réalisé et présenté par Yanice
CHACHA
10
Mise en place d'un système de détection
d'intrusion avec SNORT
Le service administratif, financier et logistique comprend
également deux divisions:
Le support administratif
Il est chargé :
- de mettre en exécution la mission administrative et
financière.
- de contrôler et de suivre l'ensemble des relations avec
les Tiers administratives de l'entreprise.
- de recueillir les données comptables provenant des
autres services, de vérifier, de valider et de traiter ces
informations.
- de produire les Etats financiers et rapports fidèles et
fiables en vue de faciliter la prise de décision
Le support projet et logistique
Il est chargé, en coopération avec le Directeur
général :
- du suivi de l'exécution des projets internes et/ou
externes à l'entreprise.
- d'assurer la gestion des approvisionnements et du stock de
fournitures de tout genre en place au sein de l'entreprise.
e- Le service technique
Il est organisé en :
Support développement et présence
Internet
Il a pour principales tâches:
- le développement et la conception d'applications et de
sites web.
- la mise en place de solutions graphiques utiles au bon
fonctionnement de l'institution
- l'Administration de
www.wabenin.com site web
Crée au sein de LNA
Support maintenance clientèle
Cette division a pour tâches principales:
- d'installer de nouveaux équipements informatiques.
- de maintenir des matériels : entretien par nettoyage,
réglage, contrôle, diagnostic de pannes et dépannage.
- d'intervenir par télémaintenance.
- de suivre des nouveautés du marché
informatique.
Support administration réseau et Etude
technique
Réalisé et présenté par Yanice
CHACHA
11
Mise en place d'un système de détection
d'intrusion avec SNORT
Il s'occupe :
- de la maintenance et de l`amélioration du
système informatique de l'entreprise.
- de la gestion quotidienne du réseau informatique.
- du contrôle des journaux d'activités.
- de la fourniture de solutions en cas d'urgence ou
d'incident.
- de mettre en place les procédés de protection
adaptés.
- de faire intervenir des techniciens pour résoudre les
problèmes immédiats.
- de gérer les comptes utilisateurs à travers la
création, la modification et la suppression.
- de surveiller les alertes de sécurité et
optimiser l'infrastructure du réseau en fonction des nouvelles
technologies.
Organigramme de Linknet Africa
Direction
Générale
|
|
|
|
|
|
|
E-Center
|
|
|
|
|
Responsable Commercial
|
|
|
|
|
Direction Technique
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Division
Gestion de la
|
|
Administra
|
|
Responsable
|
|
tion
|
clientèle et
|
|
|
|
Administratif,
|
|
|
Réseau et
|
|
|
Rédaction DAO
|
|
|
Financier et Logistique
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support
|
technique
et
|
Division
|
|
|
|
|
|
|
Recherche, Prospective, et
|
|
|
Support
Administratif
|
|
|
Hygiène du Bureau
|
|
|
|
maintenanc
|
|
|
|
Fidélisation
|
|
|
|
|
|
|
|
|
|
|
Clients
|
|
|
|
|
|
|
|
Support
|
|
|
|
Support Projet
|
|
|
développement
|
|
|
|
|
|
|
et Logistique
|
Chauffeurs
|
|
et présence
|
|
|
|
|
|
|
|
|
Internet
|
|
|
Réalisé et présenté par Yanice
CHACHA
12
Mise en place d'un système de détection
d'intrusion avec SNORT
B- Présentation et description des
équipements
LNA dispose d'une salle serveur dans laquelle sont
installés :
- Deux machines physiques chacune de capacités 6 go de RAM
et de disques dur 500 giga-octets qui abritent les serveurs :
- Un moniteur relié aux machines physiques comme le
décrit la figure suivante permet aux administrateurs réseaux de
paramétrer les serveurs dans l'enceinte de la salle Serveur.
Mise en place d'un système de détection
d'intrusion avec SNORT
- Deux Switches Catalyst express 500 puis Catalyst 2960
disposants respectivement de 24 et 48 ports et permettant d'interconnecter les
machines clientes de LNA au Réseau de l'entreprise.
- le Catalyst 2960 permet en effet de relier les utilisateurs
d'E-Center au réseau puis le Catalyst express 500 relie les services
techniques, financier, administratif puis développement
L'intranet de l'entreprise est connecté au réseau
public (internet) par un routeur CISCO 3800 séries.
|
|
|
|
Réalisé et présenté par Yanice
CHACHA
|
13
|
Réalisé et présenté par Yanice
CHACHA
14
Mise en place d'un système de détection
d'intrusion avec SNORT
Tout le système d'information de LNA est
centralisé sur le Serveur Windows 2008 Entreprise R2. En effet sur l'une
des machines physiques est installé le serveur auquel est ajouté
le rôle d' Hyper-V qui héberge toutes les autres applications
Serveurs Windows. Il s'agit du:
o contrôleur de domaine DC01, Serveur
qui permet de créer et de gérer tous les utilisateurs du
réseau, de définir les règles d'utilisations des
ressources
partagées. et de
sécurité relatif à chaque utilisateur du domaine de
l'entreprise (
LNA.LinkNetAfrika.com)
grâce à ses principaux services : Active Directory, DNS, DHCP de
serveur de fichiers
o Serveur Exchange EX01, Serveur de
messagerie de Microsoft configuré pour permettre l'envoi et la
réception de courriers électroniques dans et en dehors du domaine
de l'entreprise
o Windows7, une machine virtuelle «
test » installée expressément pour tester les nouveaux
rôles ajouter au Windows serveur et faire évaluer également
une panne en cas de disfonctionnement du système (exemple : un
plantage de Outlook)
o Serveur Alcasar qui tourne sous
Magéa une distribution de Linux. En effet ce Serveur est un portail
captif qui intègre un ensemble de services qui interagissent. Il dispose
de deux interfaces : une interface utilisateur ou passerelle par laquelle les
clients se connectent à internet via la page d'accueil du portail captif
puis une interface réseau qui sert de WAN au serveur Alcasar pour
fournir la connexion aux clients.( Les deux interfaces sont adressées
dans des sous réseaux-différents )
o Serveur WEB : c'est le serveur Web
dédié à héberger le site commercial
wabenin.com crée et
administré par les développeurs de l'entreprise pour permettre
aux internautes béninois ou étrangers de disposer d'informations
réelles de tous genres axées sur le Benin .Il s'agit notamment
des pages jaunes, des opportunités d'affaires, des annonces telles que
les avis de recrutement, les avis d'appels d'offres... Enfin il
Réalisé et présenté par Yanice
CHACHA
15
Mise en place d'un système de détection
d'intrusion avec SNORT
permet de stocker les informations relatives aux services offerts
par le site pour permettre leur diffusion en ligne.
II- Tâches accomplies au cours du stage
Durant les mois de stages que j'ai effectués à
Linknet Africa, j'ai pu mettre en pratique les connaissances théoriques
que j'ai acquises en cours. Mise à part les pannes techniques auxquelles
j'ai été souvent confrontées et que j'ai pu
résoudre parfois aisément ou non, j'ai entre autres :
- Installé et configuré le portail captif ALCASAR
dont il est question dans mon rapport
- Installé et configuré le serveur web en
installant LAMP sur Ubuntu
- Installé et configuré le server de partage de
fichier (SAMBA sur ubuntu)
- Installé un server VPN sur Debian et installé
GLPI un outil de gestion du parc informatique
- Installé un proxy avec Squid
- Installé Windows serveur 2008 et Exchange pour le
Ministère de l'Enseignement Supérieur et de la Recherche
Scientifique
- Réalisé le plan de câblage réseau du
Ministère de l'Enseignement Supérieur et de la Recherche
Scientifique - Intervenir dans plusieurs sociétés pour des pannes
réseaux et maintenance
Ce stage m'a également permis de mieux comprendre certains
concepts en systèmes et réseaux, d'approfondir mes connaissances
dans les technologies de virtualisation.
Mise en place d'un Système
de détection d'intrusion avec
SNORT
Deuxième partie :
Réalisé et présenté par
Yanice CHACHA
17
Mise en place d'un système de détection
d'intrusion avec SNORT
I. Objectifs
Les objectifs que nous poursuivons dans cette mise en oeuvre sont
les suivants :
- Mettre en place un système capable de détecter
tout type de trafic à l'entrée du réseau que l'on veut
sécuriser
- Pouvoir bloquer automatiquement toutes connexions entrantes
dans le réseau suite à une tentative d'intrusion
II. IDS, IPS et Choix de SNORT A- Les IDS
1. Qu'est-ce que la détection d'intrusion ?
En sécurité informatique, la détection
d'intrusion est l'acte de détecter les actions qui essaient de
compromettre la confidentialité, l'intégrité ou la
disponibilité d'une ressource. La détection d'intrusion peut
être effectuée manuellement ou automatiquement. Dans le processus
de détection d'intrusion manuelle, un analyste humain procède
à l'examen de fichiers de logs à la recherche de tout signe
suspect pouvant indiquer une intrusion
2. Définition d'un IDS
Un IDS (Intrusion Detection System) est un mécanisme
destinée à repérer les activités anormales ou
suspectes sur la cible analysée (réseau ou hôte). Il permet
ainsi d'avoir une connaissance sur les tentatives reçues réussies
comme échouées des tentatives.
3. Pourquoi faut - il mettre un IDS ?
Schématiquement il existe deux types de
sécurité en informatique que sont la sécurité
active et la sécurité passive. La sécurité active
regroupe les actions sur les flux (autorisations et interdictions etc. ...) ;
on y retrouve les pare-feu, les relais applicatifs, les relayeurs de messagerie
etc... La sécurité passive, elle n'agit pas sur les flux
entrants. Elle permet de reconnaître les flux hostiles. On y retrouve les
IDS.
En effet la sécurité active n'est pas suffisante
puisque le pare-feu ne peut contrer toutes les menaces, les techniques de
hacking sont en constante innovation et il existe de potentielles failles selon
les fonctionnalités des systèmes sans compter que ces failles
sont inhérentes pour certains OS. Les IDS permettent de remonter la
source des attaques, la détection des techniques employées et les
traces en cas d'intrusion qui constituent des preuves tangibles. Ils sont une
aide indispensable pour se prémunir des intrusions en prenant des
mesures de sécurité adéquates.
4. Fonctionnement d'un IDS
Lorsqu'une intrusion est découverte par un IDS, les
actions typiques qu'il peut entreprendre sont par exemple d'enregistrer
l'information pertinente dans un fichier ou une base de données, de
générer une alerte par e-mail ou un message sur un pager ou un
téléphone mobile. Déterminer quelle est réellement
l'intrusion détectée et entreprendre certaines actions pour y
mettre fin ou l'empêcher de se reproduire, ne font
généralement pas partie du domaine de la détection
d'intrusion. Cependant, quelques formes de réaction automatique peuvent
être implémentées par l'interaction de l'IDS et de
systèmes de contrôle d'accès tels que les pare-feu. Les
techniques de détection d'intrusion. Deux techniques de détection
d'intrusion sont généralement mises en oeuvre par les IDS
courants :
La détection d'abus (misuse detection)
: dans la détection d'abus (aussi appelée détection de
mauvaise utilisation), l'IDS analyse l'information recueillie et la compare
(pattern matching, approche par scénarii) avec une base de
données
Réalisé et présenté par
Yanice CHACHA
18
Mise en place d'un système de détection
d'intrusion avec SNORT
de signatures (motifs définis, caractéristiques
explicites) d'attaques connues (i.e., qui ont déjà
été documentées), et toute activité correspondante
est considérée comme une attaque (avec différents niveaux
de sévérité).
La détection d'anomalie (anomaly detection)
: la détection d'anomalie de comportement est une technique
assez ancienne (elle est utilisée également pour détecter
des comportements suspects en téléphonie, comme le phreaking).
L'idée principale est de modéliser durant une période
d'apprentissage le comportement «normal» d'un
système/programme/utilisateur en définissant une ligne de
conduite (dite baseline ou profil3), et de considérer ensuite (en phase
de détection) comme suspect tout comportement inhabituel (les
déviations significatives par rapport au modèle de comportement
«normal»).
Trafic réseau/Application
Détection
Abus/Anomalie
Alerte
Réaction IDS selon configuration
|
|
Analyse Humaine
|
|
|
Logs
Collecte
d'informat
ions sur
l'attaque/l'
attaquant
Blocage
Schéma de fonctionnement d'un
IDS
5- Rôles d'un IDS
Les IDS ont pour rôles principaux :
- la reconnaissance des tentatives d'intrusions :
· par analyse des flux réseaux
· par détection d'un comportement anormal
- le blocage les tentatives d'intrusion
- et permettent de remonter des alertes lorsque des
activités suspectes sont détectées
Réalisé et présenté par
Yanice CHACHA
19
Mise en place d'un système de détection
d'intrusion avec SNORT
6- Les types d'IDS
Les IDS sont catégorisés en trois familles :
- Les NIDS (Networks Intrusion Detection System) qui surveillent
l'état de la sécurité au niveau du réseau
- Les HIDS (HostBased Intrusion Detection System) qui surveillent
l'état de la sécurité au niveau des hôtes
- Et les IDS hybrides qui utilisent les NIDS et les HIDS pour
fournir des alertes plus pertinentes.
Les HIDS sont particulièrement efficaces pour
déterminer si un hôte est contaminé et les NIDS permettent
de surveiller l'ensemble d'un réseau contrairement à un HIDS qui
est restreint à un hôte.
B- Les IPS
Faute de pouvoir maîtriser correctement les fausses
alertes, la plupart des systèmes actuels d'IDS sont voués
à disparaître ou à évoluer grandement. L'apparition
sur le marché de la sécurité informatique des
systèmes IPS est très récente et résulte de la
nécessité d'améliorer, encore et toujours, les solutions
existantes ayant prouvées leurs limites. Les IPS n'existent pas vraiment
en tant que technologies bien définies mais plutôt en tant que
concepts que tentent de mettre en oeuvre les différents acteurs du
marché à travers de multiples technologies et solutions de
sécurité.
1- Qu'est qu'un système de prévention
d'intrusion ?
Un système de prévention d'intrusion (ou IPS,
Intrusion Prevention System) est un outil des spécialistes en
sécurité des systèmes d'information, similaire aux IDS,
permettant de prendre des mesures afin de diminuer les impacts d'une
attaque.
2- Principe de fonctionnement
De l'avis des analystes, le concept d'IPS (systèmes de
prévention des intrusions) vise à anticiper les attaques de
pirates informatiques dès lors que leur empreinte est connue. Il ne
s'agit plus seulement de réagir à une attaque en cours, mais
d'empêcher que celle-ci puisse seulement débuter. Un
système IPS est placé en ligne et examine en théorie tous
les paquets entrants ou sortants. Il réalise un ensemble d'analyses de
détection, non seulement sur chaque paquet individuel, mais
également sur les conversations et motifs du réseau, en
visualisant chaque transaction dans le contexte de celles qui
précèdent ou qui suivent. Si le système IPS
considère le paquet inoffensif, il le transmet sous forme d'un
élément traditionnel de couches 2 ou 3 du réseau. Les
utilisateurs finaux ne doivent en ressentir aucun effet. Cependant, lorsque le
système IPS détecte un trafic douteux il doit pouvoir activer un
mécanisme de réponse adéquat en un temps record. L'IPS
doit aussi, offrir un moyen de diminuer considérablement l'utilisation
des ressources humaines nécessaires au bon fonctionnement des IDS. Cela
doit aboutir, notamment, à une automatisation des fonctions d'analyse
des logs, même si ce point demeure encore une tâche difficile. La
prise de décision doit ainsi pouvoir être automatisée non
seulement grâce à la reconnaissance de signatures mais aussi, et
de plus en plus, grâce à l'utilisation d'analyses heuristiques
provenant du monde des antivirus. Deux voies principales sont actuellement
explorées par les promoteurs d'IPS. La première est l'approche
des constructeurs d'IDS dont les produits n'ont que faiblement convaincu le
marché français alors qu'ils sont utilisés dans plus d'une
entreprise sur deux aux Etats-Unis. Comme pour les IDS, les IPS peuvent
être orientés Host ou Réseaux. La seconde approche touche
les fournisseurs de pare-feu qui commencent à intégrer des
systèmes IPS au sein de leurs matériels qui savent fonctionner
"en ligne". Cela passe par exemple par l'intégration de signatures et
d'un contrôle des protocoles HTTP, FTP et SMTP, mais aussi pour certains
constructeurs de la mise en Asic (Application specific integrated circuit) de
leurs IPS afin de s'intégrer facilement à leurs
matériels.
3- Les types d'IPS
? Les HIPS (Host-based Intrusion Prevention System) qui sont des
IPS permettant de surveiller le poste de travail à travers
différentes techniques, ils surveillent les processus, les drivers, les
.dll etc. En cas de
Réalisé et présenté par
Yanice CHACHA
20
Mise en place d'un système de détection
d'intrusion avec SNORT
détection de processus suspect le HIPS peut le tuer pour
mettre fin à ses agissements. Les HIPS peuvent donc protéger des
attaques de buffer overflow.
? Les NIPS (Network Intrusion Prevention System) sont des IPS
permettant de surveiller le trafic réseau, ils peuvent prendre des
mesures telles que terminer une session TCP. Une déclinaison en WIPS
(Wireless
Intrusion Prevention System) est parfois utilisée pour
évoquer la protection des réseaux sans-fil.
? Il existe aussi les KIPS (Kernel Intrusion Prevention
System) qui permettent de détecter toutes tentatives d'intrusion au
niveau du noyau, mais ils sont moins utilisés.
4- Rôles et Inconvénients
Les IPS sont en quelques sortes des IDS actifs. Ils
détectent un balayage automatisé. L'IPS peut bloquer les ports
automatiquement. Les IPS peuvent donc parer les attaques connues et inconnues.
Comme les IDS, ils ne sont pas fiables à 100 % et risquent même en
cas de faux positif de bloquer du trafic légitime. Les IPS ne sont pas
des logiciels miracles qui nous permettront de surfer en toute quiétude
sur le net. Voici quelques-uns de leurs inconvénients :
? Ils bloquent tout ce qui parait infectieux à leurs
yeux, mais n'étant pas fiable à 100 % ils peuvent donc bloquer
malencontreusement des applications ou des trafics légitimes.
? Ils laissent parfois passer certaines attaques sans les
repérer, et permettent donc aux pirates d'attaquer un PC.
? Ils sont peu discrets et peuvent être
découverts lors de l'attaque d'un pirate qui une fois qu'il aura
découvert l'IPS s'empressera de trouver une faille dans ce dernier pour
le détourner et arriver à son but.
C- Différences entre IDS et IPS
Les IPS sont souvent considérés comme des IDS
de deuxième génération. Bien qu'il s'agisse d'un abus de
langage, cette expression traduit bien le fait que les IPS remplacent petit
à petit les IDS. Il est pour autant prématuré de dire que
les IDS sont morts, comme l'avait prétendu Gartner Group il y a 2 ans.
En fait, les IPS ont avant tout été conçus pour lever les
limitations des IDS en matière de réponse à des attaques.
Alors qu'un IDS n'a aucun moyen efficace de bloquer une intrusion, un IPS
pourra, de par son positionnement en coupure, bloquer une intrusion en temps
réel (voir NIPS).
En effet, le positionnement en coupure, tel un firewall ou un
proxy, est le seul mode permettant d'analyser à la volée les
données entrantes ou sortantes et de détruire dynamiquement les
paquets intrusifs avant qu'ils n'atteignent leur destination.
Une autre limite à laquelle devaient faire face les IDS
il y a quelques années était due à leur incapacité
à gérer les hauts débits du fait d'une architecture
logicielle. Plusieurs constructeurs ont intégré des circuits
spécifiques (ASICs) dans leurs sondes IPS, si bien que le débit
devient de moins en moins une problématique.
D- Choix de snort
Il existe plusieurs logiciels de détection d'intrusion
mais mon choix c'est porté sur snort. SNORT est un IDS open source
disponible sur les plateformes Windows, linux et mac et offre une mise en
oeuvre basique rapide. De nouveaux plugins et règles sont
régulièrement proposés. Les documentions pour comprendre
et implémenter snort sont nombreux et les fichiers d'alertes utilisables
pour sa configuration sont très complets (entêtes des paquets,
lien vers la description de l'attaque...). Parmi les autres solutions on peut
citer Bro, Pleludes-IDS, Check point, AIDE, etc... qui sont soit des logiciels
libres ou payants mais n'offrent forcément pas les mêmes
possibilités que SNORT.
Réalisé et présenté par
Yanice CHACHA
21
Mise en place d'un système de détection
d'intrusion avec SNORT
III- Fonctionnement, avantages, inconvénients et
limites
1- Fonctionnement de SNORT
SNORT permet d'analyser le trafic réseau de type IP, il
peut être configuré pour fonctionner en trois 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 établit des actions à exécuter ;
2- Définition des règles de snort
Les règles de snort sont composées de deux parties
distinctes : le header et les options.
- Le header permet de spécifier le type d'alerte
à générer (alert, log..) et d'indiquer les champs de base
nécessaires au filtrage : le protocole (TCP, UDP ou ICMP), l'orientation
du trafic auquel la règle s'applique (unidirectionnel ou bidirectionnel)
ainsi que les adresses IP et ports sources et destination.
- Les options, spécifiées entre
parenthèses, permettent d'affiner l'analyse, en décomposant la
signature en différentes valeurs à observer parmi certains champs
du header ou parmi les données
L'entête de règle contient l'information qui
définit le `'qui, où, et quoi» d'un paquet, ainsi que quoi
faire dans l'évènement où le paquet dans une règle
avec tous les attributs indiqués dans la règle devrait se
présenter. Le premier élément dans une règle est
l'action de la règle. L'action de la règle dit à snort
quoi faire quand il trouve un paquet qui correspond aux critères de la
règle. Il y a cinq actions accessibles par défaut dans snort :
alert, log, pass, activate, et dynamic.
- Alert : génère une alerte en utilisant la
méthode d'alerte sélectionnée, et alors journalise le
paquet - Log : journalise le paquet
- Pass ; ignore le paquet
- Activate : alerte et alors active une autre règle
- Dynamic : reste passive jusqu'à être
activée par une règle activate, et donc agit comme une
règle log Les options de règle forment le coeur du moteur de
détection d'intrusion de snort combinant facilité d'utilisation,
puissance et flexibilité. Toutes les options de règle de snort
sont séparées les unes des autres par un caractère
point-virgule « ; ». Les mots clés des options de règle
sont séparés de leurs arguments avec un caractère deux
points « : ».
Ci- dessous les différentes options de règles
disponibles dans snort
- msg : affiche un message dans les alertes et journalise les
paquets
- ttl : teste la valeur du champ TTL de l'entête IP
- ipotion : regarde les champs des options IP pour des codes
spécifiques
- fragbits : teste les bits de fragmentation de l'entête
IP
- content : recherche un motif dans la charge d'un paquet
- content-list : recherche un ensemble de motifs dans la charge
d'un paquet
- sid : identifiant de signature contenue dans la base de
signature
3- Positionnement de SNORT dans le réseau
L'emplacement physique de la sonde SNORT sur le réseau
a un impact considérable sur son efficacité. Dans le cas d'une
architecture classique, composée d'un Firewall et d'une DMZ, trois
positions sont généralement envisageables :
Réalisé et présenté par
Yanice CHACHA
22
Mise en place d'un système de détection
d'intrusion avec SNORT
- avant le Firewall ou le routeur filtrant : dans cette
position, la sonde occupe une place de premier choix dans la détection
des attaques de sources extérieures visant l'entreprise. SNORT pourra
alors analyser le trafic qui sera éventuellement bloqué par le
Firewall. Les deux inconvénients de cette position du NIDS sont: primo,
le risque engendré par un trafic très important qui pourrait
entraîner une perte de fiabilité et secondo, étant
situé hors du domaine de protection du firewall, le NIDS est alors
exposé à d'éventuelles attaques pouvant le rendre
inefficace
- sur la DMZ : dans cette position, la sonde peut
détecter tout le trafic filtré par le Firewall et qui a atteint
la zone
DMZ. Cette position de la sonde permet de surveiller les attaques
dirigées vers les différents serveurs de l'entreprise accessibles
de l'extérieur.
- sur le réseau interne : le positionnement du NIDS
à cet endroit nous permet d'observer les tentatives d'intrusion
parvenues à l'intérieur du réseau d'entreprise ainsi que
les tentatives d'attaques à partir de l'intérieur. Dans le cas
d'entreprises utilisant largement l'outil informatique pour la gestion de leur
activités ou de réseaux fournissant un accès à des
personnes peu soucieuses de la sécurité (réseaux
d'écoles et d'universités), cette position peut revêtir un
intérêt primordial.
Schéma explicatif du fonctionnement de
snort
4- Avantages, inconvénients et
Limites
a- Avantages
Snort est un logiciel libre qui concurrence habilement les
outils de détection d'intrusion commerciaux. Le format ouvert de ses
signatures est donc rapidement devenu un standard que les IDS commerciaux
commencent à intégrer. Cela représente un avantage
important, il s'agit là d'une des principales raisons du succès
de Snort. En effet, les IDS commerciaux ont tendance à cacher le contenu
de leurs signatures (la séquence précise que recherche le
logiciel pour identifier une attaque), cela oblige les clients à
dépendre d'eux pour bénéficier de nouvelles règles
de détections d'intrusions. Snort, lui, offre un format ouvert et
documenté qui permet d'écrire les règles de son choix. Un
autre avantage est la gratuité au niveau des licences qui permet
d'installer des sondes Snort en tout point du réseau. La
prolifération de ces sondes peut tout de même rapidement devenir
un handicap si nous travaillons sur un réseau plus conséquent que
celui de notre étude pour ce qui est de l'étude des rapports.
Réalisé et présenté par
Yanice CHACHA
23
Mise en place d'un système de détection
d'intrusion avec SNORT
b- Inconvénients
Souvent vulnérable par rapport à des attaques de
DoS (Denial of Service),
- 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".
- 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). Mais de toute manière, à ma connaissance, aucun IDS
ne sait traiter des flux cryptés.
- 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 aux alertes.
Par contre, les vraies attaques menées par exemple sur
cgi-bin, ne sont pas toujours détectées...
c- Limites
Dilution temporelle des scans
Les IDS se basent sur certains critères autres que les
signatures, afin de détecter les attaques réseaux. Prenons
l'exemple d'un scan de port banal ciblant une machine du réseau de
l'IDS. Ce dernier sera automatiquement détecté étant
donné la fréquence des scans et une alerte sera remontée.
Cependant, les outils de scan disposent de plus en plus d'options et certains,
comme "nmap" dispose de précaution (mode "Paranoïd", "Sneaky") qui
permettent d'adapter la fréquence de ces scans, afin de leurrer l'IDS.
Par exemple, l'option -T permet de changer la fréquence des scans afin
de passer en dessous du seuil qui déclenche l'adresse. La commande
suivante permet d'effectuer des scans furtifs et discrets: "#nmap -P0 -sS -T
Sneaky -p 21, 20 ADDERSS_IP"
Le revers mapping
De même, certaines techniques de scan telles que le
"reverse mapping" disposent d'une élaboration accrue. Elle consiste
à envoyer des paquets à un ensemble de machines, avec le flag RST
positionné à "1". Ainsi, si l'on reçoit en retour le
message ICMP "Host Unreachable" d'une machine on sait qu'elle n'est pas
présente. Par contre, si l'on ne reçoit rien, il y a de grande
chance pour que la machine visée existe. L'outil "hping" (option "-R -c
1 -p IP_MACHINE") permet de telles opérations. Le mauvais trafic peut
alors être détecté selon la configuration de snort (car le
port source par défaut des paquets générés par
snort est 0). En utilisant l'argument -s, on peut éviter d'être
reconnu par l'IDS en mettant un port normal).
Inconvénients du mode
promiscuous
Par nature, les IDS doivent mettre leur carte réseau en
mode "promiscuous" ce qui va leur permettre de recevoir
l'intégralité des trames circulant sur le réseau. Ainsi,
l'IDS ne générera généralement aucun trafic et se
contentera d'aspirer tous les paquets. Cependant, ce mode spécial
affranchi la machine de la couche 2 et le filtrage sur les adresses MAC n'est
plus activé. Il se peut alors que la machine répondent à
certains messages (icmp echo request généré avec l'outil
"nemesis"). Si la machine n'est pas en mode "promiscuous", elle ignorera le
paquet sinon, elle répondra. Ce mode génère des
accès mémoire et processeur important et il est possible de
détecter de telles sondes en comparant les latences de temps de
réponse avec celles des machines du même brin LAN (ou proche). Des
temps de réponse trop importants sont significatifs d'une
activité gourmande en ressources tels que le "sniffing". On pourra alors
s'appuyer sur ces données pour valider la présence d'un IDS.
Surcharge de l'IDS
Réalisé et présenté par
Yanice CHACHA
24
Mise en place d'un système de détection
d'intrusion avec SNORT
Il est aussi possible d'envoyer une quantité importante
d'attaques bénignes afin de surcharger les alertes de l'IDS, et ainsi
glisser une attaque plus furtive qui aura du mal à être
identifiée, si le flot d'informations généré est
suffisant.
Scan Zombie
Le "scan zombie" permet de s'appuyer sur une autre machine,
afin de leurrer l'IDS sur la provenance de l'attaque. En effet, "nmap" dispose
de l'option "-sI" qui permet de forger des paquets adéquates afin de se
faire passer pour une autre machine, puis de déterminer le comportement
à adopter, en fonction de la réaction de la cible. Dans tous les
cas, l'assaillant ne peut être directement découvert par l'IDS.
IV- Installation et Configuration de snort
1. Configuration matériel
- une machine virtuelle Debian 7.6 (serveur) configurée
avec deux cartes réseaux : une en « host-only » servant
d'interface de management et l'autre en bridge servant d'interface de
collection ; mémoire ram 1giga. L'iso de la distribution
debian7.6-nestinst est disponible sur le lien
http://www.debian.org/distrib/netinst
- une machine virtuelle Debian 7.6 version desktop dans le
même réseau host-only pour les tests
2. Installation et configuration
Après l'installation de la machine serveur qui abritera
le service snort, il est nécessaire de mettre à jour le
système pour disposer des versions récentes des services
nécessaire au bon fonctionnement du serveur Debian. Il s'agit de lancer
sur le serveur la commande apt-get update && apt-get upgrade en mode
root.
Pour l'administration du serveur à distance il faut
ensuite installer le service ssh par la commande apt-get install openssh-server
toujours en tant que super administrateur (root).
A présent toute l'installation et les configurations
vont se faire depuis ma machine physique avec l'outil de connexion à
distance putty
- Je me connecte alors avec putty et je passe en root
Réalisé et présenté par
Yanice CHACHA
25
Mise en place d'un système de détection
d'intrusion avec SNORT
a- Installation des dépendances et
prérequis
- L'installation de snort nécessite certaines
dépendances qu'il faut impérativement installer de la
manière suivante :
# apt-get update && apt-get -y install apache2
apache2-doc autoconf automake bison ca-certificates ethtool flex g++ gcc
gcc-4.4 libapache2-modphp5
libcrypt-ssleay-perl libmysqlclient-dev libnet1 libnet1-dev
libpcre3 libpcre3-dev libphp-adodb libssl-dev libtool libwww-perl make
mysqlclient
mysql-common mysql-server ntp php5-cli php5-gd php5-mysql
php-pear sendmail sysstat usbmount
Réalisé et présenté par
Yanice CHACHA
26
Mise en place d'un système de détection
d'intrusion avec SNORT
- Certains prérequis sont également
nécessaires. Il s'agit des paquets libpcap, libdnet, et DAQ qu'il faut
télécharger et compiler de la manière suivante :
Compilation de libpcap:
# cd /usr/src && wget
http://www.tcpdump.org/release/libpcap-1.6.1.tar.gz
# tar -zxf libpcap-1.6.1.tar.gz && cd libpcap-1.6.1
# ./configure --prefix=/usr && make && make
install
Compilation de libdnet:
# cd /usr/src && wget
http://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar -zxf libdnet-1.12.tgz && cd libdnet-1.12
# ./configure --prefix=/usr --enable-shared && make
&& make install
Compilation de daq:
# cd /usr/src && wget
https://www.snort.org/downloads/snort/daq-2.0.2.tar.gz
# tar -zxf daq-2.0.2.tar.gz && cd daq-2.0.2
# ./configure && make && make install
- Après compilation il est nécessaire de mettre
à jour le chemin vers certaines librairies partagées ; ceci passe
par l'exécution des commandes suivantes :
# echo >> /etc/
ld.so.conf /usr/lib
# echo >> /etc/
ld.so.conf /usr/local/lib &&
ldconfig
b- Installation et configuration de
snort
Cette étape consiste à récupérer le
paquet snort-2.9.6.2.tar.gz sur le site officiel de snort. Les captures
ci-dessus expliquent le cheminement à suivre :
- Configuration interface
Réalisé et présenté par
Yanice CHACHA
27
Mise en place d'un système de détection
d'intrusion avec SNORT
- On se déplace dans le répertoire /usr/src
- on télécharge le paquet compressé de
snort-2.9.6.2
- ensuite on le décompresse avec la commande tar
- On se déplace ensuite dans le répertoire obtenu
pour effectuer la compilation
Réalisé et présenté par
Yanice CHACHA
28
Mise en place d'un système de détection
d'intrusion avec SNORT
Réalisé et présenté par
Yanice CHACHA
29
Mise en place d'un système de détection
d'intrusion avec SNORT
-make et make install
Réalisé et présenté par
Yanice CHACHA
30
Mise en place d'un système de détection
d'intrusion avec SNORT
- On crée les répertoires à utiliser pour la
configuration de snort :
Réalisé et présenté par
Yanice CHACHA
31
Mise en place d'un système de détection
d'intrusion avec SNORT
- Création des fichiers à utiliser pour la
configuration de snort
- Création du groupe snort et ajout de l'utilisateur snort
à ce groupe
Mise en place d'un système de détection
d'intrusion avec SNORT
- On rend l'utilisateur snort propriétaire des fichiers de
journalisation (logs)
Réalisé et présenté par
Yanice CHACHA
32
- Copie des fichiers de configuration dans les dossiers
principaux de configuration
Réalisé et présenté par
Yanice CHACHA
33
Mise en place d'un système de détection
d'intrusion avec SNORT
- On télécharge un exemplaire du fichier
snort.conf
Mise en place d'un système de détection
d'intrusion avec SNORT
Réalisé et présenté par
Yanice CHACHA
34
- Copie de l'exemplaire du fichier snort.conf dans
/usr/local/etc/snort/
Réalisé et présenté par
Yanice CHACHA
35
Mise en place d'un système de détection
d'intrusion avec SNORT
- Edition du fichier snort.conf : # vi
/usr/local/etc/snort/snort.conf
On modifie les lignes suivantes: 45, 48, 104, 109, 110, 293, 521
et 543
- Sur les lignes 45 et 46 on inique l'adresse du réseau
local comme suit
Réalisé et présenté par
Yanice CHACHA
36
Mise en place d'un système de détection
d'intrusion avec SNORT
- On applique les modifications à la ligne 104 comme
telle
- On modifie les lignes 109 et 110 comme dans la capture
Réalisé et présenté par
Yanice CHACHA
37
Mise en place d'un système de détection
d'intrusion avec SNORT
- On ajoute juste après «decompress_depth 65535»
max_gzip_mem 104857600 sur la ligne 293
- On ajoute ces paramètres sur la ligne 521 output
unified2: filename snort.log, limit 128
- On supprime ou on commente toutes les lignes «include
$RULE_PATH» sauf celle de «local.rules» après la ligne
543
- On édite le fichier local.rules dans
/usr/local/etc/snort/rules/
- # vi /usr/local/etc/snort/rules/local.rules
Mise en place d'un système de détection
d'intrusion avec SNORT
- On entre une simple règle comme ceci pour tester:
- alert icmp any any -> $HOME_NET any (msg:"ICMP test";
sid:10000001; rev:1;)
- on enregistre et on ferme
Réalisé et présenté par
Yanice CHACHA
38
- on fait un premier essai pour voir si snort répond
à l'alerte
Réalisé et présenté par
Yanice CHACHA
39
Mise en place d'un système de détection
d'intrusion avec SNORT
- résultat du test
Réalisé et présenté par
Yanice CHACHA
40
Mise en place d'un système de détection
d'intrusion avec SNORT
Installation et configuration de barnyard :
On récupère l'archive master.tar.gz et on le
décompresse et on se déplace ensuite dans le dossier barynyard2
-master obtenu
- # cd /usr/src && wget
https://github.com/firnsy/barnyard2/archive/master.tar.gz
- # tar -zxf master.tar.gz && cd barnyard2-* - Ensuite on
tape les commandes suivantes :
- On déplace le fichier de configuration barnyard2.conf
dans /usr/local/etc/snort et on copie le fichier create_mysql dans /usr/src
# mv /usr/local/etc/barnyard2.conf /usr/local/etc/snort
# cp schemas/create_mysql /usr/src
- Il faut alors configurer barnyard2 en éditant son
fichier de configuration de la manière suivante
Mise en place d'un système de détection
d'intrusion avec SNORT
- On modifie les lignes 27, 28, 29 et 30 comme ci-après
Réalisé et présenté par
Yanice CHACHA
41
- Ensuite on modifie la ligne 227 comme suit
Réalisé et présenté par
Yanice CHACHA
42
Mise en place d'un système de détection
d'intrusion avec SNORT
- Par finir on ajoute à la fin de ce fichier la ligne
suivante :
output database: log, mysql, user=snort
password=<mypassword> dbname=snort host=localhost où «
mypassword » est le mot de passe qui sera utiliser lors de la
création de la base de donnée snort (mot de passe de
l'utilisateur snort)
Réalisé et présenté par
Yanice CHACHA
43
Mise en place d'un système de détection
d'intrusion avec SNORT
- Il faut ensuite créer la base snort en suivant les
étapes ci-dessus
# mysql -u root -p # ici on entre le mot de passe créer
lors de l'installation de mysql-server
mysql> create database snort;
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.*
to snort@localhost;
mysql> SET PASSWORD FOR snort@localhost=PASSWORD
('mypassword'); # ajouter le mot de passe de l'utilisateur snort
mysql> use snort;
mysql> source /usr/src/create_mysql mysql> show tables; #
on devrait voir la listes des nouvelles tables qui ont été
importées.
mysql> exit
- Maintenant on démarre snort et barnyard avec la commande
ci-dessous :
# /usr/local/bin/snort -q -u snort -g snort -c
/usr/local/etc/snort/snort.conf -i eth1&
# /usr/local/bin/barnyard2 -c /usr/local/etc/snort/barnyard2.conf
-d /var/log/snort -f snort.log -w /usr/local/etc/snort/bylog.waldo -C
/usr/local/etc/snort/classification.config &
- Ensuite on ping l'interface de mangement depuis une autre
machine - Résultat du ping :
La commande suivante montre que barnyard est correctement
inséré dans la base de données:
# mysql -u root -p -D snort -e "select count(*) from event"
- On configure apache ; on copie le fichier default-ssl dans
sites-enabled - Par suite on édite le fichier
/etc/php5/apache2/php.ini
Réalisé et présenté par
Yanice CHACHA
44
Mise en place d'un système de détection
d'intrusion avec SNORT
- En modifiant la ligne 463
- On active alors le module ssl avec la commande a2enmod ssl et
configure également PHP avec les options ci-après
- # pear config-set preferred_state alpha && pear
channel-update
pear.php.net
- # pear install --alldeps Image_Color2 Image_Canvas
Image_Graph
- Il faut alors redémarrer le service apache2 pour que la
configuration prenne effet :
/etc/init.d/apache2 restart
c- Installation de BASE pour la gestion des alertes
depuis une interface graphique
- La première étape consiste déjà
à télécharger le paquet et le décompresser et
donner ensuite provisoirement les droits sur le dossier extrait tous les
utilisateurs utilisant le système
# cd /usr/src && wget
http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.5/base-1.4.5.tar.gz
# tar -zxf base-1.4.5.tar.gz && cp -r base-1.4.5
/var/www/base # chmod 777 /var/www/base
Réalisé et présenté par
Yanice CHACHA
45
Mise en place d'un système de détection
d'intrusion avec SNORT
- On se connecte sur l'interface pour finir la configuration de
base comme le montre les captures suivantes :
- On clique sur continue et on renseigne la langue : dans mon cas
j'ai pris «English » et puis on indique le chemin sur
d'accessibilité de la base adoddb : /usr/share/php/adodb sur continue
Réalisé et présenté par
Yanice CHACHA
46
Mise en place d'un système de détection
d'intrusion avec SNORT
- On renseigne alors les paramètres sur la base de
données
- On clique sur continues et ensuite Clique "create baseag" une
base qui va s'étendre au support snort
Réalisé et présenté par
Yanice CHACHA
47
Mise en place d'un système de détection
d'intrusion avec SNORT
- L'étape qui suit est celle de l'authentification pour se
connecter sur Base
-On va dès à présent créer un script
pour mettre en marche snort et barnyard au démarrage : Ce script sera
placé dans /etc/init.d/ :
# vi /etc/init.d/snortbarn
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: snortbarn
# Required-Start: $remote_fs $syslog mysql
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
Réalisé et présenté par
Yanice CHACHA
48
Mise en place d'un système de détection
d'intrusion avec SNORT
# X-Interactive: true
# Short-Description: Start Snort and Barnyard
### END INIT INFO
. /lib/init/
vars.sh
. /lib/lsb/init-functions
mysqld_get_param() {
/usr/sbin/mysqld --print-defaults | tr " " "\n" | grep --
"--$1" | tail -n 1 | cut -d= -f2
}
do_start()
{
log_daemon_msg "Starting Snort and Barnyard" ""
# Make sure mysql has finished starting
ps_alive=0
while [ $ps_alive -lt 1 ];
do
pidfile=`mysqld_get_param pid-file`
if [ -f "$pidfile" ] && ps `cat $pidfile`
>/dev/null 2>&1; then ps_alive=1; fi
sleep 1
done
/sbin/ifconfig eth1 up
/usr/local/bin/snort -q -u snort -g snort -c
/usr/local/etc/snort/snort.conf -i eth1 &
/usr/local/bin/barnyard2 -q -c
/usr/local/etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w
/usr/local/etc/snort/bylog.waldo -C
/usr/local/etc/snort/classification.config 2> /dev/null
&
log_end_msg 0
return 0
}
do_stop()
{
log_daemon_msg "Stopping Snort and Barnyard" ""
kill $(pidof snort) 2> /dev/null
Mise en place d'un système de détection
d'intrusion avec SNORT
kill $(pidof barnyard2) 2> /dev/null
log_end_msg 0
return 0
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
*)
echo "Usage: snort-barn {start|stop|restart}" >&2
exit 3
;;
esac
exit 0
- Il faut ensuite rendre ce fichier exécutable et
créer les liens symboliques de démarrage En exécutant les
commandes :
# chmod +x /etc/init.d/snortbarn # insserv -f -v snortbarn
Snort et barnyard démarreront maintenant automatiquement
au démarrage
|
|
|
|
Réalisé et présenté par
Yanice CHACHA
|
49
|
Réalisé et présenté par
Yanice CHACHA
50
Mise en place d'un système de détection
d'intrusion avec SNORT
- L'étape suivante est la mise à jour des
règles avec pulledpork dont il faut récupérer l'archive et
faire les manipulations suivantes :
# cd /usr/src && wget
https://pulledpork.googlecode.com/files/pulledpork-0.7.0.tar.gz
# tar -zxf pulledpork-0.7.0.tar.gz && cd
pulledpork-0.7.0
# cp
pulledpork.pl /usr/local/bin
&& cp etc/*.conf /usr/local/etc/snort
Ces captures ci-dessus expliquent clairement la
procédure
Réalisé et présenté par
Yanice CHACHA
51
Mise en place d'un système de détection
d'intrusion avec SNORT
Réalisé et présenté par
Yanice CHACHA
52
Mise en place d'un système de détection
d'intrusion avec SNORT
- Ensuite il la commande ci-dessus pour désactiver tous
les blocks de règles fwsam # echo pcre:fwsam >>
/usr/local/etc/snort/disablesid.conf
Réalisé et présenté par
Yanice CHACHA
53
Mise en place d'un système de détection
d'intrusion avec SNORT
- Et on démarre pulledpork avec les commandes ci-dessous #
chmod +x /usr/local/bin/
pulledpork.pl
# /usr/local/bin/
pulledpork.pl -c
/usr/local/etc/snort/pulledpork.conf -T -l
Réalisé et présenté par
Yanice CHACHA
54
Mise en place d'un système de détection
d'intrusion avec SNORT
Les fichiers local.rules et snort.rules apparaîtront alors
dans le répertoire /usr/local/etc/snort/rules.
- On supprimer alors le fichier index.html par défaut
dans /var/www, on retire alors le droit d'écriture au groupe et aux
autres sur le répertoire base dans /var/www. Il est nécessaire
aussi d'arrêter les processus snort et barnyard2 et on supprime le
contenu des répertoires log de snort et barnyard2
# rm /var/www/index.html
# chmod 755 /var/www/base
# pkill snort && pkill barnyard2
# rm -rf /var/log/snort/* /var/log/barnyard2/*
Réalisé et présenté par
Yanice CHACHA
55
Mise en place d'un système de détection
d'intrusion avec SNORT
- Par suite on réédite le fichier snort.conf
à la ligne 542 de la manière suivante : # vi
/usr/local/etc/snort/snort.conf
Réalisé et présenté par
Yanice CHACHA
56
Mise en place d'un système de détection
d'intrusion avec SNORT
- En ajoutant à la ligne 542 include
$RULE_PATH/snort.rules
- Par finir on redémarre snortbarn
# /etc/init.d/snortbarn restart
Réalisé et présenté par
Yanice CHACHA
57
Mise en place d'un système de détection
d'intrusion avec SNORT
Exemple de règle snort
Cette règle permet :
- De générer une alerte icmp (un ping)
- Provenant de n'importe quel hôte du réseau
local
- Vers n'importe quel autre hôte du réseau
local
- Et renvoie un message : ICMP test
- Ainsi que l'identifiant de la signature dans la base de
données
Réalisé et présenté par
Yanice CHACHA
58
Mise en place d'un système de détection
d'intrusion avec SNORT
V- Difficultés rencontrées
Ayant parcouru de nombreuses documentations notamment celle du
site officiel de
snort.org pour l'implémentation de
l'IDS snort, J'ai malheureusement pas à ce moment précis
où j'écris ces lignes pu obtenir des alertes sur interface de
gestion BASE (Basic Analysis and Security Engine) quoi que en console, elles
sont bien présentes.
Réalisé et présenté par
Yanice CHACHA
59
Mise en place d'un système de détection
d'intrusion avec SNORT
CONCLUSION
La mise en place d'un système de détection
d'intrusion dépend des besoins et du contexte dans lesquels il est
déployé. Snort offre un large éventail de
possibilités et peut aider les administrateurs à mieux
gérer les activités anormales dans le réseau. Cependant
malgré sa perpétuelle évolution et les nombreuses mises
à jour il est limité et présente des inconvénients
notamment les fausses alertes et son incapacité à détecter
tout type d'attaques vu les nombreuses innovations faites au niveau des outils
de scan (nmap et autres). Certes limités, mais snort ou tout autre
système de détection d'intrusion deviennent quand même de
nos jours des outils indispensables pour se prémunir un tant soit peu
des attaques.
La configuration que nous avons proposée dans notre
rapport reste typique des tests dont nous avons fait cas dans notre
présentation. Le déploiement de l'IDS snort dans une entreprise,
lycée ou école dépendrait des politiques d'accès et
des restrictions définies pour répondre à un certain
nombre d'exigences.
Le stage effectuer à Linknet Africa m'a permis de mieux
appréhender certaines notions en administration système et
réseaux et de faire évoluer un peu plus mes connaissances dans le
monde linux.
Notons enfin que la réalisation de ce projet nous as
permis de mieux comprendre le concept des IDS et les aspects qu'il faut
considérer pour le configurer.
Webographie :
https://snort.org
www.debian.org
http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_pr%C3%A9vention_d%27intrusion
http://lemondeinformatique.fr
www.securityfocus.com
www.01net.com
www.linuxsecurity.com
www.linuxfocus.org
www.z0rglub.com/piratage/
www.secway.fr
http://www.securityfocus.com/infocus/1524
http://www.securityfocus.com/infocus/1534
http://www.securityfocus.com/infocus/1544
http://dbprog.developpez.com/securite/ids/
Cours CEA (Vincent Glaume)
http://www.wikipedia.org
http://www.groar.org/trad/snort/snortfaq/writing_snort_rules.html
https://trac.prelude-ids.org/wiki/PreludeHandbook
http://lehmann.free.fr/
Bibliographie :
Snort_manual .pdf (snort users manual 2.9.6)
téléchargeable sur le site officiel
https://snort.org
Debian__Snort_Based_Intrusion_Detection_System.pdf téléchargeable
sur le même site
Cours CEA (Vincent Glaume). Les pages de « man » sous
linux
Conclusion 59
SOMMAIRE
Dédicaces : 3
Remerciements : 4
Plan 5
Introduction 6
Première partie : 7
I- Présentation de Linknet Africa Sarl 8
A- Structuration de Linknet Africa 9
a- La direction générale 9
b- Le service E-CENTER 9
c- Le Service Commercial 9
d- Le Service administratif financier et Logistique 9
e- Le service technique 10
B- Présentation et description des équipements
12
II- Tâches accomplies au cours du stage 15
Deuxième partie : 16
I- Objectifs 17
II- IDS, IPS et Choix de SNORT 17
A- Les IDS 17
1- Qu'est-ce que la détection d'intrusion ? 17
2- Définition d'un IDS 17
3- Pourquoi faut - il mettre un IDS ? 17
4- Fonctionnement d'un IDS 17
5- Rôles d'un IDS 18
6- Les types d'IDS 19
B- Les IPS 19
1- Qu'est qu'un système de prévention d'intrusion
? 19
2- Principe de fonctionnement 19
3- Les types d'IPS 19
4- Rôles et Inconvénients 20
C- Différences entre IDS et IPS 20
D- Choix de snort 20
III- Fonctionnement, avantages, inconvénients et limites
21
1- Fonctionnement de SNORT 21
2- Définition des règles de snort 21
3- Positionnement de SNORT dans le réseau 21
4- Avantages, inconvénients et Limites 22
a- Avantages 22
b- Inconvénients 23
c- Limites 23
IV- Installation et Configuration de snort 24
1- Configuration matériel 24
2- Installation et configuration 24
a- Installation des dépendances et prérequis 25
b- Installation et configuration de snort 26
c- Installation de BASE pour la gestion des alertes depuis une
interface graphique 44
V- Difficultés rencontrées 58
Webographie : 60
Bibliographie : 60