Protéger l’accès à certains fichiers spécifiques avec .htaccess

I. Présentation

Les fichiers ".htaccess" sont souvent utilisés dans Apache afin de protéger l'accès à un répertoire spécifique où les fichiers sont positionnés. Il est important de savoir également que l'on peut, avec un fichier ".htaccess", protéger un fichier ou un type de fichier et pas d'autres alors qu'ils sont dans le même répertoire. C'est ce que nous allons voir dans ce tutoriel.

II. Préparation de l'environnement

Nous allons supposer qu'Apache2 est déjà installé et opérationnel sur notre serveur et qu'il est joignable sur le port 80. Pour le test, nous allons supposer que la page "index.html" doit être joignable sans restriction mais pas la page "index2.html" que nous créons maintenant :

cp /var/www/index.html /var/www/index2.html
chown www-data /var/www -Rf

Nous faisons un premier test d'accès aux deux pages. Elles sont normalement toutes deux accessibles sans restrictions (sinon vérifiez votre configuration Apache2).

III. Construction du fichier .htaccess

Nous allons maintenant créer le fichier ".htaccess" dans le répertoire "/var/www" afin de restreindre l'accès uniquement au fichier "index2.hml" :

vim /var/www/.htaccess

Nous mettons ce contenu à l'intérieur :

AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès sécurisé administration"
AuthType Basic
require user neoflow

Ce sont les balises "" qui nous permettent en effet d'indiquer à Apache que nous souhaitons protéger un fichier ou un type de fichier spécifique. Il faut maintenant créer le fichier ".htpasswd" (qui peut d'ailleurs être nommé comme vous le souhaitez) à l'endroit indiqué dans notre fichier ".htaccess" :

htpasswd -c /var/www/.htpasswd neoflow

On indiquera ensuite deux fois notre mot de passe.

Note : Vérifiez que votre configuration Apache2 accepte les fichiers ".htaccess", je vous amène à ce tutoriel si votre fichier ne semble pas être pris en compte : Fichier .htaccess pas pris en compte, que faire ?

Voila nous avons bien protégé notre fichier "index2.html" sans restreindre l'accès à notre fichier "index.html" alors que ceux-ci se situent dans le même répertoire Apache2.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 521.Voir tous les posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.