TP HTTP
Transcription
TP HTTP
Université Pierre Mendès France U.F.R. Sciences de l’Homme et de la Société Master IC²A TP HTTP TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 1/11 Câblage et configuration du réseau 1) Lancez Marionnet et créez le réseau tel que représenté sur le schéma ci-dessous. Vous utiliserez trois hôtes ns, m1 et srv configurés respectivement avec les adresses IP 192.168.1.1, 192.168.1.10 et 192.168.1.100. La machine ns sera le serveur de noms du domaine imss.org, la machine srv le serveur Web. 2) Démarrez et configurez les adresses IP des trois hôtes. Testez le bon fonctionnement avec la commande ping. TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 2/11 Configuration du service DNS 1) Sur ns, éditez le fichier de configuration du service DNS (bind) /etc/bind/named.conf et ajoutez la gestion des deux zones : • imss.org pour la résolution directe • 1.168.192.in-addr.arpa pour résolution inverse zone "imss.org" { type master; file "/etc/bind/db.imss.org"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.imss.org.rev"; }; 2) Créez le fichier /etc/bind/db.imss.org gérant la zone directe. Utilisez comme modèle le fichier /etc/bind/db.empty (cp /etc/bind/db.empty /etc/bind/db.imss.org) Ajoutez les enregistrements de type A ainsi qu’un enregistrement de type CNAME pour le serveur Web. ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE - it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL 86400 @ IN SOA ns. root.ns. ( 2016030201 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS ns.imss.org. ns IN A 192.168.1.1 m1 IN A 192.168.1.10 www IN CNAME srv.imss.org. srv IN A 192.168.1.100 Le numéro de série (champ Serial) est de la forme AAAAMMJJNN. A chaque modification, le numéro de série doit être mis à jour (numéro de révision NN incrémenté dans la journée). TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 3/11 3) Créez le fichier /etc/bind/db.imss.org.rev gérant la zone reverse. Utilisez également comme modèle le fichier /etc/bind/db.empty ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE - it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL 86400 @ IN SOA ns. root.ns. ( 2016030201 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS ns.imss.org. 1 IN PTR ns.imss.org. 10 IN PTR m1.imss.org. 100 IN PTR srv.imss.org. 4) Lancez le service DNS avec la commande /etc/init.d/bind9 start 5) Modifiez le fichier /etc/resolv.conf de ns, m1 et srv pour que le domaine internet et de recherche soit imss.org et le serveur de nom l’adresse IP de ns.Vérifiez le fonctionnement de la résolution de nom directe et inverse avec les commandes nslookup m1 et nslookup 192.168.1.10 nslookup www et ping www 6) Editez le fichier /etc/hosts de srv, supprimez toute ligne faisant référence à 127.0.0.1 srv et ajoutez la ligne 192.168.1.100 srv.imss.org www TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 4/11 Configuration de base du service HTTP Le service HTTP est géré par le logiciel Apache. Ce dernier est conçu pour prendre en charge de nombreux modules lui donnant des fonctionnalités supplémentaires. Il est recommandé de n’activer que les modules réellement utiles. L’ensemble des modules disponibles et leur fichier de configuration est stockée dans le répertoire /etc/apache2/mods-available. Un module peut être activé ou désactivé à l’aide respectivement des commandes a2enmod et a2dismod. Lorsqu’un module est actif, un lien pointant sur le module est présent dans le répertoire /etc/apache2/mods-enabled Le paramétrage du serveur repose sur une hiérarchie de fichiers de configuration, qui peuvent être gérés indépendamment. Il est ainsi possible de configurer plusieurs sites qui seront gérés par le même serveur. L’ensemble des configurations des sites est stockée dans le répertoire /etc/apache2/sites-available. Tout comme un module, un site peut être activé ou « désactivé » respectivement à l’aide des commandes a2ensite et a2dissite. Lorsqu’un site est actif, un lien pointant sur le fichier de site est présent dans le répertoire /etc/apache2/sitesenabled 1) Sur srv, éditez le fichier de configuration /etc/apache2/sites-available/default NameVirtualHost www.imss.org:80 <VirtualHost www.imss.org:80> [...] </VirtualHost> 2) Démarrez le service avec la commande /etc/init.d/apache2 start 3) Editez le fichier /var/www/index.html <html><body><h1>Bienvenue sur www.imss.org en HTTP</h1></body></html> 4) Sur m1, lancez le navigateur (iceweasel), tapez l’URL http://www.imss.org et vérifiez que vous obtenez bien votre message d’accueil. Utilisation du module userdir Le module userdir permet de définir sous Apache une URL de la forme http://site/~utilisateur permettant d’accéder aux pages personnelles des utilisateurs. La partie utilisateur de l’adresse peut désigner le login mais plus souvent une chaîne de la forme prenom.nom. 1) Créez un répertoire et l’arborescence qui contiendra les pages personnelles d’un utilisateur mkdir –p /data/homepages/prenom.nom TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 5/11 2) Créez un fichier index.html à l’intérieur du répertoire <html><body><h1>Bienvenue sur ma page perso</h1></body></html> 3) Editez le fichier de configuration du module /etc/apache2/mods-available/userdir.conf <IfModule mod_userdir.c> UserDir /data/homepages/* UserDir disabled root <Directory /data/homepages/*> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec </Directory> </IfModule> 4) Activez le module avec la commande a2enmod userdir et rechargez la configuration du serveur Web /etc/init.d/apache2 reload 5) Testez le bon fonctionnement depuis m1, en utilisant l’URL http://www.imss.org/~prenom.nom TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 6/11 Configuration du service HTTPS L’activation du service HTTPS nécessite la création et l’installation d’un certificat serveur. Ce certificat sera généré avec les outils openssl, et sera auto-signé (c’est-à-dire qu’il ne sera pas signé par un tiers de confiance comme les certificats des serveurs des sites institutionnels) ce qui entrainera l’affichage d’une alerte de sécurité au niveau du navigateur. Le certificat et la clé de chiffrement associée seront stockés dans le répertoire /etc/ssl/certs 1) Allez dans le répertoire /etc/ssl/certs et générez la clé de chiffrement du serveur avec la commande openssl genrsa -out www.imss.org.key 1024 2) Générez un certificat d’une durée d’un an à l’aide de la clé de chiffrement précédemment créée openssl req -new www.imss.org.crt -x509 -days 365 -key www.imss.org.key -out Répondez aux questions posées en indiquant les informations suivantes You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]:Isere Locality Name (eg, city) []:Grenoble Organization Name (eg, company) [Internet Widgits Pty Ltd]:IMSS Organizational Unit Name (eg, section) []:BSHM Common Name (eg, YOUR name) []:www.imss.org Email Address []:[email protected] 3) Vérifiez le certificat créé, notamment la date de validité openssl x509 -in www.imss.org.crt -noout -text 4) Activez le module SSL dans la configuration d’Apache a2enmod ssl /etc/init.d/apache2 reload 5) Créez un « fichier de site » nommé default-ssl dans /etc/apache2/sites-available pour la partie sécurisée de votre serveur Web, en vous basant sur le fichier de site par défaut. cd /etc/apache2/sites-available cp default default-ssl TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 7/11 6) Editez le fichier de site sécurisé en spécifiant la directive DocumentRoot (chemin racine de la partie sécurisée du site) et les directives SSLEngine, SSLProtocol, SSLCertificateFile, SSLCertificateKeyFile et SSLVerifyClient. NameVirtualHost www.imss.org:443 <VirtualHost www.imss.org:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/secure SSLEngine on SSLProtocol All SSLCertificateFile /etc/ssl/certs/www.imss.org.crt SSLCertificateKeyFile /etc/ssl/certs/www.imss.org.key SSLVerifyClient none [...] </VirtualHost> 7) Activez le site « default-ssl » avec les commandes a2ensite default-ssl /etc/init.d/apache2 reload Vérifiez qu’a bien été créé un lien « default-ssl » dans /etc/apache2/sites-enabled 8) Créez le répertoire /var/www/secure ainsi qu’un fichier index.html à l’intérieur de celui-ci <html><body><h1>Bienvenue sur www.imss.org en HTTPS</h1></body></html> 9) Testez le fonctionnement depuis m1, en utilisant l’URL https://www.imss.org TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 8/11 Configuration avancé du service HTTP Utilisation des hôtes virtuels Le serveur Apache est capable de gérer simultanément plusieurs arborescences Web grâce à la notion d'hôtes virtuels (VirtualHost). Les hôtes virtuels peuvent être basés sur le nom ou l’adresse IP. La méthode basée sur le nom est la plus utilisée. Il s’agit dans ce cas d'associer plusieurs noms DNS à une seule adresse IP. 1) Créez un nouveau domaine nommé imss.fr sur ns.imss.org zone "imss.org" { type master; file "/etc/bind/db.imss.org"; }; zone "imss.fr" { type master; file "/etc/bind/db.imss.fr"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.imss.org.rev"; }; Créez le fichier de la zone directe db.imss.fr et ajoutez un enregistrement de type CNAME pour www.imss.fr ; BIND reverse data file for empty rfc1918 zone ; ; DO NOT EDIT THIS FILE - it is used for multiple zones. ; Instead, copy it, edit named.conf, and use that copy. ; $TTL 86400 @ IN SOA ns. root.ns. ( 2013031401 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ; @ IN NS ns.imss.org. ns IN A 192.168.1.1 www IN CNAME srv.imss.org. Redémarrez le service DNS /etc/init.d/bind9 restart TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 9/11 2) Testez le bon fonctionnement de la résolution de noms ns# nslookup www Server: 192.168.1.1 Address: 192.168.1.1#53 www.imss.org canonical name = srv.imss.org. Name: srv.imss.org Address: 192.168.1.100 ns# nslookup www.imss.fr Server: 192.168.1.1 Address: 192.168.1.1#53 www.imss.fr canonical name = srv.imss.org. Name: srv.imss.org Address: 192.168.1.100 3) Créez le fichier de site /etc/apache2/sites-available/imss.fr à partir du site default Modifiez les directives DocumentRoot et Directory pour pointer sur /var/www/fr <VirtualHost www.imss.fr:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/fr <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/fr> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> [...] </VirtualHost> 5) Activez le site « imss.fr » avec la commande a2ensite imss.fr puis rechargez la configuration d’Apache avec la commande /etc/init.d/apache2 reload 6) Créez le répertoire /var/www/fr ainsi qu’un fichier index.html à l’intérieur de celui-ci <html><body><h1>Bienvenue sur www.imss.fr en HTTP</h1></body></html> 7) Sur m1, dans le navigateur (iceweasel), tapez l’URL http://www.imss.fr et vérifiez que vous obtenez bien votre message d’accueil. TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 10/11 Réécriture d’URL 1) Créez un formulaire dans le fichier /var/www/secure/login.html 2) Essayez de charger votre formulaire en utilisant l’URL http://www.imss.org/login.html. Que constatez-vous ? 3) Editez le fichier de site /etc/apache2/sites-available/default et ajoutez les lignes <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/login.html https://%{SERVER_NAME}/login.html [R,L] </IfModule> </VirtualHost> 4) Activez le module de réécriture d’URL « rewrite » a2enmod rewrite /etc/init.d/apache2 reload 5) Tapez dans le navigateur de m1, l’URL http://www.imss.org/login.html. Que constatez-vous à présent ? Comment interprétez-vous la règle de réécriture ? Répertoires protégés 1) Editez le fichier de site « imss.fr » /etc/apache2/sites-available/imss.fr et remplacez la directive AllowOverride None par AllowOverride AuthConfig <Directory /var/www/fr> Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny allow from all </Directory> 2) Rechargez la configuration d’Apache avec la commande /etc/init.d/apache2 reload 3) Créez le fichier /var/www/fr/.htaccess AuthType Basic AuthName "Acces restreint" AuthUserFile /var/www/fr/.htpasswd <LIMIT GET POST> require valid-user </LIMIT> 4) Définissez un utilisateur (bob) et un mot de passe qui seront stockés dans le fichier /var/www/fr/.htpasswd à l’aide de la commande htpasswd -c /var/www/fr/.htpasswd bob 5) Testez l’accès protégé en utilisant l’URL http://www.imss.fr. Une boîte de dialogue vous demandant un nom d’utilisateur (bob) et un mot de passe devrait à présent s’afficher à l’écran. TP HTTP – Master IC2A – 2015/2016 – Christian Bulfone / Jean-Michel Adam 11/11
Documents pareils
A6 - Apache
Section de configuration pour un dossier
Options du dossier :
Indexes : liste des dossiers/fichiers en cas d’absence de fichier index
FollowSymLinks : le serveur suit les liens symboliques
AllowOve...
TP: Sécurisation d`un serveur WEB
certificat garantissant, auprès du client, l'authenticité de la clé publique du serveur.
Dans la machine serveur,
a. Activer le module SSL à travers la commande #a2enmod ssl et redémarrer le servic...
apache2 : serveur Web multi-site - Debian
cp /etc/apache2/sites-avalaible/default /etc/apache2/sites-avalaible/site-1
cp /etc/apache2/sites-avalaible/default /etc/apache2/sites-avalaible/site-2
Pour Apache2.4 dans Jessie
cp /etc/apache2/si...