Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment protéger la page avec un mot de passe dans Apache, Nginx, WordPress, hébergement?

Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Vous pouvez avoir une page sensible que vous souhaitez protéger avec le mot de passe. Ceci est également connu sous le nom d'authentification de base.

La bonne nouvelle est que c'est possible et c'est super facile.

Pourquoi protéger la page Web avec un mot de passe?

Eh bien, il pourrait y avoir de nombreuses raisons, y compris.

  • Contiennent des données sensibles sur la page
  • La page n'est pas prête et vous ne voulez pas la rendre visible publiquement mais la partager avec quelqu'un

Quoi qu'il en soit, explorons comment vous pouvez protéger.

Exigence

Prenons un exemple; Je veux protéger /client sur lab.geekflare.com, ce qui signifie que si quelqu'un accède https://lab.geekflare.com/client devrait demander un mot de passe.

Apache

Commençons par Apache d'abord.

La première chose que nous devons créer est un fichier de mots de passe dans lequel toutes les informations d'identification seront stockées. Le nom du fichier serait .htpasswd et vous pouvez le placer n'importe où sur le serveur. Je vais le créer sous /etc/httpd/conf dossier

  • Vous pouvez créer le fichier avec le touch commander
touch /etc/httpd/conf/.htpasswd
  • Ajoutons l'utilisateur qui serait autorisé à accéder à / client. Nous devons utiliser htpasswd commande pour cela.
htpasswd /etc/httpd/conf/.htpasswd geekflare
  • La dernière section geekflare, est le nom d'utilisateur. Modifiez cela avec ce que vous voulez et appuyez sur Entrée.
  • Entrez le mot de passe et vous verrez une confirmation que l'utilisateur a été ajouté.
[root@lab html]# htpasswd /etc/httpd/conf/.htpasswd geekflare
New password: 
Re-type new password: 
Adding password for user geekflare
[root@lab html]#

Si vous écrivez le fichier, vous remarquerez que le mot de passe est stocké dans un format crypté. C'est bon!

[root@lab html]# cat /etc/httpd/conf/.htpasswd 
geekflare:$apr1$EHvl0Bc5$nh4u0w3.Cj3wzPT7XUXqW1
[root@lab html]#

Ensuite, nous devons demander à Apache de protéger l'URI que nous voulons.

  • Modifiez le fichier httpd.conf ou le fichier de configuration que vous utilisez pour l'instance Apache. J'utilise l'installation par défaut donc j'utilise /etc/httpd/conf/httpd.conf
  • Ajoutez ce qui suit n'importe où dans le fichier
<Directory "/var/www/html/client">
Options Indexes FollowSymLinks
AuthType Basic
AuthName "Protected Content for Client"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>

Si vous avez déjà /var/www/html/client Directory directive, puis au lieu d'ajouter une nouvelle section, vous devez simplement ajouter ce qui suit dans la directive existante.

AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
  • Redémarrez Apache
service httpd restart
  • Essayez d'accéder à la page / client, et il devrait demander un mot de passe.

  • Saisissez les informations d'identification que vous avez définies précédemment pour afficher le contenu.

Chic .htaccess méthode?

Bien sûr, vous pouvez implémenter l'authentification de base via .htaccess fichier ainsi. Vous devez toujours générer des informations d'identification à l'aide de htpasswd comme expliqué ci-dessus. Une fois terminé, vous pouvez ajouter ce qui suit dans le dossier respectif .htaccess fichier.

AuthType Basic
AuthName "Protected Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user

La beauté est que vous n'avez pas besoin de redémarrer Apache.

Nginx

Implémentons l'authentification de base dans Nginx en suivant.

Nous prendrons l'aide d'Apache Utils pour générer les informations d'identification. Si Apache HTTP n'est pas installé sur le serveur, vous devez installer les utils séparément comme ci-dessous. En cas de doute, vous pouvez exécuter htpasswd pour voir si cela fonctionne. Si ce n'est pas le cas, vous savez que vous devez l'installer.

CentOS / RHEL 8

dnf install httpd-tools

CentOS / RHEL 7

yum install httpd-tools

Ubuntu

apt-get install apache2-utils
  • Créons les informations d'identification comme nous l'avons fait dans Apache.
htpasswd -c /etc/nginx/.htpasswd chandan
  • Ne pas oublier de remplacer Chandan avec le vrai nom d'utilisateur que vous voulez

Ensuite, nous devons configurer Nginx, de sorte qu'il limite l'URI particulier avec le mot de passe.

  • Supposons que nous devons protéger /admin URI
  • Ajoutez ce qui suit dans nginx.conf ou tout autre fichier de configuration Nginx actif
location /admin {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
  • Redémarrer Nginx

Que faire si vous devez restreindre la diffusion de l'ensemble du site Web via Nginx?

Facile!

Ajoutez ce qui suit dans nginx.conf ou dans le fichier de configuration actif sous location / { directive

auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;

SiteGround

La plateforme d'hébergement a évolué. Il existe de nombreuses plates-formes qui offrent des outils pratiques, et SiteGround est l'un d'eux.

Si vous utilisez SiteGround pour héberger votre site Web, vous pouvez facilement protéger l'URL depuis leur console d'administration. Supposons que vous utilisez WordPress et besoin de protéger /wp-admin.

  • Connectez-vous à SiteGround et accédez au site sur lequel vous devez activer l'authentification de base.
  • Cliquez sur Sécurité >> URL protégées >> Utilisateurs
  • Entrez le nom et le mot de passe pour créer les informations d'identification

Ensuite, nous protégerons wp-admin avec les informations d'identification que nous venons de créer.

  • Aller à l'onglet URL
  • Entrez wp-admin dans le chemin et cliquez sur protéger
  • Cliquez sur Gérer l'accès et attribuez l'utilisateur que vous venez de créer

Essayez d'accéder à la page et SiteGround vous invitera à entrer les informations d'identification.

Facile, n'est-ce pas?

WordPress

Vous utilisez WordPress et souhaitez protéger par mot de passe un article, une page, une catégorie, un rôle ou l'ensemble du site en particulier?

Sûr!

Découvrez PPTP (Plugin WordPress de protection par mot de passe)

Installez le plugin et configurez la manière dont vous souhaitez protéger les ressources WordPress. Cela fonctionne avec constructeurs de page tel que Elementor, Divi, Castor.

Alternativement, si vous avez besoin d'une simple publication ou d'une page protégée par mot de passe, vous pouvez profiter de la fonctionnalité WP intégrée. Vous n'avez besoin d'aucun plugin pour cela.

  • Accédez à la publication ou à la page pour laquelle vous souhaitez activer un mot de passe.
  • Dans la section de publication, cliquez sur Modifier à côté de la visibilité: Public
  • Sélectionnez Mot de passe protégé et entrez le mot de passe.

  • Cliquez sur OK et vous êtes prêt!

Besoin de plus de moyens pour sécuriser WordPress? Regarde ça guide.

cPanel

Si vous êtes sur l'hébergement mutualisé, alors vous aurez probablement cPanel. La bonne nouvelle est que cPanel propose un utilitaire appelé Directory Privacy; à partir de là, vous pouvez définir un mot de passe pour l'annuaire.

  • Connectez-vous à cPanel
  • Rechercher la confidentialité de l'annuaire

  • Sélectionnez le dossier que vous souhaitez protéger. Comme ci-dessous, j'ai sélectionné un dossier appelé chandan, qui est sous public_html
  • Créez l'utilisateur qui doit être autorisé et enregistrez

  • Une fois terminé, vous remarquerez que le dossier a un verrou

Et c'est tout. Le répertoire est maintenant protégé par mot de passe. Comme vous pouvez le voir ci-dessus, j'ai testé sur Hébergement A2, et cela fonctionne très bien.

Conclusion

J'espère que ce qui précède vous aidera à protéger certains URI, dossier avec le mot de passe en utilisant l'authentification de base. Si vous recherchez une sécurité de site Web complète, vous devriez envisager de mettre en œuvre WAF.

Merci à nos commanditaires
Plus de bonnes lectures sur Nginx
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder