Comment configurer l’authentification par mot de passe avec Apache sur Ubuntu 18.04

introduction

Ce tutoriel vous guidera à travers les actifs de protection par mot de passe sur un serveur Web Apache fonctionnant sur Ubuntu 18.04. La réalisation de ces étapes fournira à votre serveur une sécurité supplémentaire afin que les utilisateurs non autorisés ne puissent pas accéder à certaines parties de votre page.

Conditions préalables

Pour terminer ce didacticiel, vous aurez besoin d’accéder aux éléments suivants sur un serveur Ubuntu 18.04:

  • Un utilisateur sudo sur votre serveur
  • Un serveur web Apache2
  • Un site sécurisé avec SSL

Étape 1 – Installez le package Apache Utilities

Nous installerons un utilitaire appelé htpasswd , qui fait partie du paquet apache2-utils pour gérer les noms d’utilisateur et les mots de passe avec accès au contenu restreint.

sudo apt update -y && sudo apt upgrade -y
sudo apt install apache2-utils

Étape 2 – Créez le fichier de mot de passe

Nous allons créer le premier utilisateur comme suit (remplacez ` first_username par le nom d’utilisateur de votre choix):

sudo htpasswd -c /etc/apache2/.htpasswd first_username

Il vous sera demandé de fournir et de confirmer un mot de passe pour l’utilisateur.

-c argument -c pour tout utilisateur supplémentaire que vous souhaitez ajouter afin de ne pas écraser le fichier:

sudo htpasswd /etc/apache2/.htpasswd another_user

Étape 3 – Configurer l’authentification par mot de passe Apache

Dans cette étape, nous devons configurer Apache pour vérifier ce fichier avant de servir notre contenu protégé. Nous le ferons en utilisant le fichier hôte virtuel du site.

Ouvrez le fichier hôte virtuel auquel vous souhaitez ajouter une restriction avec un éditeur de texte tel que nano:

sudo nano / etc / apache2 / sites-enabled / default-ssl.conf

L’authentification se fait par répertoire. Dans notre exemple, nous limiterons la racine entière du document, mais vous pouvez modifier cette liste pour ne cibler qu’un répertoire spécifique dans l’espace Web.

Dans cette étape, ajoutez les lignes en surbrillance suivantes dans votre fichier: /etc/apache2/sites-enabled/default-ssl.conf

<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory "/var/www/html"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory> </VirtualHost>

Vérifiez la configuration avec la commande suivante:

Vous pouvez redémarrer le serveur pour implémenter votre stratégie de mot de passe, puis vérifier l’état de votre serveur.

sudo systemctl restart apache2
sudo systemctl status apache2

Étape 4 – Confirmer l’authentification par mot de passe

Pour confirmer que votre contenu est protégé, essayez d’accéder à votre contenu restreint dans un navigateur Web. Vous devriez recevoir un nom d’utilisateur et un mot de passe:

Invite de mot de passe Apache2