WikiBtsSio

20150319HtaccessHtpasswdSi5

Mise en place et sécurisation d'un serveur web



Objectifs: Être capable d'installer et de sécuriser un serveur web.
Conditions de réalisation: Environnement : debian
Durée: 2 H


Vous allez voir à travers ce TP, comment installer, paramétrer et sécuriser un serveur web sous linux en utilisant apache.
Pour la réalisation de ce TP, vous aurez besoin d'une machine virtuelle debian.
Vérifiez bien que votre carte réseau est en accès par pont et que vous avez bien une adresse IP sur le même réseau que la salle à l'aide de la commande ifconfig.


1. Pour administrer votre serveur, vous utiliserez un accès distant à l'aide de la commande ssh.
Pour cela, vous pouvez taper la commande ssh root@IP_debian.
On vous demande de vérifier que la signature du serveur est bien la bonne en l'acceptant puis le mot de passe de connexion.
Ensuite, vous pouvez travailler comme si vous étiez sur votre serveur avec l'avantage du copier/coller.

2. Sur votre machine debian, vous allez installer le serveur web apache2 ainsi que php. Vous installerez les paquets suivants :
  • apache2, php5, libapache2-mod-php5 à l'aide de la commande apt-get.

3. Testez le bon fonctionnement de votre serveur en créant une page test.php dans le répertoire /var/www contenant le code suivant : (/var/www/ est le répertoire par défaut du serveur web)

<?php
phpinfo();
?>

et en lançant votre navigateur sur l'URL : http://@IP_serveur_web/test.php

4. Créer un répertoire test dans /var/www/.
Copiez sur votre serveur à l'aide de la commande scp, quelques fichiers images dans le répertoire /var/www/test/.
Que se passe t il quand vous tapez directement dans votre navigateur l'URL : http://@IP_serveur_web/test/ ?
Créez maintenant un fichier index.php vide dans /var/www/test/.
Pour comprendre ce qui se passe, allez voir le fichier /etc/apache2/mods-available/dir.conf

5. On peut sécuriser également un répertoire en jouant sur les droits.
Quels droits allez vous mettre pour qu'on ne puisse pas lister le contenu d'un répertoire ?

Maintenant, on veut pouvoir protéger un répertoire à l'aide d'un identifiant et d'un mot de passe.
Pour cela, vous allez utiliser les possibilités du fichier .htaccess

6. Tout d'abord, il va falloir dire à apache d'accepter les fichiers .htaccess.
Pour cela, éditez le fichier /etc/apache2/sites-available/default en modifiant la ligne AllowOverride? None par AllowOverride? AuthConfig? dans la partie concernant le répertoire /var/www/. Il faut redémarrer le service pour prendre en compte la modification pour cela vous devez saisir la commande :
service apache2 restart (ce mécanisme est identique quel que soit le service)

7. Créer un répertoire test2 dans /var/www/ et placer dans ce répertoire les fichiers .htaccess et .htpasswd comme indiqué sur le site : http://www.placeoweb.com/dotclear/index.php/2007/06/24/68-htaccess-et-htpasswd
Vous pouvez également consulter :


Remarque
Vous pourrez utiliser cette fonctionnalité si vous souhaitez protéger des applications installées sur votre site Web.