Etude Et Mise en Place D'une S - Mohamed FARTITCHOU - 2743 PDF
Etude Et Mise en Place D'une S - Mohamed FARTITCHOU - 2743 PDF
Etude Et Mise en Place D'une S - Mohamed FARTITCHOU - 2743 PDF
Réalisé par :
Mohamed FArtitchou
Je dédie ce travail à:
A mes très chers parents, qui ont toujours été là pour moi, Qui
objectifs.
À mes Amies.
à tous ceux que j’aime et à toutes les personnes qui m’ont aidé
intelligents et Réseaux ».
1
Remerciements
modeste travail.
2
Résumé
Le but de ce projet de fin d'études est de concevoir une solution cloud pour les écoles
privées. Nous proposons de mettre en place un système assurant la qualité des services
demandés pour les écoles privée.
Le système proposé est générique, flexible, réutilisable et adaptable aux exigences des
clients. Cette solution va permettre à nos clients de réduire le coût des investissements
informatique et de gestion de l'infrastructure, et de bénéficier d’une solution simple
d’utilisation et avec des mises à jour automatiques et en temps réel.
3
Abstract
The purpose of this project graduation is to design a cloud solution for private schools.
We propose to set up a system ensuring the quality of services required for private schools.
The objective of this work is precisely to deepen our knowledge and experience on the
subject of cloud computing, and to its state of the art, in order to choose the best solution
available at present.
4
Sommaire
Dédicace .................................................................................................................................................................................1
Remerciements ..................................................................................................................................................................2
Résumé...................................................................................................................................................................................3
5
4.2.4 CloudStack ..................................................................................................................... 31
4.2.5 Etude comparative ........................................................................................................ 32
4.3 Les serveurs d’application JEE ............................................................................................. 32
4.3.1 Apache Tomcat .............................................................................................................. 33
4.3.2 GlassFish ........................................................................................................................ 33
4.3.3 JBOSS ............................................................................................................................. 33
4.3.4 Etude comparative ........................................................................................................ 33
4.4 Les systèmes de gestion de base de données ......................................................................... 34
4.4.1 MySQL............................................................................................................................ 34
4.4.2 PostgreSQL .................................................................................................................... 34
4.4.3 HSQLDB.......................................................................................................................... 35
4.4.4 Etude comparative ........................................................................................................ 35
4.5 Les logiciels de supervision informatique ............................................................................. 35
4.5.1 Nagios ............................................................................................................................ 36
4.5.2 Zenoss ............................................................................................................................ 36
4.5.3 Zabbix ............................................................................................................................ 36
4.5.4 Etude comparative ........................................................................................................ 36
4.6 Les logiciels de sauvegarde informatique ............................................................................. 37
4.6.1 Les différents types de sauvegarde ............................................................................... 37
4.6.2 Etude comparative ........................................................................................................ 37
4.7 Les firewalls .......................................................................................................................... 38
4.7.1 Firewall Pfsense ............................................................................................................. 39
4.7.2 Firewall IPCop ................................................................................................................ 39
4.7.3 Firewall Smoothwall ...................................................................................................... 39
4.7.4 Comparaison.................................................................................................................. 40
4.8 Conclusion ............................................................................................................................. 40
Architecture Technique et Logicielle ......................................................................................................................... 41
5.1 Architecture technique........................................................................................................... 41
5.1.1 Architecture du réseau .................................................................................................. 41
5.1.2 Architecture du système ............................................................................................... 51
5.2 Architecture logicielle............................................................................................................ 52
5.2.1 Pattern de conception ................................................................................................... 52
5.2.2 Pattern de couche ......................................................................................................... 52
5.2.3 Frameworks et base de données utilisés ...................................................................... 52
6
5.2.4 Les outils utilisés ............................................................................................................ 53
Analyse Et Conception .................................................................................................................................................... 54
6.1 Phase d’inception .................................................................................................................. 54
6.1.1 Diagramme de cas d’utilisation ..................................................................................... 55
6.2 Phase d’analyse ..................................................................................................................... 57
6.2.1 Diagramme de séquence ............................................................................................... 57
6.2.2 Diagramme de classes d’analyse ................................................................................... 60
Implémentation .................................................................................................................................................................. 62
7.1 Mécanismes de la sécurité ..................................................................................................... 62
7.1.1 Java Simplified Encryption(Jasypt) ................................................................................ 62
7.1.2 HyperText Transfer Protocol Secure(HTTPS) ................................................................. 63
7.2 Application web de BusinessaaS ........................................................................................... 64
7.2.1 Front office de BusinessaaS ........................................................................................... 64
7.2.2 Back office de BusinessaaS ............................................................................................ 71
7.3 Application web des écoles privées (EcoleCloud) ................................................................ 73
7.3.1 Front office de l’application EcoleCloud........................................................................ 73
7.3.2 Back office de l’application EcoleCloud ......................................................................... 77
Annexe 1. Serveur Cloud ............................................................................................................................................... 82
Annexe 2. Serveur GlassFish ........................................................................................................................................ 88
Annexe 3. Cluster de Serveur GlassFish ................................................................................................................... 90
Annexe 4.Serveur MySQL cluster............................................................................................................................... 94
Annexe 5.Serveur Nagios ............................................................................................................................................... 98
Annexe 6.Serveur Backup(Bacula) .......................................................................................................................... 105
Annexe 7.Firewall (PfSense)...................................................................................................................................... 113
Annexe 8. SNORT......................................................................................................................................................... 118
7
Figure 6 : Évolution de l’informatique jusqu’au cloud computing................................................... 20
Figure 7 : Les couches du cloud computing ....................................................................................... 21
Figure 8 : Type de Cloud Computing .................................................................................................. 24
Figure 9 : Nuage du cloud computing................................................................................................. 25
Figure 10 : étapes de déploiement ..................................................................................................... 25
Figure 11 : Cluster Cloud Comuting ....................................................................................................... 26
Figure 12 : logo open stack ................................................................................................................. 29
Figure 13 : Logo Eucalyptus ................................................................................................................ 30
Figure 14 : logo OpenNebula............................................................................................................... 31
Figure 15 : logo CloudStack ................................................................................................................. 31
Figure 16 : Représentation d’un firewall ........................................................................................... 38
Figure 17 : Architecture réseau du Cloud .......................................................................................... 42
Figure 18 : système Openstack ........................................................................................................... 42
Figure 19 : Cluster GlassFish............................................................................................................... 44
Figure 20 : Architecture de MySQL Cluster ....................................................................................... 45
Figure 21 : La topologie du serveur cloud ......................................................................................... 45
Figure 22 : Dialogue entre le client et le serveur DHCP .................................................................... 46
Figure 23 : La configuration réseau du firewall ................................................................................ 49
Figure 24 : Les règles de l’interface LAN............................................................................................ 49
Figure 25 : Les règles de l’interface WAN .......................................................................................... 50
Figure 26 : Les règles de l’interface DMZ ........................................................................................... 50
Figure 27 : Exemple de machine malveillante bloqué par SNORT .................................................. 51
Figure 28 : Architecture du système .................................................................................................. 52
Figure 29 : Diagramme de cas d’utilisation de société BusinessaaS ................................................ 55
Figure 30 : Diagramme de cas d’utilisation de l’école....................................................................... 56
Figure 31 : Diagramme de classe d’analyse de BusinessaaS ............................................................ 60
Figure 32 : Diagramme de classe d’analyse des écoles ..................................................................... 61
Figure 33 : Transfert de données non sécurisé, pas de certificat SSL ............................................. 63
Figure 34 : Transfert de données sécurisé par certificat SSL : ......................................................... 63
Figure 35 : Page d’accueil de BusinessaaS ......................................................................................... 64
Figure 36 : Page des modules de BusinessaaS................................................................................... 65
Figure 37 : Formulaire de création le compte d’école ...................................................................... 66
Figure 38 : Page d‘activation du compte ............................................................................................ 66
Figure 39 : Page d’authentification des écoles .................................................................................. 67
Figure 40 : Page de profil d’une école ................................................................................................ 68
Figure 41 : Page de choix des modules .............................................................................................. 69
Figure 42 : Page de confirmation de l’abonnement .......................................................................... 70
Figure 43 : Page de paiement PayPal ................................................................................................. 70
Figure 44 : Espace de connexion de l’administrateur de BusinessaaS ............................................ 71
Figure 45 : Page d’accueil administrateur de BusinessaaS .............................................................. 71
Figure 46 : Page de gestions de modules de BusinessaaS ................................................................ 72
Figure 47 : Page de lister des clients de BusinessaaS ....................................................................... 72
Figure 49 : La page de choix le nom d’école ...................................................................................... 73
Figure 50 : Page d’authentification des utilisateurs de l’application des écoles ............................ 74
Figure 51 : La page d’accueil de l’application EcoleCloud ................................................................ 74
8
Figure 52: L’espace élève de l’application des écoles ....................................................................... 75
Figure 53 : L’espace enseignant de l’application des écoles............................................................. 76
Figure 54 : La page de surveillance de l'application des écoles ....................................................... 77
Figure 55 : Espace de connexion de l’administrateur de CloudEcole .............................................. 77
Figure 56 : Page de gestion de la page d’accueil de l’application des écoles................................... 78
Figure 57 : Page de gestion du module de gestion de l’application EcoleCloud ............................. 79
Figure 58 : Espace de gestion des enseignants d’application des écoles ........................................ 79
Figure 59 : Page de configuration des caméras IP des salles ........................................................... 80
Figure 60 : Page de gestion du module de formation à distance d’EcoleCloud .............................. 80
Figure 61 : Interface web d'authentification Openstack Juno .......................................................... 83
Figure 62 : Tableau de bord d’Openstack Juno.................................................................................. 83
Figure 63 : Création des réseaux sous openstack ............................................................................. 84
Figure 64 : Création des routeurs sous openstack ............................................................................ 84
Figure 65 : Ajout des interfaces réseaux à un routeur sous openstack ........................................... 84
Figure 66 : Gestion des règles de la sécurité sous openstack ........................................................... 85
Figure 67 : Gestion les paires de clés sous openstack....................................................................... 85
Figure 68 : Gestion les types d’instance sous openstack .................................................................. 85
Figure 69 : Création des images sous openstack ............................................................................... 86
Figure 70 : Lancement une instance sous openstack ....................................................................... 87
Figure 71 : Topologie réseau de serveur cloud ................................................................................. 87
Figure 72 : La page d’authentification de GlassFish .......................................................................... 89
Figure 73 : L’interface d’administration de serveur GlassFish ........................................................ 89
Figure 74 : Création d'un nouveau nœud de cluster en utilisant la console d'administration ...... 90
Figure 75 : Création d'un nouveau cluster en utilisant la console d'administration...................... 91
Figure 76 : Interface pour la gestion des clusters dans la console d'administration ..................... 92
Figure 77 : Exemple de dépliement d’une application web ............................................................. 92
Figure 78 : les adresses d’une application déployée ......................................................................... 93
Figure 79 : Interface web de Nagios...................................................................................................... 99
Figure 80 : Le fonctionnement de NRPE ............................................................................................ 99
Figure 81 : La fenêtre de l’état des services de la machine linux ................................................... 103
Figure 82 : La fenêtre de l’état de service PING de routeur ........................................................... 104
Figure 83 : La fenêtre de l’état de service PING de switch ............................................................. 104
Figure 84 : Configuration module de Bacula ................................................................................... 109
Figure 85 : Tableau de bord de Bacula ............................................................................................. 109
Figure 86 : création Backup client .................................................................................................... 110
Figure 87:Création la partie à sauvegarder ..................................................................................... 111
Figure 88 : Définir le calendrier de sauvegarde .............................................................................. 111
Figure 89 : Création un travail de sauvegarde ................................................................................ 111
Figure 90 : Démarrage le travail de sauvegarde ............................................................................. 112
Figure 91 : Restauration .................................................................................................................... 112
Figure 92 : La fenêtre d’authentification PfSense ........................................................................... 116
Figure 93 : La fenêtre de user manager PfSense ............................................................................. 117
Figure 94 : La fenêtre de configuration des interfaces de PfSense ................................................ 117
9
Liste des tableaux
Tableau 1 : Les différents éléments matériels et logiciels du centre Informatique ....................... 14
Tableau 2 : La liste des tâches............................................................................................................. 18
Tableau 3 : Avantage et Inconvénient des services cloud ................................................................ 23
Tableau 4 : Etude comparative des systèmes de gestion de l'infrastructure du cloud .................. 32
Tableau 5 : Etude comparative des serveurs d'application JEE ....................................................... 34
Tableau 6 : Etude comparative des systèmes de gestion de base de données ............................... 35
Tableau 7 : Etude comparative des logiciels de supervision informatique .................................... 36
Tableau 8 : Etude comparative des logiciels de sauvegarde ............................................................ 38
Tableau 9 : Etude comparative des firewalls ..................................................................................... 40
Tableau 10 : Framework java et base de données ............................................................................ 53
Glossaire
10
Introduction générale
L'intérêt principal de cette stratégie pour les entreprises réside dans le fait qu'elles ne
paient que pour les services effectivement consommées.
Le but de ce projet de fin d'études est de concevoir une solution cloud pour les écoles
privées. Nous proposons de mettre en place un système assurant la qualité des services
demandés pour les écoles privée. Cette solution est générique, flexible, réutilisable et
adaptable aux exigences des clients actuels et des clients potentiels.
11
Chapitre 1 Présentation d’organisme d’accueil
1
Présentation d’organisme d’accueil
12
Chapitre 1 Présentation d’organisme d’accueil
Développement
Testing
L’entreprise offre un service de test des logiciels crées par les développeurs, afin
d’assurer leur fiabilité et le bon fonctionnement.
Emagister
C’est l’un des services les plus importants, au sein de la société qui a pour but de
collecter des informations sur les formations dispensées dans les universités du monde, dans
diverses spécialités.
Panda
Cast-info propose à sa clientèle un service de recommandation de l’antivirus PANDA.
Ce service présente en ligne des solutions relatives à la configuration, à l’installation et à la
mise à jour des produits.
13
Chapitre 1 Présentation d’organisme d’accueil
Il est à signaler que le réseau local de CASTINFO est connecté à la Direction Générale via 4
Modem ‘NTU KEYMILE’ (ligne spécialisée LLPLUS à 2 Mb/S). « Les liaisons louées
permettent aux grandes entreprises de raccorder leurs réseaux internes par le biais d’accès
permanents, pour une utilisation intensive du réseau Internet. »
14
Chapitre 1 Présentation d’organisme d’accueil
15
Chapitre 3 : Etat de l’art sur le cloud computing
2
Présentation et planification du projet de stage
2.1 Contexte
Toutes les écoles se trouveraient ainsi en compétition et obligées de veiller à la qualité
de leurs services pour garder leur « clientèle » et pour attirer de nouveaux clients.
Les écoles ne doivent plus seulement offrir un enseignement de qualité. Elles doivent
innover et offrir des programmes variés et attrayants. Pour ce faire, la majorité de ces écoles
s’orientent vers l’informatisation de leurs services.
2.2 Problématique
Les entreprises à des services communs comme les écoles privées ont les mêmes
besoins et poursuivent la même finalité, nous proposons de mettre en place un système
assurant la qualité des services demandés. Le système proposé est générique, flexible,
réutilisable et adaptable aux exigences des clients actuels et des clients potentiels. La solution
qui s’impose est un Software as a Service déployé dans notre cloud public payant.
16
Chapitre 3 : Etat de l’art sur le cloud computing
Figure 4 :Cycle en V
17
Chapitre 3 : Etat de l’art sur le cloud computing
18
Chapitre 3 : Etat de l’art sur le cloud computing
3
Etat de l’art sur Cloud Computing
3.1 Historique
Techniquement, le concept de cloud computing est loin d'être nouveau, il est même
présent depuis des décennies. On en trouve les premières traces dans les années 1960, quand
John McCarty affirmait que cette puissance de traitement informatique serait accessible au
public dans le futur. Le terme en lui-même est apparu plus couramment aux alentours de la fin
du XXe siècle et il semblerait que Amazon.com soit l'un des premiers à avoir assemble des
data centres et fournit des accès à des clients. Les entreprises comme IBM et Google ainsi que
plusieurs universités ont seulement commencé à s'y intéresser sérieusement aux alentours de
2008, quand le cloud computing est devenu un concept ‘’ à la mode’’.
Réalisant ce qu'ils pourraient faire de toute cette puissance, de nombreuses
compagnies ont ensuite commence à montrer un certain intérêt à échanger leurs anciennes
infrastructures et applications internes contre ce que l'on appelle les ‘’ pay per-use service ‘’
(services payes a l'utilisation). [1].
19
Chapitre 3 : Etat de l’art sur le cloud computing
20
Chapitre 3 : Etat de l’art sur le cloud computing
3.2 Définition
Le cloud computing se traduit littéralement par "informatique dans les nuages", faisant
référence aux technologies d’internet qui est souvent représenté schématiquement par nuage.
On peut considérer de manière générale, lorsque l'on parle de cloud computing, qu'il s'agit de
rendre accessible et exploitable des données et des applications à travers un réseau. Ce terme
désigne à la fois les applications en tant que services sur Internet et le matériel et logiciels qui
permettent de fournir ces services [3].
A ce jour, il n’existe pas de définition officielle ou standardisée du Cloud Computing.
Nous allons donc nous appuyer sur les définitions du NIST (National Institute of Standards
and Technology) :
21
Chapitre 3 : Etat de l’art sur le cloud computing
Plateforme sur laquelle des développeurs ou éditeurs de logiciels peuvent déployer des
applications. Le PaaS dispose d'environnements spécialisés au développement comprenant les
langages, les outils et les modules nécessaires.
Le consommateur a le contrôle des applications et peut ajouter ses propres outils. La
situation est analogue à celle de l’hébergement web où le consommateur loue l'exploitation
de serveurs sur lesquels les outils nécessaires sont préalablement placés et contrôlés par le
fournisseur. La différence étant que les systèmes sont mutualisés et offrent une grande
élasticité - capacité de s'adapter automatiquement à la demande, alors que dans une offre
classique d'hébergement web l'adaptation fait suite à une demande formelle du consommateur.
[4]
22
Chapitre 3 : Etat de l’art sur le cloud computing
Les cibles sont les développeurs. Google App Engine est le principal acteur proposant ce
genre d'infrastructures.
Avantage : plus d'installation, plus de mise à jour (elles sont continues chez le
fournisseur), plus de migration de données etc. Paiement à l'usage. Test de nouveaux
logiciels avec facilité.
Inconvénient: limitation par définition au logiciel proposé. Pas de contrôle sur lestock
age et la sécurisation des données associées au logiciel. Réactivité des applications
Web pas toujours idéale.
Avantage Inconvénient
SaaS Pas d’installation logiciel limité
Plus de licence sécurité
Migration dépendance des prestataires
23
Chapitre 3 : Etat de l’art sur le cloud computing
24
Chapitre 3 : Etat de l’art sur le cloud computing
nombre de ressources. Par exemple de l'espace disque, de la mémoire vive, ou encore du CPU
(processeur).
Cette infrastructure, en allant plus dans le détail, est constituée de clusters et de nœuds.
Les clusters servent à gérer l'interface entre les nœuds et l'utilisateur. Ainsi, lorsqu'on déploie
une machine virtuelle sur un cluster, le cluster va créer une instance, qui se matérialisera par
l'utilisation des ressources dans les nœuds. Voici un schéma UML récapitulatif qui décrit les
étapes de déploiement d'une image.
L'utilisateur final disposera enfin d'un accès SSH sur la machine virtuelle. Pour lui,
l'utilisation des ressources sera transparente. Ce sont des administrateurs réseaux qui lui
délivreront ses ressources en fonction de ses besoins.
25
Chapitre 3 : Etat de l’art sur le cloud computing
Avantages
Les avantages du cloud computing sont nombreux. Nous allons en citer quelques-uns:
Incontinents
Il existe quelques inconvénients au cloud computing :
La bande passante peut faire exploser votre budget : La bande passante qui serait
nécessaire pour mettre cela dans le Cloud est gigantesque, et les coûts seraient
tellement importants qu'il est plus avantageux d'acheter le stockage nous-mêmes plutôt
que de payer quelqu'un d'autre pour s'en charger.
Les performances des applications peuvent être amoindries : Un Cloud public
n'améliorera définitivement pas les performances des applications.
26
Chapitre 3 : Etat de l’art sur le cloud computing
La fiabilité du Cloud : Un grand risque lorsqu'on met une application qui donne des
avantages compétitifs ou qui contient des informations clients dans le Cloud,
Taille de l'entreprise : Si votre entreprise est grande alors vos ressources sont grandes,
ce qui inclut une grande consommation du cloud. Vous trouverez peut-être plus
d'intérêt à mettre au point votre propre Cloud plutôt que d'en utiliser un externalisé.
Les gains sont bien plus importants quand on passe d'une petite consommation de
ressources à une consommation plus importante.
3.7 Conclusion
De l'informatique utilitaire des années 60, au service bureau des années 70, tout en
passant par l'émergence d'Internet et des avancées de virtualisation, le Cloud Computing
comme les chiffres nous le confirme, est promis à un bel avenir. Il reste encore beaucoup à
faire notamment concernant la sécurité ou l'interopérabilité, mais aussi la mise en place de
normes et de standards, qui permettront, comme c'était le cas lors du développement
d’Internet, de constituer un ensemble de systèmes hétérogènes.
Au cours de cette partie, nous avons fourni une base théorique sur le Cloud Comuting,
en présentant ses types, ses service (Iaas, Pass, Saas) .ses avantages et inconvénients, afin
d’appliquer ses concepts, spécifiquement le service Saas à notre contexte.
27
Chapitre 4 : Etudes Comparatives
4
Etudes Comparatives
4.1 Introduction
Le Cloud Computing représente un nouveau défi dans le monde informatique,
Plusieurs solutions sont proposées : des solutions propriétaires et des solutions open source.
Parmi les solutions propriétaires les plus connus on trouve :
28
Chapitre 4 : Etudes Comparatives
Par la suite, Nous nous intéressons aux solutions open source, nous allons faire une
étude comparative entre des différends, solutions open source au niveau IaaS, des serveurs
d’application JEE, des systèmes de gestion de base de données, des logiciels de supervision,
des logiciels de sauvegarde informatique et des firewalls. Cette étude comparative nous
permettra d’adopter le système qui correspond à nos besoins afin de construire une
infrastructure de cloud public.
4.2.1 Openstack
Créé en juillet 2010 par la NASA et l'hébergeur américain Rackspace, OpenStack est
une offre d'IaaS 100% open-source. Ce n’est qu’en septembre 2012 qu’une fondation dédiée à
Openstack a été créé, permet aux sociétés de développer leurs propres solutions
d'infrastructure du Cloud Computing.
OpenStack est composé d'une série de logiciels et de projets au code source libre qui
sont maintenu par la communauté incluant: OpenStack Compute (nommé Nova), OpenStack
Object Storage (nommé Swift), et OpenStack Image Service (nommé Glance).
Il s'installe sur un système d'exploitation libre comme Ubuntu ou Debian et se
configure entièrement en ligne de commande. C'est un système robuste et qui a fait ses
preuves auprès des professionnels du domaine.
29
Chapitre 4 : Etudes Comparatives
Code :
- Ecrit en python
- Sous licence Apache 2.0
Versions :
4.2.2 Eucalyptus
Eucalyptus est un outil, open source issue d’un projet de recherche de l’université de
Californie. Est considéré parmi les solutions les plus connus, car elle est intégrée dans les
distributions Ubuntu Server et Debian.
Permet de créer des Cloud IaaS de type privé ou hybride, son avantage majeur est le
fait qu’il est compatible avec Amazon EC2 et S3.
Il possède également une version entreprise (Payante) de la société Eucalyptus
Systèmes qui apporte de fonctionnalités supplémentaires comme le support de VMware [6].
Code :
Versions :
- Cycle de 4 mois
- La dernière version : Eucalyptus 4.0, le 30 Mai 2014
30
Chapitre 4 : Etudes Comparatives
4.2.3 OpenNubela
Il s’agit d’une plateforme purement open source permettant de déployer des clouds
privés, hybrides et publiques.
OpenNeula est un projet de recherche commencé en 2005, publié en mars 2008 et
financé par l’Union Européenne. Elle support les hyperviseurs Xen, KVM et VMware, le
support de VirtualBox est prévu à partir de la version 4.0 de VirtualBox .
Cette solution propose une architecture complète pour la gestion de Datacenter et la
création de services Cloud. [7]
Code :
Versions :
4.2.4 CloudStack
31
Chapitre 4 : Etudes Comparatives
Elle support différents hyperviseurs du type VMware, Oracle VM ou encore KVM tout
en étant également compatible avec le cloud public d'Amazone
Cloudstack a été fondé en Mai 2010 sous forme cloud.com. C’est en Juillet 2011 que
le cloud.com a été racheté par la société Citrix.
Code :
- Ecrit en Java et C
- Sous licence Apache 2.0
Versions :
Le tableau ci-dessous représente une étude comparative entre des différents systèmes de
gestion de l’infrastructure du cloud computing.
32
Chapitre 4 : Etudes Comparatives
catalina : un conteneur servlet qui implémente les spécifications de Sun pour les
servlets et les JSP.
coyote : un connecteur http qui écoute le trafic entrant, dirige les requêtes au moteur
de Tomcat et renvoie la réponse au client.
jasper : un moteur JSP qui compile les fichiers JSP en tant que servlets et est capable
de détecter les modifications des fichiers et de les recompiler à la volée.
4.3.2 GlassFish
Né en juin 2005, Sun Glassfish Enterprise Server est le premier serveur Open source
ayant implémenté totalement la norme JEE 5.
GlassFish est un serveur d’application développé par Sun Microsystems, implémente
complètement la norme JEE (EJB, JPA, JSF, JSP et Servlet), et qui est maintenant maintenu
par Oracle Corporation. Il est open source et distribué sous double licence CDDL et GPLv2.
Il dispose de nombreux outils pour faciliter le développement, le déploiement et la
maintenance d’application. [9]
4.3.3 JBOSS
JBoss est un serveur d'application Java EE, écrit en Java et distribué sous licence GNU
LGPL. Étant donné qu’il est écrit en Java, JBoss Application Server peut être utilisé sur tout
système d'exploitation fournissant une machine virtuelle Java (JVM). [10]
33
Chapitre 4 : Etudes Comparatives
4.4.1 MySQL
Est un système de gestion de bases de données relationnelles (SGBDR). Il est distribué
sous une double licence GPLet propriétaire. Il fait partie des logiciels de gestion de base de
données les plus utilisés au monde [11].
4.4.2 PostgreSQL
Est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un
outil libre disponible selon les termes d'une licence de type BSD.
Ce système multi-plateforme est largement connu et réputé à travers le monde,
notamment pour son comportement stable et pour être très respectueux des normes ANSI
SQL.
34
Chapitre 4 : Etudes Comparatives
4.4.3 HSQLDB
L'examen quotidien des logs systèmes est un bon début, mais, si un problème survient,
on s'en rend compte seulement le lendemain, ce qui peut être trop tard.
Pour simplifier leur travail, les administrateurs utilisent généralement des logiciels de
surveillance et de supervision de réseaux.
La supervision est la « surveillance du bon fonctionnement d’un système ou d’une
activité ». Elle permet de surveiller, rapporter et alerter les fonctionnements normaux et
anormaux des systèmes informatiques.
Parmi les logiciels de surveillance et de supervision de réseaux open source les plus
populaires on trouve : Nagios, Zenoss, Zabbix.
35
Chapitre 4 : Etudes Comparatives
4.5.1 Nagios
4.5.2 Zenoss
Zenoss est une plate-forme d'administration et de supervision réseau. Sous licence GPL,
il est construit avec Zope et Python.
Les principales fonctions de ce logiciel sont la supervision de l’activité du réseau, la
gestion de la performance, d’évènements ainsi que des alertes. Les communications entre les
clients et le serveur reposent essentiellement sur les protocoles SNMP, Telnet/SSH et WMI
(Windows Management Instrumentation).
4.5.3 Zabbix
Crée en 2000 par Alexel Vladishev, Zabbix est une solution de supervision open
source de classe Entreprise. Simple à installer, il est compatible avec les systèmes Linux,
Windows et Unix.
Il permet de surveiller l'état de divers services réseau, serveurs et autres matériels
réseau et produisant des graphiques dynamiques de consommation des ressources
36
Chapitre 4 : Etudes Comparatives
Le tableau ci-dessous représente une étude comparative entre des différents logiciels de
sauvegarde informatique.
37
Chapitre 4 : Etudes Comparatives
Toutes les entreprises possédant un réseau local disposent aussi d'un accès à Internet,
afin d'accéder à la manne d'information disponible sur le réseau des réseaux, et de pouvoir
communiquer avec l'extérieur. Cette ouverture vers l'extérieur est indispensable... et
dangereuse en même temps. Ouvrir l'entreprise vers le monde signifie aussi laisser place
ouverte aux étrangers pour essayer de pénétrer le réseau local de l'entreprise, et y accomplir
des actions douteuses, parfois gratuites, de destruction, vol d'informations confidentielles, ...
Pour parer à ces attaques, une architecture sécurisée est nécessaire. Pour cela, le cœur
d'une telle architecture est basé sur un firewall. Cet outil a pour but de sécuriser au maximum
le réseau local de l'entreprise, de détecter les tentatives d'intrusion et d'y parer au mieux
possible.
38
Chapitre 4 : Etudes Comparatives
Ce qui séduit chez Pfsense est sa facilité d'installation et de configuration des outils
d'administration réseau. En effet est possible de configurer quasiment toutes les fonctionnalités de
Pfsense via l'interface Gui PHP.
39
Chapitre 4 : Etudes Comparatives
4.7.4 Comparaison
4.8 Conclusion
Après les différentes études comparatives, nous allons adopter comme un système de gestion
du cloud au niveau IaaS : Openstack, le serveur d’application JEE GlassFish, le système de gestion de
base de données MySQL, le logiciel de supervision Nagios, le logiciels de sauvegarde informatique
Bacula et le firewall Pfsense pour construire notre infrastructure du cloud public.
40
Chapitre 6 Analyse et Conception
5
Architecture Technique et Logicielle
41
Chapitre 6 Analyse et Conception
42
Chapitre 6 Analyse et Conception
Composantes d’OpenStack :
43
Chapitre 6 Analyse et Conception
Utilité de Clustring
44
Chapitre 6 Analyse et Conception
Dans le serveur d’application, nous allons déployer l’application web de notre société
BusinessaaS et l’application de nos clients : les écoles privées. Et au niveau du serveur de
base de données, nous allons créer la base de données de notre société « BusinessaaS» et une
base de données pour chaque client « école privée ».
45
Chapitre 6 Analyse et Conception
Un serveur DHCP a pour rôle de distribuer des adresses IP à des clients pour une
durée déterminée. Au lieu d'affecter manuellement à chaque machine une adresse statique,
ainsi que tous les paramètres tels que serveur de noms DNS, passerelle par défaut, nom du
réseau, un serveur DHCP alloue à chaque client un bail d'accès au réseau, pour une durée
déterminée (durée du bail). Il passe en paramètres au client toutes les informations dont il a
besoin. Tous les nœuds critiques du réseau (serveur de nom primaire et secondaire, passerelle
par défaut) ont une adresse IP statique, en effet si celle-ci variait, ce processus ne serait
réalisable.
Avantage de DHCP
Le protocole DHCP offre une configuration de réseau TCP/IP fiable et simple, empêche les
conflits d'adresses et permet de contrôler l'utilisation des adresses IP de façon centralisée.
Economie d'adresse : ce protocole est presque toujours utilisé par les fournisseurs d'accès
Internet qui disposent d'un nombre d'adresses limité.
Le fonctionnement de DHCP :
Le dialogue entre le client et le serveur DHCP est décrit comme illustré ci-dessous:
1. Lorsque le client DHCP démarre, il n'a aucune connaissance du réseau, il envoie donc
une trame "DHCPDISCOVER", destinée à trouver un serveur DHCP.
46
Chapitre 6 Analyse et Conception
Pour surveiller et superviser notre infrastructure réseau nous avons choisi Nagios,
Successeur de NetSaint, il est certainement le logiciel libre le plus connu dans le milieu de la
supervision réseau. Appréciée des entreprises ainsi que des particuliers, cette application
possède une très grande communauté qui participent activement au développement.
Nagios superviser la disponibilité d'actifs réseaux, de serveurs ou d'applications, suivre
l'évolution des capacités disques ou la bande passante de carte réseau etc.
Nagios génère des alertes en fonction de l'état des matériels et services supervisés, ces
alertes visualisé par une interface web. Cette interface web permet également l'administration
(très partielle) du monitoring. Il existe quatre types d'états :
OK : tout va bien.
WARNING : le seuil d'alerte est dépassé.
CRITICAL : le service a un problème.
UNKNOWN : impossible de connaitre l’état du service.
47
Chapitre 6 Analyse et Conception
Pour sauvegarder les fichiers de configurations de notre réseau nous avons choisi
Bascula qui est un système de sauvegarde libre extrêmement puissant. Le logiciel dispose
d’un ensemble de fonctionnalités extrêmement intéressant, et d’une qualité professionnelle
telle que certains logiciels propriétaires devraient suivre son exemple.
Veuillez trouver les phases d’installation et de configuration dans « l’Annexe 6 ».
Stratégie de sauvegarde :
La stratégie que nous avons suivi pour sauvegarder les partions des nœuds de données de
MySQL cluster et les fichiers de configuration de chaque serveurs de l’infrastructure
réseaux est comme suite :
5.1.1.5 Firewall(PFsense)
Nous avons choisi comme firewall la distribution Linux PFsense (Packet Filter Sense)
qui est un firewall open source reconnu comme l’un des plus puissants, sécurisé et fiable
parmi les firewalls existant. Son succès est basé sur le fait qu’il est entièrement configurable
via une interface web simple et intuitive.
Veuillez trouver les phases l’installation et configuration de PfSense dans « Annexe 7
». Comme présenté dans l’architecture technique, nous avons attribué : au LAN le réseau
192.168.2.0/24, au DMZ le réseau 192.168.3.0/24 et au WAN le réseau 192.168.1.0/24.
L’image suivante montre la configuration réseau du Firewall :
48
Chapitre 6 Analyse et Conception
Stratégie de sécurité :
49
Chapitre 6 Analyse et Conception
5.1.1.6 SNORT
SNORT est un outil open source de détection d’intrusions réseaux. SNORT est
capable d’écouter sur une interface afin d’effectuer une analyse du trafic en temps réel, de
logger les paquets IP, de rechercher des correspondances de contenu, le but étant de détecter
une grande variété d’attaques connues.
SNORT peut fonctionner en quatre modes différents :
50
Chapitre 6 Analyse et Conception
Après l’installation et configuration de SNORT sous PfSense (voir l’annexe 8), nous
allons lancer le logiciel Zenmap pour scanner le réseau afin de tester la détection d’une
attaque.
Une fois SNORT détecte l’attaque, il va bloquer l’accès de l’intrus malveillants au réseau,
comme indiqué ci-dessous.
51
Chapitre 6 Analyse et Conception
52
Chapitre 6 Analyse et Conception
Logo Description
Struts2 : est un Framework libre servant au développement
d'applications web Java EE.
Hibernate : est un Framework open source gérant la
persistance des objets en base de données relationnelle.
Visual Paradigm For UML : permet la création des diagrammes UML et des
modèles qui en sont à l’origine. Ceux-ci peuvent alors générer du code dans un
langage de programmation déterminé. Il propose également la création d’autres types
de diagrammes, comme celui qui permet la modélisation des bases de données
pouvant, lui aussi, générer des canevas d’applications basé sur des Framework et
Pattern mais en plus, générer du code SQL qu’il peut ensuite déployer
automatiquement dans différents environnements.
Jasper Reports : est un outil de reporting Open source pour le langage Java. Il peut
accéder aux données via JDBC, Table Models, JavaBeans, XML, Hibernate, CSV,Il
génère des rapports au format PDF, RTF, XML, XLS, CSV, HTML, XHTML, texte,
DOCX, et OpenOffice. Il peut être couplé à iReport pour faciliter la création des
rapports au format .jrxml
53
Chapitre 6 Analyse et Conception
6
Analyse Et Conception
Tout comme la construction d’une maison nécessite des plans à différents niveaux
(vision extérieure, plan des différents étages, plans techniques…), la réalisation d’une
application informatique ou d’un ensemble d’applications est basée sur plusieurs diagrammes.
Le formalisme UML s’est imposé comme l’outil de plus approprié pour ce projet. En
effet, le langage de modélisation UML permet de mener la phase de conception tout en
bénéficiant de la puissance et de la simplicité de ses diagrammes
Dans ce chapitre nous allons présenter, le diagramme de cas d’utilisation, le
diagramme de séquence boîte noire et le diagramme de classes d’analyse.
54
Chapitre 6 Analyse et Conception
55
Chapitre 6 Analyse et Conception
56
Chapitre 6 Analyse et Conception
57
Chapitre 6 Analyse et Conception
58
Chapitre 6 Analyse et Conception
59
Chapitre 6 Analyse et Conception
Les diagrammes de classes jouent un rôle central dans l’analyse et le design orientés
objet. Ils présentent un ensemble d’éléments de modèle statiques, leur contenu (structure
interne) et leurs relations aux autres éléments. Les principaux éléments représentés dans un
diagramme de classes sont les classes, les packages, les associations, les héritages et les
dépendances.
60
Chapitre 6 Analyse et Conception
61
Chapitre 7 Implémentation
7
Implémentation
Ainsi que le mécanisme de la sécurité utilisé afin d’assurer une bonne protection de
données de nos clients.
62
Chapitre 7 Implémentation
Figure 33 : Transfert de données non sécurisé, Figure 34 : Transfert de données sécurisé par
pas de certificat SSL certificat SSL :
63
Chapitre 7 Implémentation
Cet espace présente notre solution et ces différents modules (gestion, surveillance et
formation à distance) et la société qui l’offre.
64
Chapitre 7 Implémentation
Cette page présente les différents modules avec les services qu’offre chacun
65
Chapitre 7 Implémentation
Afin que les écoles bénéficient des modules de BusinessaaS, chacune doit avoir un
compte. La figure ci-dessous présente le formulaire de création d’un compte pour une école
donnée.
Après la création du compte, l’utilisateur va recevoir à un E-mail, pour activer le compte créé.
66
Chapitre 7 Implémentation
Afin de s’abonner aux services de BusinessaaS, les écoles doivent s’authentifier. La figure
ci-dessous présente la page d’authentification.
67
Chapitre 7 Implémentation
La page d’abonnement
Après l’authentification, l’école peut bénéficier des modules Businessas. La figure ci-dessous
illustre la page de choix de modules.
68
Chapitre 7 Implémentation
69
Chapitre 7 Implémentation
Après avoir appuyé sur le bouton « acheter », le client va être redirigé vers le site Paypal pour
régler la somme due. La figure ci-dessous présente la page de paiement Paypal.
Le client va s’authentifier par son compte PayPal, pour régler les frais correspondant à
sa demande.
L’application BusinessaaS va recevoir ensuite une requête de PayPal pour valider le
choix de l’école. Si la requête retourne « SUCCESS », le paiement a été bien effectué. Dans le
cas contraire elle retournera « CANCEL » si le paiement a été refusé.
70
Chapitre 7 Implémentation
Après que l’authentification ait été effectuée avec succès, la page d’accueil
d’administrateur de BusinessaaS va afficher, comme indiqué dans la figure ci-dessous.
71
Chapitre 7 Implémentation
L’administration de BusinessaaS permet aussi de modifier les prix des modules, comme
illustré dans la figure ci-dessous.
La figure ci-dessous, affiche la liste des écoles qui bénéficient des services de
BusinessaaS et permet à l’administrateur de l’imprimer.
72
Chapitre 7 Implémentation
Dans cette partie, nous allons présenter un exemple d’une école donnée qui bénéficie
de tous les modules (module de gestion, de surveillance et de formation à distance) de
BusinessaaS.
La figure ci-dessous présente la page d’authentification pour utilisateur élève par exemple.
73
Chapitre 7 Implémentation
La page d’accueil contient des informations sur l’école privée donnée. Comme indiqué
dans la figure ci-dessous.
74
Chapitre 7 Implémentation
Module de gestion
Le module de gestion est composé de l’espace des élèves et de l’espace des
enseignants
Les élèves de l’école après leur authentification peuvent consulter des actualités de
l’école, d’afficher et télécharger leur emploi des temps, leurs cours en ligne et leur relevé des
notes. La figure ci-dessous présente espace élèves.
Espace enseignant :
Les enseignant peuvent consulter des actualités de l’école, d’afficher et télécharger leur
emploi des temps, uploader des cours etc. La figure ci-dessous présente l’espace d’enseignant.
75
Chapitre 7 Implémentation
Module de surveillance
Après que le parent d’un ou des élèves s’authentifie, il peut consulter des notifications
sur la présence de leur enfants dans les séances de cours et aussi peut surveiller ses enfants via
des caméras dans la salle de cours au sein de l’école. Comme indiquer dans la figure suivante.
76
Chapitre 7 Implémentation
Pour gérer l’application des écoles, l’administrateur d’une école donnée doit
s’authentifier. La figure ci-dessous présente la page d’authentification de l’administrateur
77
Chapitre 7 Implémentation
Après que l’authentification ait été effectuée avec succès, la page de gestion d’accueil
d’administrateur va afficher, elle permet à l’administrateur de gérer la page d’accueil de front
office de l’école, comme indiqué dans la figure ci-dessous.
L’espace de gestion du module de gestion est composé de l’espace de gestion des élèves
et de l’espace de gestion des enseignants.
L’espace de gestion des élèves permet à l’administrateur d’inscrire des élèves, d’ajouter
des formations, d’ajouter l’emploi des temps, de gérer les absences des élèves etc. comme
indiqué ci-dessous.
78
Chapitre 7 Implémentation
79
Chapitre 7 Implémentation
Cet espace permet à l’administrateur de gérer des formations à distance, comme illustré dans
la figure suivante.
80
Chapitre 7 Implémentation
Conclusion et perspectives
Utiliser l’API de PayPal, au lieu de rediriger nos clients vers le site de PayPal pour
payer les frais de leurs demandes
Améliorer les applications : utiliser le format JSON pour charger le contenue de la
page JSP, au lieu de charger toute la page
Terminer le développement du module de formation à distance, d’ajouter un serveur
de streaming pour permettre aux écoles de sauvegarder les séances des formations et
d’ajouter un serveur chat pour permettre aux élèves des écoles d’interroger leurs
formateurs pendant la séance de formation
Intégrer le module de formation à distance aux réseaux sociaux, afin de permettre aux
administrateurs des écoles de promouvoir leurs formations et d’avoir des statistiques
sur la réussite de ces formations
Améliorer le niveau de la sécurité de nos services
81
Annexes Serveur Cloud
cd devstack
wget https://github.com/smakam/openstack/raw/master/juno/local.conf.control
mv local.conf.control local.conf
Exécuter DevStack
./stack.sh
Redémarrer Openstack
./rejoin-stack.sh
82
Annexes Serveur Cloud
Si tout s’est passé correctement, vous pouvez accéder au tableau de bord (Horizon) à
partir d'autre ordinateur sur le réseau local en accédant à http://server-ip-address de votre
navigateur et vous identifier par le login (admin ou demo ) et le mot de passe que vous avez
choisi lors de l’étape précédente.
Maintenant, vous allez être redirigé vers la page du tableau de bord d’Openstack :
Une fois connecté au tableau de bord OpenStack, cliquez sur l'onglet "Admin" dans le
menu de navigation de gauche, puis cliquez sur «Réseaux» sous la rubrique «Gestion
Système» puis supprimez les réseaux par défaut et ajouter des réseaux selon vos besoins.
83
Annexes Serveur Cloud
Sous la rubrique «Réseaux », cliquez sur le bouton "Créer un réseau", comme indiqué ci-
dessous :
Après la création de deux réseaux (public et private) maintenant, nous allons les relier par
un routeur. Cliquez sur l'onglet "Projet" dans le menu de navigation de gauche, puis cliquez
sur «Routeurs» sous la rubrique «Réseau». Enfin, cliquez sur le bouton "Créer un Routeur".
Après la création du routeur ajoutez les interfaces publique et privé comme indiqué ci-dessous :
Cliquez sur l'onglet "Projet" dans le menu de navigation de gauche, puis cliquez sur «Accès et
Sécurité» sous la rubrique «Compute». Sous la rubrique «Groupes de sécurité", cliquez sur le bouton
84
Annexes Serveur Cloud
"Modifier les règles" pour le groupe de sécurité "par défaut". Cliquez sur le bouton "Ajouter une
règle", et dans la boîte de dialogue qui apparaît, ajouter les règles selon vos besoins.
Dans le menu de navigation de gauche, cliquez sur «Accès et Sécurité» sous la rubrique
«Compute». Dans la partie principale de l'écran, cliquez sur l'onglet "paires de clés," et
choisissez "Créer paire de clés" ou "Importer paire de clés."
85
Annexes Serveur Cloud
Dans le menu de navigation de gauche, cliquez sur "Images" sous la rubrique "Gérer
Compute." Cliquez sur le bouton "Créer une image", situé dans la partie supérieure droite de
l'écran. Dans la boîte de dialogue qui apparaît, saisissez "Centos6.5" dans le champ "Nom",
"http://repos.fedorapeople.org/repos/openstack/guest-images/centos-6.5-20140117.0.x86_64
.q cow2" dans le champ "Emplacement de l'image", dans le menu déroulant "Format"
choisissez "qcow2", laissez le "disque Minimum" et les champs "Ram minimum" vierge,
cochez la case "Public", et cliquez sur le bouton "Créer une image", comme indiqué ci-
dessous
Dans la partie principale de l'écran, sous la rubrique «Images» rubrique, cliquez sur le
bouton "Lancer" pour l'image "Centos6.5". Dans la boîte de dialogue résultante, fournir un
nom dans le champ "Nom de l'instance", sélectionner un type d’instance, le pair de clé, le
réseau de l’instance et cliquez sur le bouton "Lancer".
86
Annexes Serveur Cloud
La topologie du réseau :
Après la création des réseaux, routeur et exécution des instances. La figure ci-dessous
présente la topologie du réseau de notre serveur cloud.
87
Annexes Serveur GlassFish
#wget http://dlc.sun.com.edgesuite.net/glassfish/4.0/release/glassfish-4.0.zip
#unzip glassfish-4.0.zip
Etape 5 : Activez le mode SSL pour sécuriser la connexion entre les instances du cluster
et le DAS (Domain Application Server):
cd /opt/glassfish4/glassfish/bin
./asadmin --host 192.168.3.99 --port 4848 enable-secure-admin
88
Annexes Serveur GlassFish
Après que l’authentification ait été effectuée avec succès, l’interface d’administration
de GlassFish s’ouvre, comme indiqué ci-dessous.
89
Annexes Cluster de Serveur GlassFish
Nous devons remplir les champs du formulaire avec les valeurs qui ont été utilisés
avant de créer le nœud distant:
90
Annexes Cluster de Serveur GlassFish
Name: glassfishCluster;
Node Host: 192.168.3.100;
SSH User Name: root
SSH User Authentication: password;
SSH Password: ********;
Après la création d’un nœud distant, sélectionnez « Clusters » dans l'arbre des
tâches et cliquez sur le bouton « New ». Dans le formulaire qui sera affiché, tapez le nom du
Cluster et, ci-dessous les instances étiquettes de serveurs à créer, cliquez sur le
bouton « New »pour créer deux instances de chaque serveur GlassFish. Ensuite, remplissez
les informations de chaque instance. Le formulaire rempli est présenté dans la figure ci-
dessous.
Après que le cluster ait été créé, il est possible de voir ses instances, démarrer et
arrêter à l'aide de la console d'administration. Pour ce faire, cliquez sur « Clusters » et utiliser
91
Annexes Cluster de Serveur GlassFish
l'interface présentée dans figure ci-dessous. Cliquez sur le nom d'un Cluster ou sur l'une de
ses instances. On aura ainsi accès à la configuration plus détaillée de chaque élément.
Après que le cluster ait été créé et démarré, déployez une application à l’aide de la
console d’administration. Cliquez sur l’onglet « Applications » dans le menu de navigation de
gauche, puis cliquez sur « Deploy Applications or Modules ». Choisissez l’application à
déployer et sélectionnez le cluster « cluster1 » que vous avez créé. Après cela, cliquez sur
« OK » pour déployer l’application.
92
Annexes Cluster de Serveur GlassFish
Après le déploiement, l'application sera disponible dans les quatre instances. Avant de
l'ouvrir dans votre navigateur Web, vous devez connaître le port HTTP et HTTPS utilisé par
chaque instance. Dans la console d'administration, cliquez sur « Applications » et lancez
l’application que vous avez déployez. Une page avec des informations générales sur l'exemple
choisi sera ouverte, et les éléments des Ports http et https montreront trois valeurs. L'une au
milieu est le numéro de port à utiliser pour accéder à l'application dans le navigateur.
Lors de nos tests, les instances ont été de répondre sur les ports HTTP et HTTPS.
Comme indiqué sur la figure ci-dessous.
93
Annexes Serveur Nagios
Nous allons suivre les étapes suivantes pour installer et configurer le serveur MySQL
cluster.
#mkdir /usr/local/mysql/mysql-cluster
Rendez-le exécutable
# chmod +x /usr/sbin/ndb_mgm*
94
Annexes Serveur Nagios
[NDBD DEFAULT]
DataMemory: 100M
IndexMemory: 20M
[NDB_MGMD]
HostName = 192.168.3.140
DataDir = /usr/local/mysql/mysql-cluster
[NDBD]
HostName = 192.168.3.138
DataDir = /usr/local/mysql/data
[NDBD]
HostName = 192.168.3.139
DataDir = /usr/local/mysql/data
[MYSQLD]
HostName = 192.168.3.143
# cp /usr/local/mysql/bin/ndbd /usr/sbin
Rendez-le exécutable
# chmod +x /usr/sbin/ndbd
95
Annexes Serveur Nagios
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.3.140
#groupadd mysql
#useradd -g mysql mysql
#cd /usr/local/mysql
#scripts/mysql_install_db --user=mysql
# cd /usr/local/mysql
# chown –R root .
# chown –R mysql data
# chgrp –R mysql .
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
# chmod +x /etc/init.d/mysql.server
# chkconfig mysql.server –add
# chkconfig mysql.server on
96
Annexes Serveur Nagios
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.3.140
# ndb_mgmd –f /usr/local/mysql-cluster/config.ini
# ndbd
# ndb_mgm -e shutdown
97
Annexes Serveur Nagios
2. Par défaut Nagios ne se trouve pas dans référentiel officiel de centos. Il faut donc ajouter le
dépôt EPEL afin d'installer Nagios:
#wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch .rpm
#rpm -ivh epel-release-6-8.noarch.rpm
4. Configurer Nagios:
#vim /etc/sysconfig/iptables
98
Annexes Serveur Nagios
#/etc/init.d/nagios start
#/etc/init.d/httpd start
#chkconfig nagios on
#chkconfig httpd on
Nous pouvons surveiller grâce à ping, tous les ports ouverts comme serveur web,
serveur de messagerie, etc. Mais pour les services internes qui sont à l'écoute sur
localhost, comme MySQL, et les services système, nous aurons besoin d'utiliser NRPE.
NRPE (Nagios Remote Plugin Executor) est un "Addons" pour Nagios qui permet
d'exécuter des plugins sur des machines (Linux/Unix ) distants .La principal raison pour
cela est de permettre à Nagios de superviser les ressources "locales" (comme la charge
CPU, utilisation de la mémoire, etc) sur machines distantes. NRPE doit être installé sur
les machines Linux / Unix à distance.
99
Annexes Serveur Nagios
log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=192.168.1.34 # Adresse IP de serveur nagios
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nrpe.d/
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p
/dev/sda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -
sZ
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c
$ARG2$ -s $ARG3$
Démarrer NRPE:
III. Ajouter des machines Linux, des routers et des switches au serveur Nagios:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$}
100
Annexes Serveur Nagios
Nous allons définir la machine, son groupe, les partitions et ses services à superviser
dans le fichier /usr/local/nagios/etc/objects/Linux.cfg de serveur Nagios comme illustré ci-
dessous:
define host{
use linux-server
hostg_name serBD
alias server data base
address 192.168.1.35
max_check_attempts 5
check_period 24*7
notification_interval 30
notification_period 24*7 }
define hostgroup{
hostgroup_name linuxServers
alias Linux Servers
members SerBD , SerWeb, SerBp }
define service{
use generic-service
host_name serBD
service_description PING
check_command check_ping!100.0, 20%!500.0, 60% }
define service{
use generic-service
host_name serBD
service_description SSH
check_command check_ssh
notifications_enable 0}
101
Annexes Serveur Nagios
define service{
use generic-service
host_name serBD
service_description CPU Load
check_command check_nrpe!check_load }
define service{
use generic-service
host_name serBD
service_description login users
check_command check_nrpe!check_users }
define service{
use generic-service
host_name serBD
service_description disk var
check_command check_nrpe!check_var }
define service{
use generic-service
host_name serBD
service_description disk boot
check_command check_nrpe!check_boot
}
define service{
use generic-service
host_name serBD
service_description disk racine
check_command check_nrpe!check_racine }
define service{
use generic-service
host_name serBD
service_description check mysqld
check_command check_nrpe!check_procs_mysqld }
102
Annexes Serveur Nagios
2. Ajouter un router:
Nous allons définir le router, son groupe et ses services à superviser dans le fichier
/usr/local/nagios/etc/objects/router.cfg du serveur Nagios comme illustré ci-dessous:
define hostgroup{
hostgroup_name routers
alias Networking Routers}
define host{
use generic-switch
host_name router-ads120mb
alias router-ads120mb
address 41.248.243.114
hostgroups routers}
define service{
use generic-service
host_name router-ads120mb
service_description PING
check_command check_ping!200.0, 20%!600.0, 60%
normal_check_interval5
retry_check_interval 1}
Une fois la configuration terminée nous allons redémarrer le service Nagios et après
quelques instants nous pourrons connaître l’état de notre router comme illustré ci-dessous:
103
Annexes Serveur Nagios
3. Ajouter un switch:
Nous allons définir le switch, son groupe et ses services à superviser dans le fichier
/usr/local/nagios/etc/objects/switch.cfg de serveur Nagios comme illustré ci-dessous:
Définir le groupe des switches
define hostgroup{
hostgroup_name switches
alias Network Switches}
Définir le switch
define host{
use generic-switch
host_name Swirch_Cisco_1
alias Swirch Cisco
address 192.168.1.68
hostgroups switches }
define service{
use generic-service
host_name Swirch_Cisco_1
service_description PING
check_command check_ping!200.0, 20%!600.0, 60%
normal_check_interval5
retry_check_interval 1}
Une fois la configuration finie, nous redémarrons le service Nagios. Après quelques
instants nous pourrons connaître l’état de notre switch comme illustré ci-dessous:
104
Annexes Firewall(PfSense)
● Ensuite, lancez les commandes suivantes une par une pour créer la base de données et
les tables nécessaires pour Bacula.
# /usr/libexec/bacula/grant_mysql_privileges -u root -p
# /usr/libexec/bacula/create_mysql_database -u root -p
# /usr/libexec/bacula/make_mysql_tables -u root -p
# /usr/libexec/bacula/grant_bacula_privileges -u root -p
Maintenant mettre à jour tous les fichiers de configuration de Bacula avec nouveau mot de
passe et adresses, comme indiqué ci-dessous.
[...]
Director {
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/usr/libexec/bacula/query.sql"
WorkingDirectory = "/var/spool/bacula"
PidDirectory = "/var/run"
105
Annexes Firewall(PfSense)
Director {
Name = bacula-dir
DIRport = 9101
address = localhost
Password = "************"}
106
Annexes Firewall(PfSense)
Director {
Name = bacula-dir
Password = "**********"
}
Director {
Name = bacula-mon
Password = "**********"
Monitor = yes
}
● Créer le répertoire d'archivage "mybackup"
# mkdir /mybackup
# chown bacula /mybackup
107
Annexes Firewall(PfSense)
[...]
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9101 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9103 -j ACCEPT
[...]
108
Annexes Firewall(PfSense)
109
Annexes Firewall(PfSense)
4. Exemple de sauvegarde:
● Backup clients:
Nous allons préciser le nom, le mot de passe et adresse IP du client à sauvegarder
comme indiqué ci-dessous.
110
Annexes Firewall(PfSense)
File Sets:
● Backup Schedules:
Nous allons définir un calendrier de sauvegarde: préciser le nom, type et le temps de
sauvegarde, comme indiqué ci-dessous:
● Backup Jobs:
Nous allons créer un travail de sauvegarde et nous allons préciser: le nom, le type de
travail, le client à sauvegarder, le calendrier et le type de sauvegarde souhaité. Comme
indiqué ci-dessous:
111
Annexes Firewall(PfSense)
● Restore Backup:
Pour restaurer des données il suffit de préciser le travail à restaurer, le fichier et le
client ou bien de mettre les données à restaurer, comme indiqué ci-dessous:
Figure 90 : Restauration
112
Annexes Firewall(PfSense)
1. Configuration minimale :
CPU : 133 Mhz mais 400 Mhz est recommandé.
2. Installation de Pfsense :
Téléchargez l’image de pfSense dans la section « Download » de pfSense
(http://www.pfsense.com). Démarrez votre ordinateur à partir du CD de l’image de pfSense.
L’installation va alors commencer. Laissez alors le compte à rebours se terminer (10
secondes) ou appuyez directement sur « Entrée ». Dans ce dernier cas, le démarrage par
défaut est alors choisi.
113
Annexes Firewall(PfSense)
Tapez la lettre l pour lancer l'installation (sinon on boot sur le live-cd Pfsense, dans ce
cas mais on ne l'installe pas).
L'installation qui va suivre se fait en acceptant toutes les options par défaut. Il suffit
d'accepter toutes les demandes (formatage si nécessaire et création de la partition).
114
Annexes Firewall(PfSense)
115
Annexes Firewall(PfSense)
Une fois la configuration des cartes effectuée, nous arrivons à l’écran ci-dessous qui
récapitule les différentes cartes réseau et leur association, tapez « y » et validez par « Entrée
»:
L’adresse par défaut du LAN est 192.168.1.1, nous allons la modifier en 10.0.0.1.
Saisir l’option « 2 », puis taper la nouvelle adresse IP et son masque comme indiqué ci-
dessous.
A ce stade là, vous pouvez mettre de côté pfsense. La configuration se fera depuis un
PC du réseau via un navigateur web. Lancez un navigateur web, et dans la barre d’adresse,
saisissez http://adresse-ip-pfsense/ puis validez par « Entrée ». On arrive sur la page
d’identification ci-dessous. Le login et le mot de passe par défaut sont (admin, pfsense):
La première chose à faire est de modifier le mot de passe par défaut. Pour cela, il faut
se rendre dans l’onglet System/User Manager, puis de cliquer sur le « e » pour éditer le profil
de l’administrateur comme indiqué ci-dessous:
116
Annexes Firewall(PfSense)
Puis, il faut configurer l’adresse IP du WAN et du DMZ. Pour cela, se rendre dans l’onglet
Interfaces/DMZ, puis taper la nouvelle adresse IP et son masque comme indiqué ci-dessous:
117
Annexes SNORT
Annexe 8. SNORT
Nous allons suivre les phases ci-dessous pour installer et configurer SNORT sous PfSense.
118
Annexes SNORT
119
Bibliographie
Bibliographie
120