Publié le: 2011-02-12

htaccess

Généralement certaines parties de votre site sont sensibles, comme la partie administration. Afin de pouvoir sécuriser de façon plus stricte l’accès au fichiers de ces répertoires, il peut être judicieux de cacher derrière une autre sécurité celui-ci. Le fichier .htaccess permet de mettre des ACL d’accès sur un répertoire ou un fichier.

Prérequis

Vous devez avoir installé le service Apache2

Configuration d’Apache

Les .htaccess sont redoutablement efficaces pour permettre d’interdire l’accès à un répertoire.

Avant de commencer ce topic, vérifier que les lignes suivants du fichier /etc/apache2/apache2.conf sont bien dé-commentées, sinon créez les :

<Files ~ "^.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>

Ces lignes permettent de rendre invisible à quiconque les fichiers .htaccess.

Pour information, vous pouvez éviter de créer des .htaccess en utilisant les directives des VirtualHosts et en entrant les mêmes paramètres.

Configuration du .htaccess

Insérez les lignes suivantes afin de garantir la fonctionnalité du .htaccess :

AuthName "Accès Interdit"
AuthType Basic
AuthUserFile "/var/www/prive/.htpasswd"
Require valid-user

Ensuite il faudra créer le fichier de mots de passe. Dans les dernières version d’Apache ce fichier texte chiffre les mots de passe.

Pour créer le fichier .htpasswd :

.htpasswd -c .htpasswd toto
password: ****
repeat password: ****

Retirez l’option -c une fois que le fichier existe afin de rajouter des utilisateurs.

Votre répertoire est protégé.

ATTENTION : les mots de passe ont beau être chiffrés sur le serveur, ils transitent en clair sur votre réseau, sauf si vous utilisez du SSL !