DevOps

Sécuriser Nginx sur Ubuntu 14.04

La mise en place d’une authentification HTTP, également connue sous le nom d’authentification basique, avec Nginx sur un système Ubuntu 14.04, est une procédure essentielle pour renforcer la sécurité des accès à votre serveur web. L’authentification HTTP utilise un mécanisme simple où les utilisateurs doivent fournir des identifiants (nom d’utilisateur et mot de passe) pour accéder à des ressources protégées.

Avant de commencer le processus d’installation et de configuration, il est important de noter que Ubuntu 14.04 n’est plus pris en charge par Canonical depuis avril 2019. Cela signifie qu’il ne reçoit plus de mises à jour de sécurité, et il est fortement recommandé de migrer vers une version plus récente d’Ubuntu pour garantir la sécurité de votre système.

Pour mettre en place l’authentification HTTP avec Nginx, suivez ces étapes détaillées :

Étape 1 : Installation de Nginx

Assurez-vous que Nginx est installé sur votre serveur Ubuntu 14.04. Si ce n’est pas le cas, vous pouvez l’installer en utilisant la commande suivante :

bash
sudo apt-get update sudo apt-get install nginx

Étape 2 : Création d’un fichier htpasswd

Pour stocker les informations d’authentification, vous devez créer un fichier htpasswd qui contient les paires nom d’utilisateur et mot de passe chiffré. Utilisez la commande suivante pour créer ce fichier :

bash
sudo htpasswd -c /etc/nginx/.htpasswd utilisateur

Remplacez « utilisateur » par le nom d’utilisateur que vous souhaitez utiliser. Vous serez invité à saisir un mot de passe et à le confirmer.

Étape 3 : Configuration de Nginx

Maintenant, vous devez configurer Nginx pour utiliser le fichier htpasswd. Ouvrez le fichier de configuration du site Nginx avec votre éditeur de texte préféré. Pour cet exemple, nous utiliserons nano :

bash
sudo nano /etc/nginx/sites-available/default

Ajoutez les lignes suivantes à la section appropriée (généralement dans le bloc de configuration du serveur) :

nginx
location / { auth_basic "Accès restreint"; auth_basic_user_file /etc/nginx/.htpasswd; # ... autres configurations de localisation }

Étape 4 : Redémarrage de Nginx

Après avoir apporté des modifications à la configuration, redémarrez Nginx pour appliquer les modifications :

bash
sudo service nginx restart

Conseils supplémentaires :

  • Sécurité du fichier htpasswd : Assurez-vous que le fichier htpasswd est situé dans un répertoire sécurisé, tel que /etc/nginx/, pour éviter tout accès non autorisé.

  • Gestion des utilisateurs : Pour ajouter un nouvel utilisateur ou modifier le mot de passe d’un utilisateur existant, utilisez la commande htpasswd sans l’option -c (création) :

    bash
    sudo htpasswd /etc/nginx/.htpasswd autre_utilisateur

    Suivez les invites pour définir le nouveau mot de passe.

  • Utilisation de SSL : Si votre site est accessible via HTTPS, il est fortement recommandé d’utiliser SSL pour chiffrer les données transmises, y compris les informations d’authentification. Obtenez un certificat SSL et configurez Nginx pour utiliser SSL.

En conclusion, la mise en place de l’authentification HTTP avec Nginx sur Ubuntu 14.04 est une étape cruciale pour renforcer la sécurité de votre serveur web. Cependant, gardez à l’esprit que la migration vers une version plus récente d’Ubuntu est vivement recommandée pour bénéficier des dernières mises à jour de sécurité et du support continu.

Plus de connaissances

L’implémentation de l’authentification HTTP avec Nginx sur un système Ubuntu 14.04 vise à renforcer la sécurité des accès à un serveur web en exigeant des utilisateurs qu’ils fournissent des identifiants valides pour accéder à des ressources protégées. Cette procédure, bien qu’utile, doit être abordée avec une compréhension approfondie des implications de sécurité et des bonnes pratiques associées.

Contexte de l’Authentification HTTP avec Nginx :

L’authentification HTTP, basée sur le protocole HTTP, repose sur le mécanisme « Basic Authentication ». Ce mécanisme est simple mais doit être utilisé avec précaution, car les informations d’authentification sont transmises en texte clair lors de chaque requête, ce qui peut être intercepté si le trafic n’est pas chiffré.

Mise en Garde sur Ubuntu 14.04 :

Il est crucial de noter que Ubuntu 14.04 n’est plus pris en charge par Canonical depuis avril 2019. L’absence de mises à jour de sécurité expose votre système à des vulnérabilités potentielles. Avant de mettre en œuvre des mesures de sécurité telles que l’authentification HTTP, il est fortement recommandé de migrer vers une version plus récente d’Ubuntu pour garantir un environnement stable et sécurisé.

Étapes Détailées pour la Configuration :

Étape 1 : Installation de Nginx

La première étape consiste à installer Nginx sur votre serveur Ubuntu 14.04. Assurez-vous d’utiliser les commandes appropriées pour mettre à jour le gestionnaire de paquets et installer Nginx.

Étape 2 : Création du Fichier htpasswd

Le fichier htpasswd stocke les paires nom d’utilisateur et mot de passe chiffré. L’utilisation de la commande htpasswd avec l’option -c permet de créer le fichier. Assurez-vous de stocker ce fichier dans un répertoire sécurisé, généralement situé dans /etc/nginx/.

Étape 3 : Configuration de Nginx

La configuration de Nginx se fait en éditant le fichier de configuration du site. Ajoutez les directives nécessaires dans la section appropriée, en spécifiant le fichier htpasswd créé. L’ajout de la directive auth_basic définit le message d’invite, renforçant la sécurité.

Étape 4 : Redémarrage de Nginx

Après chaque modification de la configuration, redémarrez Nginx pour appliquer les changements. Cela garantit que la nouvelle configuration, y compris l’authentification HTTP, est prise en compte.

Conseils Supplémentaires et Bonnes Pratiques :

  • Sécurité du Fichier htpasswd : Le fichier htpasswd doit être stocké dans un répertoire inaccessible aux utilisateurs non autorisés. Les autorisations du fichier doivent être configurées correctement pour garantir la confidentialité des informations d’authentification.

  • Gestion des Utilisateurs : La gestion des utilisateurs se fait à l’aide de la commande htpasswd. Pour ajouter un nouvel utilisateur ou modifier le mot de passe d’un utilisateur existant, évitez l’utilisation de l’option -c qui créerait un nouveau fichier htpasswd. Utilisez simplement la commande sans cette option.

  • Utilisation de SSL : L’utilisation de l’authentification HTTP sans chiffrement expose les informations d’authentification au risque d’interception. Il est fortement recommandé d’utiliser SSL pour chiffrer les communications entre le client et le serveur. Cela nécessite l’obtention et la configuration d’un certificat SSL.

En conclusion, la mise en place de l’authentification HTTP avec Nginx sur Ubuntu 14.04 est une mesure de sécurité efficace, mais il est impératif de prendre en compte les aspects de sécurité inhérents au protocole « Basic Authentication » et de migrer vers une version d’Ubuntu prise en charge pour garantir la stabilité et la sécurité du système.

Bouton retour en haut de la page