Présenté par : TRAORE Zéla Tahiré REPUBLIQUE DEMOCRATIQUE DE LA COTE D’IVOIRE U

Présenté par : TRAORE Zéla Tahiré REPUBLIQUE DEMOCRATIQUE DE LA COTE D’IVOIRE Union-Discipline-Travail Ministère de la Communication, de l’Economie Numérique et de la Poste Ecole Supérieure Africaine Des Technologies de l’Information et de la Communication Année Scolaire : 2019-2020 MEMOIRE DE FIN DE CYCLE POUR L’OBTENTION DU DIPLOME DE MASTER EN SECURITE INFORMATIQUE ET TECHNOLOGIE DU WEB (SITW) Proposition et implémentation d’une architecture de déploiement hautement disponible et sécurisée pour les applications clientèles d’Ebenyx Technologies Période de stage : Du 21 janvier 2020 au 21 juin 2020 Encadrant académique : Dr. KONAN Hyacinthe, Enseignant-Chercheur à l’ESATIC Co-Encadrant : M. Tchetche YAO Encadrant professionnel : M. Fulgence KOFFI, Architecte logiciel DEDICACE Je dédie ce mémoire à ma Famille. REMERCIEMENTS Mes remerciements vont à l’endroit de : - M. Brielly Hervé GUEDE, Directeur Général de l’entreprise Ebenyx Technologies pour son accueil chaleureux au sein de son entreprise ; - Tout le personnel d’Ebenyx Technologies en particulier mon encadrant professionnel, M. Fulgence Koffi, Architecte Logiciel pour son accompagnement tout au long de ce stage à travers ses conseils et sa disponibilité ; - Mon encadrant académique Dr. KONAN Hyacinthe, Enseignant-Chercheur à l’ESATIC, pour les différentes orientations qu’il a pu me donner pour une bonne réalisation du projet ; - M. Tchetche YAO, mon co-encadrant académique, pour tous ses conseils ; L’ensemble des enseignants de l’ESATIC pour l’instruction qu’ils m’ont dispensé ces cinq (5) dernières années, pour leurs méthodes de pédagogie, me conférant ainsi toutes les chances de réussir ma formation et ma carrière professionnelle. AVANT-PROPOS L’émergence de la Côte d’Ivoire à l’horizon 2020 nécessite une véritable élite locale dans le domaine des TIC. C’est dans cette optique que l’ESATIC (Ecole Supérieure Africaine des Technologies de l’Information et de la Communication) fut créée en 2012. L’ESATIC est l’une des plus prestigieuses écoles créées par l’État de Côte d’Ivoire et a pour mission d’assurer la formation de cadres dans le domaine des TIC. La formation qui s’étend sur une durée maximale de cinq (5) ans couvre les domaines suivants : Réseaux et Télécommunications, Développement d’Applications et Sécurité Informatique. Au cours de la cinquième année, afin d’allier pratique à toute la théorie acquise, l’ESATIC attribue des stages à ses étudiants en fin de cycle dans le cadre de leur Projet de Fin d’Études (PFE). Lequel projet précède et conditionne l’obtention du diplôme de Master dans divers domaines de compétences. Durant ce stage (04 à 06 mois), l’étudiant devra rédiger un mémoire qui sera présenté devant un jury. C’est dans ce cadre que nous avons été accueillis à Ebenyx Technologies du 21 janvier au 21 juin 2020 qui nous a confié un projet relatif à la sécurisation de ses applications clientèles. LISTE DES FIGURES Figure 1: Organigramme EBENYX TECHNOLOGIES.......................................................................4 Figure 2: Processus de développement à la production.........................................................................7 Figure 3: Le modèle TCP/IP [3].........................................................................................................11 Figure 4: Mode de fonctionnement des applications web [2]..............................................................12 Figure 5: Serveur d'applications [6].....................................................................................................14 Figure 6: Principe d'une attaque XSS non-persistant [2].....................................................................21 Figure 7: Principe d'une attaque XSS persistant [2]............................................................................22 Figure 8: Architecture de déploiement des applications......................................................................31 Figure 9: les tables Iptables [17]..........................................................................................................37 Figure 10: fichier de configuration d’un agent zabbix.........................................................................42 Figure 11: Configuration réseau..........................................................................................................43 Figure 12: Configuration de l'adresse IP virtuelle................................................................................44 Figure 13: configuration du serveur Ngnix « 192.168.8.49 »..............................................................44 Figure 14: configuration du serveur Nginx « 192.168.8.50 »..............................................................44 Figure 15: Configuration de Nginx avec les serveurs d'applications...................................................45 Figure 16: Modification de l'adresse d'écoute de PostgreSQL.............................................................45 Figure 17: Autorisation d'accès distant................................................................................................46 Figure 18: Configuration de PostgreSql dans l'application..................................................................46 Figure 19: Script Iptables 1.................................................................................................................48 Figure 20: Script Iptables 2 (suite)......................................................................................................48 Figure 21: Déploiement de l'application effectif.................................................................................49 Figure 22: Test serveur d'application 1 éteint......................................................................................50 Figure 23: Test serveur d'application 2 allumé....................................................................................50 Figure 24: Application disponible sur l'adresse IP virtuelle.................................................................50 Figure 25: Simulation SQL injection...................................................................................................51 Figure 26: Résultat injection SQL.......................................................................................................52 Figure 27: Connexions échoués à l'application....................................................................................52 Figure 28: Adresse IP de l'attaquant....................................................................................................53 Figure 29: Supervision des serveurs....................................................................................................53 Figure 30: Problèmes sur le serveur Zabbix........................................................................................54 Figure 31: Notification activée pour l'état des serveurs.......................................................................54 Figure 32: Administrateur Zabbix.......................................................................................................55 Figure 33: Utilisation de la mémoire...................................................................................................55 Figure 34: Rapport de disponibilité.....................................................................................................56 Figure 35: Page d'accueil de l'application..............................................................................................X Figure 36: cas d'utilisation de l'application............................................................................................X Figure 37: Page de connexion à l'application.......................................................................................XI Figure 38: Page d'inscription................................................................................................................XI Figure 39 : Tableau de bord administrateur ou client..........................................................................XII Figure 40: Etapes d'envoi de SMS.......................................................................................................XII Figure 41: Interface de maintenance..................................................................................................XIII LISTE DES TABLEAUX Tableau 1: Tableau d'identification d'Ebenyx Technologies.................................................................3 Tableau 3: Injection............................................................................................................................14 Tableau 4: Authentification brisée......................................................................................................15 Tableau 5: Exposition de données sensibles........................................................................................16 Tableau 6: XXE..................................................................................................................................17 Tableau 7: contrôle d’accès cassé.......................................................................................................18 Tableau 8: Erreurs de configuration de la sécurité..............................................................................18 Tableau 9: Cross-site Scripting (XSS)................................................................................................21 Tableau 10: Désérialisation non sécurisée...........................................................................................21 Tableau 11: Utilisation de composants avec des vulnérabilités connues.............................................22 Tableau 12: Journalisation et surveillance insuffisantes......................................................................23 Tableau 13: Audit de la qualité de code source de l'application..........................................................35 Tableau 14: Besoins de la sécurité......................................................................................................60 LISTE DES SIGLES ET ABREVIATIONS CSS : Cascading Style Sheets CVE : Common Vulnerabilities and Disclosures ESATIC : Ecole Supérieure Africaine des Technologies de l’information et de la Communication FTP : File Transfer Protocol HTML : Hypertext Markup Language HTTP : HyperText Transfer Protocol IP : Internet Protocol ICMP : Internet Control Message Protocol NVD : National Vulnerability Database OWASP : Open Web Application Security Project PFE : Projet de Fin d’Etudes PFS : Perfect Forward Secret SGBD : Système de Gestion de Base de Données SI : Système d’information SSH : Secure Shell STMP : Simple Mail Tranfert Protocol TCP : Transmission Control Protocol TLS : Transport Layer Security UDP : User Datagram Protocol WAF : Web Application Firewall WWW : World Wide Web SOMMAIRE Introduction Partie 1 : Généralité Chapitre 1 : Présentation de l’entreprise d’accueil Chapitre 2 : Présentation du projet Partie 2 : Etude technique Chapitre 3 : Etude des applications web Chapitre 4 : Etude des infrastructures de déploiement Chapitre 5 : Conception de l’architecture Partie 3 : Implémentation et réalisation Chapitre 6 : Implémentation de la solution Chapitre 7 : Résultats et discussions Chapitre 8 : Politique de sécurité Conclusion INTRODUCTION Les systèmes d’informations (SI) des entreprises, administrations ou associations sont désormais très ouverts sur l’extérieur, et toutes les applications du SI comportent un module ou une interface web permettant à ses entités d’interagir avec leurs clients ou fournisseurs. Accessible de partout, à tout moment, l’application web voit son nombre de visites progresser régulièrement. Dans ces conditions, la disponibilité et le bon fonctionnement d’une application web sont devenus très importants. Cependant, ces applications font aujourd’hui l’objet de bon nombre d’attaques exposant ainsi les données des entreprises. La question de la protection, des tests de sécurité des applications web avant de les déployer en production et des suivis deviennent dès lors essentiels. C’est dans cette optique que l’entreprise EBENYX TECHNOLOGIES a mis en place le projet : « Proposition et implémentation d’une architecture de déploiement hautement disponible et sécurisée des applications clientèles ». En effet, Ebenyx Technologies conscient des différents risques tels que : le vol d’informations confidentielles, l’espionnage et l’indisponibilité des ressources qui exposent les entreprises à travers les vulnérabilités d’applications web se propose d’offrir des services de qualité quant à la conception de ses applications. A travers un tel projet, l’objectif majeur à atteindre est d’assurer la protection des données à travers le déploiement sécurisé des applications. Il importe donc pour nous de soulever les interrogations suivantes : -Quelles sont les principales menaces liées aux applications web ? -Comment assurer la sécurité des applications web ? -Comment mettre en place une architecture de déploiement sécurisée ? Pour répondre à ces interrogations, nous analyserons le sujet sous trois (3) axes principaux. La première partie appelée généralité fera l’objet d’une présentation de l’entreprise d’accueil suivi d’une présentation générale du sujet dans le but de mieux situer notre contexte. Dans la deuxième partie, étude technique, il sera question d’étudier le fonctionnement des applications web et de l’infrastructure de déploiement afin d’en déceler les menaces et proposer une bonne solution de déploiement. Enfin la troisième partie, implémentation et réalisation, sera l’occasion pour nous d’implémenter la solution proposée sur une application en phase de déploiement. PREMIERE PARTIE : GENERALITE 2 CHAPITRE 1 : PRESENTATION DE L’ENTREPRISE D’ACCUEIL I - Présentation de l’entreprise EBENYX TECHNOLOGIES est une société de service informatique, constituée d’une équipe jeune et dynamique ayant contribué à la réalisation de plusieurs projets d’envergure dans les secteurs publics et privés. Elle a pour mission principale d’accompagner les entreprises en répondant à l’ensemble de leur besoin informatique. Tableau 1 : Tableau d'identification d'Ebenyx Technologies II- Organigramme 1- Présentation L’organigramme de l’entreprise présente les services suivants : - Direction générale : c’est la fonction prédominante de l’entreprise, elle est dirigée par M. Hervé Brielly GUEDE. Elle organise l’entreprise, elle met en place des sous- systèmes, structures, méthodes et procédures nécessaires pour atteindre les objectifs ; - Ressources Humaines : la fonction Ressources Humaines a pour mission de faire en sorte que l’organisation dispose du personnel nécessaire à son fonctionnement et que ce personnel fasse de son mieux pour améliorer la performance de l’entreprise ; TRAORE Zéla Tahiré Raison Sociale EBENYX TECHNOLOGIES Siège Social Abidjan – uploads/Science et Technologie/ re-mise-en-forme.pdf

  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager