Apache : Protection par mot de passe

Les systèmes de protection et d’authentification par mot de passe offerts par le serveur web Apache sont probablement la plus importante utilisation des fichiers .htaccess. Très facilement, nous pouvons protéger par mot de passe un répertoire (ou plusieurs) d’un site web dont l’accès nécessite un nom d’utilisateur et un mot de passe. La procédure de connexion pour ces répertoires sécurisés est gérée automatiquement par le navigateur web à l’aide d’une interface de connexion par fenêtre contextuelle (vous avez probablement déjà vu ces interfaces). Les mots de passe sont également cryptés à l’aide de l’une des meilleures méthodes de cryptage disponibles, ce qui garantit la sécurité des informations de connexion. Dans cette section, nous aborderons les détails du système d’authentification .htaccess, nous expliquerons comment mettre en place une protection par mot de passe, ainsi qu’une série d’informations utiles à ce sujet, nous expliquerons également une variété de logiciels préfabriqués qui peuvent être utilisés pour accomplir ces tâches.

Nous allons vous expliquer la protection par mot de passe ci-après

Pour commencer, choisissez le répertoire que vous souhaitez protéger par un mot de passe (notez que tous les fichiers et sous-répertoires du répertoire seront protégés par un mot de passe), puis créez un fichier .htaccess en suivant les principales instructions et indications qui comprennent le texte suivant :

AuthName "Member's Area Name"
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user

La première ligne indique au serveur Web Apache que le répertoire sécurisé est appelé “Member’s Area Name”, qui sera affiché lorsque l’invite de connexion apparaîtra. La deuxième ligne précise l’emplacement du fichier de mots de passe. La troisième ligne spécifie le type d’authentification, dans cet exemple nous utilisons “Basic” parce que nous utilisons l’authentification HTTP de base et enfin la quatrième ligne spécifie que nous avons besoin de données de connexion valides, cette ligne peut également être utilisée pour spécifier un nom d’utilisateur spécifique, par exemple “require user username” nécessiterait le nom d’utilisateur “username”. Vous l’utiliseriez si vous protégiez par un mot de passe une zone d’administration, plutôt que de créer un répertoire public protégé par un mot de passe.

L’emplacement du fichier de mot de passe peut être n’importe où sur votre serveur web, le “/location/of/password/file/” doit être remplacé par le chemin d’accès complet/absolu au répertoire contenant le fichier de mot de passe, et le fichier “.htpasswd” doit exister, mais il peut être appelé n’importe comment. Nous utilisons le nom de fichier “.htpasswd” car le serveur reconnaîtra le nom du fichier et le cachera aux visiteurs. Notez que certains serveurs exigent que le fichier de mot de passe soit situé dans le même répertoire que le fichier .htaccess. Il est également important d’utiliser un chemin de serveur complet/absolu pour l’emplacement du fichier de mot de passe, un chemin relatif, ou toute variation d’une URL ne fonctionnera pas.

Le fichier de mot de passe contiendrait quelque chose de similaire au texte suivant :

username:encryptedpassword
john_white:pGH8RbwSQFt4

Maintenant, vous ne pouvez pas simplement inventer le mot de passe, sur les serveurs Unix/Linux ils doivent être cryptés par le serveur, sur les serveurs Windows vous utilisez juste un mot de passe en texte clair car Windows n’offre aucune méthode de cryptage. Vous pouvez avoir un nombre quelconque d’enregistrements d’utilisateurs dans votre fichier de mots de passe, un compte par ligne, en séparant le nom d’utilisateur et le mot de passe par deux points. ionix, propose un produit appelé “DirectoryPass” qui est très utile pour cette tâche. DirectoryPass est un script Perl très simple qui automatise le processus de mise en place de la protection par mot de passe et, plus important encore, la création des comptes utilisateurs.

La création d’un répertoire protégé par mot de passe vous permet d’offrir une zone réservée aux membres. Offrir une zone réservée aux membres sur votre site web est également un excellent moyen de suivre les visiteurs de votre site web et une manière brillante de créer un sentiment de communauté sur le site web. En demandant aux visiteurs de s’inscrire pour accéder au contenu, vous pouvez recueillir toutes les informations sur les visiteurs dont vous avez besoin, qu’il s’agisse de leur pays de résidence, de leur sexe ou de leur statut professionnel.

Un tel système peut être mis en place très facilement de nos jours grâce à la vaste gamme de solutions prédéfinies disponibles sur Internet, dont la plupart sont aussi faciles à configurer que le contenu initial du site web. ionix propose deux autres solutions à ce scénario qui se sont avérées très populaires, l’une est appelée “zone verrouillée”, disponible sur Internet depuis plus de huit ans et utilisée aujourd’hui sur plus de cinquante mille sites web. Il s’agit d’un système de gestion de la zone des membres très simple mais efficace, disponible gratuitement, qui peut être utilisé pour créer une zone des membres sécurisée pour stocker votre contenu, il comprend un système d’enregistrement pour que les visiteurs de votre site web s’inscrivent pour accéder à la zone des membres, et il comprend un fantastique panneau d’administration pour vous aider à gérer les comptes et à envoyer des courriels à vos membres.

Un autre produit proposé par ionix est “OpenCrypt”. OpenCrypt” est la solution d’entreprise d’ionix pour la gestion des membres et offre des fonctionnalités impressionnantes, notamment un système d’analyse statistique complet et peut-être le système d’enregistrement le plus flexible du marché. Les deux produits gèrent la sécurité de votre contenu et garantissent que les visiteurs ne peuvent pas accéder à la zone des membres sans s’inscrire. OpenCrypt” offre également des facilités complètes pour empêcher vos visiteurs de partager leurs données de connexion, ce qui est particulièrement important pour les sites web à forte demande.

Diverses autres solutions sont disponibles pour accomplir cette tâche, notre conseil serait d’utiliser un logiciel écrit de préférence en Perl, ou alternativement en PHP. Selon notre expérience, nous ne recommandons pas l’utilisation de logiciels écrits en ASP ou en ColdFusion, en particulier lorsque l’on recherche un logiciel lié à la sécurité. Nous avons répertorié un certain nombre de sites web que vous trouverez utiles lorsque vous recherchez des solutions similaires, à savoir Hot Scripts, CGI Resources et The CGI-Index.com.

Notez qu’il n’est pas possible d’offrir une fonction de déconnexion, les détails de connexion sont mis en cache dans le navigateur web jusqu’à ce que celui-ci soit fermé, de sorte que les visiteurs peuvent quitter le site web et revenir plus tard dans la session sans être invités à se connecter à nouveau. Lorsque le navigateur est fermé et rouvert, les données de connexion sont supprimées du cache et l’invite contextuelle s’affiche. La possibilité de se déconnecter a été discutée pendant un certain temps, diverses méthodes ont été proposées mais aucune n’est assez fiable pour mériter d’être discutée.

Lire la suite : Refuser des visiteurs en fonction de l’adresse IP

Laisser un commentaire

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