Formation d'administrateur Baby/serveur avancé/SA01-Cours et TP/1

Aller à : navigation, rechercher
Alb-sa01-1-image1.jpg

Juste par curiosité, recopiez la ligne du fichier des mots de passe, avec le login et le "hash" du mot de passe. Ne craignez rien, on ne peut pas identifier le mot de passe à partir de là :-).

Suivant

Gestion fine d'Apache

Version

Si vous avez faites les mises à jour de sécurité (et les autres), il est possible que vous ne sachiez pas quelle version d'apache est installée. En effet, quand un problème de sécurité se pose, un "patch" est diffusé. SuSE peut alors soit patcher la version courante d'Apache, il n'y aura donc pas de changement de numéro, soit mettre en place une nouvelle version.

La méthode la plus simple pour connaître la version d'Apache est de demander au serveur une page qui n'existe pas (par exemple http://mecum.perso/zertyuiop). Il réponds alors avec sa signature (si la config est resté par défaut).

Alb-sa01-1-apache01.jpg

Protection

Il est d'usage presque obligatoire de protéger certains répertoires de son site web contre les accès non autorisés. Bien sur cela est prévu et il y a même plusieurs façons d'obtenir ce résultat, selon que vous êtes ou non l'administrateur de votre serveur.

La méthode la plus simple s'utilise donc pour tous les sites dont vous n'administrez pas le serveur, c'est la gestion des ".htaccess".

Sur le site web, ".htaccess"

Vous allez placer dans le répertoire que vous voulez protéger un fichier qui porte ce nom (.htaccess, avec un "." devant, deux "c" et deux "s"). Ce fichier doit avoir un contenu qui va définir le niveau de protection et certaines autres choses. Le problème c'est qu'il y a une syntaxe standard, puis autant de variantes que de FAI :-(.

La documentation d'Apache est assez bien faite elle a même l'air en français. Malheureusement, seule la table est en français. Notez que la version "1" d'Apache est encore très utilisée, même si la version "2" est sorti depuis plusieurs années. C'est la version "2" que la SuSE a installé et c'est une bonne chose.

Pour vos essais, créez donc un répertoire "htaccess_exemple". Mettez-y le fichier .htaccess avec comme contenu :

AuthType Basic
 AuthName "Accès réservé"
 AuthUserFile /srv/www/htdocs/pwd-ht/passwd.file
 Require valid-user

Sur le site web, les mots de passe

Créez le répertoire indiqué ci-dessus (pwd-ht) dans la racine de votre site et placez-vous dedans. Si votre client est sous Linux, et que vous avez installé Apache, vous avez le programme voulu pour la suite, sinon vous l'avez sur le serveur.

Ce "programme voulu", c'est htpasswd ou htpasswd2 (selon la distribution). Il est exécutable par un utilisateur simple, mais il faut aller le chercher. Il va vous permettre de créer et de gérer le fichier des mots de passe.

Vous allez donc lancer la commande "htpasswd -c passwd.file login". htpasswd va vous demander le mot de passe, le coder, et créer le fichier (c'est l'usage de l'option -c que vous n'utiliserez qu'une fois).

C'est tout pour le site web. Vous pouvez le transférer si vous l'avez créé sur le client.

Sur le serveur

Par défaut, Apache2 ne sait pas gérer les fichiers .htaccess, la deuxième méthode (que nous verrons tout à l'heure) étant préférée par les admins.

Vous allez modifier le fichier "/etc/apache2/default-server.conf". Modifiez la ligne "AllowOverride None" en "AllowOverride AuthConfig". Sauvegardez. Relancez apache avec "rcapache2 restart". C'est tout.

Si vous vous connectez sur votre serveur, dans ce répertoire, vous aurez accès aux fichiers qu'il contient. N'oubliez pas d'en mettre un, de fichier, "index.html", avec un teste quelconque, car sinon vous ne pourrez rien voir...