46 1 2MB
Dédicace A mon père,A ma mère Pour l’éducation et le grand amour dont ils m’ont entouré dès que ma naissance,Pour leurs patiences et leurs sacrifices,Pour leur donne morale et de m’enfoncer à faire le bien et produire les meilleurs idées jusqu’au bout et même d’être apte de faire face à mes études A ceux qui me sont chers A toute ma famille soit-elle proche ou lointaine,A tous mes amis particulièrement en leurs souhaitant le succès dans leur vie aussi bien professionnelle que familiale.A ceux qui méritent une humanité solidaire et prospère. A tous ceux-ci je dédie ce travail AmaniHammami
Remerciement Je tiens à remercier dans un premier temps toute l’équipe pédagogique de l’institut supérieur des Etudes Technologiques en Communication de Tunis pour avoir assuré la partie théorique du rapport ci présent.
Je remercie également Mme.LILIA FRIKHA, mon suiveur pédagogique pour l’aide et les conseils concernant les missions évoquées dans ce rapport, qu’elle m’a apporté lors des différents suivis.
A M.RAMZI AKKARI, chef de division de l’exploitation et de la maintenance des réseaux de transmission de données, pour son accueil, sa disponibilité, ainsi que la confiance qu’il m’a accordé dèsmon arrivée dans l’entreprise.Je tiens à remercier tout particulièrement et à témoigner toute mon reconnaissance aux personnes suivantes, pour l’expérience enrichissante et pleine d’intérêt qu’elles m’ont fait vivre durant ces 5 mois au sein de l’équipe TUNISIE TELECOM el Kasbah.
Tout le personnel de la direction Exécutive des Backbones pour m’avoir intégrée rapidement au sein de l’entreprise et m’avoir accordées toute leur confiance, pour le temps qu’ils m’ont consacré tout au long de cette période, sachant répondre à toutes mes interrogations, sans oublier leur participation au cheminement de ce rapport.
Table des matières
I.
Dédicace........................................................................................................................1 Introduction générale....................................................................................................5 Chapitre 1 : Présentation du cadre générale du projet...................................................9
Introduction :...................................................................................9
II.
Organisme d’accueil « Tunisie Télécom ».....................................9 1.
Présentation :..........................................................................................................9
2.
Activité de l'entreprise..........................................................................................10
3.
Organigramme......................................................................................................11
III.
Présentation du projet...................................................................12 1.
Description...........................................................................................................12
2.
Etude de l’existant................................................................................................13
3.
Limites de l’existant et solutions proposées.........................................................13
4.
Objectifs...............................................................................................................15
Conclusion.......................................................................................................................16
I.
Chapitre 2 : Etude Préalable........................................................................................17
Introduction :.................................................................................17
II.
Le flux de travail « workflow ».....................................................17 1.
Définition.............................................................................................................17
2.
Historique.............................................................................................................18
3.
Les avantages du workflow..................................................................................19
III.
La sécurité des réseaux informatiques.........................................20 1.
firewall:................................................................................................................22
2.
Les listes de contrôle d’accès (ACL) :.................................................................24
3.
Les plateformes ‘ des serveurs’ :.........................................................................30
Définition........................................................................................30
Outils et ressources........................................................................31 4.
Demande d’accès à une plateforme......................................................................32
5.
Conclusion...........................................................................................................33
Chapitre 3 : spécification des besoins et conception....................................................34
I.
Introduction....................................................................................34
II.
Analyse des besoins........................................................................34 1.
Identification des acteurs......................................................................................34
2.
Les besoins fonctionnels......................................................................................35
3.
Les besoins non fonctionnels................................................................................37
III.
La conception :...............................................................................37 1.
Méthode de conception utilisée............................................................................37
2.
La notation UML « Unified Modeling Language » :............................................38
3.
Les diagrammes de cas d’utilisation.....................................................................39
4.
Les diagrammes de séquences..............................................................................47
5.
Le diagramme de classes :....................................................................................51
Conclusion.......................................................................................................................53
I.
Chapitre 4 : Réalisation................................................................................................56
Introduction....................................................................................56
II.
Environnement de travail..............................................................56 1.
Environnement matériel.......................................................................................56
2.
Environnement logiciel........................................................................................57
III.
Implémentation..............................................................................58 1.
Choix de l’architecture utilisée : le pattern MVC.................................................58
1.
Choix de langage de programmation : php...........................................................58
2.
Choix de langage de programmation « PHP »......................................................59
Remarque : notre code contient des scripts java...............................................................59 3.
Choix de Système de Gestion de Bases de Données « MYSQL »........................59
4.
Présentation des interfaces...................................................................................60
IV.
L’ouverture d’accès (La Configuration automatique des firewalls)..........................................................................................76 1.
Définition d’une socket........................................................................................77
2.
Présentation des étapes de la solution proposée....................................................77
3.
Test de la configuration........................................................................................78
conclusion........................................................................................................................81
Introduction générale Les innovations technologiques que le monde a connues ces dernières années ,ont favorisé l’informatisation et l’automatisation des processus de travail , pratiquement , tous les secteurs d’activités .Cette informatisation a permis d’augmenter le profit des entreprises ,de réduire
les couts de
fonctionnement des administrations et principalement d’améliorer leur compétitivité .
Exploiter une information pour une entreprise s’avère être une tâche très difficile à gérer .Le support de l’information, généralement sous format papier, rend les choses encore plus difficiles .L’acheminement de l’information aux personnes la nécessitant dans les meilleurs délais n’était pas toujours garantit.
Au début des années 70, de nouveaux systèmes capables d’automatiser des processus métiers ont vu le jour. On a vu naître à cette époque, le système Workflow. Cette technologie a connu un échec total ; son prix était très élevé et très difficile à intégrer au sein de l’infrastructure de l’entreprise. Coté métier,les procédures au sein d’un processus n’était pas modifiable
ainsi que les traitements et les données faisaient partie intégrante du système ce qui a rendu la tâche ardue.
Au cours des années qui suivent , avec le regain d’intérêt pour le génie logiciel ,les systèmes Workflow ont évolué et des recherches ont été entreprises pour faciliter l’intégration de ces systèmes au sein des organisations .Donc avec la naissance de ces systèmes de gestion de contenu et l’évolution des systèmes d’automatisation des processus métiers, l’intérêt des entreprises pour ces solutions unifiées a grandement augmenté.
Microsoft a décidé alors de concevoir un système de collaboration et de gestion de contenu capable d’exécuter des processus métiers qui interagissent avec les personnes via des interfaces web.
C’est dans ce contexte que s’inscrit mon Projet de Fin d’Etudes qui consiste à concevoir et mettre en place un site web non seulement pour la gestion des demandes d’accès mais aussi pour l’ouverture d’accès automatique via une configuration distante des firewalls.
La suite du présent rapport est constituée de quatre chapitres .Dans le premier chapitre, nous introduisons le contexte général du projet, l’étude de l’existant et la solution proposée. Le second chapitre définit les notions de base relatives aux technologies utilisés pour mettre en place notre solution. Le troisième chapitre présentera les besoins fonctionnels et non fonctionnels
et la spécification,l’analyse et la conception des différents cas d’utilisation. Le quatrième chapitre présentera l’environnement de travail ainsi que la présentation des différents étapes de déploiement et de réalisation de l’application. La conclusion générale résumera ce projet tout en signalant les perspectives envisageables.
Chapitre 1 : Présentation du cadre générale du projet
I.
Introduction :
Dans ce chapitre, nous commencerons par la présentation de l’entreprise Tunisie Télécom au sein de laquelle j’ai effectué mon stage. Ensuite, nous donnerons une vue générale sur le sujet et les solutions existantes, pour finir avec les solutions envisageables
II.
Organisme d’accueil« Tunisie Télécom » 1. Présentation :
1*Tunisie Télécom est le leader sur le marché des télécommunications en Tunisie, administré directement par le ministère de Télécommunications jusqu'en 1995. Aujourd'hui, Tunisie Télécom est un chef de file sur le marché des télécommunications en Tunisie grâce à sa présence dans les segments de la téléphonie fixe et mobile en outre l’accès à Internet. Il cible le grand public, les entreprises et les opérateurs tiers. Tunisie Télécom est aujourd’hui organisée autour de deux pôles d’activité :
Le pôle « détail » regroupe les services de téléphonie mobile, de téléphonie fixe, d’Internet (destiné au grand public et aux entreprises) et les services de transmissions de données (destinée exclusivement aux entreprises).
Le pôle « opérateur et international » regroupe les services interconnexions nationales, terminaison, transit et roaming-in.
2. Activité de l'entreprise
En tant qu'opérateur, Tunisie Télécom est chargée de :
L'installation, la maintenance et l'exploitation de réseaux publics de télécommunications.
Offrir des services de télécommunications publics ou privés qui correspondent aux différents besoins sociaux et économiques.
La promotion des nouveaux services de télécommunication.
La contribution à l'élaboration d'études et de recherches scientifiques liées au secteur des télécommunications.
La participation à l'effort national de l'enseignement supérieur en matière de télécommunications.
L'application des conventions et traités des organisations internationales et régionales spécialisées dans le domaine des télécommunications.
Promouvoir la coopération à tous les niveaux dans tous les domaines des télécommunications.
3. Organigramme
Pour concrétiser la mise en place de l’ONT, le conseil d’administration s’est réuni en vue d’établir un organigramme transitoire modélisant la structure interne de l’office. Cet organigramme fait l’objet de plusieurs reformes et
restructurations afin de s’adapter aux nouvelles exigences d’efficience et d’efficacité. En fait, l’organigramme de Tunisie Telecom se présente comme suit :
Figure 1organigramme du Tunisie Télécom
La direction centrale des opérations & de la maintenance des réseaux là où j’ai effectué mon stage est sensé de :
* la mise à jour du système : antivirus, sécurité de la messagerie
*le suivi du volet sécurité dans tous les projets informatiques
*la protection des échanges avec les réseaux extérieurs
*la veille sur la sécurité et la confidentialité des données
*La gestion des serveurs (serveurs des fichiers, serveur d’accès distants, serveur VPN…etc )
III.
Présentation du projet
Cette partie vise à donner un aperçu du thème du projet et son plan de réalisation. Afin d'atteindre les objectifs souhaités, nous avons besoin d'abord de préciser les principaux objectifs du projet.
1. Description
Dans le cadre de la formation de technicien supérieur de l’Institut supérieur des études technologiques en communication de Tunis, s’insère le long du dernier semestre de la 3éme année, un stage dans une entreprise « Tunisie Télécom el kasbah ». La période de mon stage était du février 2016 au juin 2016
Le projet intitulé « conception et développement d'une solution de gestion automatique des accès pour la direction sécurité de Tunisie Telecom »
consiste à développer un site webpour gérer les demandes d’accès aux différents plateformes de l’entreprise en configurant automatiquement les équipements « firewall » pour La direction centrale des opérations & de la maintenance des réseaux
2. Etude de l’existant Pour gérer les demandes d’accès aux plateformes, Tunisie Télécom utilise des fichiers Excel comme outil de gestion des demandes d’accès .et met à la disposition de ses chefs de service ainsi qu’aux membres de chaque équipe la solution suivante :
Les Courriers électronique et les conversations téléphoniques pour échanger les informations, les fichiers et les documents entre les membres des équipes
Concernant la configuration l’administrateur est sensé de déterminer les équipements à configurés « firewall », Ouvrir une session Telnet et taper les commandes nécessairesmanuellement(pour ouvrir l’accès demandé ) ce qui augmente le taux d’erreur
3. Limites de l’existant et solutions proposées
En suivant les méthodes précédentes du travaille on constate plusieurs inconvénients au niveau du :
Collaboration : La collaboration avec des parties externes peut entraver ou retarder le processus de production et la mise sur le marché des projets sous forme de fichiers qui doivent constamment être remplacés et approuvés par les différents actionnaires. Avec notre projet de Workflow cependant, ces étapes peuvent être intégrées dans un processus standard, effectuées simultanément, et gérées dans un outil centralisé.
Automation : La répétition continue de ces procédés, bien qu'ils soient simples (pensez par exemple à la saisie ou modification desdemandes envoi des mails de clarification…) peut prendre un temps incroyable. En outre, une telle répétition est impossible lorsqu’on se retrouve à employer des talents créatifs et variés dans l’équipe. Avec notre outil de gestion de workflow professionnel, ces processus peuvent être automatisés et complétés en quelques secondes seulement.
Communication : Afin de s'assurer que toutes les instructions et commentaires soient vus et revus, des notes et annotations peuvent être nécessaires. Un bon logiciel de Workflow fournira ces outils, et on peut être sûr que tous les participants seront à jour sur tous les développementsnon seulement ça mais notre application permet aussi l’administrateur et le demandeur d’accès de se discuter ensemble via une fenêtre de messagerie instantanée « chat » .
Distribution :L’envoi de grands fichiers numériques à des collègues est à la fois long et stressant, peu importe la méthode. La plupart des boîtes de réception de courriel refusent de recevoir des pièces jointes de 25 Mo ou plus,).notre outil de gestion de workflow permet de partager des fichiers directement avec les autres, sans avoir recours à des méthodes pénibles et précaires, comme l'e-mail ou le FTP.
Duplication : Il est commun de retravailler un fichier à plusieurs reprises afin d'économiser sur les ressources en réalité, cela mène au chaos pour savoir quelle est la dernière version. En conséquence, les anciennes versions se font utiliser, et les nouvelles versions se perdent dans la masse. L’efficacité de la gestion des workflows est garantie - grâce à une gestion de version intelligente, personne ne travaille avec une version obsolète.
Vue d’ensemble : Lorsqu'on travaille sur différents projets à la fois, il peut être difficile de garder une trace de ce qui se passe et où cela se passe. Avec un outil de gestion de workflow, l'information est pertinente et il est clairement affiché sur le tableau de bord, si toutes les tâches et les statuts du projet sont clairement visibles.
4. Objectifs
L’objectif principal de ce projet était la conception et le développement d’un site web « un workflow »
Cesite web offreplusieurs services telles que :
l’authentification (comme admin demandeur d’accès ou super-admin),
la gestion des demandes, des équipements firewall,des plateformes et des comptes d’utilisateurs,
une fenêtre de discussion entre l’admin où super admin et le demandeur,
un système de notification pour faciliter la communication entre les différents utilisateurs
l’ouverture d’accèsà différentes plateformes en commençant par la génération des lignes de commandes,ensuite l’ouverture de session Telnet Et enfin la configuration du firewall (ajout d’access-list)
Conclusion
Dans ce chapitre, nous avons mis en place l'organisation où j'ai passé mon stage. Ensuite, nous avons présenté notre mission et nous avons fini par une présentation générale du projet, tout en mettant l'accent sur les objectifs de notre site web.
Chapitre 2 : Etude Préalable a. Introduction :
L’étude préalable est une phase primordiale qui sert à définir les notions de base,donc dans ce chapitre, nous allons présenter le concept du flux de travail (workflow) et aborder la notion de sécurité des réseaux informatiques tout en
citant l’importance d’utiliser des firewalls et des listes de contrôle d’accès dans un réseau.
b. Le flux de travail « workflow »
1. Définition Le workflow est un processus qui fait apparaitre une suite de tâches et d’opérations effectuées par une personne, ou par une entité (groupe, organisme…). Il s’agit de modéliser l’ensemble des tâches à accomplir et de mettre en évidence les différents acteurs qui y sont impliqués dans le cadre d’un processus métier (interactions sous forme d’échange d’informations entre les différents acteurs d’une entreprise).
2. Historique
L'industrie de l'imagerie électronique et de la gestion de la production assistée par ordinateur a été la première à réclamer une technologie qui permette l’automatisation des procédures de travail, jusqu’alors réalisées à la main.
À partir de l’année 1975 et jusqu’à 1985, la nouvelle technologie dite de workflow a connu un essor important par la mise en place d'un système capable d’automatiser au mieux les flux de travail. Ainsi des systèmes de workflow statique ont vu le jour : Officetalk-P, Backtalk, Poise, Xerox InConcert, etc.
De nombreuses entreprises ayant développé des produits similaires n’ont pu passer le cap du millénaire, car les outils réalisés étaient grevés par un prix élevé et une complexité importante. L’échec du workflow statique est principalement dû au fait qu’il était très difficile d’intégrer et de modifier les procédures de travail dans les systèmes workflow. Les traitements et les données faisaient partie intégrante du système et rendaient la tâche ardue.
Le regain d’intérêt pour le génie logiciel au début des années 1990 a permis de relancer les recherches concernant les systèmes workflow afin de mettre en place des systèmes plus simples à utiliser. Il s’est ensuivi une véritable explosion quant aux systèmes élaborés, dont Oval, Apricot, MelMac, WAMO, FreeFlow, etc. Ces systèmes, connus sous le nom de workflow générique, proposaient une nouvelle approche du workflow. L’idée était de séparer
traitement et données relatives aux procédures de travail et d'offrir de la sorte une plus grande facilité quant à la création, la modification ou la suppression des procédures de travail.
De nos jours, ces « nouveaux » systèmes sont tout à fait opérationnels et largement utilisés par les entreprises. Il n’en demeure pas moins que de nouvelles recherches sont menées pour obtenir encore plus de souplesse et d’adaptabilité. C’est dans ce contexte bien particulier de flexibilité qu’est né le workflow adaptatif
3. Les avantages du workflow
Des workflows correctement planifiés peuvent aider de la manière suivante :
Amélioration des procédures : En effet, la gestion de Workflow nécessite une analyse poussée des procédures (ou tâche) à effectuer lors de la réalisation d'un projet. Souvent cette analyse permet de mettre en avant certaines incohérences. Il est alors facile de les supprimer.
Rapidité d'exécution : Lors de la création du Workflow, toutes les taches ont été identifiées et distribuées aux ressources compétentes. Ainsi avant le début du projet, toutes les personnes devant y participer savent exactement ce qu’elles auront à faire et quand. L'exécution du projet est alors plus facile à mettre en œuvre et donc plus rapide.
Contrôle de l'état d'avancement des projets : Lors de la réalisation du Workflow, toutes les personnes participant à celui-ci doivent préciser le travail qu'elles ont effectuérégulièrement. Il est donc facile pour le chef de projet de savoir l'état d'avancement du projet.
c.
La sécurité des réseaux informatiques
L’information joue un rôle capital dans le succès d’une entreprise. En effet, la croissance d’une entreprise passe par un volume important d’activités ce qui implique une gestion d’une masse importanted’informations. Ceci sousentend donc la mise en place d’un système représentant l’ensemble des données qu'une entreprise ou qu'un organisme utilise dans son fonctionnement quotidien : le système d’information. Ces systèmes peuvent subir des menaces, ils sont souvent sujets à des multiples attaques qui menacent les activités de l’entreprise et requièrent la mise en place d’une politique de sécurité.
La sécurité informatique, dans un contexte global, est l’ensemble des moyens mis en œuvre pour réduire les vulnérabilités d’un système informatique contre les menaces accidentelles ou intentionnelles, elle consiste à assurer que les ressources informatiques d’une organisation soient utilisées uniquement dans le cadre prévu.
En effet, la sécurité doit être assurée à plusieurs niveaux. Au niveau utilisateur et au niveau des données elles-mêmes, les acteurs doivent suivre les droits d’accès définis par l’administrateur. Aussi, les technologies utilisées ne doivent pas présenter des failles spécialement au niveau physique soit l’accès à l’infrastructure ou aux matériels étant donné que sécuriser un système ne sert logiquement à rien si matériellement l’accès à ce réseau n’est pas sécurisé
Comme tous les réseaux des grandes entreprises, le réseau de Tunisie Telecom a besoin d’être ouvert au monde extérieur via Internet et de pouvoir échanger et partager des données avec les clients de l’entreprise. Ces portes ouvertes peuvent être utilisées pour des nombreusesactions malveillantes comme les attaques et le piratage de données. Aussi,
au niveau interne, la sécurité
consiste un défi dans la mesure où il s’agit d’un réseau opérateur étendu comportant plusieurs départements, plateformes et systèmes dont il faut gérer les accès et assurer la sécurité même en interne.
Pour cet effet on a recours au filtrage du trafic entrant et sortant du réseau de l’entreprise qui garantira une réduction de l’éventail des attaques possibles des services autorisés à transiter sur le réseau. En outre, le suivi du niveau de granularité du contrôle du filtrage mis en place protégera non seulement
contre les attaques de type Denis de servicemais aussi du spoofing et bien d’autres attaques.
Figure 2 : architecture existante
1. firewall:
Un firewall est unsystème qui permet de filtrer les paquets de données échangés avec le réseau. Il comporte principalement des interfaces pour le réseau à protéger (réseau interne) et des interfaces pour le réseau externe.
En effet, plusieurs modèles et marques de pare-feu sont utilisés dans le réseau de Tunisie Telecom (comme Juniper, stone soft et Cisco). Cette diversité offre la
possibilité debénéficier des différentes fonctionnalités offertes par chacune, aussi l’utilisation des modèles différents de pare-feu selon l’emplacement, le débit et le nombre d’interfaces.
En effet, une architecture à base de pare-feux offre l’avantage de concentrer les efforts de sécurité sur un unique point d’entrée, grâce à des mécanismes de filtrage en profondeur ainsi qu’à des fonctions de journalisation des événements. Les pare-feux sont donc des éléments essentiels pour les investigations de sécurité.
Leur utilisation parait donc primordiale afin de restreindre l’accès aux serveurs de Tunisie Telecom .Ils permettent d’une part la concentration de l’administration de la sécurité en des points d’accès limités au réseau d’entreprise, d’autre part, la création d’un périmètre de sécurité, par exemple entre le réseau intranet de l’entreprise et le réseau Internet
Figure 3 : principe de fonctionnement du firewall
Leur principe de fonctionnement repose sur le filtrage des paquets ou des datagrammes en analysant les entêtes échangés entre le réseau interne et les réseaux externes.
Le pare-feu contient un ensemble des règles prédéfinies permettant : d’autoriser, bloquer ou de rejeter la demande de connexion sans avertir l’émetteur.
2. Les listes de contrôle d’accès (ACL) : d. Présentation
La configuration des pare-feux est basée sur les listes de contrôle d’accès. Ces dernières sont des instructions qui expriment un ensemble de règles, définies par l’administrateur, donnant un contrôle supplémentaire sur les paquets reçus et/ou transmis par le routeur.
Une liste de contrôle d’accès permet de contrôler le trafic et améliorer la performance du réseau en limitant la quantité du trafic.
En effet, une liste de contrôle d’accès est un ensemble séquentiel d’instructions d’acceptation ou d’interdictions qui peut s’appliquer aux adresses IP, protocoles de couches supérieurs, les interfaces d’un routeur ou d’un parefeu dont l’ordre est très important. Elles sont scrutées dans l’ordre où elles
ont été écrites ce qui signifie que si le paquet répond aux critères de la première instruction, il ignore le reste des règles, donc lorsqu’une ACL contient plusieurs règles, il faut placer les règles les plus précises en début de la liste et les plus génériques en fin de la liste.
Une liste d’accès peut être identifiée par un numéro ou par un nom, ce numéro permet d’identifier le type de la liste.
e. Les familles de listes de contrôle d’accès
Il existe deux familles de listes de contrôle d’accès : les listes standards et les listes étendues
Listes de contrôle d’accès standards : Les listes de contrôle d’accès standards ne vérifient que l’adresse IP source du paquet à filtrer. Elles vérifient les adresses sources des paquets qui peuvent être routés. Le résultat est d’autoriser ou de refuser la sortie pour toute une suite de protocoles, en s’appuyant sur le réseau de la source, sous réseau ou l’adresse IP de l’hôte. Les listes de contrôle standard sont à appliquer le plus proche possible de la destination pour des raisons de leur faible précision (ne précise pas les adresses de destination).
Figure 4 : Tester les paquets avec des listes de contrôle standards
Forme générale d’une règle standard : F1 (config)#access-list numéro-liste-accès {deny|permit} adresse-source [masquesource] [option]
Le numéro de l'ACL standard est compris entre 1 et 99 ou entre 1300 et 1999, l’action peut être deny (refuser) ou permit (permettre) et l’option peut être [Log] pour l’enregistrement.
Exemple d’une liste de contrôle d’accès standard :
Figure 5 : Exemple d'ACL standard
Pour autoriser tous les paquets qui proviennent de l’IP 172.16.1.3
F1 (config) # access-list liste_name permit 172.16.3.1 255.255.255.255
Listes de contrôle d’accès étendues : Les listes de contrôle d’accès étendues vérifient les adresses IP source et les adresses IP destination, le protocole de niveau 3 ou 4, le numéro de port.
Figure 6 : tester les paquets avec des listes de contrôle d'accès Etendues
Les listes de contrôle d’accès étendues filtrent les paquets IP en fonction de plusieurs attributs, dont le type de protocole, l’adresse IP source, l’adresse IP de destination, les ports TCP ou UDP source, les ports TCP ou UDP de destination, et les informations facultatives sur le type de protocole, ce qui permet aux administrateurs une plus grande flexibilité. (Donc, les ACL Etendues sont à placer le plus proche possible de la source à cause de leur forte précision. )
Format général d’une règle étendue :
F1 (config)#access-list numéro-liste-accès {deny|permit} protocole adresse-source masque-source adresse-destination masque-destination [opérateur port] [option]
Le numéro de l'ACL étendue est compris entre 100 et 199 ou entre 2000 et 2699, l’action peut être deny (refuser) ou permit (permettre), le protocole peut être TCP, UDP ou IP (pour tous les protocoles).
Nous préciserons le nom au lieu du numéro de l’ACL, dans les règles standards et étendues, dans le cas où les ACL sont identifiés par un nom. Exemple d’une lise de contrôle étendue :
Figure 7 : Exemple d'une ACL étendue
Pour autoriser la machine 192.168.3.1 à se connecter via le protocole ssh (port 22) à toutes les machines du réseau 192.168.2.0/24 :
F1(config)#access-list liste_name permit tcp host 192.168.3.1 192.168.2.0 255.255.255.0 22
Remarque :Puisque nous avons un pare-feu au niveau de la source et de la destination nous devons appliquer cette liste de contrôle d’accès au niveau des deux pare-feux. 3.
Les plateformes‘ des serveurs’ :
Définition
Une plate-forme collaborative est un système informatique qui met à disposition de ses utilisateurs des ressources et des outils pour faciliter le travail collaboratif.
Il existe autant de plateformes collaboratives que de projets. Certaines solutions logicielles du marché proposent des outils standards qui peuvent s’adapter à différentes situations, mais il reste bien souvent indispensable de personnaliser la solution en fonction des objectifs.
objectifs
L’objectif principal d’une plateforme collaborative peut être par exemple :
La conduite de projet
La gestion des connaissances (méthodes, informations marché, etc.)
La coproduction de contenus (exemple le plus connu : wikipédia)
L’amélioration continue
Le développement de l’innovation
On peut également considérer que certaines applications métiers partagées sont des plateformes collaboratives
Outils et ressources
Bien que les plateformes collaboratives soient « packagées » pour répondre à des besoins de plus en plus précis, les briques élémentaires qu’elles mettent à disposition des utilisateurs sont bien souvent les mêmes :
Partage de fichiers
Base de connaissances structurée
Forums
Blogs individuels ou collectifs
Espaces de groupe
Messagerie interne
Live Chat
Gestion des tâches
Calendrier partagé
Listing des membres
Outils logiciels spécifiques
4. Demande d’accès à une plateforme
Un demandeur connecté à une plateforme sécurisée par un firewall veut accéder à une autre plateforme sécurisée aussi avec un deuxième firewall. Pour traiter cette demande une configuration des deux pare-feux en question basée sur les listes de contrôle d’accès aura lieu. Les informations nécessaires pour ouvrir l’accès souhaité et répondre à cette demande sont : *@ IP et masque firewall source *@ IP et masque firewall destination *@ IP et masque plateforme source
*@IP et masque plateforme destination *port destination
5. Conclusion
donc dans ce chapitre, nous avons présenté la notion du flux de travail (workflow) et l’architecture existante de l’entreprise d’accueil, ensuite nous avons mis l’accent sur l’importance d’utilisation des firewalls et des listes de contrôle d’accès pour une sécurité performante des réseaux .
Chapitre 3 : spécification des besoins et conception I.
Introduction
L’activité d’analyse et de conception permet de traduire les besoins fonctionnels et les contraintes issues du cahier des charges et de la spécification des exigences dans un langage plus professionnel et compréhensible par tous les individus intervenants dans la réalisation et l’utilisation de l’application .Dans ce chapitre,nous allons détailler l’activité de conception de notre site web et définir la méthodologie prise pour assurer sa lisibilité, tout en présentant les principaux diagrammes UML utilisés.
II.
Analyse des besoins
L’application envisagée doit satisfaire les besoins fonctionnels qui seront exécutés par le système et les besoins non fonctionnels qui perfectionnent la qualité logicielle du système.
1. Identification des acteurs
Dans notre cas il existe 3 types d’utilisateurs et le système qu’on peut l’identifié comme un quatrième acteur.
L’administrateur : il est responsable de la gestion des demandes d’accès
, la gestion des équipements (firewalls) et des plateformes.
Le super-admin : il a tous les privilèges d’administrateur mais aussi c’est lui qui gère les comptes des utilisateurs.
Le demandeur : c’est l’utilisateur qui traite(ajouter ,modifier et supprimer) les demandes d’accès aux plateformes
Le système : permet la configuration automatique des équipements
2. Les besoins fonctionnels
Les besoins fonctionnels ou besoin métiers représentent les actions que le système doit exécuter, il ne devient opérationnel que s’il les satisfaits.
Cette application doit couvrir principalement les besoins fonctionnels suivants :
S’authentifier : par crainte d’une mauvaise manipulation ou un accès non autorisé, la phase d’authentification sévère primordiale lors de lancement de l’application pour contrôler l’accès.
Ouverture d’accès automatique:
après avoir validé la demande par
l’admin une session Telnet s’ouvre pour configurer le firewall correspondant en ajoutant une Access List bien définie
a. Besoins de point de vue admin
Manager les demandes : les administrateurs peuvent consulter, valider ou rejeter les demandes d’accès, aussi ils peuvent discuter avec les demandeurs à propos du test d’accès et des clarifications des demandes correspondantes
Administrer les plateformes : ce module permet l’admin de consulter, modifier,ajouter et supprimer les plateformes qui sont stockés dans la base de données
Administrer les firewalls :similaire à la dernière fonction celle-ci permet de consulter, modifier,ajouter et supprimer les firewalls qui sont stockés dans la base de données.
b. Besoins de point de vue Super-admin
Le super-admin possède tous les privilèges de l’admin mais de plus il a la possibilité de :
Gérer les comptes : seul le super-admin a le droit d’ajout, de modification et de suppression des comptes utilisateurs.
c. Besoins de point de vue demandeur
Traiter les demandes : cette partie assure la saisie, la modification la suppression et le suivi d’état des demandes
3. Les besoins non fonctionnels
Ce sont des exigences qui ne concernent pas spécifiquement le comportement du système mais plutôt identifient des contraintes internes et externes du système. Les principaux besoins non fonctionnels de notre application ce résument dans les points suivants :
la compatibilité avec n'importe quel système d'exploitation.
La clarté du code pour permettre des futures évolutions ou améliorations
L’ergonomie : l’application offre une interface conviviale et facile à utiliser
La sécurité : l’application doit respecter la confidentialité des données
L’intégrité et la cohérence des données à chaque mise à jour et à chaque insertion.
III.
La conception : 1. Méthode de conception utilisée
En regardant les objets fixés pour la réalisation du projet, nous remarquons que nous sommes face à une application modulaire et qui devra rester ouverte pour les améliorations futures. De ce fait , il est très important d'utiliser un langage universel pour la modélisation afin de clarifier la conception et de faciliter les échanges entre les membres de l'équipe . Notre choix s'est porté sur le langage UML. D'un autre côté, notre méthodologie de travail devra suivreun certain nombre d'étape tout en gardant la possibilité de revenir sur une étape pour faire des modifications selon l'évolution des besoins. Elle devra également gérer les risques fonctionnelset techniques.
2. La notationUML« UnifiedModelingLanguage » : UML est un langage graphique qui permet de représenter, de communiquer les divers aspects d’un système d’information afin que les concepteurs puissent utiliser les mêmes concepts. UML est donc un métalangage car il fournit les éléments permettant de construire le modèle qui, lui, sera le langage du projet. Un modèle est une représentation abstraite et simplifiée, d’une entité (phénomène, processus, système, etc.) du monde réel en vue de le décrire, de l’expliquer ou de le prévoir. Donc, modéliser un système avant sa réalisation permet de mieux comprendre le fonctionnement du système.
Pour se faire nous devons utiliser un outil de modélisation parmi ceux disponibles sur le marché, c’est l'outil " Star UML ". Il permet d’offrir tous les concepts concernant la conception d’un outil depuis la création du diagramme du cas d’utilisation jusqu'à la génération des codes. UML comporte ainsi treize types des diagrammes représentants autant de vues distinctes pour représenter des concepts particuliers du système d’information. Ces diagrammes, d’une utilité variable selon les cas, ne sont pas nécessairement tous produits à l’occasion d’une modélisation.
Dans ce chapitre nous allons présenter seulement trois types de diagrammes Diagrammes de cas d’utilisation, diagrammes de classes et diagrammes de séquences.
3. Les diagrammes de cas d’utilisation
Le diagramme de cas d’utilisation représente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système. C’est le premier diagramme du modèle UML, où s’assure la relation entre l’utilisateur et les objets que le système met en œuvre.
a. Cas d’utilisation générale :
Figure 8 : cas d'utilisation générale
La figure 8 donne une représentation de diagramme de cas d’utilisation général, notre système peut être utilisé par trois utilisateurs principaux qui sont : le super-admin, l’admin et le demandeur ayant tous des privilèges différents. En effet, l’acteur « admin » a le droit de manager les demandes, administrer les firewalls et les plateformes alors que l’acteur « super-admin » possède tous ces derniers privilèges mais en ajoutant la gestion des comptes d’utilisateurs,le troisième acteur « demandeur » peut utiliser notre site web pour traiter ses demandes
b. Cas d’utilisation (s’authentifier)
Figure 9 : cas d'utilisation d'authentifier
Notons qu’avant de faire tous les cas d’utilisation il faut passer nécessairement par une authentification d’où la relation d’inclusion entre le cas (s’authentifier) et les autres cas d’utilisation.
Nom du cas : S’authentifier Acteur : tous les acteurs du système But : un utilisateur peut s’authentifier Pré condition : le système indique que le login et le mot de passe sont valides. Post condition : authentification validée et succès d’accès ou non Scénario :
Le système affiche l’interface d’authentification
L’utilisateur saisit son login et son mot de passe
Le système vérifie la validité des informations saisies, si les paramètres de l’utilisateur ne se conforment pas avec les paramètres déjà enregistrés dans la base de données, l’accès à l’interface sera refusé sinon le système donne l’accès à l’utilisateur en affiche leur propre espace.
Exception : un message d’erreur est affiché si l’une des informations est manquante ou mal indiquée
Tableau1 : le scénario nominal d'une authentification
f. Cas d’utilisation « traiter des demandes »
Diagramme
Nom du cas : ajouter les demandes Acteur : demandeur Figure 10: cas d'utilisation "traiter les demandes"
But : ajouter les demandes Pré condition : le demandeur s’authentifie Post condition : affichage de nouvelle demande
Scénario :
Le super-admin ou l’admin s’authentifie.
L’espace de ce dernier s’affiche.
Il ajoute la nouvelle demande.
Les informations sont stockées dans la base de données.
L’admin sera informé par des notifications,aussi l’état de la demande sera modifiée automatiquement en « nouvelle »
Exception : un message d’erreur est affiché si l’une des informations est manquante ou mal indiquée.
Description Tableau 2: cas d'utilisation "ajouter demande"
g. Cas d’utilisation « administrer les demandes » :
diagramme
Figure 11 : cas d'utilisation "administrer les demandes "
description
Nom du cas : administrer une demande
Acteur : administrateur ou super-admin
But : manager la demande
Pré condition : l’admin et le super-admin doivent s’authentifier
Post condition : la demande est exécutée
Scénario :
S’authentifier
La liste de toutes les demandes ajoutées par les demandeurs sera affichée avec des notifications
L’admin ou super admin choisit une demande non traitée (à l’état nouvelle) et la modifie (valider ou rejeter).
En cas de validation une configuration automatique aura lieu, en cas de refus le demandeur sera informé (l’état de la demande dans l’espace demandeur sera modifiée d’une manière automatique, aussi en cas des données manquantes ou mal indiqué l’admin peut envoyer une demande de clarification au demandeur .
Exception : un message d’erreur est affiché si l’une des informations est manquante ou mal indiquée. Tableau3: scénario de cas d'utilisation" administrer une demande
h. Cas d’utilisation « ouvrir l’accès »
Diagramme
Figure 12: cas d'utilisation "ouvrir l'accès"
description nom du cas : ouvrir l’accès Acteur : système But : permettre le demandeur d’accéder aux plateformes en configurant le firewall en question Pré condition : l’admin ou super-admin doit valider la demande Post condition : l’accès à la plateforme est possible Scénario :
L’admin valide la demande
Une session Telnet s’ouvre
Relever les données nécessaires de la base de données pour préparer les commandes à taper (configuration automatique du firewall)
Envoyer les commandes
Scénario : un message d’erreur est affiché si l’une des informations est manquante ou mal indiquée. tableau4: cas d'utilisation "ouvrir accès automatiquement"
i. Cas d’utilisation « gérer comptes »
diagramme :
Figure 13 : cas d'utilisation gérer comptes
Description Nom du cas : ajouter les comptes Acteur : super-admin But : administrer les comptes
Pré condition : le super-admin s’authentifie Post condition : affichage de nouveau compte
Scénario :
Le super-admin s’authentifie.
L’espace de ce dernier s’affiche.
Il ajoute le nouveau compte.
Les informations sont stockées dans la base de données.
Le nouveau compte s’affiche.
Exception : un message d’erreur est affiché si l’une des informations est manquante ou mal indiquée. figure14: ca d'utilisation ajout des comptes
4. Les diagrammes de séquences
Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le système selon un ordre chronologique. ils mettent l’accent sur les différents messages échangés entre eux selon un point de vue temporel .les diagrammes sont composés d’un acteur principal à gauche, un objet représentant le système en boite noir, les éventuels acteurs secondaire sollicités durant le scénario à droite du système
figure15 diagramme de séquences "authentification"
Après avoir ajouté une demande notre site web permet le demandeur de suivre la procédure de traitement de demande. L’admin qui prend cette dernière en charge peut exercer plusieurs actions selon les informations entrées. Donc soit il la rejette en envoyant le motif de ce rejet au demandeur, soit il la valide et donc une configuration automatique aura lieu ou bien notre système lui donne la main pour demander des clarifications ou des résultats des tests d’accès.
figure16 : diagramme de séquences "configuration automatique
le processus de la configuration automatique des firewalls peut être résumé dans ce diagramme de séquence en commençant par la récupération des données puis la connexion au firewall à travers une session Telnet et enfin l’injection de scripts de la configuration
figure17: traitement des demandes
5. Le diagramme de classes :
Un diagramme de classes est une collection d'éléments de modélisations statiques (classes, paquetages...), qui montre la structure d'un modèle. Les classes sont liées entre elles par des associations. Une association permet d’exprimer une connexion sémantique bidirectionnelle entre deux classes.
Figure 18 : diagramme de classes
Le diagramme de classes représenté dans la figure14 suivante décrit les associations entre les classes et ceci afin de déterminer les dépendances entre les différentes classes (demande, firewall, messagerie,plateforme et utilisateur).
Conclusion
Dans ce chapitre, nous avons identifié les diagrammes de cas d’utilisation, de séquences et de classes pour faciliter la réalisation de notre prototype. Dans le chapitre suivant nous montrerons les étapes, plus en détails, que nous avons suivies pour implémenter et réaliser notre solution
Chapitre 4 : Réalisation I.
Introduction
Ce chapitre constitue le dernier volet de ce rapport, il traite la phase qui a pour objectif la réalisation de notre projet. Nous commençons, tout d’abord, par la présentation de l’environnement matériel et logiciel utilisé lors du développement de l’application. Nous expliquerons nos choix techniques des langages de programmation et des outils utilisés, et nous présenterons à la fin les résultats obtenus, approuvés par quelques imprimes écran.
II.
Environnement de travail
L’environnement de travail est constitué par deux parties nommées environnement matériel et environnement logiciel.
1. Environnement matériel
Le développement de l’environnement matériel est caractérisé par
* Système d’exploitation : Windows 7
* CPU : Pentium M, 1.6 GHz
2. Environnement logiciel
L’environnement logiciel consiste les composants suivants :
Sublime Text : Éditeur de texte qui se démarque des autres par son interface et ses fonctionnalités. L’application supporte la coloration syntaxique selon les langages de programmation utilisés. ildispose d’une interface pratique qui comprend un panel avec l’arborescence des dossiers des différentes sources éditées. Ensuite, on retrouve la gestion d’onglets pour un accès rapide aux fichiers en cours d’édition. Enfin, Sublime Text offre des fonctionnalités d’édition avancées telles que la modification de variables instantanées ou encore l’affichage en miniature du code sur un volet à droite du texte édité
Wampserver : Outil de déploiement local ou en ligne pour le développement de sites Internet dynamiques. Au sein de l'application, on retrouve Apache HTTP Server en tant que serveur HTTP, PHP pour le langage de script, MySQL pour le système de gestion des bases de données (SGBD) ainsi que l'application Web phpMyAdmin pour la gestion des SGBD MySQL. Pour faciliter la création et le déploiement de
sitesWampServer intègre également des outils, tels que XDebug, XDC, SQLBuddy ou encore webGrind. Le logiciel se loge discrètement dans la zone de notification de Windows et informe l'utilisateur de la mise hors ligne ou en ligne du site. Enfin, un simple clic sur cette icône ouvre un menu contextuel capable d'arrêter tous les services associés àWampServer, d'activer la mise en ligne et d'accéder aux sites hébergés localement, au dossier racine des sites ainsi qu'à la configuration des bases de données.
GNS3
logiciel open source qui permet d'établir avec précision la topologie d'un système d'exploitation réseau pour des fonctions avancées de routage (JunOS, par exemple), de pare-feu ou d'hôte sans malmener vos équipements, aussi il permet de modifier et d'ajuster les attributs de chaque élément associé au réseau afin que l'ensemble corresponde au mieux aux prérequis imposés. Par ailleurs, il est possible de tester la configuration du réseau à chaque étape importante à l'aide d'un module de simulation
III.
Implémentation 1.
Choix de l’architecture utilisée : le pattern MVC
L’objectif global du MVC « Modèle, Vue et Contrôleur » est de séparer les aspects traitement, données et présentation,et de définir les interactions entre ces trois aspects. En simplifiant, les donnéessont gérées par le modèle, la présentation par la vue, les traitements par des actionset l’ensemble est coordonné par les contrôleurs. La figure 15,donne un aperçu de l’architecture obtenue, en nous plaçant d’emblée dans le cadre spécifique d’une application web.
1. Choix de langage de programmation : php La figure montre une application constituée de plusieurs contrôleurs, chacun constitué d’un ensemble d’actions. La première caractéristique de cette organisation est donc de structurer hiérarchiquement une application. Dans les cas simples, un seul contrôleur suffit, contenant l’ensemble des actions qui constituent l’application. Pour de très larges applications, on peut envisager d’ajouter un niveau, les modules, qui regroupent plusieurs contrôleurs. Chaque requête HTTP est prise en charge par une action dans un contrôleur. Il existe un contrôleur frontal qui analyse une requête HTTP, détermine cette action et se charge de l’exécuter en lui passant les paramètres HTTP. Au niveau du déroulement d’une action, les deux autres composants, la vue et le modèle, entrent en jeu. Dans le schéma de la figure 15, l’action A1 s’adresse au modèle pour récupérer des données et peut-être déclencher des traitements spécifiques à ces données. L’action passe ensuite les informations à présenter à la vue qui se charge de créer l’affichage. Concrètement, cette présentation est le plus souvent un document HTML qui constitue la réponse HTTP. 2.
Choix de langage de programmation« PHP » Comme dans beaucoup d’autres cas, la mise à disposition du langage sur l’Internet est à l’origine de son développement par d’autres utilisateurs qui y ont vu un outil propre à satisfaire leurs besoins. Après plusieurs évolutions importantes, PHP en est à sa version 5.4.3,celle que nous utilisons. PHP – le plus souvent associé à MySQL – est à l’heure actuelle le plus répandu des langages de programmations pour sites web. PHP est un langage de programmation, très proche syntaxiquement du langage C,destiné à être intégré dans des pages HTML. Contrairement à d’autres langages, aussi PHP est principalement dédié à la production de pages HTML générées dynamiquement.
Remarque : notre code contient des scripts java 3.
Choix de Système de Gestion de Bases de Données « MYSQL »
MySQL est un Système de Gestion de Bases de Données (SGBD) qui gère les fichiers constituant une base, prend en charge les fonctionnalités de protection et de sécurité et fournit un ensemble d’interfaces de programmation (dont une avec PHP) facilitant l’accès aux données. Aussi il consiste en un ensemble de programmes chargés de gérer une ou plusieurs bases de données, et qui fonctionnent selon une architecture client/serveur.
4. Présentation des interfaces
Dans cette section nous allons décrie le site web crée en illustrant la description par des imprimes écrans des interfaces principales du système .
Interface d’authentification
figure20 : interface d'authentification
Lors de l’ouverture de l’application, une page d’authentification apparait automatiquement. L’administrateur, le super-admin ainsi que le demandeur doivent entrer correctement leurs identifiants et leurs mots de passe puis ils doivent valider en cliquant sur le bouton « connecter » pour pouvoir accéder à l’application.
Espace demandeur Profile
Une fois l’opération d’authentification est terminée avec succès le profiled’utilisateur s’affiche avec le menu qui permet d’accéder à tous les pages web du site .la figure 17 ci-dessus représente le profile d’un demandeur.
Gérer demandes
En tapant sur le bouton gérer demandes le demandeur peut consulter l’état de ses demandes déjà introduites ,aussi notre application lui donne la main pour supprimer modifier ou ajouter une nouvelle demande
Ajout des demandes
figure23: ajout des demandes
Après avoir taper sur le bouton ajouter demande le demandeur sera dirigé vers l’interface ci-dessus pour choisir et saisir les informations nécessaires .
Modification de demande
figure24: modification des demandes
En tapant sur l’icône de modification l’interface précédente s’affiche et le demandeur peut changer les cordonnées de ses demandes.
Test et clarification
Espace super –admin Profile
figure25: la fenêtre de discussion
Après avoir consulter la demande par l’administrateur, ce dernier peut demander des clarification ou bien des tests .donc pour faciliter la communication entre les administrateurs et les demandeurs notre site web offre une fenêtre de discussion « chat ». L’accès à cette interface peut être effectuer en tapant sur le bouton test et clarification dans le menu ou en cliquant sur l’icône de notification
figure26 : profile super-admin
La figure 22 présente l’espace du super admin là ou ses coordonnées et ses privilèges s’affichent aussi que les nouveaux messages des demandeurs apparaissent sous forme de notification . Gestion des comptes
figure27: gestion des comptes
Seul le super -admin a le droit de gérer les comptes. En tapant sur le bouton gérer comptes la liste des utilisateurs avec leurs coordonnées s’affiche. et le système donne la main au super-admin pour supprimer ,modifier et ajouter des nouveaux comptes
Ajout des comptes
Modification des comptes
figure28 : ajout des comptes
Après avoir taper sur le bouton ajouter compte le super-admin sera dirigé vers l’interface ci-dessus pour choisir et saisir les informations nécessaires .
Modification des comptes
En tapant sur l’icône de modification l’interface précédente s’affiche et le super-admin peut changer les cordonnées des utilisateurs.
Gestion des demandes
figure29: gestion des demandes
Depuis cette interface, le super admin pourra visualiser les demandes, pour pouvoir après exercer une action En tapant sur le bouton valider une ouverture d’accès (configuration du firewall) aura lieu automatiquement en tapant sur rejeter le super admin doit saisir le motif de rejet qui sera envoyé vers le demandeur correspondant et en tapant sur tester ou clarifier cet utilisateur sera dirigé vers la fenêtre de discussion.
Gestion des équipements (firewalls)
Figure 30 : gestion des équipements
En tapant sur le bouton gérer équipements dans le menu, le super-admin peut
En tapant sur le bouton gérer firewalls dans le menu, le super-admin peut visualiser les firewalls,aussi notre application lui donne la main pour supprimer modifier ou ajouter un nouveau équipement.
Ajout des firewalls
Après avoir taper sur le bouton ajouter firewall le super-admin sera dirigé vers l’interface ci-dessus pour saisir les informations nécessaires.
Modification des firewalls
Figure 31: modification des équipements
En tapant sur l’icône de modification l’interface correspondante s’affiche et le superadmin peut changer les cordonnées des firewalls.
Gestion des plateformes
Figure 32: gestion des plateformes
En tapant sur le bouton gérer plateformes dans le menu, le super-admin peut visualiser les plateformes existantes, aussi notre application lui donne la main pour supprimer modifier ou ajouter une nouvelle plateforme.
Ajout des plateformes
Ajout des plateformes
Figure 33: ajout des plateformes
Après avoir taper sur le bouton ajouter plateforme dans le menu ,le super-admin sera dirigé vers l’interface ci-dessus pour saisir les informations nécessaires.
Modification des plateformes
Figure 34: modification des plateformes
L’icône de modification dans l’interface de gestion des plateformes dirige le super admin vers l’interface précédente à fin de changer les cordonnées déjà introduites.
Remarque : les utilisateurs de ce site web sont les demandeurs les super-admin et les administrateurs qui ont les mêmes privilèges des super-admin sauf la gestion des comptes
j. L’ouverture d’accès (La Configuration automatique des firewalls)
Pour ouvrir un accèsà une plateforme destination et répondre les différentes demandes nous avons développé un code PHP basé sur la notion du socket permettant de configurer les firewalls en ajoutant des access-list .
1. Définition d’une socket Une socket est un identifiant unique représentant une adresse sur le réseau. Des processus peuvent s'y connecter pour y envoyer des données ou pour en recevoir. Les processus devront adopter un protocole de communication afin d'assurer un échange de données cohérent. L'adresse de la socket est spécifiée par le nom de l'hôte sur lequel on la crée et le numéro de port. Dans ce contexte, le serveur est le processus qui écoute toute nouvelle connexion de client et effectue la récupération des données. Le client est donc le processus qui va tenter de se connecter au serveur et de lui envoyer des données. Concernant notre application, le serveur et le client sont des scripts PHP mais en réalité, grâce aux sockets, on peut faire communiquer des langages totalement différents pour peu qu'ils adoptent le même protocole de communication
2. Présentation des étapes de la solution proposée
Suite à la validation d’une demande par l’administrateur notre application prend en charge les taches suivantes : •
Identifier les firewalls en question.
•
Se connecter à un firewall à travers l’ouverture d’une session Telnet (en utilisant login et mot de passe déjà stockés dans la base de données)
•
extraire les informations nécessaires de la base de données tels que l’@source, l’@ destination et le port destination
•
Exécuter les commandes du script de configuration *configure terminal
=> pour passer en mode de configuration *ip access-list extended PLATFORME-ACCES =>pourcréer un groupe d’acces-list nommé PLATFORME-ACCES *permit tcp host source_ip host destination_ip." ".destination_port=>ajouter l’access-list en question *wr =>pourenregistrer la configuration
Enregistrer les modifications dans la base de données.
Figure35: présentation des étapes de la solution proposée
eq
Le diagramme ci-dessus illustre les opérations effectuées par notre système afin de configurer les accès demandés.
3. Test de la configuration Pour tester la configuration déjà implémentée nous avons utilisé le GNS 3 pour maquetter un réseau. GNS3 pourra servir à reproduire
une architecture physique ou logique complète avant la mise en production.C’est de l’émulation, donc nous avons tous les protocoles
disponibles
en
fonction
de
l’ios
ajouté
contrairement au logiciel Cisco Packet Tracer ou certains protocoles ne sont pas implémentés (HSRP, VRF …). Architecture du test
figure36 : architecture du test
La figure 32 ci-dessus représente une architecture proposée pour tester la configuration automatique du firewall. Cette topologie comporte l’ACCESS-
Plat et c’est la machine ou notre application est installée liée par le firewall qui sécurise une plateforme destination. Le PC-DEMANDEUR (plateforme source) représente la machine avec laquelle un demandeur souhaite accéder au
PLATEFORME–A
(plateforme
destination).
l’ACCESS-PLAT,
PC-
DEMANDEUR et PLATEFORME-A sont des machines virtuelles.
Remarque : avant l’injection du script de configuration (ajout d’access-list) on doit préparer le firewall en tapant les commandes suivantes :
préparation de user name et le mot de passe
figure37 : préparation de user name et le mot de passe
configuration des interfaces
figure38: configuration des interfaces ajout des access-list par défaut
figure 39 : les access-list par défaut
en tapant la commande show access-list avant l’exécution de notre code seulement ces 2 access-list par défaut apparaissent résultat dés que l’admin valide la demande La commande « show accesslist » nous permet de visualiser les listes enregistrées au niveau de pare-feu. Donc, comme il est affiché dans la figure ci-dessous, la listeencadrée c’est la liste créée par notre application.
figure40: Capture après la configuration de l'accès
dés que l’administrateur valide la demande
conclusion
Dans ce chapitre, nous avons présenté l’environnement de développement avec le quel nous avons réalisé notre projet. Aussi, nous avons détaillé les étapes de notre travail en illustrant quelques interfaces et des imprimés d’écrans.