Vous êtes sur la page 1sur 27

Remerciement

Nous tenons remercier notre professeur encadrant Monsieur Abdelhamid BELMEKKI pour les conseils prcieux quil nous a donn tout au long de la ralisation du mini-projet. Nous tenons saluer son support gnreux durant toute cette priode.

SOMMAIRE

I Contexte..P 1- Contexte de lapplication..P 2- Administration rseau.....P 3- Administrateur rseau..P 4- Les taches dadministrationP II Conception ....P 1- Diagramme de cas dutilisation..P 2- Les classes...P 3- Diagramme de classe..P

III OutilsP
1- La partie rseauP 2- La partie dveloppement..P

IV Ralisation de lapplicationP
1-Lenchainement du travailP 2- Test de lapplicationP

V Conclusion.P

I-Contexte
1- Contexte de lapplication :
Notre application consiste dvelopper une interface Web, accessible sur mot de passe, pour permettre un certain nombre dadministrateurs dadministrer des serveurs linux qui sont dans notre application des machines Ubuntu ou Fedora . Notre travail se focalisera sur la tache dadministration du Web : dmarrer, arrter, redmarrer et consulter le status, sont des actions que ladministrateur rseau devra effectuer depuis une machine distante via le protocole SSH.

2- Administration rseau :
On peut se poser quoi correspond le concept dadministration de rseau. LISO (International Standard Organisation) a cern 5 axes : La gestion des anomalies. Lobjectif de ladministration rseau est davoir un rseau oprationnel sans rupture de service (taux de disponibilit 99,999 % par exemple soit quelques secondes dindisponibilit par an), ce qui dfinit une certaine Qualit de Service offerte par loprateur labonn. On doit tre en mesure de localiser le plus rapidement possible toute panne ou dfaillance. Pour cela, on surveille les alarmes mises par le rseau, on localise un incident par un diagnostic des alarmes, on journalise les problmes... La gestion de la configuration rseau. Il convient de grer la configuration matrielle et logicielle du rseau pour en optimiser lutilisation. Il est important que chaque quipement, chaque compteur... soit parfaitement identifi de faon unique laide dun nom ou identificateur dobjet OID (Object Identifier). La gestion des performances. Il convient de contrler tout moment le rseau pour voir sil est en mesure dcouler le trafic pour lequel il a t conu. La gestion de la scurit. On gre ici les contrles daccs au rseau, la confidentialit des donnes qui y transitent, leur intgrit et leur authentification. La gestion de la comptabilit. Lobjectif est de grer la consommation rseau par abonn en vue dtablir une facture. En fait, on saperoit quun administrateur systme dun rseau local dune entreprise, dun campus, dune cole administre aussi son rseau. Il le fait sans trop de problmes mais les difficults samoncellent ds que la taille du rseau devient importante. La solution est alors de rationaliser, de normaliser les choses et lon a propos des normes dadministration de rseau.

3-Ladministrateur rseau :
L'administrateur rseau (galement appel gestionnaire de rseau) est charg du maintien et de l'volution de l'infrastructure rseau de l'entreprise. L'infrastructure rseau fait aujourd'hui partie intgrante de la plupart des entreprises, si bien qu'une indisponibilit du rseau peut parfois se traduire en pertes financires non ngligeables pouvant dans certains rares cas conduire la faillite. L'administrateur rseau doit permettre de surveiller l'activit du rseau, de faire intervenir rapidement des techniciens en cas de congestion ou de problmes d'accs. Il doit ainsi possder une connaissance trs prcise de tous les quipements rseau, des diffrents protocoles de communication, du modle OSI et des diffrentes architectures rseau. Il est galement en charge de la gestion des comptes des utilisateurs, de leur cration l'arrive de nouveaux personnels leur destruction au moment de leur dpart. Par ailleurs, compte tenu de l'volution rapide des technologies et des supports de transmission, l'administrateur rseau doit assurer une veille permanente afin de faire voluer l'infrastructure rseau de l'entreprise. En relation avec le responsable scurit, l'administrateur rseau est charg de mettre en uvre des dispositifs de protection adapts, de surveiller les journaux d'activits et de mener une veille sur les alertes de scurit. Afin d'anticiper tous les risques potentiels, il devra mettre au point un plan de reprise dfinissant les actions entreprendre pour rtablir l'accs au plus vite, dans le respect de la politique de scurit de l'entreprise.

4-Les taches dadministration :


WEB: Un serveur Web peut tre : - Un ordinateur tenant le rle de serveur informatique sur lequel fonctionne un logiciel serveur HTTP . - Le serveur HTTP lui-mme. - UN ensemble de serveurs permettant le fonctionnement d'applications Web. Le plus souvent, un serveur Web fait fonctionner plusieurs logiciels qui fonctionnent en parallle. On retrouve la combinaison Apache (serveur HTTP), MySQL (serveur de base de donnes) et Java ou PHP, tous libres. La plupart des ordinateurs utiliss comme serveur Web sont relis Internet et hbergent des sites Web du World Wide Web. Les autres serveurs se trouvent sur des intranets et hbergent des documents internes d'une entreprise, d'une administration, etc.

MAIL: Un serveur de messagerie lectronique est un logiciel serveur de courrier lectronique. Il a pour vocation de transfrer les messages lectroniques d'un serveur un autre. Un utilisateur n'est jamais en contact direct avec ce serveur mais utilise soit un client de messagerie, soit un courrielleur web, qui se charge de contacter le serveur pour envoyer ou recevoir les messages. La plupart des serveurs de messagerie possdent ces deux fonctions (envoi/rception), mais elles sont indpendantes et peuvent tre dissocies physiquement en utilisant plusieurs serveurs.

DHCP: Le serveur DHCP (Dynamic Host Configuration Protocol) permet dattribuer des adresses IP dynamiques chaque poste de travail, et ainsi de pallier aux ennuis dune gestion rigoureuse de ces adressages. En gnral, ladministrateur alloue des adresses IP statiques aux utilisateurs, ce qui devient lourd grer en cas de croissance du rseau car si la mise jour nest pas rapidement et correctement excute on peut se retrouver avec 2 mmes adresses. Le serveur DHCP permet alors dviter les conflits dadresses et donc les problmes sur le rseau

FTP:

Le serveur FTP (File Transfer Protocol) permet, comme son nom l'indique de transfrer des fichiers par Internet ou par le biais d'un rseau informatique local (intranet). Si vous en avez l'autorisation, vous pouvez tlcharger et envoyer des fichiers sur un ordinateur distant faisant fonctionner un tel serveur.

DNS: DNS (Domain Name System) est un systme dappellation dordinateurs et de services rseau organis selon une hirarchie de domaines. Les rseaux TCP/IP tels quInternet utilisent DNS pour localiser des ordinateurs et des services par le biais de noms conviviaux. Pour faciliter lutilisation des ressources rseau, des systmes de noms tels que DNS permettent dtablir une correspondance entre le nom convivial dun ordinateur ou dun service et dautres informations associes ce nom, comme une adresse IP. Un nom convivial est plus simple retenir que les adresses numriques qui sont utilises par les ordinateurs pour communiquer sur un rseau. La plupart des utilisateurs prfrent recourir un nom convivial (par exemple, ventes.fabrikam.com) pour trouver un serveur de messagerie ou un serveur Web sur un rseau, plutt qu une adresse IP telle que 157.60.0.1. Lorsquun utilisateur entre un nom DNS convivial dans une application, les services DNS rsolvent le nom en son adresse numrique.

FTP : Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destin l'change informatique de fichiers sur un rseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du rseau, d'alimenter un site web, ou encore de supprimer ou de modifier des fichiers sur cet ordinateur.

II-Conception
1- Diagramme de cas dutilisation:
Voil le diagramme de cas dutilisation de notre interface Web :

Figure1 :Diagramme de cas dutilisation de lapplication

Descriptif de lutilisation : Une fois lapplication excute, une page web dauthentification saffiche.

Figure2 :Page dauthentification

Ladministrateur rseau doit se loguer pour accder la premire page contenant la liste des serveurs quil peut administrer.

Figure3 :La liste des serveurs existants

Une fois le serveur choisi, la deuxime page saffiche contenant la liste des taches disponibles sur ce serveur.

Figure4:La liste des taches du serveur choisi

Une fois la tache choisie, la troisime page saffiche contenant la liste des actions disponibles pour cette tache.

Figure5 : Les actions de la tache saisie

Une fois laction choisie, la quatrime page saffiche contenant le rsultat de laction saisie. Les bases de donnes utilises : Base de donns BDserveurs la table Service :

Figure6 :La table Service

Ladministrateur doit remplir cette table avec les serveurs quil veut administrer, les taches et les actions correspondantes et les adresses IP. Base de donns BDuser la table user :

Figure7 :La table user

Cette table contient les administrateurs qui ont lautorisation daccder lapplication. Base de donns Stockserveur la table stocks :

Figure8:La table stocks

Cette table permet de stocker le serveur saisi par ladministrateur. Base de donns Stocktache la table stockt :

Figure9 :La table stockt

Cette table permet de stocker le serveur saisi par ladministrateur.

2- Les classes :
Notre application contient une classe et trois servlets permettant la rception des donnes depuis la base de donnes, leurs traitements, lexcution des commandes, lenvoi des rsultats, et aussi le design de linterface. Ce qui suit est une description dtaille de ces diffrentes classes et servlets. a- La classe Web : Cette classe permet laccs, si lidentifiant et le mot de passe sont correctes, la page contenant la liste des serveurs existant dans la base de donne, sinon elle renvoie la page dauthentification. En cas dauthentification a succs, ladministrateur rseau pourra saisir le serveur administrer.

b- Le servlet Web1 : Ce servlet permet ladministrateur de saisir lune des taches disponibles sur le serveur dj choisi et de stocker le serveur saisi dans la table << stocks>> de la base de donne <<Stockserveur>>. c- Le servlet Web2 : Ce servlet permet laffichage du menu des actions accessible pour la tache saisie et le stockage de la tache saisie dans la table << Stockt>> de la base de donnes <<Stocktache>>. Ladministrateur doit saisir laction quil veut excuter. d- Le servlet Web3 : Le servlet Web3 permet lexcution de la commande correspondante laction choisie et laffichage de son rsultat.

3- Diagramme des classes:


Ce Diagramme de classe rsume les diffrentes relations entre les classes et les servlets de notre projet tout en dfinissant les relations et les oprations y intervenant. Ce qui suit est une description de ces relations.

Figure10 :Le Diagramme de classe de lapplication

Lopration Vrifier () : permet de vrifier lauthentification de ladministrateur.

Lopration Envoyer () : permet de renvoyer ladministrateur la page dauthentification en cas dun mot de passe ou identifiant non dfini dans la base de donnes. Lopration Importer () : permet de rcuprer les noms des serveurs depuis la table <<Service>> de la base de donnes <<BDserveurs>>. Lopration Afficher () : permet dafficher les noms des serveurs. Lopration Stocker () : permet de stocker le serveur saisi par ladministrateur dans la table <<stocks>> de la base de donnes <<Stockserveur>>. Lopration Importer1 () : permet de rcuprer les taches dadministration sur le serveur saisi depuis la table <<Service>> de la base de donnes <<BDserveurs>>. Lopration Afficher1 () : permet dafficher les noms des serveurs et les taches dadministration disponible sur le serveur saisi. Lopration Stocker1 () : permet de stocker la tache saisie par ladministrateur dans la table <<stockt>> de la base de donnes <<Stocktache>>. Lopration Importer2() : permet de rcuprer les actions pour la tache saisie depuis la table <<Service>> de la base de donnes <<BDserveurs>>. Lopration Afficher2 () : permet dafficher les noms des serveurs, les taches dadministration et les actions disponibles pour la tache saisie. Lopration Excuter () : permet dexcuter la commande correspondante laction saisie. Lopration Afficher3 () : permet dafficher les noms des serveurs, les taches dadministration, les actions disponibles pour la tache saisie et le rsultat de la commande excute.

III-Outils
1- La partie rseau: Apache
Apache HTTP Server, souvent appel Apache, est un logiciel de serveur HTTP produit par l'Apache Software Fondation. C'est le serveur HTTP le plus populaire du Web. C'est un logiciel libre avec un type spcifique de licence, nomme licence Apache. Apache est conu pour prendre en charge de nombreux modules lui donnant des fonctionnalits supplmentaires : interprtation du langage Perl, PHP, Python et Ruby, serveur proxy , rcriture d'URL, ngociation de contenu, protocoles de communication additionnels, etc. Nanmoins, il est noter que l'existence de nombreux modules Apache complexifie la configuration du serveur web. En effet, les bonnes pratiques recommandent de ne charger que les modules utiles : de nombreuses failles de scurit affectant uniquement les modules d'Apache sont rgulirement dcouverts. Les possibilits de configuration d'Apache sont une fonctionnalit phare. Le principe repose sur une hirarchie de fichiers de configuration, qui peuvent tre grs indpendamment. Cette caractristique est notamment utile aux hbergeurs qui peuvent ainsi servir les sites de plusieurs clients l'aide d'un seul serveur HTTP.

Le protocole SSH 1-Introduction :


SSH ou Secure Shell est un protocole qui facilite les connexions scurises entre deux systmes l'aide d'une architecture client/serveur et permet aux utilisateurs de se connecter distance des systmes hte de serveurs. Toutefois, contrairement d'autres protocoles de communication distance, tels que FTP ou Telnet, SSH crypte la session de connexion et empche ainsi tout agresseur de recueillir des mots de passe non-crypts. SSH est conu pour remplacer les applications de terminal plus anciennes et moins scurises qui sont utilises pour se connecter des htes distants, comme Telnet ou Rsh. Un programme similaire appel Scp remplace des programmes moins rcents conus pour copier des fichiers entre des htes, tels que Rcp. tant donn que ces applications plus anciennes ne cryptent pas les mots de passe entre le client et le serveur, il est recommand d'viter autant que possible de les utiliser. En effet, l'utilisation de mthodes scurises pour se connecter des systmes distants, rduit les risques aussi bien pour le systme client que pour l'hte distant.

2-Fonctionnalit de SSH :

SSH offre les prcautions suivantes au niveau de la scurit :

Aprs avoir effectu une connexion initiale, le client peut s'assurer que sa connexion est tablie avec le mme serveur que lors de sa session prcdente.

Le client transmet ses donnes d'authentification au serveur au moyen d'un cryptage solide 128 bits.

Toutes les donnes envoyes et reues lors d'une session sont transfres au moyen d'un cryptage 128 bits, rendant ainsi le dcryptage et la lecture de toute transmission intercepte extrmement difficile.

tant donn que le protocole SSH crypte tout ce qu'il envoie et reoit, il peut tre utilis pour scuriser des protocoles autrement vulnrables. Red Hat Enterprise Linux inclut le paquetage gnral OpenSSH (un ensemble d'outils informatiques libres permettant des communications scurises sur un rseau informatique en utilisant le protocole SSH.) ainsi que les paquetages serveur OpenSSH (openssh-server) et client OpenSSH (openssh-clients). Notez galement que les paquetages OpenSSH ont besoin du paquetage OpenSSL (openssl) qui installe de nombreuses bibliothques cryptographiques importantes permettant OpenSSH de fournir des communications cryptes.

3-Pourquoi utiliser SSH :


Les utilisateurs d'ordinateurs malintentionns disposent d'une varit d'outils pour interrompre, intercepter et racheminer le trafic rseau afin de s'octroyer l'accs un systme. D'une manire gnrale, ces menaces peuvent tre rpertories de la manire suivante :

Interception d'une communication entre deux systmes Dans ce scnario, le pirate peut se trouver quelque part sur le rseau entre les entits qui communiquent, pouvant ainsi copier toute information qui est transmise entre elles. Le pirate peut intercepter et garder les informations ou peut les modifier avant de les envoyer au destinataire prvu

Usurpation de l'identit d'un hte Grce cette technique, le systme d'un agresseur est configur de telle manire qu'il apparat comme tant le destinataire souhait d'une transmission. Si cette stratgie fonctionne, le systme de l'utilisateur ne dtecte pas qu'il communique en fait avec le mauvais hte.

Ces deux techniques permettent d'intercepter des informations potentiellement confidentielles et si cette interception est effectue pour des raisons hostiles, le rsultat peut tre catastrophique. L'utilisation du protocole SSH pour effectuer une connexion au shell distance ou pour copier des fichiers permet de rduire considrablement ces menaces au niveau de la scurit. En effet, le client et serveur SSH utilisent des signatures numriques pour vrifier leur identit respectives. En outre, toute communication entre le systme client et le systme serveur est crypte. Toute tentative d'usurpation

d'identit une extrmit ou une autre de la communication est difficilement possible puisque chaque paquet est crypt l'aide d'une cl connue seulement par le systme local et le systme distant.

2- La partie dveloppement: J2EE


J2EE est une plate-forme de dveloppement qui permet de dvelopper des applications Web composes de Servlet et JSP et des applications Mtiers . J2EE est galement une spcification destine aux diteurs de logiciels qui dsirent crer des Serveurs d'Applications compatibles J2EE.

Un Serveur d'Applications contient un conteneur Web pour l'excution des applications Web et un conteneur d'EJB pour l'excution des composants Mtiers. De plus, le Serveur d'Application fournis un ensemble de services utiliss par les dveloppeurs dans les applications. Ces services sont entres autres : JTA (Java Transaction API) : service de gestion des transactions distribues

JMS (Java Messaging Service) : service de gestion des messages asynchrones JNDI (Java Naming and Directory Interface) : service de noms (annuaire) de rfrencement des objets JDBC (Java DataBase Connectivity) : service de gestion des connexions aux bases de donnes

Langage Java
Le langage Java a dbut dans les annes 1990 avec James Gosling qui souhaitait dvelopper un langage de programmation indpendant de la plate-forme hardware Oak fut un chec. Par la suite Bill Joy (co-fondateur de la firme Sun Microsystems) proposa une nouvelle version dOak appele Java . Son but tait de pallier une dficience des langages de programmation en produisant un langage conu pour des machines et des logiciels htrognes quenglobe Internet. On trouve gratuitement sur le march une machine virtuelle (Java Virtual Machine), un compilateur ainsi que de nombreux outils pour permettre la conqute du Web qui devra tre celle de Java. Aprs de trs nombreuses modifications visant amliorer le systme, Java est devenu plus quune simple solution Internet, cest dornavant un langage utilis pour toutes sortes de dveloppements.

Langage HTML
Le html est un langage dit de marquage , de structuration ou de balisage dont le rle est de formaliser l'criture d'un document avec des balises de formatage. Les balises permettent d'indiquer la faon dont doit tre prsent le document et les liens qu'il tablit avec d'autres documents. Le langage HTML permet notamment la lecture de documents sur Internet partir de machines diffrentes, grce au protocole HTTP, permettant d'accder via le rseau des documents reprs par une adresse unique, appele URL.

Langage CSS
Le langage CSS (Cascading Style Sheets) est utilis pour dfinir l'aspect futur de votre site, comme par exemple la couleur du fond de la page ou le type de police. Plus concrtement, le CSS (ou feuille de style), c'est un petit fichier (exemple "style.css") dans lequel vous allez d'finir l'aspect futur de votre site.

Langage Servlet
Les servlets (on dit gnralement une servlet) sont au serveur Web ce que les applets sont au navigateur pour le client. Les servlets sont donc des applications Java fonctionnant du ct serveur. Les servlets permettent donc de grer des requtes HTTP et de fournir au client une rponse HTTP dynamique (donc de crer des pages web dynamiques). Les servlets ont de nombreux avantages par rapport aux autres technologies ct serveur. Tout d'abord, tant donn qu'il s'agit d'une technologie Java, les servlets fournissent un moyen d'amliorer les serveurs web sur n'importe quelle plateforme, d'autant plus que les servlets sont indpendantes du serveur web. En effet, les servlets s'excutent dans un moteur de servlet utilis pour tablir le lien entre la servlet et le serveur web. Ainsi le programmeur n'a pas se soucier de dtails techniques tels que la connexion au rseau, la mise en forme de la rponse http. On appelle conteneur de servlet une classe permettant de manipuler la servlet.

Figure11 :Le principe de servlet

D'autre part les servlets sont beaucoup plus performantes que les scripts, car il s'agit de pseudo-code, charg automatiquement lors du dmarrage du serveur ou bien lors de la connexion du premier client. Enfin une servlet tant une application Java, peut utiliser toutes les API Java afin de communiquer avec des

applications extrieures, se connecter des bases de donnes, accder aux entre-sorties (fichiers par exemple)

SQL

SQL (Structured Query Language, traduisez Langage de requtes structur) est un langage de dfinition de donnes (SQL est un langage de dfinition de donnes (LDD), c'est--dire qu'il permet de crer des tables dans une base de donnes relationnelle, ainsi que d'en modifier ou en supprimer), un langage de manipulation de donnes (SQL est un langage de manipulation de donnes (LMD), cela signifie qu'il permet de slectionner, insrer, modifier ou supprimer des donnes dans une table d'une base de donnes relationnelle), et un langage de contrle de donnes(Il est possible avec SQL de dfinir des permissions au niveau des utilisateurs d'une base de donnes. On parle de DCL (Data Control Language)), pour les bases de donnes relationnelles.

XAMPP
XAMPP est un produit qui installe trs rapidement et facilement un ensemble complet de services pour faire tourner un serveur web. Cette solution est trs pratique pour crer un serveur de dveloppement, car il permet d'avoir un serveur de test en quelques clics, sans avoir choisir ni connatre les diffrents services installer. Toutefois, XAMPP n'est pas destin un environnement de production ; cette solution est peu scurise du ct des applications. Pour un serveur de production, il est grandement recommand de prfrer l'installation de chaque service individuellement, l'aide des paquets prcompils fournis par Ubuntu.

Netbeans
NetBeans est un environnement de dveloppement intgr (EDI), plac en open source par Sun en juin 2000. En plus de Java, NetBeans permet galement de supporter diffrents autres langages

comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractristiques d'un IDE moderne (diteur en couleur, projets multi-langage, refactoring, diteur graphique d'interfaces et de pages Web).

Apache Tomcat
Apache Tomcat est un conteneur libre de servlets Java 2 Enterprise Edition. Issu du projet Jakarta, Tomcat est un projet principal de la fondation Apache. Tomcat implmente les spcifications des servlets et

des JSP . Il est paramtrable par des fichiers XML et de proprits, et inclut des outils pour la configuration et la gestion. Il comporte galement un serveur HTTP.

JDBC
JDBC (Java DataBase Connectivity) est une interface de programmation cre par Sun Microsystems, pour les programmes utilisant la plateforme Java. Il permet aux applications Java d'accder par le biais d'une interface commune des sources de donnes pour lesquelles il existe des pilotes JDBC. Normalement, il s'agit d'une base de donnes relationnelle, et des pilotes JDBC sont disponibles pour tous les systmes connus de bases de donnes relationnelles.

IV-Ralisation de lapplication
1-Lenchainement du travail:
Pour raliser notre travail, nous sommes passs par une multitude dtapes : 1er tape :

Nous avons install Apache sur Ubuntu moyennant la commande suivante : sudo aptitude install apache Aprs linstallation, nous avons test les commandes relatives au serveur web sudo /etc/init.d/apache2 start (Dmarrer le serveur web)

sudo /etc/init.d/apache2 restart (Redmarrer le serveur web) sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 status 2eme tape : (Arrter le serveur web) (Status de serveur web)

Nous avons install le serveur SSH sur Ubuntu en utilisant la commande suivante : sudo aptitude install ssh sudo aptitude install openssh-server et pour permettre la communication distance via ssh, nous avons effectu des changements sur les fichiers /etc/ssh/sshd_config et /etc/ssh/ssh_config : - Nous avons enlev le commentaire sur la ligne #port22 dans les deux fichiers.

Figure12 :La configuration du fichier sshd_config

Figure13 :La configuration du fichier ssh_config

Aprs ces changements, nous avons test la communication distance entre deux machines Ubuntu dont les adresses ip sont respectivement : 10.0.0.1 et 10.0.0.2 - Accder la machine comme un administrateur : ssh root@10.0.0.1 partir de la machine 10.0.0.2 ssh root@10.0.0.2 partir de la machine 10.0.0.1 - Accder la machine comme un utilisateur : ssh essaadi@10.0.0.1 partir de la machine 10.0.0.2 ssh spider@10.0.0.2 partir de la machine 10.0.0.1 En effet, lexcution de la commande, le mot de passe de la machine distante est demand, pour plus dergonomie, le mot de passe ne doit pas tre demand chaque excution de lapplication. Lannulation de mot de passe est le but de la troisime tape. 3eme tape :

Parmi les mthodes permettant la connexion distance par ssh sans demande de mot de passe est lauthentification par cl publique, c'est--dire au lieu didentifier une machine par son mot de passe, on lidentifie par une cl. Supposons que la machine distante soit celle dadresse IP 10.0.0.2. Sur la machine dont ladresse IP est 10.0.0.1, nous avons tap les commandes suivantes : ssh-keygen t rsa A lexcution de cette commande, Le gnrateur de la cl va en gnrer deux, une cl publique et une cl prive. Il va placer la cl prive (sous forme chiffre) dans un endroit qui, par

dfaut $HOME/.ssh/identity pour SSH1, Appuyez sur Enter pour accepter la localisation de la cl (il est plus simple d'accepter la localisation propose). ssh-keygen vous demande ensuite une passphrase que nous avons laiss vide. ssh-copy-id i ~/.ssh/id_rsa.pub root@10.0.0.2 Cette commande permet de copier la cl dans la machine distante. exec ssh-agent bash Une fois lanc, l'agent vous suit dans toutes vos connexions distance, et ainsi il est disponible partout. Il faut donner l'agent votre cl grer en tapant : ssh-add Mais avant de terminer cette tape, nous devons configurer le fichier /etc/sudoers, pour garder la communication sans mot de passe prs redmarrage de Ubuntu. La configuration doit tre la suivante :

Figure14 :La configuration du fichier /etc/sudeors

4eme tape :

Cette partie concerne la machine virtuelle Fedora que nous avons install laide de VirtualBox.La premire chose que nous avons fait est linstallation de SSH : Su (pour passer en mode route)

Yum install ssh Avec meme configuration que celle de Ubuntu. Ensuite nous avons dsactiv les par-feu de Fedora par les commandes suivantes : 1- iptables -F 2- iptables X 3- setenforce 0 La premire et les deuximes commandes servent dsactiver le pare-feu iptables, alors que la troisime dsactive le pare-feu Selinux. Ensuite nous devons nous assurer du redmarrage du serveur sshd par le biais de la commande :

/etc/init.d/sshd restart 5eme tape :

Cette partie est consacre au dveloppement de notre application en utilisant les langages J2EE, HTML, CSS, JAVA, Servlet et XAMPP (fournisseur de lapplication base de donnes).

2-Test de lapplication :
Voil un exemple de lexcution de lapplication (nous supposons que la machine administrer est celle dadresse IP 10.0.0.3 (FEDORA : SALMA) ou celle de ladresse IP 10.0.0.2 (UBUNTU :SALMA) )

Figure15:La page dauthentification

Si lidentifiant et le mot de passe ne figurent pas dans la table Service de la base de donnes BDserveurs , ladministrateur est renvoy la page suivante :

Figure16 :La page rponse dune authentification errone

Sinon, il va tre redirig la page contenant les serveurs :

Figure17 :La liste des serveurs

Aprs la saisi du serveur (le serveur FEDORA :SALMA reprsente la machine distante dont ladresse IP est 10.0.0.3, ladministrateur passera la page contenant les taches correspondant au serveur choisi. Dans notre application, nous sommes contentes de traiter la tache WEB, ladministrateur aura saisir la tache WEB.

Figure18 :La liste des taches du serveur UBUNTU :SALMA

Sinon, il recevra un message lui indiquant que les autres taches ne sont pas encore dveloppes.

Figure19 :La page rponse dune tache choisie autre que WEB

Aprs la saisi de la tache, ladministrateur passera la page contenant les actions correspondant la tache choisie.

Figure20 :La liste des actions de la tache choisie WEB

Aprs la saisi de laction, ladministrateur passera la page contenant le rsultat de la commande correspondant laction choisie.

Figure20 :Lexcution de la commande correspondante laction DEMARRER de la tache WEB du serveur FEDORA :SALMA

Figure20 :Lexcution de la commande correspondante laction DEMARRER de la tache WEB du serveur FEDORA :SALMA

V-Conclusion
Nous avons pu, travers ce mini-projet, acqurir de nouvelles connaissances concernant ladministration rseaux et les protocoles de communication distance spcialement le protocole SSH qui assure une bonne scurit lors des changes entre les machines. Nous avons eu loccasion dapprofondir nos connaissances en matire de dveloppement travers les diffrents langages que nous tions amenes utilisant : J2EE, HTML, CSS, JAVA et SERVLET. Nous avons pu galement utiliser des bases de donnes et manipuler des requtes SQL. La ralisation de notre application rpond aux exigences du cahier de charge impos par lencadrant Abdlhamid Belmekki. Le travail en quipe nous a permis de dvelopper lesprit de coopration et de solidarit. Ctait une occasion pour runir nos connaissances et les fusionner fin den faire notre travail complet.

VI-Bibliographie