Securiser un acces par mot de passe htaccess htpasswd

Qui n’a jamais eu besoin de stocker des fichiers sur son serveur d’intégration continue pour faire du monitoring rapidement, tester une fonction php sur un serveur en condition réelle, exécuter un batch ? Nous allons dans cet article découvrir comment le faire mais en ajoutant la sécurisation nécessaire.

AuthUserFile "/home/access/webtools/.htpasswd"
AuthType Basic
AuthName "Page d'administration protegee"
Require valid-user
Order Deny,Allow
Allow from 129.113.83.214
Deny from all
Satisfy any

CONFIGURATION DE L’HÔTE APACHE

Tout d’abord, il va vous falloir vérifier la présence de la ligne

 AllowOverride All

Pensez bien sur à redémarrer apache !

 sudo service apache2 restart

Dans votre fichier de configuration de l’hote apache, si vous avez l’option à None, vous ne pourrez pas profiter de la configuration du .htaccess que nous allons définir ensemble

CRÉER UN FICHIER DE STOCKAGE DES MOTS DE PASSE

Pour se faire je vous conseille de stocker par dossier vos différents accès,

La console vous proposera ensuite de saisir le mot de passe correspondant à l’user1 (ou tout autre nom que vous aurez choisi)


CRÉER LE FICHIER .HTACCESS


Il ne nous reste plus qu’à appeler le fichier .htpasswd que nous venons de créer. Pour ce faire, créer un fichier .htaccess à la racine de votre dossier à proteger, par exemple:


sudo nano /var/www/webtools
mkdir /home/access
mkdir /home/access/webtools
cd /home/access/webtools
htpasswd -c .htpasswd user1

Placez dans ce fichier les lignes suivantes

Quelques explications: Nous commençons par indiquer l’emplacement de notre fichier de mot de passe, puis la sécurité qu’il s’y applique. La partie originale ici est la saisie d’une addresse ip, si vous êtes sur une ip fixe (cas d’un réseau d’entreprise par exemple) vous éviterez ainsi la saisie du mot de passe lors de votre passage. (grace au satisfy « any » et non pas « all »)

Générateur de mot de passe .htpasswd : Protéger votre pré-production de l’indexation sur Google


Voici un outil gratuit permettant de crypter le mot de passe à mettre dans le fichier .htpasswd. Ce fichier doit être intégré dans le dossier de votre site web pour le sécuriser. Très utile pour sécuriser un dossier d’administration pour limiter l’accès et éviter l’indexation sur Google de votre site Internet en pré production.

Il faut ajouter également un fichier .htaccess pour déclarer correctement au serveur l’emplacement du fichier htpasswd.