Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Publicité
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information
Prochain SlideShare
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Chargement dans ... 3
1 sur 61
Publicité

Contenu connexe

Similaire à Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information(20)

Publicité

Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information

  1. Année universitaire : 2018-2019 Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information • ARDICOEntreprise • Informatique et RéseauxFilière • Mohammed LAAZIZLIEtudiant • Mme. Meryem KARRAKCHOU • M. Brahim YOUSSOUFI Encadrants
  2. 1 Avant-Propos : L'école marocaine des sciences de l'ingénieur (EMSI), offre à ses élèves ingénieurs la possibilité d’exploiter les connaissances acquises à travers des stages professionnels. C’est dans ce cadre que j’ai effectué mon stage de fin d’études au sein de la Société ARDICO. Nom et prénom de l’élève ingénieur : LAAZIZLI Mohammed Intitulé du travail : Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information. Établissement d’accueil : Ardico Établissement d’origine : L'école marocaine des sciences de l'ingénieur – RABAT Nom et prénom de l’encadrant académique : Mme. Karrakchou Meryem Nom et prénom de l’encadrant professionnel : Mr. Youssoufi Brahim Date de début et de fin du stage : Du 01 Mai au 30 Août2019
  3. 2 Dédicaces Je dédie ce modeste travail, avec tous mes respects et profondes reconnaissances : A mes chers parents, pour leurs prières, leurs sacrifices et leurs conseils, leurs dévouements impérissables et leur soutien moral, qui m’ont donné la possibilité d’être tout ce que je suis. Nulle dédicace ni nul mot delalittératurenepourrontrefléteretexprimermesprofondesgratitudes. Vous avez toujours été mon soutien physique et moral, afin d’assurer mon confort et de m’aider dans l’accomplissement de mes études et mes projets. Votre valeur, votre rôle et votre importance sont immenses et inestimables. A mes chers frères, pour leur appui et leur encouragement. A toute ma famille, pour leur soutien tout au long de mon parcours universitaire. Que ce travail soit l’accomplissement de vos vœux tant allégués, et le fruit de votre soutien infaillible.
  4. 3 Remerciements Je tiens à exprimer, au terme de ce travail, mes vifs remerciements à toutes les personnes dont l’intervention de près ou de loin au cours de ce projet, a favorisé son aboutissement. Je remercie d’abord, vivement, mon encadrant M. YOUSSOUFI Brahim, d’avoir fait preuve de bienveillance et disponibilité, en dépit de son temps et de son énergie, afin d’assurer l’élaboration de ce travail dans les meilleures conditions. Je remercie ensuite, par la même occasion Mme. KARRAKCHOU Meryem, enseignante à l’école marocaine des sciences de l’ingénieur, pour le temps qu’elle m’a consacrée tout au long de cette période, pour son soutien et ses conseils constructifs, sans oublier sa participation effective au cheminement de ce rapport. Je tiens à remercier aussi tous les membres du jury pour leur bienveillance à vouloir évaluer mon travail. J’adresse également mes remerciements au corps professoral de l’école marocaine des sciences de l’ingénieur pour la formation académique qu’ils m’ont fournie pendant ces trois années. A toutes ces personnes citées ci-dessus, j’espère que vous trouverez dans ce travail, l’expression de ma considération et le témoignage de mon estime et mon profond respect.
  5. 4 Table des matières Glossaire ......................................................................................................................................................9 Résumé.......................................................................................................................................................10 Abstract......................................................................................................................................................11 Introduction générale ...............................................................................................................................12 CHAPITRE 1 : PRESENTATION GENERALE DU PROJET ..............................................................13 Introduction.................................................................................................................................................14 I. Présentation de la société ARDICO....................................................................................................14 1.1. Présentation de ARDICO............................................................................................................14 1.2. Structure organisationnelle .........................................................................................................14 II. Contexte générale du projet ................................................................................................................15 2.1. Présentation du projet .................................................................................................................15 2.2. Objectif de projet ........................................................................................................................15 III. Planification de projet.....................................................................................................................16 IV. Etude préalable du projet ................................................................................................................17 5.1. Solutions proposées ....................................................................................................................17 5.2. Solution retenue ..........................................................................................................................17 Conclusion ..................................................................................................................................................22 CHAPITRE 2 : ETAT DE L’ART.............................................................................................................23 Introduction.................................................................................................................................................24 I. Système de détection d'intrusion (IDS)...............................................................................................24 1.1. Présentation IDS .........................................................................................................................24 1.2. Principes de détection .................................................................................................................24 1.2.1. Approche par scénario ........................................................................................................24 1.2.2. Approche comportementale ................................................................................................25 1.3. Type des systèmes de détection d’intrusion................................................................................26 II. Système de prévention d'intrusion ......................................................................................................28 2.1. Type des systèmes de prévention d’intrusion .............................................................................28 III. Différence entre IDS et IPS ............................................................................................................30 IV. Le pare-feu......................................................................................................................................30 4.1. Fonctionnement d’un pare-feu....................................................................................................30 Conclusion ..................................................................................................................................................31
  6. 5 CHAPITRE 3 : ETUDE TECHNIQUE....................................................................................................32 Introduction.................................................................................................................................................33 I. Snort....................................................................................................................................................33 1.1. Présentation générale de Snort....................................................................................................33 1.2. Le mode de fonctionnement de Snort .........................................................................................33 1.3. Positionnement de Snort dans un réseau.....................................................................................34 1.4. Architecture de SNORT..............................................................................................................35 1.5. Paramètre de snort.......................................................................................................................35 1.5.1. Préprocesseurs.....................................................................................................................35 1.5.2. Les plugins de sortie ...........................................................................................................35 1.5.3. Les règles de snort...............................................................................................................36 II. PFsense ...............................................................................................................................................38 2.1. Présentation du PFsense..............................................................................................................38 2.2. Environnement technique ...........................................................................................................38 2.3. Aperçu des fonctionnalités et services de PFsense .....................................................................39 Conclusion ..................................................................................................................................................39 CHAPITRE 4 : LE DEPLOIEMENT DE LA SOLUTION ADOPTEE .................................................40 Introduction.................................................................................................................................................41 I. Architecture ciblée..............................................................................................................................41 II. L’environnement technique ................................................................................................................41 2.1. Prérequis pour installer PFsense .................................................................................................41 2.2. Installation et configuration d’PFsense.......................................................................................41 2.3. Installation de Snort ....................................................................................................................46 2.4. Configuration de Snort................................................................................................................48 III. Test..................................................................................................................................................52 3.1. Maquette de test ..........................................................................................................................52 3.2. L’attaque .....................................................................................................................................53 IV. Collecte des résultats.......................................................................................................................55 Conclusion ..................................................................................................................................................58 Conclusion générale..................................................................................................................................59 Webographie .............................................................................................................................................60
  7. 6 LISTE DES FIGURES Figure 1 - Organigramme de ARDICO ------------------------------------------------------------------------------------14 Figure 2: Diagramme de Gantt-----------------------------------------------------------------------------------------------16 Figure 3: Approche par scénario---------------------------------------------------------------------------------------------24 Figure 4: Approche comportementale--------------------------------------------------------------------------------------25 Figure 5: Placement de IDS sur le réseau----------------------------------------------------------------------------------27 Figure 6: Placemenet des IDS système-------------------------------------------------------------------------------------27 Figure 7: Principe du fonctionnement d'un firewall---------------------------------------------------------------------30 Figure 8: Le fonctionnement de SNORT ----------------------------------------------------------------------------------33 Figure 9: Les différentes positions de Snort dans un réseau ----------------------------------------------------------34 Figure 10: Architecture de Snort---------------------------------------------------------------------------------------------35 Figure 11: les différents champs d’une règle SNORT------------------------------------------------------------------36 Figure 12: Logo du PFsense --------------------------------------------------------------------------------------------------38 Figure 13: Logo du FreeBSD-------------------------------------------------------------------------------------------------38 Figure 14: Architecture ciblée------------------------------------------------------------------------------------------------41 Figure 15: Installation de PFsense-------------------------------------------------------------------------------------------42 Figure 16: Installation de PFsense (2)--------------------------------------------------------------------------------------42 Figure 17: Installation de PFsense (3)--------------------------------------------------------------------------------------43 Figure 18: Installation de PFsense (4)--------------------------------------------------------------------------------------43 Figure 19: Installation de PFsense (5)--------------------------------------------------------------------------------------44 Figure 20: Installation de PFsense (6)--------------------------------------------------------------------------------------44 Figure 21: PFsense Console --------------------------------------------------------------------------------------------------45 Figure 22: Page d'authentification du PFsense ---------------------------------------------------------------------------45 Figure 23: L'état initial de PFsense -----------------------------------------------------------------------------------------46 Figure 24: Installation de Snort sur PFsense------------------------------------------------------------------------------46 Figure 25: Message de confirmation----------------------------------------------------------------------------------------47 Figure 26: Message de fin d'installation de Snort -----------------------------------------------------------------------47 Figure 27: L'accès au service Snort -----------------------------------------------------------------------------------------48 Figure 28: Les interfaces de Snort-------------------------------------------------------------------------------------------48 Figure 29: Paramètre de l'interface Snort----------------------------------------------------------------------------------49 Figure 30: Oinkcode------------------------------------------------------------------------------------------------------------50 Figure 31: Snort Oinkmaster Code------------------------------------------------------------------------------------------50 Figure 32: Les règles de Snort------------------------------------------------------------------------------------------------51 Figure 33: les interfaces de snort --------------------------------------------------------------------------------------------52 Figure 34: Maquette de test de la solution---------------------------------------------------------------------------------52 Figure 35: Résultats de ping (Victime)-------------------------------------------------------------------------------------53 Figure 36: Résultats de ping (Attaquant) ----------------------------------------------------------------------------------53 Figure 37: Graphiques de trafic----------------------------------------------------------------------------------------------54 Figure 38: Attaque par Kali Linux ------------------------------------------------------------------------------------------54 Figure 39: Utilisation des différentes interfaces par trafic-------------------------------------------------------------55 Figure 40: Utilisation des protocoles par trafic---------------------------------------------------------------------------55
  8. 7 Figure 41: Taux du trafic de chaque adresse IP source-----------------------------------------------------------------56 Figure 42: Taux du trafic de chaque adresse IP destination----------------------------------------------------------56 Figure 43: Taux d'utilisation de chaque port (Source)-----------------------------------------------------------------57 Figure 44: Taux d'utilisation de chaque port (Destination)------------------------------------------------------------57 Figure 45: Utilisation des deux interfaces (LAN & WAN) par trafic-----------------------------------------------58 Figure 46: Utilisation de deux interfaces (LAN & WAN) par paquet ----------------------------------------------58
  9. 8 LISTE DES TABLES Tableau 1: Etude comparative entre SNORT, SURICATA et Zeek...........................................................20 Tableau 2: Les disponibilités des processus et signatures des protocoles de SNORT, SURICATA et Zeek ....................................................................................................................................................................20 Tableau 3: L’usage du CPU à différentes vitesses des packets de SNORT, SURICATA et Zeek.............21 Tableau 4: Comparaison entre les solutions NAC commerciales et libres .................................................22 Tableau 5: Récapitulatif entre l'approche Scenarios et Comportementale..................................................26
  10. 9 Glossaire Abréviation Définition du terme CGI Common Gateway Interface DHCP Dynamic Host Configuration Protocol DMZ Demilitarized Zone DNS Domain Name System DPI Deep packet inspection FTP File Transfer Protocol HIDS Host-based intrusion detection system HIPS Host Intrusion Prevention System HTTP Hypertext Transfer Protocol ICMP Internet Control Message Protocol IDS Intrusion detection system IP Internet Protocol IPS Intrusion prevention system JSON JavaScript Object Notation LAN Local Area Network MAC Media Access Control NAC Network Access Control NAT Network Address Translation NIDS Network Intrusion Detection System NIPS Network Intrusion Prevention System NSM Network Security Monitor OISF Open Information Security Foundation PCAP Packet Capture SMB Server Message Block SQL Structured Query Language TCP Transmission Control Protocol TLS Transport Layer Security UDP User Datagram Protocol UFS Unix File System WAN Wireless Area Network
  11. 10 Résumé Le présent document constitue une synthèse du projet de fin d'études réalisé au sein de la société Ardico pour l’obtention du diplôme d’Ingénieur en informatique et réseau. Les réseaux informatiques sont devenus des ressources vitales et déterministes pour le bon fonctionnement des entreprises. De plus, ces réseaux sont ouverts du fait qu’ils sont pour la plupart raccordés à l’internet. Cette ouverture qui permet de faciliter la communication, engendre malheureusement des risques importants dans le domaine de la sécurité informatique. C’est dans cette perspective que s’inscrit notre projet de fin d’études. De ce fait, notre thème sera « Etude et mise en place d’une solution open source de gestion de la sécurité des systèmes d’information » qui sera réparti en deux principales phases. La première phase sera consacrée à une étude comparative entre les différentes solutions répondant à notre besoin, ensuite la deuxième phase consistera à effectuer une étude technique de la solution retenue ainsi que la mettre en place.
  12. 11 Abstract This document is a summary of the end-of-studies project completed within Ardico for obtaining the Computer and Network Engineering Diploma. Computer networks have become vital and deterministic resources for the smooth running of businesses. In addition, these networks are open because they are mainly connected to the Internet. This openness, which facilitates communication, unfortunately generates significant risks in the field of computer security. It is in this perspective that our end-of-studies project is located. Therefore, our theme will be " Study and implementation of an open source solution for managing the security of information systems " which will be divided into two main phases. The first phase will consist of a comparative study between the different solutions that meet our needs, then the second phase will consist in carrying out a technical study of the chosen solution and putting it in place.
  13. 12 Introduction générale Les systèmes et réseaux informatiques contiennent diverses formes de vulnérabilité, donc la sécurité est, de nos jours devenue un problème majeur dans la gestion des réseaux d’entreprise ainsi que pour les particuliers toujours plus nombreux à se connecter à Internet. Pour faire face à ces problèmes de sécurité informatique, différents mécanismes ont été mises en place pour prévenir toute sort d’attaque comme les pares-feux, antivirus, qui s’avèrent limités face au développement rapide des techniques de piratage, d’où la nécessité de mettre en place un système de détection et de prévention d’intrusion. Le système de détection et de prévention d’intrusion, est une technique permettant de détecter les intrusions de les prévenir, ce système nous aide à prévoir, surveiller et à identifier toute activité non autorisée dans un réseau. Ce présent rapport synthétise l’ensemble des étapes suivies lors de l’implémentation d’une solution open source de gestion de la sécurité des systèmes d’information. Il contient quatre chapitres organisés comme suit : • Le premier chapitre intitulé « Présentation générale du projet » est consacré à la présentation de l'organisation hôte et à la problématique. Il contient ensuite la proposition de la solution appropriée et donne enfin la solution choisie. • Le deuxième chapitre intitulé "Etat de l’art ", rappelle le principe des systèmes de détection ainsi que la prévention d’intrusion (leurs différents types, leurs principes de fonctionnement, une comparaison entre IDS et IPS). • Le troisième chapitre a pour objectif de présenter l’étude technique de la solution retenue pour ce travail, de son architecture et de son principe de fonctionnement. • Le dernier chapitre intitulé "Mise en place de la solution adoptée", présente l'environnement de travail et les outils logiciels avec lesquels nous avons mené notre projet, il illustre également les résultats obtenus.
  14. 13 INTRODUCTION I. PRÉSENTATION DE LA SOCIÉTÉ ARDICO 1.1. PRÉSENTATION DE ARDICO 1.2. STRUCTURE ORGANISATIONNELLE II. CONTEXTE GÉNÉRALE DU PROJET 2.1. PRÉSENTATION DU PROJET 2.2. OBJECTIF DE PROJET III. PLANIFICATION DE PROJET IV. ETUDE PRÉALABLE DU PROJET 5.1. SOLUTIONS PROPOSÉES 5.2. SOLUTION RETENUE CONCLUSION CHAPITRE 1 : PRESENTATION GENERALE DU PROJET
  15. 14 Introduction Nous entamerons ce rapport par une présentation brève de l’organisme d’accueil ainsi que du contexte général du projet, ses objectifs et sa problématique. I. Présentation de la société ARDICO 1.1. Présentation de ARDICO ARDICO est un acteur sur le marché informatique marocain depuis 2010, elle s’engage sur des valeurs de fidélité et de proximité. Avec ses clients, avec ses partenaires fournisseurs et aussi avec ses collaborateurs. Leur équipe, régulièrement formées, Ils sont à l’écoute des clients pour comprendre leurs problématiques et leur apporter des solutions inventives et innovantes. Parce que les entreprises évoluent, Ils dessinent aujourd’hui des architectures et des solutions pérennes, capables de s’adapter rapidement à un contexte toujours en mouvement. Professionnels de l’outil informatique, ils apportent le conseil et les solutions nécessaires pour que le système d’information soit le partenaire idéal et l’accélérateur de business. ARDICO repose sur deux fondamentaux, qui maintiennent sa pérennité : un sens aigu de l’innovation et une veille technologique permanente, ainsi que la stabilité de ses ressources humaines, fruit de la capitalisation sur les talents de ses équipes. Grâce à son savoir-faire, ARDICO accompagne les organismes publics et privés dans leurs processus de modernisation, automatisation et efficacité. 1.2. Structure organisationnelle ▪ La Direction Générale : Supervise tous les départements et prend les décisions finales pour tous les projets en cours de réalisation. Figure 1 - Organigramme de ARDICO
  16. 15 ▪ La Direction Business et service : Assure l’implémentation des sites et la mise en service des nouveaux équipements et nouvelles solutions. ▪ La Direction des ressources humaines : Assure la mise en place des nouveaux procès et finalise toutes les procédures. Il prend aussi en charge toutes les démarches administratives. ▪ La Direction Médias : Mise en œuvre des campagnes de communication externe et relations publiques et presse. II. Contexte générale du projet 2.1. Présentation du projet De par la nature de son activité, la société ARDICO se trouve en continuelle interaction avec ses clients et les autres partenaires. Ainsi, l’importance des données sur son système d’information l’oblige à le sécuriser de façon efficace et permanente pour lui faire éviter toute sorte d’intrusion qui pourrait nuire à l’intégrité, la confidentialité et la disponibilité de ses données. Dans ce contexte, le projet de fin d’études s’inscrit sur la détection des intrusions avec l’utilisation des moteurs de détection, qui nous permet de superviser le système d’information avec des solutions sécurisées. Les IDS sont capables de détecter les mauvaises malveillantes se basant à une base de signature des comportements suspects ou par une liste des comportements autorisés, la bonne pratique demande de faire des mises à jour quotidiennes pour ces signatures afin de garantir un bon fonctionnement de ces IDS avec un niveau de protection élevé. 2.2. Objectif de projet Lorsque nous travaillons sur Internet, il devient de notre devoir de rendre notre réseau plus sécurisé en utilisant des outils de surveillance du réseau et en définissant les paramètres de sécurité. Parmi les objectifs de la mise en place d’un système de gestion de la sécurité des systèmes d’information, on trouve : • Détecter les attaques qui ne sont pas empêchées par d'autres mesures de sécurité • Détecter et gérer les attaques • Fournir des informations utiles sur les intrusions qui se produisent, permettant d'améliorer la recherche, l'amélioration et la correction des facteurs contributifs • Obtenir un niveau de supervision plus élevé en utilisant les IDS ensemble et en corrélant les informations de chacun.
  17. 16 III. Planification de projet L’objectif de diagramme de Gantt qui permet de renseigner et situer dans le temps les phases, les activités, les taches et les ressources du projet pour aussi d’avoir une vision complète sur la structure du projet impacte positivement l’organisation du travail de tous les membres du projet. Le diagramme contient des activités durant les quatre mois faites depuis le premier jour de stage, et aussi les taches principales concernant l’étude et mise en place d’une solution open source de sécurité d’information au niveau de documentation, configuration et fonctionnent de cette solution. Figure 2: Diagramme de Gantt
  18. 17 IV. Etude préalable du projet 5.1. Solutions proposées Suite aux problèmes cités dans la partie précédente, nous avons opté pour la mise en place d’une solution open source de sécurité d’information en assurant les fonctionnalités suivantes : • Identifier les actions malveillantes • Empêcher la divulgation de données confidentielles et la modification non autorisée de données. • Générer des alertes lors d'une enfreinte d'une mesure de sécurité. IDS : ▪ Snort ▪ Zeek ▪ Suricata Solution NAC open source : ▪ Netfilter ▪ Pfsense ▪ Ipcop 5.2. Solution retenue Afin qu’on puisse retenir une solution, nous allons effectuer une étude comparative entre toutes les solutions proposées dans la partie précédente de chaque groupe de solution. 1. IDS a) SNORT [w :1] Snort est un système de prévention des intrusions réseau open source. Il est capable d’effectuer une analyse du trafic en temps réel et une journalisation de paquets sur des réseaux IP. Comme il peut effectuer une analyse de protocole, une recherche / correspondance de contenu, et peut être utilisé pour détecter une variété d'attaques et de sondes, telles que les débordements de mémoire tampon, les analyses de ports furtifs, les attaques CGI, les sondes SMB, les tentatives d'empreintes digitales du système d'exploitation, etc. Snort peut effectuer plusieurs actions à la réception d’un paquet jugé malicieux. La première action, la plus commune, est de créer un évènement afin d’alerter les administrateurs. Il est également possible d’effectuer d’autres actions, comme loguer les paquets reçus, activer d’autres règles Snort, bloquer les paquets, ou encore rejeter la connexion (en envoyant un paquet TCP reset ou ICMP port unreachable). Dans cette dernière configuration, dans laquelle Snort bloque les paquets qui correspondent à ses règles, il ne se comporte plus comme un IDS, mais comme un IPS. Dans cette configuration, au lieu de simplement détecter les intrusions, Snort réagit de façon active aux intrusions en les bloquant au moment où elles apparaissent.
  19. 18 Les règles Snort étant basées sur la signature des paquets illégitimes, le moteur de Snort doit être capable d’analyser le contenu des flux réseaux. Afin de réaliser cette opération, Snort dispose donc d’un ensemble de décodeurs lui permettant d’analyser intrinsèquement le contenu des flux. Les décodeurs accessibles sont : o TCP o UDP o ICMP o IP Cela signifie qu’il est donc possible d’écrire des règles Snort en fonction des valeurs de certains champs ou options spécifiques au protocole utilisé. Grâce à ses décodeurs, les règles Snort peuvent donc être très précises. Le programme peut également être utilisé pour détecter des sondes ou des attaques, y compris, sans toutefois s'y limiter, les tentatives d'empreintes digitales du système d'exploitation, les attaques d'URL sémantique, les débordements de mémoire tampon, les sondes de blocage des messages du serveur et les analyses de port furtif. b) Suricata [w :2] Suricata est un moteur de détection des menaces réseau, open source, rapide et robuste. Le moteur Suricata est capable de détecter les intrusions en temps réel (IDS), de prévention des intrusions en ligne (IPS), de surveiller la sécurité du réseau (NSM) et de traiter les PCAP hors ligne. Il inspecte le trafic réseau à l’aide de règles puissantes et étendues et d’un langage de signature, et dispose d’un puissant support de script pour la détection de menaces complexes. Le développement rapide de Suricata axé sur la communauté est axé sur la sécurité, la convivialité et l’efficacité. Le projet et le code Suricata appartiennent à l’Open Information Security Foundation (OISF), une fondation à but non lucratif engagée dans le développement et la réussite durable de Suricata en tant que projet open source. Suricata permet l'inspection des Paquets en Profondeur (DPI). De nombreux cas d'utilisations déontologiques peuvent être mis en place permettant notamment la remontée d'informations qualitatives et quantitatives. Liste des principales fonctionnalités de suricata o IDS/IPS o Performances élevées : Multi-threading, utilisation des GPU (accélération graphique)
  20. 19 o Détection automatique de protocole (IPv4/6, TCP, UDP, ICMP, HTTP, TLS, FTP, SMB, DNS) o NSM : journalisation DNS, module de journalisation HTTP, enregistrement des certificats et extraction de fichiers, vérification de somme de contrôle md5 o Librairie HTP indépendante o Nombreux formats de sortie Unified2, JSON, Prelude c) Zeek [w :3] Zeek, anciennement connu pour Bro, est un Framework logiciel open source d'analyse du trafic réseau, utilisé le plus souvent pour détecter des anomalies comportementales sur un réseau à des fins de cybersécurité. Zeek propose des fonctionnalités similaires à celles des systèmes de détection d’intrusion sur le réseau (IDS). Cependant, considérer Zeek exclusivement comme un IDS ne décrit pas efficacement l’étendue de ses fonctionnalités. En effet, Zeek permet aux centres d’opérations de sécurité (SOC) d’en faire beaucoup plus, notamment en matière de réponse aux incidents, d’investigation, d’extraction de fichiers et de hachage. Les utilisateurs techniques expérimentés définissent Zeek IDS comme un moteur d’analyse et de classification du trafic réseau. Dans cette perspective, Zeek effectue deux tâches essentielles pour les organisations de sécurité : 1. Convertit les données sur le trafic réseau en événements de niveau supérieur ; 2. Fournit un interpréteur de script - un langage de programmation robuste - qui permet d’interagir avec les événements et de comprendre ce que ces événements signifient en termes de sécurité du réseau. En d'autres termes, Zeek capture des métadonnées sur l'activité d'un réseau, puis fournit un langage de programmation permettant de comprendre quand cette activité présente des indications malveillantes ou suspectes. [w :4]
  21. 20 Paramètres Snort Suricata Zeek Plateforme supportée Win, MacOS, Unix Win, MacOS, Unix Unix like système, MacOS License GNU GPL V2 GNU GPL V2 BSD Fonction IPS Oui Oui Non PGP signé Oui N'est pas applicable Non Soutien au réseau haute vitesse Moyen Haut Haut Configuration GUI Oui Oui Non Analyse hors ligne Oui pour plusieurs fichiers Oui pour un seul fichier Oui pour un seul fichier Threads (Processus léger) Un seul thread Plusieurs thread Un seul thread IPv6 Oui Oui Non Installation et déploiement Facile Facile Difficile Tableau 1: Etude comparative entre SNORT, SURICATA et Zeek IDS Protocole Préprocesseur Signatures Snort Modbus Oui Oui` DNP3 Oui Oui Ethernet/IP Non Oui Suricata Modbus Oui Oui DNP3 Non Oui Ethernet/IP Non Oui Zeek Modbus Oui Modbus événements DNP3 Oui DNP événements Ethernet/IP Non Non Tableau 2: Les disponibilités des processus et signatures des protocoles de SNORT, SURICATA et Zeek
  22. 21 Taux de trafic TCP CPU Suricata Snort Zeek Suricata Snort Zeek 50 5.0 11.0 10 9.0 12.0 17.0 100 9.0 12.0 9.0 11.0 16.0 19.0 200 16.0 15.0 10.0 27.0 18.0 19.0 300 23.0 16.0 30.0 34.0 25.0 20.0 400 22.0 26.0 31.0 44.0 29.0 20.0 500 25.0 32.0 39.0 43.0 29.0 27.0 600 38.0 44.0 40.0 54.0 45.0 33.0 700 45.0 48.0 40.0 67.0 52.0 37.0 800 47.0 50.0 42.0 68.0 56.0 36.0 900 48.0 52.0 43.0 69.0 59.0 37.0 1000 54.0 60.0 43.0 73.0 68.0 43.0 2000 58.0 62.0 46.0 81.0 70.0 55.0 Tableau 3: L’usage du CPU à différentes vitesses des packets de SNORT, SURICATA et Zeek D’après le benchmarking fait pour choisir la solution la plus convenable, et l’aide de mon encadrant, j’ai choisi d’utiliser Snort en tant que IDS. [w :5] 2. Etude comparatives des solutions NAC commerciales et libres Dans cette partie nous allons choisir une solution NAC qui est l’objectif de notre projet en se basant sur son fonctionnement et les solutions du marché présentés au-dessus.
  23. 22 Tableau 4: Comparaison entre les solutions NAC commerciales et libres Après avoir opté pour une solution libre et gratuite, Les grandes différences entre les solutions open source proviennent de l’ensemble du matériel supporté, les fonctionnalités de base, les actions possibles, la documentation, la communauté propre à chaque solution, ainsi que de l’ergonomie de l’interface Web, la granularité des informations obtenues, et la sûreté générale. En regardant le tableau, nous remarquons que Pfsense est le plus performant par rapport aux autres outils open source disponibles. Ils supportent aussi différents types de matériels. Après la comparaison des outils NAC disponibles, open source et commerciales, on a pris la décision, avec notre tuteur de l’entreprise, de choisir une solution open source « PFsense ». C’est une solution complète et supporte différents types de matériels. Elle intègre plus de fonctionnalités que les autres solutions open source. Conclusion A travers ce chapitre, nous avons pu présenter, ne serait-ce que brièvement, l’organisme d’accueil, ses missions et don domaine d’activité. Ensuite, nous avons explicité le contexte de notre projet, sa problématique, ses objectifs à atteindre et une étude comparative entre les différentes solutions disponible sur le marché.
  24. 23 INTRODUCTION I. INTRUSION DÉTECTION SYSTÈME (IDS) 1.1. PRÉSENTATION IDS 1.2. PRINCIPES DE DÉTECTION 1.2.1. APPROCHE PAR SCÉNARIO 1.2.2. APPROCHE COMPORTEMENTALE 1.3. TYPE DES SYSTÈMES DE DÉTECTION D’INTRUSION II. INTRUSION PRÉVENTION SYSTÈME 2.1. TYPE DES SYSTÈMES DE PRÉVENTION D’INTRUSION III. DIFFÉRENCE ENTRE IDS ET IPS IV. LE PARE-FEU 4.1. FONCTIONNEMENT D’UN PARE-FEU CONCLUSION CHAPITRE 2 : ETAT DE L’ART
  25. 24 Introduction Nous allons présenter de façon générale la détection d'intrusions afin de poser les bases nécessaires à la bonne compréhension des techniques présentées plus après. Par la suite, nous allons poursuivre ce rapport en décrivant la détection d'intrusions d'un point de vue théorique. J'aborderai notamment les caractéristiques des IDS et IPS, leur fonctionnement et les résultats attendus de ceux-ci. I. Système de détection d'intrusion (IDS) 1.1. Présentation IDS Les systèmes de détection d'intrusions, sont des systèmes de détection passif et qui prouvent être software ou hardware conçus afin de pouvoir automatiser le monitoring d'événements survenant dans un réseau ou sur une machine particulière, et de pouvoir signaler à l'administrateur système, toute trace d'activité anormale sur ce dernier ou sur la machine surveillée. 1.2. Principes de détection Nous classons les IDS en deux grandes catégories de principe de détection d'intrusion : 1.2.1. Approche par scénario Les systèmes à base de signatures qui consistent à rechercher dans l'activité de l'élément surveillé les signatures (empreintes) d'attaques répertoriées et donc connues. Ce principe de détection d'intrusion est réactif et pose plusieurs contraintes, en effet il ne détecte que les attaques répertoriées dont il possède l'empreinte. De ce fait il nécessite des mises à jour fréquentes. Ce principe de détection implique aussi que les pirates peuvent contourner celui-ci en maquillant leurs attaques, il modifie en fait la signature connue par les IDS et de ce fait l’attaque devient invisible par l’IDS. Figure 3: Approche par scénario Il existe différentes méthodes pour repérer les attaques : • ANALYSE DE MOTIF : La plus simple et là plus couramment utilisée pour détecter une intrusion. Une base de connaissance contient tous les chaînes alphanumériques caractéristiques d’une intrusion.
  26. 25 • RECHERCHES GENERIQUES : Adaptée pour les virus. On regarde dans le code exécutable les commandes qui sont potentiellement dangereuses. Par exemple, une commande DOS non référencée est détectée, des émissions de mails, des instructions liées à des attaques connues. • CONTRÔLE D’INTEGRITE : Effectue une photo de tous les fichiers d’un système et génère une alerte en cas d’altération de l’un des fichiers. MD-5 est le plus fréquemment utilisé mais les spécialistes recommandent maintenant le SHA-256 et SHS on signe les hash et on les met dans un coffre-fort (stocké sur un périphérique externe en lecture seule physique) Et on compare périodiquement les nouveaux hash au hash signés. Aujourd'hui l'exemple le plus connu utilisant cette approche est l'IDS SNORT. 1.2.2. Approche comportementale Les systèmes à approche comportementale consistent à détecter les différentes anomalies sur le réseau. C'est l'administrateur qui définira le fonctionnement "normal" des éléments surveillés, il y a donc une phase d'apprentissage pour fixer ce niveau. Par la suite l'IDS sera en mesure de signaler à l'administrateur toute situation qui divergera du niveau de fonctionnement de référence. Le fonctionnement de référence peut être élaboré par différentes analyses statistiques de l'élément à surveiller. Ce système de détection présente un avantage par rapport au précèdent : il détecte les nouveaux types d'attaques. Cependant il faudra faire parfois des ajustements afin que le fonctionnement de référence corresponde au mieux à l'activité normale des utilisateurs et ainsi réduire les fausses alertes qui en découleraient. Figure 4: Approche comportementale Cette approche a l'avantage de ne pas avoir besoin d'une base de signature. Elle permet donc, en théorie, de détecter des attaques inconnues. Cependant, elle a des inconvénients assez importants. Apprentissage : Définition d’un profil de référence Comparaison des profils Utilisation : Calcul du profil courant
  27. 26 Récapitulatif : Scenarios Comportements Spécification complexe des scenarios Taille des automates générés Pas de faux positifs Phase critique d’entrainement Aucune prise en compte des nouvelles attaques Prise en compte des nouvelles attaques Mise à jour rapide Mise à jour délicate (Phase d’entrainement) Protection facile à contourner Faux positifs nombreux Prise en compte incomplète des environnements parallèles Tableau 5: Récapitulatif entre l'approche Scenarios et Comportementale 1.3. Type des systèmes de détection d’intrusion Les IDS peuvent se classer en deux catégories qui correspondent à ce que s'attache à surveiller l'IDS. • Network based IDS (NIDS) L'IDS réseau ou Network based IDS (NIDS) surveille comme son nom l'indique le trafic réseau. Il se place sur un segment réseau et "écoute" le trafic. Ce trafic sera ensuite analysé afin de détecter les signatures d'attaques ou les différences avec le fonctionnement de référence. On notera une contrainte à ce système, en effet le cryptage du trafic sur les réseaux commutés rend de plus en plus difficile l‘ "écoute" et donc l'analyse du segment réseau à analyser, car le contenu des paquets est crypté. De plus, un trafic en constante augmentation sur les réseaux contraint les NIDS à être de plus en plus performants pour analyser le trafic en temps réel. Enfin, avec sa ou ses cartes d’interface réseau en mode promiscues (permet à celle-ci d'accepter tous les paquets qu'elle reçoit, même si ceux-ci ne lui sont pas adressés.), qui n’ont donc pas d’adresses IP, ni de pile de protocole attaché, il peut écouter tout le trafic qui arrive à l’interface en restant invisible.
  28. 27 Figure 5: Placement de IDS sur le réseau • Host Based IDS (HIDS) L'IDS Systèmes ou Host Based IDS (HIDS) surveille le trafic sur une seule machine. Il analyse les journaux systèmes, les appels systèmes et enfin vérifie l'intégrité des systèmes de fichiers. Le principe de fonctionnement des HIDS dépend du système sur lequel ils sont installés. Ce système peut s'appuyer ou non sur le système propre au système d'exploitation pour en vérifier l'intégrité et générer des alertes. Il peut aussi capturer les paquets réseaux entrant/sortant de l’hôte pour y déceler des signaux d’intrusions (Déni de Services, Backdoors, chevaux de Troie, tentatives d’accès non autorisés, exécution de codes malicieux, attaques par débordement de buffers…). Il permet : • Détection de compromission de fichiers (contrôle d’intégrité) • Analyse de la base de registre (Windows) ou des LKMs (Linux) • Analyse et corrélation de logs en provenance de firewalls hétérogènes • Analyse des flux cryptés (ce que ne peut réaliser un NIDS !) L'intégrité des systèmes est alors vérifiée périodiquement et des alertes peuvent être levées. Par nature, ces IDS sont limités et ne peuvent détecter les attaques provenant des couches réseaux. Figure 6: Placemenet des IDS système
  29. 28 Récapitulatif : • Network based IDS (NIDS) o Positif : N’affecte pas les performances du réseau N’est pas visible o Négatif : Faible devant les attaques de dénis de services Un point unique de défaillance • Host Based IDS (HIDS) o Positif : Surveille les intrusions qui s'appliquent uniquement à l'hôte o Négatif : Utilise la ressource du système Besoin de HIDS spécifique pour des système spécifique Le principe de rendre compte après coup d’une intrusion, a vite évolué pour chercher des IDS capables de réagir en temps réel. Le constat des dégâts ne suffisait plus : il fallait réagir et pouvoir bloquer les trafics douteux détectés. Ces techniques de réponse impliquèrent les IDS actifs ou IPS. II. Système de prévention d'intrusion On peut dire qu’un IPS est un IDS étendu qui a pour principale différence d’intercepter les paquets intrus, il agit et est donc actif au sein du réseau. Les systèmes IDS et IPS appliquent des méthodes similaires lorsqu'ils essaient de détecter des intrus ou des attaques sur le réseau. En fait le principe de détection de l’IPS correspond exactement à celui de l’IDS. Il possède donc généralement soit une base de données de signatures qui peut être régulièrement mise à jour à mesure que de nouvelles menaces sont identifiées, soit un système à approche comportementale qui analyse les différences avec le niveau de fonctionnement normal du réseau qui a été défini par l’administrateur. 2.1. Type des systèmes de prévention d’intrusion • Network based IPS (NIPS) Même principe que le NIDS, à la grande différence comme vous l'aurez compris, il peut bloquer des flux suspects. Pour le NIPS, 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 les bloquer. L'IPS crée donc une faiblesse d'architecture, si un attaquant le découvre il sera simple pour lui de faire tomber le réseau. Il a deux types d’analyses : ▪ Analyse statique des flux - Selon les RFC
  30. 29 - Selon une base de signatures ▪ Analyse dynamique des flux - Corrélation entre un événement et une signature Lors de la détection d’une attaque, le système réagit et modifie l’environnement du système attaqué. Cette modification peut être le blocage de certains flux, de certains ports ou l’isolation pure et simple de certains systèmes du réseau. Le point sensible de ce genre de dispositif de prévention est qu'en cas de faux positif, c'est le trafic du système qui est directement affecté. Les erreurs doivent donc d'être les moins nombreux possibles, car elles ont un impact direct sur la disponibilité des systèmes (sécurité vs. Disponibilité). • Host Based IPS (HIPS) Même principe que le HIDS, à la grande différence comme vous l'aurez compris, qu'il peut bloquer des trafics anormaux. Il Bloc les trafics anormaux selon plusieurs critères : - Lecture / écriture de fichiers protégés - Accès aux ports réseau - Comportements anormaux des applications - Bloc les accès en écriture par exemple, bloc les tentatives de récupération de droits ROOT - Connexions suspectes (sessions RPC actives anormalement longues sur des machines distantes, etc.) Il gère les trafics encryptés. Récapitulatif : • NIPS o Positif : - Protection active o Négatif : - Point névralgique du réseau - Faux positifs (risque de blocage de trafic légitime) - Coût - Complexité additionnelle / Exploitation supplémentaire • HIPS o Positif : - Faux positifs moins courants - Protège les systèmes des comportements dangereux et pas seulement du trafic o Négatif : - Coût d'exploitation - Problèmes d'interopérabilité - Problématique lors des mises à jour système
  31. 30 III. Différence 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. 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. IV. Le pare-feu Un pare-feu est outil informatique (matériel et/ou logiciel) conçu pour protéger les données d'un réseau (protection d'un ordinateur personnel relié à Internet par exemple, ou protection d'un réseau d'entreprise). Il permet d'assurer la sécurité des informations d'un réseau en filtrant les entrées et en contrôlant les sorties selon des règles définies par son administrateur. 4.1. Fonctionnement d’un pare-feu Figure 7: Principe du fonctionnement d'un firewall
  32. 31 Un pare-feu effectue toutes les tâches suivantes [w :8] : ▪ Il empêche tous les utilisateurs non autorisés d'accéder aux ordinateurs et réseaux dans votre organisation qui se connectent à Internet ▪ Il surveille la communication entre vos ordinateurs et d'autres ordinateurs sur Internet. ▪ Il crée un bouclier qui autorise ou bloque les tentatives d'accès aux informations sur votre ordinateur. ▪ Il vous avertit des tentatives de connexion à partir d'autres ordinateurs. ▪ Il vous avertit des tentatives de connexion par les applications de votre ordinateur qui se connectent à d'autres ordinateurs. Le pare-feu examine les paquets de données transmis via Internet. Un paquet est une unité de données discrète qui fait partie du flux d'informations entre deux ordinateurs. Les paquets sont rassemblés à leur destination pour apparaître comme un flux de données ininterrompu. Les paquets incluent les informations suivantes à propos des données : ▪ L'ordinateur d'origine ▪ Le ou les destinataires prévus ▪ Mode de traitement des données du paquet ▪ Ports de réception des paquets Les ports sont les canaux qui divisent le flux de données provenant d'Internet. Les applications qui s'exécutent sur un ordinateur sont à l'écoute de ces ports. Les applications acceptent les données envoyées aux ports. Conclusion Durant ce chapitre, nous avons mis en claire que la sécurité du système d'information de l’entreprise, nous oblige à compléter l’approche des bonnes pratiques dans la gestion des menaces du parc informatique par une démarche technique sous forme d'une vue globale de ce qui se passe sur un réseau en temps réel et aident les équipes informatiques à être plus proactives dans la lutte contre les menaces de sécurité. Une telle approche a pour objectifs de détecter des menaces, déclaré en temps réel et d’analyser à long terme des journaux et des événements de sécurité.
  33. 32 INTRODUCTION I. SNORT 1.1. PRÉSENTATION GÉNÉRALE DE SNORT 1.2. LE MODE DE FONCTIONNEMENT DE SNORT 1.3. POSITIONNEMENT DE SNORT DANS UN RÉSEAU 1.4. ARCHITECTURE DE SNORT 1.5. PARAMÈTRE DE SNORT 1.5.1. PRÉPROCESSEURS 1.5.2. LES PLUGINS DE SORTIE 1.5.3. LES RÈGLES DE SNORT II. PFSENSE 2.1. QU'EST-CE QU’UN PFSENSE ? 2.2. ENVIRONNEMENT TECHNIQUE 2.3. APERÇU DES FONCTIONNALITÉS ET SERVICES DE PFSENSE CONCLUSION CHAPITRE 3 : ETUDE TECHNIQUE
  34. 33 Introduction Comme nous avons vu dans le chapitre qui précède, des IDS et IPS ont été proposés pour la sécurisation des réseaux. L’objectif principal de ce chapitre est de présenter notre contribution dans le cadre de ce mémoire. Dans ce qui suit, nous commencerons d’abord par une description générale de l’outil SNORT. Enfin nous discuterons de l’environnement utilisé pour l’implémentation de la solution, ainsi que son emplacement dans le réseau. I. Snort 1.1. Présentation générale de Snort En anglais, Snort signifie « renifler ». Snort est un système de détection d'intrusion libre (ou NIDS) publié sous licence GNU GPL. À l'origine écrit par Martin Roesch, il appartient actuellement à Sourcefire. Des versions commerciales intégrant du matériel et des services de supports sont vendues par Sourcefire. Snort est un des NIDS les plus performants. Il est soutenu par une importante communauté qui contribue à son succès. 1.2. Le mode de fonctionnement de Snort Snort capture des paquets sur un point d’un réseau IP, analyse le flux obtenu en temps réel, et compare le trafic réseau à une base de données d’attaques connues. Les attaques connues sont stockées dans des librairies de règles mises à jour par plusieurs communautés très actives Figure 8: Le fonctionnement de SNORT Il peut être configuré pour fonctionner en plusieurs modes : • Le mode sniffer : dans ce mode, SNORT lit les paquets circulant sur le réseau et les affiche d’une façon continue sur l’écran ; • Le mode « packet logger » : dans ce mode SNORT journalise le trafic réseau dans des répertoires sur le disque ; • Le mode détecteur d’intrusion réseau (NIDS) : ce mode fait l’objet de notre stage. Dans ce mode, SNORT analyse. Le trafic du réseau, compare ce trafic à des règles déjà définies par l’utilisateur et établi des actions à exécuter.
  35. 34 Snort peut également être utilisé avec d'autres modules compatibles (tels que des interfaces graphiques, des actualisateurs de librairies d’attaques indépendants, etc.) Snort est compatible avec la plupart des OS. Windows, Mac, Linux Ubuntu, CentOS… 1.3. Positionnement de Snort dans un 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 : Figure 9: Les différentes positions de Snort dans un réseau a) 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 : o Le risque engendré par un trafic très important qui pourrait entraîner une perte de fiabilité. o Etant situé hors du domaine de protection du firewall, le NIDS est alors exposé à d'éventuelles attaques pouvant le rendre inefficace. b) 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. c) 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é 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.
  36. 35 1.4. Architecture de SNORT Figure 10: Architecture de Snort L’architecture de SNORT est modulaire (Figure 12), elle est composée de : • Un noyau de base : (Packet Decoder) au démarrage, ce noyau charge un ensemble de règles, compile, optimise et classe celles-ci. Durant l’exécution, le rôle principal du noyau est la capture de paquets. • Une série de pré – processeurs : ceux-ci améliorent les possibilités de SNORT en matière d’analyse et de recomposition du trafic capturé. Ils reçoivent les paquets directement capturés, éventuellement les retravaillent puis les fournissent au moteur de recherche de signatures. • Un ou plusieurs moteurs de détection (Detection Engine) applique une série d’analyses aux paquets, ces analyses se composent principalement de comparaisons de différents champs des headers des protocoles (IP, ICMP, TCP et UDP) par rapport à des valeurs précises. Après la détection d’intrusion, une série de « output plugins » permet de traiter cette intrusion de plusieurs manières : envoie vers un fichier log, envoie d’un message d’alerte vers un serveur Syslog, stocker cette intrusion dans une base de données SQL. 1.5. Paramètre de snort 1.5.1. Préprocesseurs Les préprocesseurs permettent d’étendre les fonctionnalités de SNORT. Ils sont exécutés avant le lancement du moteur de détection et après le décodage du paquet IP. Le paquet IP peut être modifié ou analysé de plusieurs manières en utilisant le mécanisme de préprocesseur. 1.5.2. Les plugins de sortie Les plugins de sortie ont été introduits dans la version 1.6. Ils permettent à Snort d’être plus souple dans la mise en forme et la présentation de la sortie aux utilisateurs. Les modules de sortie
  37. 36 fonctionnent lorsque les sous-systèmes d’alerte ou de logging de Snort sont appelés, après les préprocesseurs et l’engin de détection. Comme les systèmes standards de logs et d’alertes. 1.5.3. Les règles de snort a) Création des règles : 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 pass) et d’indiquer les champs de base nécessaires au filtrage : le protocole 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. Figure 11: les différents champs d’une règle SNORT ➢ Header • Le champ « action » : il peut prendre plusieurs valeurs selon l’action à mener par Snort en détectant des paquets réseaux répondant au critère défini dans les règles. Ces valeurs sont les suivantes : o alert : génère une alerte et log le paquet. o log : log le paquet o pass : ignore le paquet o activate : active une règle dynamique o dynamic : définie une règle dynamique. • Le champ « Protocole » : décrit le protocole utilisé pour la communication. Snort supporte les protocoles TCP, UDP, ICMP et IP. • Les champs « Direction » : renseignent Snort sur la direction des échanges réseau (- >, <-, <->). • Les champs « Adress/Port » : décrivent les adresses IP et les ports des machines qui échangent des données sur le réseau. ➢ Options Pour chaque option le format est nom (option), ci-dessous les options utilisées dans la création des règles :
  38. 37 ▪ Msg : affiche un message dans les alertes et journalise les paquets. ▪ Logto : journalise le paquet dans un fichier nommé par l’utilisateur au lieu de la sortie standard. ▪ Ttl : teste la valeur du champ TTL de l’entête IP. ▪ Tos : teste la valeur du champ TOS de l’entête. ▪ Id : teste le champ ID de fragment de l’entête IP pour une valeur spécifiée. ▪ Ipoption : regarde les champs des options IP pour des codes spécifiques ▪ Fragbits : teste les bits de fragmentation de l’entête IP. ▪ Dsize : teste la taille de la charge du paquet contre une valeur. ▪ Flags : teste les drapeaux TCP pour certaines valeurs. ▪ Seq : teste le champ TCP de numéro de séquence pour une valeur spécifique. ▪ Ack : teste le champ TCP d’acquittement pour une valeur spécifiée. ▪ Itype : teste le champ type ICMP contre une valeur spécifiée. ▪ Icode : teste le champ code ICMP contre ▪ Icmp_id : teste le champ ICMP ECHO ID contre une valeur spécifiée. ▪ Icmp_seq : teste le numéro de séquence ECHO ICMP contre une valeur spécifiée. ▪ Content : recherche un motif dans la charge d’un paquet. ▪ Content-list : recherche un ensemble de motifs dans la charge d’un paquet. ▪ Offset : modifie l’option contente, fixe le décalage du début de la tentative de correspondance de motif. ▪ Depth : modifie l’option content, fixe la profondeur maximale de recherche pour la tentative de correspondance de motif. ▪ Nocase : correspond à la procédure de chaine de contenu sans sensibilité aux différences majuscules/minuscules ▪ Session : affiche l’information de la couche applicative pour la session donnée. ▪ Rpc : regarde les services RPC pour des appels à des applications/procédures spécifiques. ▪ Resp : réponse active (ex : ferme les connexions).
  39. 38 II. PFsense 2.1. Présentation du PFsense Figure 12: Logo du PFsense Développé par Chris Buechler et Scott UlIrich, PFsense ou « Packet Filter Sense » est un applicatif qui fait office de routeur/firewall open source basée sur le système d'exploitation FreeBSD et Monowall. Il est une reprise du projet Monowall auquel il rajoute ses propres fonctionnalités. PFsense est basé sur PF (packet filter), comme iptables sur GNU/Linux et il est réputé pour sa fiabilité [4]. C'est une distribution dédiée qui peut être installée sur un simple poste de travail, un serveur ou même sur un boîtier en version embarquée. Ce qui séduit chez PFsense est sa facilité d'installation et de configuration des outils d'administration réseau. En effet, après une installation en mode console, il s'administre ensuite simplement depuis une interface web et gère nativement les VLAN (802.1q). La distribution PFsense met ainsi à la disposition de l'administrateur réseau une multitude d'outils open source et de services permettant d'optimiser ses tâches. Parmi ces services, figure Captive Portail (portail captif) qui fait l'objet de ce projet. [w :7] 2.2. Environnement technique Figure 13: Logo du FreeBSD FreeBSD est un système d'exploitation libre de type Unix. Le nom vient de l'association d'une part de free qui signifie à la fois libre et gratuit dans l'anglais courant, et d'autre part de BSD (Berkeley Software Distribution), l'Unix développé à l'Université Berkeley de Californie. Les objectifs de FreeBSD sont les hautes performances et la facilité d'utilisation par les utilisateurs finaux, il est l'un des systèmes favoris des fournisseurs de services sur le web
  40. 39 FreeBSD possède tous les avantages des systèmes de la famille BSD (OpenBSD, NetBSD), à savoir un développement complet par une équipe de bénévole. Contrairement à GNU/Linux, qui assemblent des pièces logicielles issues de différents groupes, l'équipe FreeBSD développe elle- même tout le système. Il en résulte une plus grande cohérence, ainsi qu'un meilleur encadrement, afin de fournir le meilleur système possible. 2.3. Aperçu des fonctionnalités et services de PFsense En fonction de la version du logiciel, le nombre de services et/ou de fonctionnalités peut varier. Pour ce projet, la version 2.4.4 est utilisée. Ainsi cette version dispose entre autres de : ➢ Support des VLAN tagués, c'est-à-dire qu'elle permet de créer et gérer nativement les VLAN ; ➢ Routage IPv4 et (depuis la version 2.1) IPv6 ; ➢ NAT (Network Address Translation) pour faire correspondre un nombre restreint d'adresses IP publiques à un nombre plus élevé d'adresses privées locales ; ➢ Filtrage du trafic entrant et sortant pour tout type de trafic (ICMP, UDP, TCP...) pour faire office de pare-feu ; ➢ Limitation des connexions pour empêcher un utilisateur de se connecter à la fois avec son seul compte ; "Load Balancing" pour la transposition de charge en cas de surcharge ; ➢ "Failover" pour le basculement d'une ligne à l'autre si l'on possède par exemple plusieurs abonnements à Internet ; ➢ Proxy transparent qui joue le rôle de serveur mandataire ; ➢ IDS-IPS Snort ; ➢ DNS dynamique pour la gestion dynamique des noms de domaines ; ➢ Portail captif ; ➢ Serveur DHCP ; ➢ Contrôle d'accès par adresses MAC ou authentification RADIUS ; ➢ Serveur ou Relay DHCP / DNS qui est relais du serveur DHCP / DNS ; Conclusion Dans ce chapitre, nous avons présenté l’étude technique de la solution retenue que nous allons déployer lors de la réalisation du projet. Après le déploiement, nous obtiendrons une plateforme qui sera considérée comme étant un système de gestion de la sécurité de l’information. Le chapitre suivant nous renseigne comment réussir la configuration, après installation, de notre solution afin de mieux sécuriser l’infrastructure réseau.
  41. 40 INTRODUCTION I. ARCHITECTURE CIBLÉE II. L’ENVIRONNEMENT TECHNIQUE 2.1. PRÉREQUIS POUR INSTALLER PFSENSE 2.2. INSTALLATION ET CONFIGURATION D’PFSENSE 2.3. INSTALLATION DE SNORT 2.4. CONFIGURATION DE SNORT III. TEST 3.1. MAQUETTE DE TEST 3.2. L’ATTAQUE IV. COLLECTE DES RÉSULTATS CONCLUSION CHAPITRE 4 : LE DEPLOIEMENT DE LA SOLUTION ADOPTEE
  42. 41 Introduction Dans ce dernier chapitre, nous décrirons en premier lieu l’architecture ciblée qui représente la disposition de chaque équipement dans notre réseau. Et aussi l’environnement technique dans lequel le serveur sera déployé. Ensuite, nous allons entamer l’installation et le déploiement de notre plateforme. Après avoir implémenté la solution, on passera à teste notre solution avec la collecte des résultats obtenus afin d’analyser la nature du trafic et ainsi les intrusions détectées. I. Architecture ciblée Figure 14: Architecture ciblée II. L’environnement technique Avant la mise en place de la plateforme, il nous faut tout d’abord préparer l’environnement où le déploiement du serveur sera effectué. Pour ce faire, nous avons décidé d’implémenter un serveur sur lequel nous allons installer un pare-feu PFsense. 2.1. Prérequis pour installer PFsense ▪ CPU 600 MHz ou plus rapide ▪ RAM 512 Mo ou plus ▪ Lecteur de 4 Go ou plus (SSD, HDD, etc.) ▪ Une ou plusieurs cartes d'interface réseau compatibles 2.2. Installation et configuration d’PFsense ▪ Télécharger l’image ISO d’installation PFsense (disponible sur le site officiel de PFsense) ▪ Graver l’image ISO sur un support physique (CD-Rom). ▪ Démarrer le serveur sur le CD-Rom.
  43. 42 ➢ Appuyer sur <<Enter>> pour accepter la licence. Figure 15: Installation de PFsense ➢ Appuyer sur <<OK>> pour lancer l’installation de PFsense. Figure 16: Installation de PFsense (2)
  44. 43 ➢ Choisir le type de clavier. Figure 17: Installation de PFsense (3) ➢ Choisir ‘’Auto (UFS)’’ et appuyer sur <<OK>> pour lancer la partition automatique de disque dur. Figure 18: Installation de PFsense (4)
  45. 44 ➢ Vérification de checksum. Figure 19: Installation de PFsense (5) ➢ Appuyer sur <<Reboot>> pour compléter l’installation de notre Pare-feu. Figure 20: Installation de PFsense (6)
  46. 45 Figure 21: PFsense Console ➢ Ensuite, après le redémarrage de notre serveur il faut configurer une adresse IP fixe sur le serveur, désactivé le service DHCP, puis saisir l’adresse IP et le masque de sous-réseau (la notion CIDR). ➢ Noter que l'adresse IP fixe, nous permet d'accéder à notre serveur par un Navigator web. Figure 22: Page d'authentification du PFsense
  47. 46 ➢ Après l’authentification, notre serveur afficher la fenêtre <<Dashboard>>, qui présente l’état initial de notre serveur. 2.3. Installation de Snort Après avoir étudié et préparé l’environnement dans lequel nous comptons déployer la solution adoptée, nous allons procéder maintenant à la phase de l’installation de Snort que nous voudrions exploiter pour le but du sécurisé notre réseau interne. Notre système de détection d’intrusion Snort, ne pas encours installer sur PFsense. Pour installer Snort il faut télécharger le package associer de ce service. ➢ On peut installer le service Snort comme montre dans les figures suivantes. Figure 24: Installation de Snort sur PFsense Figure 23: L'état initial de PFsense
  48. 47 ➢ Avant le début de téléchargement et l’installation de Snort, notre serveur afficher un message de confirmation. On cliquer sur <<Confirm>> pour lancer l’installation. ➢ Une fois que l’installation est terminée, nous constater que notre serveur afficher un message de fin d’installation. Figure 25: Message de confirmation Figure 26: Message de fin d'installation de Snort
  49. 48 2.4. Configuration de Snort Après la fin de l'installation de notre service, nous allons accéder maintenant aux paramètres de snort, pour faire ça, Snort dispose d’une fenêtre autonome située dans (Services → Snort). Tous les pares-feux disposent des interfaces Ethernet qui nous permet de séparer les réseaux entre eux, sur notre cas la première interface à ajouter est WAN, car les attaques doivent être contrées au niveau du WAN. ➢ Pour ajouter une interface, nous cliquons sur le bouton + Add. Figure 27: L'accès au service Snort Figure 28: Les interfaces de Snort
  50. 49 ➢ L’étape suivant est de paramétré notre interface Snort (WAN), son rôle est de détecter les intrusions en analysant le trafic entrant via cette interface. Figure 29: Paramètre de l'interface Snort
  51. 50 Snort offre des mises à jour automatique pour les règles de détection, ces règles contiennent des informations pour tous les types d’attaque connue au niveau de l’internet. Oinkcode est un code qui peut être généré sur le site officiel de Snort, qui nous permet de mettre à jour la base de données du système de prévention des intrusions. Dans le champ « Snort Oinkmaster Code » nous entrons le Oinkcode récupère depuis le site officiel de Snort. Figure 31: Snort Oinkmaster Code Figure 30: Oinkcode
  52. 51 Ci-dessous, l’ensemble des règles qui se trouvent dans la base de données de Snort et qui ont été récupérées du site officiel. Ces règles peuvent être utilisés afin de prévenir des attaques tout en bloquant certains services pouvant être exploites pour attaquer le réseau interne de l’entreprise. Figure 32: Les règles de Snort
  53. 52 ➢ Alors notre interface Snort (WAN) est prête pour être utilisée. III. Test Après avoir configuré notre service Snort, nous sommes obligés de tester la solution que nous avons adopté. Pour ce faire, il existe deux postes de travail, le premier est un attaquant et le second est une victime attaquée par le pirate. 3.1. Maquette de test Figure 34: Maquette de test de la solution L’attaquant déclenche une attaque SYN Flood dans le seul but d’obtenir un déni de service de notre victime. Figure 33: les interfaces de snort
  54. 53 3.2. L’attaque Tout d’abord nous allons faire un test de connexion entre l’attaquant et la victime, le ping est lancé à partir du poste de la victime. Nous constatons que le premier ping lancé par la victime a réussi par contre l’attaquant n’a pas réussi, puisque le niveau de confiance au niveau de l’interface LAN est très élevé que celui de l’interface WAN. Figure 35: Résultats de ping (Victime) Figure 36: Résultats de ping (Attaquant)
  55. 54 Après la vérification de connexion entre la victime et l’attaquant, nous sommes prêts pour lancer notre attaque. Nous constatons que le trafic de notre réseau a augmenté une fois que l’attaque est lancée. Figure 38: Attaque par Kali Linux Figure 37: Graphiques de trafic
  56. 55 IV. Collecte des résultats Figure 39: Utilisation des différentes interfaces par trafic Figure 40: Utilisation des protocoles par trafic
  57. 56 Figure 41: Taux du trafic de chaque adresse IP source Figure 42: Taux du trafic de chaque adresse IP destination
  58. 57 Figure 43: Taux d'utilisation de chaque port (Source) Figure 44: Taux d'utilisation de chaque port (Destination)
  59. 58 Figure 45: Utilisation des deux interfaces (LAN & WAN) par trafic Figure 46: Utilisation de deux interfaces (LAN & WAN) par paquet Conclusion Dans ce chapitre, nous avons commencé par démontrer l'architecture de notre réseau, par la suite nous avons procédé à la préparation de l'environnement dans lequel le déploiement de la solution adoptée a été réalisé. Nous avons ensuite passé à l’installation et à la configuration du serveur et de tous les équipements que nous avons l’intention d’intégrer à notre plateforme. Enfin, après avoir déployé la solution, nous avons pu collecter les résultats qui vont permettre à l’entreprise d’identifier la nature du trafic circulant sur le réseau interne, afin de traiter les alertes déclenchées par notre système de détection d’intrusion Snort.
  60. 59 Conclusion générale La sécurité des réseaux informatiques demeure encore un sujet très sensible voir complexe, pour les acteurs du monde informatique, car les variables qui tournent autour de ce sujet sont souvent difficiles à maitriser. Ce projet nous a permis de découvrir les systèmes de détection et de prévention d’intrusions. Nous avons étudié les fonctionnements d’IDS et d’IPS de type réseau, ainsi nous avons pris comme exemple le Snort sous le pare-feu PFsense qui est un équipement puissant possédant une pluralité de fonctionnalités telles que la détection et la prévention d’intrusion, il effectue en temps réel des analyses du trafic et journalise (log) les paquets IP transitant sur le réseau, Ce qui nous a offert l’occasion de travailler sous l’environnement Free BSD. Le résultat des tests de notre système est satisfaisant, mais cela ne veut pas dire que notre système est parfaitement efficace, car aucun système de sécurité informatique permettant de garantir une sécurité fiable à 100%.
  61. 60 Webographie [1] https://www.snort.org/documents#OfficialDocumentation [2] https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Quick_Start_Guide [3] https://www.zeek.org/documentation/index.html [4] https://www.alienvault.com/blogs/security-essentials/open-source-intrusion-detection- tools-a-quick-overview [5] https://pdfs.semanticscholar.org/08d2/5088d72857dd05467a3689ac8a36e838e724.pdf [6] https://fr.wikipedia.org/wiki/Portail:S%C3%A9curit%C3%A9_informatique [7] https://forum.netgate.com/category/5/installation-and-upgrades [8] https://support.symantec.com/fr/fr/article.howto80776.html
Publicité