Mémoire DANSI Francine Zinhoué - Compressed
Mémoire DANSI Francine Zinhoué - Compressed
Mémoire DANSI Francine Zinhoué - Compressed
¤¤¤¤¤¤¤¤¤¤
UNIVERSITÉ D’ABOMEY - CALAVI (UAC)
¤¤¤¤¤¤¤¤¤¤
ECOLE POLYTECHNIQUE D’ABOMEY-CALAVI (EPAC)
¤¤¤¤¤¤¤¤¤¤
DEPARTEMENT DE GENIE INFORMATIQUE ET
TELECOMMUNICATIONS (GIT)
Option: Réseaux Informatiques et Internet (RII)
9ème Promotion
Supervision de la stratégie de sécurité d’un réseau informatique : cas de l’EPAC
SOMMAIRE
SOMMAIRE………………………................................................................................ i
DEDICACES……………….. .......................................................................................iii
REMERCIEMENTS ..................................................................................................... iv
RESUME……………….. .............................................................................................. x
ABSTRACT………… .................................................................................................. xi
INTRODUCTION .......................................................................................................... 2
SUMMARY…….......................................................................................................... 72
DEDICACES
REMERCIEMENTS
OS : Operating System
Figure 17: Vérification de l’état des différents composants du cluster ...................... 616
RESUME
ABSTRACT
The current computer network of EPAC aims to digitize the educational and
administrative system of the school. Protection of this network requires the
implementation of various security mechanisms. In our work, we were interested in
supervising the security strategy of this network. For monitoring purposes, a successful
monitoring strategy was conceived and proposed. In order to do this, the following
monitoring steps were taken into account: choice of a security policy, centralization of
alerts from the Intrusion Detection Systems (IDS) of our choice and management of
network equipment. To achieve our goal, we used Bro which is a network intrusion
detection system.
INTRODUCTION
Le réseau informatique, qu'il soit ouvert ou non sur internet, est de plus en plus un
élément clé dans le bon fonctionnement d’une organisation, parce qu’il permet une
communication rapide et efficace à l’interne et avec l’extérieur. Ainsi, une
indisponibilité prolongée d’un tel réseau peut entraîner le ralentissement voire la
paralysie de l'activité de celle-ci. Concrètement, une attaque réussie sur le réseau d'une
organisation pourra entraîner une perte financière (liée à l'indisponibilité des ressources
ou à la destruction de données), une perte de crédibilité ou d'image de marque, et enfin
un risque juridique, si les ressources de l'organisation sont utilisées à des fins illicites
Les dommages occasionnés par les attaques réseaux prennent de jour en jour
d’ampleur. Ceci est une preuve que le renforcement de la sécurité d'un réseau n'est plus
chose à négliger. Étant donné que les menaces réseau s'accroissent tous les jours, les
stratégies de sécurité des réseaux doivent être accompagnées de moyens de supervision.
Pour ce faire, les entreprises, établissements, etc. ont besoin d’une protection complète
de leurs réseaux informatiques.
Outre la mise en place d’une stratégie de sécurité, il est nécessaire d'avoir des outils de
supervision pour auditer le réseau et détecter d'éventuelles intrusions. L’EPAC étant
une école polytechnique, ce projet pourra l’aider à bien maintenir la sécurité de son
réseau.
2. Objectifs
Pour atteindre cet objectif principal, les objectifs spécifiques identifiés sont :
3. Structure du document
Le développement du sujet objet du présent mémoire est structuré en trois parties.
Après un état de l’art sur la supervision de la sécurité d’un réseau dans la première
partie, nous allons faire une approche méthodologique du sujet dans la deuxième partie
puis, dans la dernière partie, nous allons faire une analyse d’un système de notre choix,
ce qui nous permettra de discuter autour des résultats obtenus.
ETAT DE L’ART
Dans ce chapitre, nous allons parler des objectifs de la sécurité, des types d’attaques
existantes et enfin des outils de sécurités existants.
Définition
La sécurité d'un réseau est un niveau de garantie que l'ensemble des machines du réseau
fonctionnent de façon optimale et que les utilisateurs desdites machines possèdent
uniquement les droits qui leur ont été octroyés.
Il peut s'agir :
Stratégie de sécurité
réseau
Stratégie de sécurité
informatique
1.2. But
Le but d’une stratégie de sécurité est d’éviter que le système d’information ne devienne
une cible et qu'il ne se transforme pas en un acteur d'attaques par prise de contrôle à
distance. La tendance actuelle est de mettre en place des mécanismes de
contrôle d'accès et des protocoles sécurisés qui apportent plusieurs services :
Probe: consiste en la collecte d’informations par le biais d’outils comme whois, Arin,
DNS lookup. La collecte d’informations sur le système cible peut s’effectuer de
plusieurs manières, comme par exemple un scan de ports grâce au programme Nmap
pour déterminer la version des logiciels utilisés, ou encore un scan de vulnérabilités à
l’aide du programme Nessus.
Pour les serveurs web, il existe des outils comme Nikto qui permet de rechercher les
failles connues ou les problèmes de sécurité.
Des outils comme hping ou SNMP Walk permettent quant à eux de découvrir la nature
d’un réseau.
pour outrepasser les protections par mot de passe. Une autre alternative pour s’infiltrer
dans un système est d’utiliser vulnérabilités du système.
Persist: création d’un compte avec des droits de super utilisateur pour pouvoir se
réinfiltrer ultérieurement. Une autre technique consiste à installer une application de
contrôle à distance capable de résister à un reboot (ex : un cheval de Troie).
Propagate : cette étape consiste à observer ce qui est accessible et disponible sur le
réseau local.
Paralyze : cette étape peut consister en plusieurs actions. Le pirate peut utiliser le
serveur pour mener une attaque sur une autre machine, détruire des données ou encore
endommager le système d’exploitation dans le but de planter le serveur. Après ces cinq
étapes, le pirate peut éventuellement tenter d’effacer ses traces, bien que cela ne soit
rarement utile.
Définition.
La supervision de la stratégie de la sécurité d’un réseau est définie comme le maintien
de la sécurité permanente du réseau contre les vulnérabilités et les menaces à l'appui
des décisions de gestion des risques organisationnels. Elle commence avec la définition
d’une stratégie globale de sécurité. Cette stratégie :
Une stratégie de supervision de sécurité est établie pour recueillir des informations en
conformité avec des règles de sécurité préétablies, en utilisant des informations
facilement accessibles, en partie, grâce à des contrôles de sécurité mis en œuvre. Les
données sont régulièrement recueillies et analysées aussi souvent que nécessaire pour
maintenir la sécurité.
Afin de détecter les attaques que peut subir un réseau, il est nécessaire d'avoir un logiciel
spécialisé dont le rôle serait de surveiller les données qui transitent sur ce réseau, et qui
serait capable de réagir si des données semblent suspectes, de détecter les techniques de
sondage (balayages de ports), les tentatives de compromission de systèmes, des activités
suspectes internes, des activités virales ou encore audit des fichiers de journaux (logs).
À l'origine, les premiers systèmes de détection d'intrusions ont été initiés par l'armée
américaine, puis par des entreprises. Plus tard, des projets open source ont été lancés et
certains furent couronnés de succès 3]. Parmi les solutions commerciales, on retrouve
les produits des entreprises spécialisées en sécurité informatique telles qu’Internet
Security Systems, Symantec, Cisco Systems…
Il existe des outils de filtrage très intéressants qui nous permettent de faire du contrôle
par protocole (icmp, tcp, udp), par adresse IP, jusqu'à du suivi de connexion (couches
3 et 4). Même si cela écarte la plupart des attaques, cela est insuffisant pour se
protéger des attaques passant par des flux autorisés. Si cela est assez marginal, car
difficile à mettre en place, l'ouverture de l'informatique au grand public et
l'augmentation de ce type de connaissances font qu'il faudra un jour savoir s'en
protéger efficacement.
Certains termes sont souvent employés quand on parle d'IDS :
Faux positif : une alerte provenant d'un IDS, mais qui ne correspond pas à une
attaque réelle ;
Faux négatif : une intrusion réelle qui n'a pas été détectée par l'IDS ;
Evasion : technique utilisée pour dissimuler une attaque et faire en sorte qu’elle
ne soit pas décelée par l’IDS ;
Sonde : Composant de l’architecture IDS qui collecte les informations brutes.
Il existe différents types d’IDS : Les systèmes de détection d’intrusion réseau appelés
NIDS (Network Intrusion Detection System) les systèmes de détection d’intrusion hôtes
(Host Intrusions Detection Systems)
Ils analysent de manière passive les flux en transit sur le réseau et détectent les
intrusions en temps réel. Un NIDS écoute donc tout le trafic réseau, puis l'analyse et
génère des alertes, si des paquets semblent dangereux. Les NIDS sont les IDS les plus
intéressants et les plus utiles du fait de l'omniprésence des réseaux dans notre vie
quotidienne [2]. Placés en différents points, ils peuvent permettre une bonne supervision
de l'ensemble d'un réseau. Comme exemple de NIDS, nous avons SNORT qui est un
outil capable d'effectuer aussi en temps réel des analyses de trafic et de logger les
paquets sur un réseau IP. Il peut effectuer des analyses de protocole,
recherche/correspondance de contenu et peut être utilisé pour détecter une grande
variété d'attaques et de sondes comme des dépassements de buffers, scans, attaques sur
sondes et bien plus. Dans la suite de notre travail, nous nous intéresserons au NIDS.
Les HIDS (Host-Based IDS) : ceux-ci sont configurés sur une machine et analyse toute
l'activité s'y déroulant (pas d'analyse du réseau); il peut surveiller l'activité de
l'utilisateur (programmes et commandes utilisées, horaires et durées d'utilisation, etc.),
l'activité de la machine (sa consommation en ressources, son nombre de processus, etc.),
et toute autre forme d'activité jugée malicieuse (virus, cheval de Troie, etc.). Son
avantage est d'avoir peu de faux-positifs, et son inconvénient principal est qu'il faut
configurer un HIDS par machine, et suivant les systèmes et sous-configurations des
systèmes utilisés
Comme exemple de HIDS, nous avons OSSEC qui est un HIDS Open Source.
Développé initialement dans le but d'analyser quelques fichiers journaux de différents
serveurs, il est devenu aujourd'hui bien plus puissant qu'un simple analyseur de logs
capable d'analyser différents formats de journalisation tels que ceux d'Apache, syslog,
Snort, et intégrant un analyseur d'intégrité système, il est devenu aujourd'hui un logiciel
de détection d'intrusions à part entière.
HIDS qu'un NIDS. L'exemple le plus connu dans le monde Open-Source est Prelude
[2]. Ce Framework permet de stocker dans une base de données des alertes provenant
de différents systèmes relativement variés. Utilisant Snort comme NIDS, et d'autres
logiciels tels que Samhain en tant que HIDS, il permet de combiner des outils puissants
tous ensemble pour permettre une visualisation centralisée des attaques. [2]
Prenons l'exemple d'un serveur web, sur lequel il serait dangereux qu'un accès en
lecture/écriture dans d'autres répertoires que celui consultable via HTTP, soit autorisé.
En effet, cela pourrait nuire à l'intégrité du système. Grâce à un KIPS, tout accès suspect
peut être bloqué directement par le noyau, empêchant ainsi toute modification
dangereuse pour le système.
Puisqu'un KIPS analyse les appels systèmes, il ralentit l'exécution. C'est pourquoi ce
sont des solutions rarement utilisées sur des serveurs souvent sollicités.
Les systèmes à filtrage de paquets sans état : analysent les paquets les uns
après les autres, de manière totalement indépendante ;
Les systèmes à maintien d'état (stateful) : vérifient que les paquets
appartiennent à une session régulière. Ce type de firewall possède une table
d'états où est stocké un suivi de chaque connexion établie, ce qui permet au
firewall de prendre des décisions adaptées à la situation. Ces firewalls peuvent
cependant être outrepassés en faisant croire que les paquets appartiennent à une
session déjà établie ;
Les firewalls de type proxy : le firewall s'intercale dans la session et analyse
l'information afin de vérifier que les échanges protocolaires sont conformes aux
normes.
Ces questions nous ont permis d’étudier le fonctionnement interne d'un IDS. De là,
nous en avons déduit deux approches mises en place dans la détection d'attaques :
l'approche comportementale et l'approche par scénarios [5]. On peut citer aussi d'autres
critères de classification des IDS : la fréquence d'utilisation, les sources de données à
analyser, le comportement de l'IDS après intrusion.
normal, appelé comportement sur le long terme, est enregistré dans la base de données
et comparé avec le comportement présent des sujets, appelé comportement à court
terme. Une alerte est générée si une déviation entre ces comportements est observée.
Dans cette approche, le comportement sur le long terme est, en général, mis à jour
périodiquement pour prendre en compte les évolutions possibles des comportements
des sujets. Nous ne considérons traditionnellement que l'avantage principal de
l'approche comportementale soit de pouvoir être utilisée pour détecter de nouvelles
attaques. Autrement dit, en signalant toute déviation par rapport au profil, il est possible
de détecter a priori toute attaque qui viole ce profil, même dans le cas où cette attaque
n'était pas connue au moment de la construction du profil. Cependant, cette approche
présente également plusieurs inconvénients. Tout d'abord, le diagnostic fournit par une
alerte est souvent flou et nécessite une analyse complémentaire.
Ensuite, cette approche génère souvent de nombreux faux positifs [5] car une déviation
du comportement normal ne correspond pas toujours à l'occurrence d'une attaque.
Citons à titre d’exemples, en cas de modifications subites de l'environnement de l'entité
modélisée, cette entité changera sans doute brutalement de comportement. Des alarmes
seront donc déclenchées. Pour autant, ce n'est peut‐être qu'une réaction normale à la
modification de l'environnement.
En outre, les données utilisées en apprentissage doivent être exemptes d'attaques, ce qui
n’est pas toujours le cas. Enfin, un utilisateur malicieux peut habituer le système (soit
pendant la phase d'apprentissage, soit en exploitation si l'apprentissage est continu) à
des actions malveillantes, qui ne donneront donc plus lieu à des alertes. Le problème de
la détection d'intrusions est couramment approché d'une façon radicalement différente
qui est l’approche par scénario.
Comparaison
des profils
découverte de nouvelles attaques. Aucune nouvelle attaque ne peut par définition être
détectée.
D’autre part, il existe de nombreuses attaques difficiles à détecter car elles nécessitent
de corréler plusieurs événements. Dans la plupart des produits commerciaux, ces
attaques élaborées sont décomposées en plusieurs signatures élémentaires. Cette
décomposition peut générer de nombreux faux positifs si un mécanisme plus global
n'est pas développé pour corréler les alertes correspondant à ces différentes signatures
élémentaires. Chacune de ces deux approches peut conduire à des faux‐positifs
(détection d’attaque en absence d’attaque) ou à des faux‐négatifs (absence de détection
en présence d’attaque) [5].
Signatures
Capture Analyse
Alertes
Les sources possibles de données à analyser sont une caractéristique essentielle des
systèmes de détection d'intrusions. Les données proviennent, soit d'informations
obtenues en écoutant le trafic sur le réseau, soit de fichiers générés par le système
d'exploitation, soit encore de fichiers générés par des applications.
Une autre façon de classer les systèmes de détection d'intrusions, consiste à voir quelle
est leur réaction lorsqu'une attaque est détectée se contentant ainsi de déclencher une
alarme qui est une réponse passive.
La fréquence d’utilisation :
Une autre caractéristique des systèmes de détection d'intrusions est leur fréquence
d'utilisation : périodique ou continue. Certains systèmes de détection d'intrusions
analysent périodiquement les traces d’audit à la recherche d'une éventuelle intrusion ou
anomalie passée. Cela peut être suffisant dans des contextes peu sensibles.
La plupart des systèmes de détection d'intrusions récents effectuent leur analyse des
traces d’audit ou des paquets réseau de manière continue afin de proposer une détection
en quasi temps réel. Cela est nécessaire dans des contextes sensibles (confidentialité,
disponibilité). C'est toutefois un processus coûteux en temps de calcul car il faut
analyser, à la volée, tout ce qui se passe sur le système.
Juste après un firewall (détection de signes d'attaques dans tout le trafic entrant et
sortant, avant que n'importe quelle protection n’intervienne).
La figure ci-dessous illustre bien les emplacements possibles d’IDS dans l’architecture
d’un réseau
C'est pourquoi, pour une sécurité optimale, ces outils doivent être couplés à d'autres,
comme l'indispensable pare-feu. Mais ils doivent aussi être mis à jour, aussi bien le
cœur du logiciel comme la base de signatures, qui constitue la base d'une détection
efficace. Il faut également coupler les systèmes de détection entre eux : c'est-à-dire ne
pas hésiter à placer des NIDS, HIDS et KIDS dans le même réseau. Leurs rôles sont
différents, et chacun apporte ses fonctionnalités.
L'efficacité des détections passe aussi par une bonne implémentation des algorithmes
de recherche. Toutefois, et nous terminerons par ceci, même si une certaine maturité
dans ce domaine commence à se sentir, le plus important reste de savoir de quoi il faut
se protéger.
APPROCHE
METHODOLOGIQUE
Cadre de la stratégie
L’EPAC est un établissement qui, aujourd’hui doit faire face au défi d’assurer la
sécurité de son réseau informatique afin de protéger les données confidentielles ou non
de l’établissement ainsi que la réputation de ce dernier.
3.2. Introduction
Tous les utilisateurs, sans exception, sont responsables de la sécurité du réseau et des
données qui y sont stockées. Par conséquent, tous ces utilisateurs doivent adhérer
strictement aux lignes directives énoncées cette présente stratégie à tout moment. En
cas d’hésitations quant au contenu de cette présente stratégie, l’utilisateur est invité à
s’adresser au responsable de la sécurité informatique.
3.3. Terminologies
Utilisateur : C’est quelqu’un qui utilise quelque chose. Dans le cas d’un réseau,
l’utilisateur ne désigne que toute personne ayant accès au réseau et à ses
ressources.
Système: désigne tout équipement informatique qui se connecte à un réseau ou
qui a accès aux services d’un réseau. Ceci inclut les, sans se limiter aux,
ordinateurs fixes et portables, Smartphones, tablettes, imprimantes, réseaux voix
et données, appareils en réseau, logiciels, données informatisées, périphériques
de stockage amovibles, appareils téléphoniques, ainsi que toute autre technologie
susceptible de s’appliquer à cette description.
Propriétaire : désigne une direction, un service ou une unité administrative qui
est le principal utilisateur d’une application et dont il est l’ultime responsable
(imputable) de son utilisation et du traitement de l’information y découlant.
3.5. Objectifs
Assurer que les utilisateurs observent les bonnes pratiques et les règles quant à
l’utilisation du réseau de l’EPAC;
Assurer que les normes en matière de sécurité réseau soient dûment mises en
application ;
Réviser périodiquement les résultats des contrôles, notamment pour y relever les
anomalies et autres incidents ;
Recommander les actions à prendre pour corriger les situations anormales ou
dangereuses, notamment, les processus opérationnels et les grandes stratégies en
matière informatique.
L'EPAC doit mettre en place une stratégie de sécurité qui garantit la bonne exécution
des mesures de sécurité qu’il impose. L’EPAC doit tenir à ce que son organisation et
son administration soient parfaitement définies et connues de tout le personnel de
l'école. Dépendant étroitement de l’organisation de l'EPAC, cette stratégie de sécurité
doit remplir les fonctions ci-après.
L’utilisateur
Appelé encore utilisateur d’un poste de travail, l’utilisateur est responsable vis-à-vis de
son autorité hiérarchique de l’utilisation globale du poste de travail qui lui a été confié.
Il doit respecter les règles de sécurité édictées par l’autorité hiérarchique et se tenir en
relation permanente avec le correspondant local de sécurité.
Tout nouvel utilisateur d’un poste de travail doit lire, approuver et signer un engagement
de responsabilité avant d’avoir le droit d’accès aux ressources informatiques de l'EPAC.
Ainsi, l’utilisateur qui s’expose en enfreignant les règles de cet engagement sera soumis
aux sanctions qui lui seront prononcées par seul l'administrateur réseau.
La sécurité du système de contrôle des accès aux réseaux est souvent critique pour la
sécurité d’une structure. En effet, dès lors qu’un pirate parvient à obtenir un accès au
réseau interne de l'EPAC, les mesures de sécurité périmétriques mises en place
deviennent inefficaces. Des mesures de sécurité physique doivent être prises pour
empêcher l’accès non autorisé à des informations sensibles.
En l’absence du personnel, les locaux où se trouvent les postes de travail doivent être
fermés à clé. Les locaux de plus grande vulnérabilité doivent être contrôlés par un
système anti-intrusion et éventuellement équipés d’un système d’alarme.
permet de garantir que la personne ayant décliné une identité est bien celle
qu’elle prétend être. C’est pour cela que même s’il est concevable d’utiliser un
même identifiant pour un groupe de personnes, l’administrateur doit veiller à ce
que l’authentification ne concerne qu’un et un seul individu.
Juste une authentification en début de session ne suffit pas pour garantir
l’absence d’intrusions dans son réseau. Un utilisateur amené à quitter son poste
de travail peut oublier de clore la session, laissant l’accès à une tierce personne.
L’attaquant peut également se mettre à l’écoute sur la ligne d’un utilisateur
autorisé, attendre que celui-ci s’authentifie puis lui coupe la ligne pour se
l’approprier. Il peut encore se mettre en coupure sur la ligne pour ajouter aux
informations transmises par l’utilisateur des commandes parasites sans que celui-
ci s’en aperçoive. Pour couvrir le risque de l’utilisateur quittant son poste sans
clore la session, on peut prévoir une déconnexion automatique après
temporisation, détecter l’arrachage éventuel du support d’authentification et
éventuellement ré-authentifier périodiquement le support afin de procéder à une
authentification continue.
Dans le cas où un poste de travail est connecté à un réseau, en cas de demande
d’accès à des ressources distantes, il est nécessaire d’authentifier les deux
interlocuteurs, même si l’un des deux est un serveur. En effet, interlocuteur ici
est utilisé au sens large, ce peut être un individu, un logiciel, un matériel, un
serveur ... Dans ce cas, une authentification mutuelle doit être garantie de bout
en bout à travers le réseau.
La protection par mots de passe est d’une efficacité limitée puisqu’un individu
mal intentionné peut toujours par une attaque passive, par exemple par écoute
sur la ligne, se les procurer. Elle ne doit pas moins être utilisée dans l’attente de
solutions plus sûres car elle est préférable à l’absence de protection. Les mots de
passe doivent comporter au moins huit caractères alphanumériques et doivent
être changés régulièrement, une périodicité de trois mois est acceptable. Ils ne
doivent pas être divulgués, ni réutilisés.
Nous attirons ici l’attention des utilisateurs aux risques qui sont liés au choix d’un mot
de passe qui puisse se deviner trop facilement, et à la réutilisation de mots de passe, en
particulier entre messageries personnelles et professionnelles. La création d’une
stratégie de mots de passe complexes pour le service informatique va permettre
d’utiliser une série de combinaisons de majuscules, de minuscules et de numéros. Il est
conseillé de suivre les quelques règles suivantes :
Tout d'abord votre mot de passe est personnel et ne doit être divulgué à aucun
tiers. Il est aussi personnel que votre numéro de carte bancaire. Pourquoi? Parce
qu'il permet de lire votre courrier électronique d'envoyer des messages
électroniques sous votre nom et de consulter vos informations personnelles,
d'usurper votre identité sur le réseau informatique. Un bon mot de passe contient
des majuscules, des minuscules, au moins 1 chiffre et au moins un caractère non
alpha numérique;
La durée de validité du mot de passe doit être limitée à 3 mois pour les accès aux
comptes (messagerie, etc.), afin de s’assurer que les mots de passe soient
régulièrement changés. L’administrateur doit donc se forcer à encourager et
inciter les utilisateurs à créer des méthodes de définition de mot de passe
robustes. Une méthode très simple mais autant efficace faisant appel à la
mnémotechnique est généralement conseillée. Il s’agit de traduire des phrases en
mots de passe, en utilisant les premières lettres de chaque mot pour constituer le
mot de passe. L’on pourrait inclure des chiffres, caractère spéciaux et lettres
majuscules, afin de d’augmenter le niveau de complexité du mot de passe.
Lorsque se produisent des situations dont la maîtrise échappe aux possibilités ou aux
moyens de l’utilisateur, comme par exemple les catastrophes sans préavis: inondation,
incendie, explosion, attentat à la bombe, séisme, ... et les catastrophes avec préavis :
ouragan, menace de subversion, d’émeute, de grève, ..., les préavis sont à utiliser pour
effectuer la sauvegarde des fichiers et la mise en sécurité des fichiers et logiciels
originaux.
Dans tous les cas, les conditions ultérieures de remise en route dépendent de l’état
constaté des installations. Elles comprennent le contrôle des sauvegardes préalablement
à la reconstitution du système à partir des logiciels et fichiers de données déclarés bons.
La périodicité de l’analyse des journaux et ses modalités (qui fait quoi, quand,
etc.) ;
Où trouver les journaux à analyser (serveur, station de travail, etc.) ;
le réseau de l’EPAC soit protégé contre un attaquant qui aurait déjà contourné ces
mesures de défense périmétriques. Les services permettant d’attribuer à chaque
utilisateur des droits sur un réseau sont par ailleurs des éléments cruciaux qui constituent
une cible de choix pour les attaquants et dont il convient de vérifier fréquemment
l’intégrité.
Il est aussi important d’opter pour l’utilisation systématique des applications et des
protocoles sécurisés. En effet, l’utilisation de protocoles sécurisés, y compris sur le
réseau interne, contribue à la défense en profondeur et complique la tâche à un attaquant
qui aurait déjà compromis une machine sur le réseau et qui chercherait à étendre son
emprise sur ce dernier.
Les protocoles non sécurisés (Telnet, FTP, POP, SMTP, HTTP) sont en règle générale
à proscrire sur le réseau, et à remplacer par leurs équivalents sécurisés (SSH, SFTP,
POPS, SMTPS, HTTPS, etc.).
Dans la majeure partie des cas, les évènements suivants doivent générer une alerte qui
doit impérativement être traitée dans un délai de 24 heures. Il s’agit de :
Afin de faciliter la vérification des journaux, une synchronisation des machines sur la
même horloge est nécessaire.
Les attaquants prennent souvent le contrôle complet d’un système via Internet, des
postes des administrateurs ou de comptes d’administration afin de bénéficier des
privilèges les plus élevés sur le réseau. Pour éviter cela, Tout accès à Internet depuis les
comptes d’administration doit être interdit : l’interdiction de tout accès à Internet depuis
n’importe quel compte d’administration doit être strictement proscrite. Cette
interdiction s’applique en particulier aux machines des administrateurs du système.
C’est une contrainte qui peut être généralement mal acceptée par les utilisateurs pour
des contraintes d’exploitation par exemple l’obligation d’utiliser des comptes distincts
en fonction des actions réalisées, mais son poids peut être notablement allégé en
équipant les administrateurs de deux postes distincts, afin de leur permettre par exemple
de consulter la documentation sur le site d’un constructeur avec un poste (en utilisant
leur compte non privilégié) tout en administrant l’équipement concerné sur l’autre (avec
leur compte d’administrateur).
de privilèges plus importants sur leurs machines (pouvoir installer des logiciels, pouvoir
connecter des équipements personnels, etc.). De tels usages sont cependant
excessivement dangereux et sont susceptibles de mettre en danger le réseau dans son
ensemble. Ces manières doivent donc être bannies des habitudes.
Lors de la mise en place d'un IDS, il est nécessaire de prendre en considération plusieurs
critères qui permettront de choisir au mieux le NIDS.
Tester un IDS avec des scanners de vulnérabilité est une mesure nécessaire pour évaluer
un IDS, mais est loin d'être suffisante. Les critères ci-dessous doivent être pris en
compte :
Snort est un NIDS provenant du monde Open Source. Avec plus de 2 millions de
téléchargements [2], il s'est imposé comme le système de détection d'intrusions le plus
utilisé. Sa version commerciale, plus complète en fonctions de monitoring, lui a donné
une bonne réputation auprès des entreprises. Snort est capable d'effectuer une analyse
du trafic réseau en temps réel et est doté de différentes technologies de détection
d'intrusions telles que l'analyse protocolaire et le pattern matching. Snort peut détecter
de nombreux types d'attaques. Snort est doté d'un langage de règles permettant de
décrire le trafic qui doit être accepté ou collecté. De plus, son moteur de détection utilise
une architecture modulaire de plugins. Snort utilise la méthode de détection par
signature d’attaques, ce qui nécessite la mise à jour régulière de la base de signature et
le limite dans son fonctionnement.
Tout en se concentrant sur la supervision de la sécurité d’un réseau, Bro, quant à lui,
fournit une plateforme complète pour une plus analyse générale de trafic de réseau.
Pendant plus de 15 ans de recherche, depuis son commencement, Bro a, avec succès,
établi le lien traditionnel entre le milieu universitaire et les opérations. Aujourd'hui, on
le compte particulièrement du point de vue fonctionnement dans beaucoup
Bro est un Framework destiné à la détection d’intrusion sur des réseaux Gbps à fort
trafic. C’est un projet lancé en 1998 par Vern Paxson [8]. Il est conçu pour :
Initialement, le projet Bro a été créé dans un but de la recherche pour la détection
d'intrusions et l'analyse de trafic réseau. Il est actuellement un puissant complément de
Snort. Compte tenu de sa grande ouverture, nous l'avons choisir pour notre étude.
L’architecture de Bro s’appuie sur deux éléments majeurs, une couche Event Engine
(permettant la capture des éléments du réseau) et une couche Policy Script Interpreter
(permettant une réaction du logiciel). Pour cela, Bro utilise son propre langage de script
(appelé langage Bro) pour le traitement des évènements. Au niveau analyses, le logiciel
permet tout d’abord de comprendre la nature d’échange au sein du réseau, incluant
l’analyse des fichiers transportés et des tunnels. Il supporte une large gamme de couches
protocolaires (incluant DNS, FTP, HTTP, IRC, SMTP, SSH, SSL, etc) et IPV6. Il peut
également stocker sa connaissance des échanges passés pour analyser les suivants (suivi
des transactions, demande de connexion répétées ou non, protocoles, et autres). Il
permet ainsi un contrôle d’intégrité des packets ET de contexte des packets. Bro possède
en outre un package SumStat lui conférant une riche palette d’outils d’analyses
statistiques du réseau. Il permet ensuite de comparer les motifs de trames passant dans
4.2.2.2. Utilisation
La partie suivante sera consacrée aux tests des fonctions explicitées dans la description
de Bro afin de montrer les possibilités offertes par ce NIDS. Nous allons principalement
analyser les scripts déjà présents au sein de Bro, ceux-ci servant d’exemples aux
possibilités offertes par Bro.
première partie sera concentrée sur l’analyse des .log générés par Bro lors de sa capture
du trafic, on utilisera pour cela des .pcap, le fonctionnement étant le même qu’en capture
temps réel. Bro peut se lancer en capture tout comme en analyse, on peut donc appliquer
Bro en lecture sur un fichier .pcap. bro -r capture.pcap
Cette commande va lire les données grâce à la librairie libpcap et va produire des
fichiers .log. Ces fichiers, par exemple conn.log, files.log ou http.log, contiennent des
signes contenant les informations rangées par colonne, chaque colonne séparé par une
tabulation. Chaque fichier n’a pas les mêmes colonnes car .log correspond à des paquets
différents analysés et rangés. Par exemple http.log va regrouper les paquets HTTP alors
que le fichier files.log regroupera les paquets liés au transfert de fichiers. Cependant, la
présence du champ id permet de retrouver un paquet qui serait présent dans plusieurs
.logs. Voici par exemple le début de l’en-tête de conn.log : ts uid id.orig_h id.orig_p
id.resp_h id.resp_p proto. On a ts qui est le temps de capture du paquet, uid l’id unique
du paquet, et ensuite les adresses de l’origine du paquet id.orig_h:id.orig_p et les
addresses du destinataire id.resp_h:id.resp_p. On a enfin le protocole dans le champ
proto. Il y a cependant plus de champ contenant toute les informations pertinentes
concernant les connexions. On a par exemple des paquets présentant le protocole TCP
ou UDP. On peut ensuite appliquer des traitements sur les informations recueillis. Ces
informations sont rangées et ligne et colonne, on peut donc traiter ces .log comme des
tableaux pour récupérer ou comparer les données intéressantes. On utilise donc des
fonctions bash pour parcourir ces .log et extraire les informations requises. Voici
quelques exemples des informations que l’on peut extraire :
Pour afficher les 10 ports les plus accédés, dans l’ordre décroissant :
Pour affiche tous les serveurs qui ont envoyé plus de 1 KB au client :
| sort -u
L’analyse des logs grâce à la commande bro-cut est fastidieuse et ne permet pas
d’analyser complétement le trafic. Bro possède donc son propre langage, basé sur le
C++, qui va nous permettre de créer des scripts utilisables en temps réel afin de créer
des analyses statistiques ou encore de détecter des attaques.
Bro possède des outils très puissants pour analyser le trafic. Un des plus important est
le Summary Statistics Framework, ou Sumstat. Ce Framework est utilisé pour créer un
modèle statistique du réseau et permet de comparé ce modèle au flux de paquets afin de
détecter les anomalies ou les changements, menant parfois à des détections d’attaques.
Sumstat se décompose en trois blocs d’analyse :
Observation
L’objet Observation est un point fixe dans les données à traiter. C’est l’entrée du
Framework, il récupère le contexte ou les informations d’un événement et créé un objet
unique que caractérise ce que l’on souhaite mesurer.
Reducer
L’objet Reducer récupère les observations et applique les calculs statistiques afin de lier
toutes les observations ensembles et de monter le modèle.
Sumstat
L’objet Sumstat est l’objet final qui donne une durée de vie au Reducer durant lesquelles
ils exécutent leurs calculs en renvoyant le résultat à la fin de leur durée de vie. Afin
d’utiliser ces objets, il faut créer un script Bro qui sera executer lors de la capture ou de
l’analyse d’un .log. Pour utiliser ce framework, il faut initialiser les Reducer nécessaires
dans la fonction event bro_init() afin de pouvoir les remplir avec les Observation. Les
objets Sumstat sont aussi créés dans la fonction d’initialisation en lui injectant les
Reducer initialisé avant. On fixe les champs du Sumstat à l’initialisation, tel que
l’intervalle de temps des Reducer ou les résultats à retourner. Les Observation sont eux
initialisé dans la fonction appelée par le script et seront utilisé automatiquement.
L’initialisation de ces différents objets est simple et courte.
$epoch = 1min,
$reducers = set(r1),
$epoch_result(ts: time,
key: SumStats::Key,
result: SumStats::Result) =
}]);
SumStats::create([$name=
"ftp-detect-bruteforcing",
$epoch=bruteforce_measurement_interval,
$reducers=set(r1),
$threshold_val(key: SumStats::Key,
result: SumStats::Result) =
return result["ftp.failed_auth"]
$num+0.0;
},
$threshold=bruteforce_threshold,
$threshold_crossed(key: SumStats::Key,
result: SumStats::Result) =
local r = result["ftp.failed_auth"];
(r$end-r$begin);
key$host,
NOTICE([$note=FTP::Bruteforcing,
$src=key$host,
$msg=message,
$identifier=cat(key$host)]);
}]);
SumStats::observe("conn established",
SumStats::Key(),
SumStats::Observation($num=1));
Pour utiliser ces scripts, il suffit de lancer le script lors de l’analyse de Bro ou, s’il s’agit
de l’analyse d’un fichier déjà capturé, de lancer la commande suivante :
# bro -r capture.trace script.bro Value of the result: 15. On se base sur les objets de
Sumstat ci-dessus, mais la complexité du Framework permet d’afficher des
informations plus complètes ou plus spécialisées, comme par exemple le nombre de
connexions établie en TCP, de calculer combien de connexions une adresse a tenté sur
un port précis ou encore de faire un résumé des fichiers téléchargés par un client.
Comme nous avons vu, les scripts Bro permettent d’extraire des données de la capture
et d’effectuer des traitements très variés permettant ainsi de détecter des comportements
anormaux ou malveillants. Grâce à la description des paquets dans les .log, triés en
fonction de leur protocole et des contextes dans lesquels ils sont capturés, ainsi que des
calculs statistiques effectués sur les données recueillies, on peut créer des scripts
intelligents qui peuvent notifier ou réagir en cas d’attaque. Par exemple, on peut
compter le nombre de connexions effectuées sur un client, ou détecter quels ports sont
sollicités. On pourrait alors détecter un scan de nmap si l’on remarque que tous les ports
sont sollicités. On peut même imaginer détecter une attaque très discrète de nmap
choisissant des seuils de détection dans le script très bas, au risque de voir apparaitre
des faux positifs. La force de Bro est la facilité d’ajouter des scripts personnalisés à son
éxecution, en utilisant des Framework pertinent pour l’analyse de données. En utilisant
Sumstat, on peut créer des Observation sur un aspect particulier ou un champ particulier
des paquets dont on veut analyser la fréquence d’apparition d’un client ou d’autre
information à l’aide d’un Reducer. On peut décider de faire cette action toutes les
minutes et obtenir ainsi une notification si, à une certaine minute, un nombre de
connexion important a été effectué. Si ce script n’existe pas à la base dans les fichiers
de Bro, la facilité d’ajout de script permet à l’utilisateur de créer et implanter ce script
sans problèmes. Par exemple, Bro inclut de base un script pour détecter les attaques de
force brute sur FTP. Voici ci-dessous les caractéristiques Sumstat :
Reducer :
[$stream="ftp.failed_auth",
$apply=set(SumStats::UNIQUE),
$unique_max=double_to_count
(bruteforce_threshold+2)];
Sumstat :
Observation :
SumStats::observe("ftp.failed_auth",
[$host=c$id$orig_h],
[$str=cat(c$id$resp_h)]);
On remarque que l’observateur récupère les informations sur l’id et sur orig_h d’une
part et sur resp_h d’autre part. On récupère donc les adresses d’origine et de destination
des paquets. Ensuite, on remarque que le reducer s’applique sur notre Observation et va
récupérer les duos uniques d’origine/destination. On lui ajoute un seuil aussi qui va
déterminer quand on détecte une attaque de force brute. L’objet Observation va ensuite
récupérer ce reducer avec un intervalle particulier (qui est une valable que l’on peut
modifier) et va renvoyer un chaîne de caractère incluant le nombre de connexions
échouées effectuée ainsi que le serveur concerné. On utilise ce script via la commande
: # bro -r capture.pcap protocols/ftp/detect-bruteforcing.bro
On dit que Bro est déployé en mode standalone lorsqu’il est configuré sur une seule
machine, soit un serveur. Donc c’est une seule sonde qui écoutera tout le réseau,
capturera et analysera tous les paquets. Ce mode à des limites parce que lorsque le
processeur atteint ses limites, l’analyse devient difficile et pénible. Ainsi, une fois que
les limitations d'un noyau de processeur unique sont atteintes, la seule option
actuellement est de répartir la charge de travail sur plusieurs noyaux, voire sur de
nombreux ordinateurs physiques. C’est là qu’intervient le mode cluster, mode que nous
utiliserons pour notre simulation.
Le scénario de déploiement de cluster pour Bro est la solution actuelle pour construire
de grands systèmes. Les outils et les scripts qui accompagnent Bro fournissent la
structure pour gérer facilement beaucoup de processus de Bro examinant des paquets et
faisant des activités de corrélation mais agissant comme une entité singulière, cohésive.
La figure ci-dessous illustre les principaux composants d'un cluster Bro.
Tap
Le Tap est un mécanisme qui divise le flux de paquets afin de rendre une copie
disponible pour l'inspection. Les exemples comprennent le port de supervision sur un
commutateur et un répartiteur optique sur les réseaux de fibres.
Frontend
Le frontend est un périphérique matériel discret ou une technique sur hôte qui divise le
trafic en plusieurs flux ou flux. Le binaire Bro ne fait pas ce travail
Manager
Le gestionnaire est un processus de Bro qui a deux emplois principaux. Il reçoit des
messages de journalisation et des avis du reste des nœuds du cluster en utilisant le
protocole de communication de Bro. Le résultat est un seul journal au lieu de plusieurs
journaux distincts que vous devez combiner d'une certaine manière avec le post-
Logger
L'enregistreur est un processus Bro facultatif qui reçoit des messages de journalisation
du reste des nœuds du cluster en utilisant le protocole de communication Bro. Le but
d'avoir un logger pour recevoir des journaux au lieu du gestionnaire est de réduire la
charge sur le gestionnaire. Si aucun enregistreur n'est nécessaire, le gestionnaire recevra
des journaux à la place.
Le processus d'enregistrement est lancé en premier par BroControl et il n'ouvre que son
port désigné et attend les connexions, il n'initie aucune connexion au reste du cluster.
Une fois que le reste du cluster est démarré et se connecte au logger, les journaux
commenceront à arriver au processus d'enregistreur.
Proxy
Le proxy est un processus Bro qui gère l'état synchronisé. Les variables peuvent être
synchronisées automatiquement entre les processus Bro connectés. Le proxy aide les
travailleurs en allégeant la nécessité pour eux à se connecter directement à l'autre.
Worker
Le travailleur est le processus Bro qui renifle le trafic réseau et effectue une analyse de
protocole sur les flux de trafic réassemblés. La plupart des travaux d'un cluster actif ont
lieu sur les travailleurs et, en tant que tels, les travailleurs représentent généralement la
majeure partie des processus Bro qui fonctionnent dans un cluster. La mémoire la plus
rapide et la vitesse du processeur centrale que vous pouvez vous permettre est
recommandée, car tous les protocoles d'analyse et la plupart des analyses auront lieu ici.
$ cd bro−(version )
# make
# make install
# make install−aux
Si le paramètre « prefix » n’est pas spécifié, l’installation s’effectue par défaut dans le
dossier /usr/local/bro.
Il est à noter que, pour permettre à Bro de marcher, certaines dépendances doivent être
installées avant l’installation proprement dite de Bro. Voici, cidessous la commande à
exécuter dans le bash de notre linux pour l’installation de ces paquets :
sudo apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-
dev python-dev swig zlib1g-dev
5.2. Configuration
Pour faciliter l’exécution des tâches, nous allons utiliser Brocontrol, un outil pour
l’exploitation des installations bro.[7]
Etant dit que nous voulons utiliser Bro en mode cluster, nous avons exécuté 5 nœuds
Bro (deux workers, un proxy, un logger et un manager) sur un cluster composé de trois
machines virtuelles.
5.2.1 Préliminaires
l'hôte du gestionnaire, échanger avec chacun des autres hôtes de notre cluster, ce qui
doit fonctionner sans n’être invité à rien (une façon d'y parvenir est d'utiliser
l'authentification par clé publique ssh). Nous devrons essayer cela manuellement avant
d'essayer d'exécuter broctl, car broctl utilise ssh pour se connecter à d'autres hôtes dans
le cluster.
Certains fichiers ont été modifiés pour une adaptation à notre environnement. Nous
avons modifié le fichier de configuration BroControl, <prefix> /etc/broctl.cfg, et
modifié la valeur des options de BroControl pour les adapter à notre environnement.
Nous avons Modifié aussi le fichier de configuration du nœud BroControl, <préfixe>
/etc/node.cfg pour définir où le journal, le manager, les proxies et les workers doivent
s'exécuter. Pour une configuration de cluster, nous avons supprimé le nœud standalone
et ajouté des entrées de nœud pour chaque nœud de notre cluster. Retenons que cette
configuration se fait dans le fichier /bro/etc/nodes.cfg du manager. Dans celui des
workers, nous n’aurons qu’à mettre cet exemple de configuration selon le nom,
l’adresse IP de ces derniers. Voici, ci-dessous un extrait de ce fichier :
RESULTATS -
ANALYSES - DISCUSSIONS
Supervision de la stratégie de sécurité d’un réseau informatique : cas de l’EPAC
Dans ce chapitre, nous allons vous donner quelques résultats de la simulation de notre
projet.
Pour pourvoir créer les machines virtuelles et les mettre en réseau local ou leur
permettre d’accéder à l’internet, nous avons utilisé le générateur de machines virtuelles
«Ooracle VM virtualbox »
Comme vous pouvez le constacter, nous avons le manager et les deux workers .Sur
chaque machine, est installée la distribution ubuntu 16.04 du système d’exploitation
linux. Nous l’avons choisi parce qu’elle est une version mise à jour.
Pour que chaque machine puisse avoir une adresse IP personnelle et communiquer entre
elles, nous avons configuré le réseau NAT sur chacune d’elles. Voici, ci-dessous ce que
la commande ifconfig donne sur chaque machine enp0s3 qui est l’interface réseau Nat
de notre machine. L’adresse IP ici c’est le 10.0.2.5.
Nous avions dit plus haut que Bro sera uniquement installé sur notre manager
Avant l’installation, nous avons installé sur chaque machine les dépendances dont Bro
a besoin pour fonctionner. Voici, ci-dessous une capture de l’exécution de la
commande :
Notons que le logiciel rsync est installé par défaut dans les dépendances et donc sur
chaque machine du cluster. rsync (remote synchronization ou synchronisation à
distance), est un logiciel de synchronisation de fichiers. Il est fréquemment utilisé pour
mettre en place des systèmes de sauvegarde distante.
rsync travaille de manière unidirectionnelle c'est-à-dire qu'il synchronise, copie ou
actualise les données d'une source (locale ou distante) vers une destination (locale ou
distante) en ne transférant que les octets des fichiers qui ont été modifiés. [8]
Sans rsync, les worker ne pourront sauvegarder les données sur le manager.
Ensuite, nous avons, en mode root, cloner le projet Bro sur le dépôt git en utilisant la
commande « git clone --recursive bro » puis utiliser les commandes «./configure »
« make » « make install » pour effectuer l’installation de Bro.
OpenSSH est une version libre de la suite de protocole de SSH, des outils de
connectivité de réseau. [9] OpenSSH chiffre tout le trafic (mots de passe y compris),
via une combinaison astucieuse de chiffrement symétrique et asymétrique. OpenSSH
La clé sshd doit être installée sur tous les autres hôtes du Cluster. En effet, le serveur
Open-SSH, sshd, attend en permanence des connexions depuis des clients. Quand une
requête de connexion a lieu, sshd établit la connexion correcte en fonction du type de
client. Par exemple, si un client se connecte avec le client ssh, le serveur OpenSSH va
établir une connexion sécurisée après une authentification. Voici, ci-dessous les lignes
de commandes pour l’installation de OpenSSH et sshd :
Pour installer le serveur OpenSSH et les fichiers nécessaires, nous avons utilisé cette
commande dans un terminal :
Notons que le service SSH doit être activé dans notre système. Nous avons donc vérifié
son status en exécutant la commande :
Pour autoriser l’accès root de l’utilisateur de chaque machine, nous avons mis la ligne
de code « permitrootlogin » du fichier /etc/ssh/sshd à « yes ».
Il faut ensuite copier la clé publique sur les machines de travail afin que SSH négocie
avec l'authentification par clé publique. La commande ci-dessous permet de le faire :
scp /root/.ssh/id_rsa.pub: adresse hôte~/.ssh/authorized_keys2
Vérifions le statut de tous les processus Bro. Tout semble bien ici. Si vous voyez
"bloqué" sous la colonne État, consultez les journaux sur la machine qui a eu un
processus bloqué, par exemple Devrait-t-il faire un crash de processus de Bro du
travailleur-1 en essayant de trouver plus d’informations : worker-1 $ cat
/usr/local/bro/spool/worker-1/stderr.log.
Vérifiez les statistiques sur le gestionnaire pour vous assurer que les paquets ont été
reçus.
Bro écrit des journaux dans des dossiers par date. Le lien symbolique, courant, indique
le répertoire où les journaux sont stockés jusqu'à ce qu'ils soient tournés. Les journaux
rotatifs sont compressés avec gzip et doivent être décompressés ou lus avec zcat, zgrep,
etc. Quand Bro voit un type de trafic spécifique, il écrira des fichiers journaux qui
CHAPITRE 7 : DISCUSION
Au terme de notre travail, nous avons proposé à l’EPAC une stratégie de supervision
continue de la sécurité de son réseau. Cette stratégie prend en compte la proposition
d’une stratégie de sécurité du réseau, la gestion des équipements réseau et de ses
utilisateurs et enfin, une prise en main du système de détection d’intrusions Bro.
Les principaux avantages de ce système, une fois mis en œuvre seraient les suivants :
CONCLUSIONS ET PERSPECTIVES
REFERENCES BIBLIOGRAPHIQUES
[1] J.-F. PILLOU, «Protection - Introduction à la sécurité des réseaux,» [En ligne].
Available: www.commentcamarche.net. [Accès le Décembre 2015].
[3] A. Martin et J. Briffaut, «Les IDS et IPS Open Source,» Master2 informatique.
[8] http://igm.univ-mlv.fr/~dr/XPOSE:
Sonde_de_securite_IDS_IPS/IDS.html,2009.
[26] Alexandre MARTIN et Jonathan BRIFFAUT: Les IDS et les IPS open
source, Paris (France): Master2 informatique.
SUMMARY
Introduction
Whether it is open or not on the Internet, the computer network is more and more often
a key element in the proper functioning of an organization because it allows rapid and
effective communication within the organization, outside. Thus, a prolonged
unavailability of this one can lead to the slowing down or even the paralysis of the
activity of the latter. In concrete terms, a successful attack on an organization's network
can result in a financial loss (linked to unavailability of resources or destruction of data),
loss of credibility or brand image, and finally a legal, if the resources of the organization
are used for illicit purposes
Thus, for the security of the network, it must necessarily be accompanied by a security
policy. The security strategy is there to ensure the integrity, confidentiality, availability,
and non-repudiation of information.
In order to maintain this safety, a supervision strategy is essential. This will make it
possible to verify the dynamism, efficiency and proactivity of the established security
policy. Monitoring will also allow an organization to identify and respond to new
vulnerabilities and evolving threats.
The damage caused by the attacks network takes day at the day of width.This is a proof
that the reinforcement of the safety of a network is not any more thing to be
neglected.Since the threats network increase tous.les.jours, the strategies of safety of
the networks must be accompanied by means of monitorings.With this intention, the
companies need a complete protection.Indeed, much, if not totality, on the functions
essential with the mission of an organization depend on the technology of the
information(I).The capacity to manage this technology and to ensure the confidentiality,
the integrity and the availability of information is now essential thing.In the design of
the architecture of a network and architecture of corresponding safety, a university must
seek to answer in full safety with its needs thus that the means of increasing its
2. Goals
The main goal of this research is to propose a strategy of continuous monitoring of the
safety of a network for the EPAC.
The goal of a policy of safety is to prevent that the information system does not
become a target and that it is not transformed into an actor of attacks by remote
takeover.
The goals of a policy of safety are to guarantee the safety of information and the
network of an organization.These requirements can be defined in several levels:
Availability:the data must remain accessible to the users (an attack of the DoS
type, for example, aims at preventing the normal users of a service from reaching
it);
Integrity:it is necessary to be able to guarantee that the protected data were not
modified by an unauthorized person;
Ids is primarily a sniffer coupled with an engine which analyzes the traffic
according to rules'.These rules describe a traffic to be announced.Ids can analyze:
Certain terms are often employed when one speaks about IDS:
Positive forgery:an alarm coming from IDS, but which does not correspond to
a real attack;
There are various types of IDS:Systems of detection of intrusion network called NESTS
(Network Intrusion System Detection) systems of detection of intrusion hosts (Host
Intrusions Systems Detection).The NESTS analyze in a passive way flows in transit on
the network and detect the intrusions in real time whereas the HIDS are configured on
a machine and analyzes all the activity being held there (not analysis of the
network).Like example of HIDS, we have OSSEC who is a HIDS Open Source.THERE
are also the systems of detection of hybrid intrusions which are a whole of NESTS and
HIDS and the systems of prevention of intrusions (IPS) Dans the continuation of our
work, we will be interested in the NESTS.
Generator of events:Ebox;
Analyzer of events:Abox;
Storage of information:Dbox;
Countermeasure: Cbox.
At the time of the installation of IDS, it is necessary to take into account several criteria
which will make it possible to choose the NESTS as well as possible.
Several systems of detections of intrusions network are used in the monitoring continues
safety of a network.However, the most used NESTS are Bro and Snort.
Bro being currently a powerful complement of Snort and taking into account its large
opening, we have to choose it for our study
The architecture of Bro is pressed on two major elements, a layer Event Engine
(allowing the capture of the elements of the network) and a layer Policy Script
Interpreter (allowing a reaction of the software).For that, Bro uses its own language of
script (called Bro language) for the treatment of the events.The level analyses, the
software first of all makes it possible to include/understand the nature of exchange
within the network, including the analysis of the transported files and the tunnels.It
supports a broad range of protocolar layers (including DNS, ftp, HTTP, IRC, smtp,
SSH, SSL, etc) and IPV6.It can also store its knowledge of the exchanges passed to
analyze the following (followed transactions, or not asks connection repeated,
protocols, and others).It thus allows a control of integrity of the packets and context of
the packets.Bro has moreover a SumStat package conferring a rich person to him pallets
tools for statistical analyses of the network.
5.3. Deployment
There are two modes of deployment of Bro:the standalone mode and the cluster mode.
It is said that Bro is deployed in standalone mode when it is configured on only one
machine, that is to say a waiter.Thus it is only one probe which will listen to all the
network, will capture and analyze all the packages.This mode with limits because when
the processor reaches its limits, the analysis becomes difficult and painful.Thus, once
that the limitations of a single core of processor are reached, the only option currently
is to distribute the workload on several cores, even on many physical computers.It is
there that intervenes the cluster mode, mode which we will use for our simulation.
In prospects, we propose :
SOMMAIRE……. ........................................................................................................... i
DEDICACES……. ........................................................................................................iii
REMERCIEMENTS ..................................................................................................... iv
RESUME……. ............................................................................................................... x
ABSTRACT……. ......................................................................................................... xi
INTRODUCTION .......................................................................................................... 2
Définition .................................................................................................................................. 6
1.2. But............................................................................................................................................. 7
1.2.1. Procédé des pirates .......................................................................................................... 8
1.3. Les différents types d’attaques.................................................................................................. 8
1.3.1. Anatomie d’une attaque .................................................................................................. 8
1.3.2. Les attaques réseaux........................................................................................................ 9
1.4. Quelques outils de sécurité réseau ............................................................................................ 9
CHAPITRE 2 : Supervision de la stratégie de la sécurité d’un réseau ...................... 11
Définition. ............................................................................................................................... 11
2.2. Quelques outils de supervision réseau .................................................................................... 12
Cadre de la stratégie................................................................................................................ 25
3.2. Introduction............................................................................................................................. 25
3.3. Terminologies ......................................................................................................................... 26
3.4. Champ d’application de la présente stratégie ......................................................................... 26
3.5. Objectifs .................................................................................................................................. 27
3.6. Documents à l’appui de la stratégie ........................................................................................ 27
3.6.1. Administration et organisation de la sécurité ................................................................ 27
3.6.1.1. Les partenaires de la sécurité et leurs rôles ....................................... 27
SUMMARY ………………………………………………………………………...72
Introduction ....................................................................................................................................... 73
1. Context, justification and problems .................................................................................... 73
4.1. Topology of IDS ................................................................................................................ 76
Selection criteria of NESTS .............................................................................................................. 77
5.1. Functionalities of Bro ................................................................................ 78