Comment protéger par mot de passe un site Web Apache à l'aide de .htaccess
Sécurité Microsoft Apache / / March 18, 2020
Dernière mise à jour le
Si vous exécutez votre site Web avec Apache, la sécurisation du site avec un mot de passe est un processus simple. J'ai récemment exécuté le processus sur une boîte Windows (la majorité des photos ci-dessous), mais les étapes sont à peu près les mêmes pour les sites Windows ou Linux Apache.
Étape 1: configurez votre fichier .htaccess
Tout le travail se fera à l'aide de votre fichier .htaccess. Vous pouvez trouver ce fichier à la racine de la plupart des sites Web Apache.
La capture d'écran a été prise à partir d'une installation vanilla de WordPress exécutée sur Windows 2003 Server:
Le fichier .htaccess est vérifié par Apache avant d'afficher les pages Web. Il est généralement utilisé pour ReWrites ou ReDirects, mais vous pouvez également l'utiliser pour tirer parti des fonctionnalités de sécurité intégrées d'Apache.
Ainsi, la première étape consiste à ajouter quelques paramètres au fichier. Voici un exemple de fichier .htaccess. (CONSEIL: j'utilise bloc-notes ++ pour éditer la plupart des fichiers PHP et connexes)
AuthUserFile c: apachesecurity.htpasswd. AuthName "Veuillez saisir l'utilisateur et PW" AuthType Basic. nécessite un utilisateur valide
Quelques explications:
AuthUserFile: APACHE a besoin de l'emplacement du fichier utilisateur / mot de passe. Entrez simplement le chemin d'accès complet à votre fichier de base de données de mots de passe comme indiqué ci-dessus. L'exemple ci-dessus est tiré de ma boîte Windows. Si vous utilisez Linux, ce serait quelque chose comme: AuthUserFile /full/path/to/.htpasswd
AuthName: Ce champ définit le titre et le texte de la boîte contextuelle qui demandera le nom d'utilisateur et le PW. Vous pouvez faire ce que vous voulez. Voici un exemple sur ma boîte de test:
AuthType: Ce champ indique à Apache quel type d'authentification est utilisé. Dans presque tous les cas, «Basic» est très bien (et le plus courant).
Exiger un utilisateur valide: Cette dernière commande permet à Apache de savoir QUI est autorisé. En utilisant "utilisateur valide“, vous dites à Apache que TOUT LE MONDE est autorisé à s'authentifier s'il a un nom d'utilisateur et un mot de passe valides.
Si vous préférez être plus EXACT, vous pouvez spécifier un ou plusieurs UTILISATEURS spécifiques. Cette commande ressemblerait à:
Obliger l'utilisateur mrgroove groovyguest
Dans ce cas, seuls les utilisateurs mrgroove et groovyguest seraient autorisés à entrer dans la page / le répertoire que vous protégez (après avoir fourni le nom d'utilisateur et le mot de passe corrects bien sûr). Tous les autres utilisateurs (y compris les utilisateurs valides) se verront refuser l'accès. Si vous souhaitez autoriser davantage d'utilisateurs, séparez-les simplement par des espaces.
Donc, maintenant que nous avons tous les paramètres de configuration définis, voici à quoi devrait ressembler votre fichier .htaccess terminé:
La capture d'écran est prise à partir d'une boîte Windows 2003 Server exécutant WordPress:
Étape 2: créez le fichier .htpasswd
La création du fichier .htpasswd est un processus simple. Le fichier n'est rien de plus qu'un fichier texte contenant une liste d'utilisateurs et leurs mots de passe cryptés. Chaque chaîne utilisateur doit être séparée sur sa ligne. Personnellement, j'utilise juste bloc-notes ++ ou le Bloc-notes Windows pour créer le fichier.
Ci-dessous, un exemple de fichier .htpasswd avec deux utilisateurs:
Bien qu'Apache ne vous «oblige» pas à chiffrer les mots de passe, il s'agit d'un processus simple pour les systèmes Windows et Linux.
les fenêtres
Accédez à votre dossier Apache BIN (généralement situé dans C: \ Program Files \ Apache Group \ Apache2bin) et exécutez l'outil htpasswd.exe pour générer une chaîne de nom d'utilisateur / mot de passe chiffrée MD5. Vous pouvez également utiliser l'outil pour créer le fichier .htpasswd pour vous (tout ce qui fonctionne…). Pour tous les détails, il suffit d'exécuter le commutateur d'aide à partir de la ligne de commande (htpasswd.exe /?).
Dans presque tous les cas, cependant, exécutez simplement la commande suivante:
htpasswd -nb mot de passe du nom d'utilisateur
Une fois la commande exécutée, l'outil htpasswd.exe affichera la chaîne utilisateur avec le mot de passe crypté.
La capture d'écran ci-dessous est un exemple d'exécution de l'outil htpasswd.exe sur Windows 2003 Server
Une fois que vous avez la chaîne utilisateur, copiez-la dans votre fichier .htpasswd.
Linux:
Aller à: http://railpix.railfan.net/pwdonly.html pour créer vos chaînes d'utilisateur avec des mots de passe cryptés. Processus très simple.
Étape 3: Vérifiez qu'Apache est correctement configuré * facultatif
Par défaut, Apache a les bons modules activés. Cela étant dit, cela ne fait jamais de mal d'être un peu proactif et c'est un «contrôle» rapide.
Ouvrez votre fichier Apache httpd.conf et vérifiez que le module AUTH est activé:
Si vous trouvez que le module n'est pas activé, corrigez-le comme indiqué ci-dessus. N'oubliez pas; vous devez redémarrer Apache pour que les modifications apportées à votre httpd.conf prennent effet.
Cela devrai prendre soin de ça. Terminé.
Mots clés:apache, chiffrement, htaccess, Sécurité, les fenêtres