410 GONE

Besoin d'un conseil e-Commerce / Magento? SEO ? les deux? Contactez-moi!

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.

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,
mkdir /home/access
mkdir /home/access/webtools
cd /home/access/webtools
htpasswd -c .htpasswd user1
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
Placez dans ce fichier les lignes suivantes
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
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")
Souhaites vous également consulter ces articles ?