Protéger un répertoire d’hébergement par un mot de passe (Plesk)

Vous pouvez définir et modifier un mot de passe de contrôle d’accès aux répertoires de l’hébergement à l’aide du fichier .htaccess.
Utilisez un fichier .htpasswd pour mettre en place un identifiant et un mot de passe.

Protéger un répertoire par un mot de passe

Il s’agit d’une des applications les plus utiles du fichier .htaccess car elle permet de définir de façon sûre (à l’aide d’un login et d’un mot de passe) les droits d’accès à des fichiers par certains utilisateurs. La syntaxe est la suivante :

AuthUserFile {emplacement du fichier de mot de passe}
AuthGroupFile {emplacement du fichier de groupe}
AuthName "Accès protégé"
AuthType Basic
Require valid-user

La commande AuthUserFile permet de définir l’emplacement du fichier contenant les logins et les mots de passe des utilisateurs autorisés à accéder à une ressource donnée.

La commande AuthGroupFile permet de définir l’emplacement du fichier contenant les groupes d’utilisateurs autorisés à s’identifier. Il est possible d’outrepasser cette déclaration en déclarant le fichier suivant : /dev/null.

Voici un exemple de fichier .htaccess :

ErrorDocument 403 https://developers.google.com/open-source/gci/help/403
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
AuthGroupFile /dev/null
AuthName "Accès sécurisé au site CCM"
AuthType Basic
Require valid-user

Le fichier de mot de passe est un fichier texte devant contenir sur chacune des ses lignes le nom de chaque utilisateur suivi des deux points (:), puis du mot de passe crypté (solution recommandée) ou en clair.

Voici un exemple de fichier de mot de passe non crypté (ici .FichierDeMotDePasse)

Hector_user1:Tata503
Robert_user2:Thor(38)
Charles_user3:Joe_le-Taxi]

Voici le même fichier contenant des mots de passe cryptés :

Hector_user1:$apr1$Si0.....$teyL5Y7BR4cHj0sX309Jj0
Robert_user2:$apr1$TD1.....$sfPTHjoufoNsda4HsD1oL0
Charles_user3:$apr1$zF1.....$wYKqRu2aVYlAEQnxVkly8.

.FichierDeMotDePasse est un simple fichier texte contenant les noms des utilisateurs suivis d’un : puis du mot de passe crypté (ou non) de cet utilisateur. Ce fichier de mot de passe ne devrait pas être mis dans un répertoire virtuel Internet (mais comment faire autrement si l’on ne possède pas de serveur Internet et que notre site est hébergé par un tiers ?). Il faut de plus prendre la précaution de mélanger des majuscules, des minuscules, des chiffres et des symboles dans le nom du fichier…

Crypter les mots de passe

Apache fournit un outil permettant de générer facilement des mots de passe cryptés (aussi bien sous Windows que sous Unix), il s’agit de l’utilitaire htpasswd accessible dans le sous-répertoire bin d’Apache.

La syntaxe de cet utilitaire est la suivante :

  • ● Pour créer un nouveau fichier de mots de passe : htpasswd -c {chemin du fichier de mot de passe} utilisateur
  • ● Pour ajouter un nouvel utilisateur/mot de passe à un fichier existant : htpasswd {chemin du fichier de mot de passe} utilisateur

Le mot de passe sera demandé en ligne de commande avec une confirmation.
Voici un exemple :

htpasswd -c /www/secure/.htpasswd Hector_user1

Voici un petit utilitaire vous permettant de crypter vos mots de passe en ligne :

En savoir plus sur le fichier .htaccess et sa gestion : Tutoriel du serveur HTTP Apache : fichiers .htaccess