TP3 Mise en œuvre d'une architecture multi-site (authentification de pages web, sécurisation des pages)

Documents pareils
TP Service HTTP Serveur Apache Linux Debian

SERVEUR HTTP Administration d apache

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Module 7 : Configuration du serveur WEB Apache

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un hébergement Web à domicile

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

CYBERGATE -TP-APACHE_2.DOC

Table des matières Hakim Benameurlaine 1

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Serveur Subversion Debian GNU/Linux

Préparation d un serveur Apache pour Zend Framework

Les serveurs WEBUne introduction

Serveur Web Apache - SSL - PHP Debian GNU/Linux

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

2011 Hakim Benameurlaine 1

Administration Linux - Apache

Dans l'épisode précédent

UE5A Administration Réseaux LP SIRI

Travaux Pratiques Introduction aux réseaux IP

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Procédure d'installation

TP création et publication d'un site web statique

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

Tutoriel compte-rendu Mission 1

Installation GLPI-OCSNG-SSL Linux Debian Sarge

Mise en place d'un Réseau Privé Virtuel

Différentes installations sur un serveur Windows 2000 ou 2003.

Installation et présentation du serveur Apache

REPARTITION DE CHARGE LINUX

installer_un_serveur_debian - Documentation Ubuntu Francophone Installation complète d'un serveur web sous Debian 6.0

Configuration du serveur Web Apache. Master 1 STIC-Informatique 1

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

DOCUMENTATION ADMINISTRATEUR

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

BTS SIO Dossier BTS. PURCHLA Romain

Hébergement de site web Damien Nouvel

Réaliser un inventaire Documentation utilisateur

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

Présentation Serveur Apache et pour RePeGlio

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Le serveur web Apache

il chiffrer les flux d'authentification et les flux de données il n'y a pas de soucis d'ouverture de ports avec des modes actif/passif à gérer

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Le serveur Web : Apache

ADF Reverse Proxy. Thierry DOSTES

Installation d'un serveur sftp avec connexion par login et clé rsa.

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Utilisation de l espace personnel (Serveur DATA)

Installation et configuration d Apache sous Linux RedHat 7.1. Pascal AUBRY Ambroise DIASCORN IFSIC Université de Rennes 1

CASE-LINUX MAIL - ROUNDCUBE

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Présentation. Protocole FTP. Initiation. Proftpd

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

Documentation d'installation Plateforme femme actuelle

1. La plate-forme LAMP

1. Warm up Activity: Single Node

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

WINDOWS SERVER 2003-R2

Installation d un Serveur de Messagerie

PPE Installation d un serveur FTP

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

SQUID Configuration et administration d un proxy

InstallatIon et configuration d une Infrastructure réseau sans-fil. Avec. Interface de gestion utilisateurs

CDS Invenio Installation et configuration de base

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

Autorité de certification

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

Gestion d identités PSL Installation IdP Authentic

Travaux Pratiques Introduction aux réseaux IP

Aubert Coralie, Ruzand Brice GTR 2002 Bonvarlet Manuel, Desroches Alexandre, Magnin Cyril DRT Notice technique 1

Gérer ses environnements de développement avec Vagrant RMLL 2012

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Installation Installation. Windows. Tout-en-un. Un livre de Wikilivres.

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

SECURIDAY 2012 Pro Edition

CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 -

SUPERVISION DE RÉSEAU AVEC NAGIOS

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

Gestion des utilisateurs : Active Directory

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Installation d' OCS inventory et de GLPI

Installation et configuration de Vulture Lundi 2 février 2009

2013 Installation de GLPI-OCS. Florian MICHEL BTS SIO LYCEE SAINTE URSULE

Étape 1 : gérer les certificats

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Transcription:

TP3 Mise en œuvre d'une architecture multi-site (authentification de pages web, sécurisation des pages) - Page 1 -

Sommaire Introduction...3 Configuration du serveur...3 Configuration avancée Apache serveur HTTP...5 Détail d'un fichier de configuration...6 Utilisation de serveurs virtuels par nom...6 Plusieurs noms pour un même serveur virtuel...7 Les fichiers.htaccess : authentification et plus encore...9 Crypter les mots de passe...10 Empêcher l'accès à un répertoire par un domaine...11 - Page 2 -

Introduction L'objectif de ce TP, est de découvrir comment préparer, mettre en place et configurer un serveur web de façon à ce qu'il puisse héberger plusieurs sites à la fois. Nous effectuerons TP sous Debian 6 et enfin, nous sécuriserons l'accès aux pages web à l'aide des différents outils proposés. Configuration du serveur Lorsque le serveur web est installé, nous pouvons le lancer. De base, Apache n'utilise qu'un seul fichier de configuration mais dans celle que nous utilisons içi, celui-ci est réparti sur plusieurs fichiers de configuration. Nous vérifions que le fichier httpd.conf est bien vide : # cat /etc/apache2/httpd.conf Nous effectuerons une copie des fichiers modifiés afin d'éviter les éventuels erreur de paramétrage : # cp /etc/apache2/* /home/administrateur/save_apache* Ensuite, nous nous assurons que nos fichiers de configuration ne contiennent pas d'erreur de syntaxe : # apache2ctl -t Il se peut qu'une erreur apparaisse mais la syntaxe doit être validée avec cette ligne : Syntax OK Puis, nous allons configurer le fichier apache2.conf : nous nous rendons dans le dossier «/etc/apache2/.» et nous éditons le fichier : # gedit apache2.conf Nous nous assurons que : le numéro du processus Linux du démon «httpd» contenu dans le fichier apache.pid correspond bien au premier processus «apache2». Normalement, il est censé y avoir plusieurs processus de apache2. - Page 3 -

Puis, nous allons utiliser la directive «DirectoryIndex» pour spécifier quel fichier doit être lu, si aucun n'est défini par la requête «http». Si le module «dir» n'est pas installé, nous l'activerons : # a2enmod dir Et dans le fichier dir.conf présent dans les arborescences «/etc/apache2/mods-enabled/» et «/etc/apache2/mods-available/», nous vérifions la présence de la ligne suivante : DirectoryIndex index.htm index.html index.php Une fois vérifié, nous redémarrons le serveur http. Nous décidons de modifier le fichier «index.html» afin de pouvoir personnaliser la page d'accueil et ainsi, de pouvoir reconnaître les deux pages web des sites. # cd /var/www # gedit index.html <html><body><h1>ca fonctionne!</h1> <p>c'est le site 1</p> <p>the web server software is running but no content has been added, yet.</p> </body></html> Lorsque la page d'accueil est modifiée, nous créons des répertoires spécifiques pour chaque utilisateur. Nous ajoutons donc un utilisateur différent de root, nous le nommerons «etudiant» et son mot de passe sera : etudiant. # adduser etudiant Puis, nous créons un dossier nommé «public_html» dans son dossier personnel (/home/etudiant) # cd /home/etudiant/ # mkdir public_html - Page 4 -

Pour finir, nous installons le module «userdir» et nous redemarrons le serveur http. # a2enmod userdir # service apache2 restart Toujours dans les même dossiers, nous vérifions dans le fichier «userdir.conf» la présence de la ligne suivante : UserDir public_html Nous affichons la page web pour vérifier que tout fonctionne : http://w.x.y.z/~etudiant/ En saisissant ceci, nous arrivons sur la racine du dossier personnel de l'utilisateur «etudiant». Dans le fichier «/etc/apache2/apache2.conf», nous vérifions que les lignes suivantes soit bien présente : # Include the virtual host configurations : Include /etc/apache2/sites-enabled/ Lorsque tout est vérifié, nous redémarrons le serveur pour toutes les modifications soient bien prise en compte et fonctionnelles. Configuration avancée Apache serveur HTTP Afin de pouvoir redirigé deux sites web sur le même serveur et la même adresse IP, je modifie le fichier «etc/hosts» et ajoute les lignes suivantes : 172.16.21.5 www.lycee-etampes.org 172.16.21.5 www.lycee-bleriot.org Cela permet donc de bénéficier de deux noms de domaines différentes qui mènent au même serveur. - Page 5 -

Détail d'un fichier de configuration Nous voulons aller plus loin dans la création des hôtes virtuelles, nous allons examiner l'ensemble des paramètres du fichier suivant «/etc/apache2/sites-enabled/000-default». Puis, nous créons le fichier suivant «secret» dans «/home/etudiant/public_html/». Une fois créé, nous ajoutons les lignes suivantes : Alias /secret/ "/home/etudiant/public_html/secret/" <Directory "/home/etudiant/public_html/secret/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> Utilisation de serveurs virtuels par nom Nous vérifions maintenant, que le port 80 est bien renseigné dans le fichier «ports.conf». Le fait d'ajouter ce port permet d'utiliser le protocole HTTP. NameVirtualHost *:80 Listen 80 Le port 80 est bien présent dans le fichier. Par la suite, nous allons commencer la création d'une section <VirtualHost> pour chacun des serveurs que l'on va créer. L'argument de la directive <VirtualHost> doit être la même que celui de «NameVirtualHost» (cestà-dire l'adresse IP ou * pour toutes les adresses). On doit définir au minimum : une directive ServerName pour désigner le serveur concerné une directive DocumentRoot pour préciser l'emplacement sur le système de fichiers du contenu de ce serveur. - Page 6 -

Par la suite, nous créons deux copies du fichier 000-default dans le répertoire «/etc/apache2/sitesenabled» que l'on nommera «etampes» et «bleriot». cp 000-default etampes cp 000-default bleriot Et nous ajoutons dans le fichier «etampes», entre la balise <VirtualHost *:80> et la directive «DocumentRoot», la ligne suivante : Et nous modifions aussi, la ligne DocumentRoot en ajoutant : var/www/etampes <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName www.lycee-etampes.org DocumentRoot /var/www/etampes Et pour finir, nous créons le répertoire /var/www/etampes et on y ajoute un fichier index.html qui affiche «ETAMPES». Nous répétons les manipulations précédentes pour le site de Bleriot en ajoutant les lignes «ServerName www.lycee-bleriot.org» et «/var/www/bleriot». Plusieurs noms pour un même serveur virtuel Maintenant, nous allons ajouter plusieurs noms dans un même serveur virtuel. Pour cela, nous allons placer la directive ServerAlias dans une section <VirtualHost>. Nous nous rendons dans le fichier index.html de Étampes, et ajoutons la ligne suivante : ServerAlias lycee-etampes.org *.lycee-etampes.org Dorénavant, toutes les requêtes portant sur un domaine etampes.org seront affichées par le serveur virtuel www.etampes.org. - Page 7 -

Avec l'adresse www.lycee-etampes.org : Avec l'adresse www.lycee-bleriot.org : Avec l'adresse IP : - Page 8 -

Les fichiers.htaccess : authentification et plus encore... Maintenant, nous allons mettre en place un mot de passe afin de s'identifier pour accéder au répertoire secret que nous allons créer. Nous allons dans le dossier suivant : /home/etudiant/public_html/secret/ et nous créons le fichier.htaccess Et nous ajoutons les lignes suivantes : ErrorDocument 403 http://www.lycee-etampes.org/error403.html AuthUserFile /home/mikmik/.password AuthGroupFile /dev/null AuthName "Acces securise au site ETAMPES" AuthType Basic <LIMIT GET POST> Require valid-user </LIMIT> A la ligne «AuthGroupFile», nous entrons l'arborescence du fichier des mots de passe. Et dans ce dossier, nous créons le fichier.password où l'on entre les différents utilisateurs et leur mots de passes, qui seront autorisés à accéder au site d'etampes. mikmik:123456789 etudiant:123456789 Nous avons mis en place deux utilisateurs avec leur mot de passe chacun. - Page 9 -

Et nous tentons de nous connecter à l'adresse suivante : http://172.16.21.5/~etudiant/secret Crypter les mots de passe Ensuite, nous allons générer des mots de passes cryptés de façon a ce qu'il soit indétectable sous un analyseur de trame, comme WireShark par exemple. Pour çà, nous utilisons l'outil de Apache nommé htpasswd accessible dans le sous-répertoire d'apache : /usr/bin/htpasswd Tout d'abord, nous créons le fichier de mots de passe : htpasswd -c {/home/mikmik/.password} mikmik Une fois la commande entrée, il nous demande de choisir un mot de passe pour le compte mikmik, qui sera lui crypté. Et nous ajoutons un nouvel utilisateur avec son mot de passe : htpasswd {/home/mikmik/.password} admin - Page 10 -

Empêcher l'accès à un répertoire par un domaine Pour finir, nous allons empêcher l'accès d'un répertoire par un domaine. Nous saisissons les commandes permettant la création d'un autre fichier nommé htaccess,qui demande de s'identifier pour accéder à l'adresse http://www.lycee-etampes.org/ et qui limite cet accès à l'utilisateur pierre. touch htaccess Et nous ajoutons les lignes suivantes : ErrorDocument 403 http://www.lycee-etampes.org/error403.html AuthUserFile /home/mikmik/.password AuthGroupFile /dev/null AuthName "Acces securise au site ETAMPES" AuthType Basic <LIMIT GET POST> order deny,allow deny from all allow from 172.16.21.5 require user mikmik Require valid-user </LIMIT> Nous ajoutons bien l'adresse IP du serveur web ainsi que le nom de l'utilisateur «pierre» comme demandé précédemment. Et nous testons avec l'adresse suivante: http://172.16.21.5/~etudiant/secret - Page 11 -