Skip to content

Sécuriser votre serveur web avec Ubuntu et Nginx. Guide étape par étape

Published: at 17:20

Dans cet article, nous allons explorer les étapes essentielles pour sécuriser votre serveur web sur un VPS utilisant Ubuntu et Nginx. La sécurité de votre serveur est primordiale pour protéger vos données, vos applications et vos utilisateurs contre les cyberattaques et les compromissions. Nous aborderons la mise à jour du système, la configuration du pare-feu, l’utilisation de clés SSH, la sécurisation de Nginx, l’adoption de HTTPS, la mise en place d’outils de surveillance et d’audit, ainsi que des recommandations supplémentaires pour renforcer la sécurité de votre serveur. Suivez attentivement ces étapes pour établir une infrastructure solide et sécurisée pour votre serveur web.

1. Mise à jour du système :

Mettez à jour tous les packages de votre système en utilisant les commandes suivantes :

sudo apt update
sudo apt upgrade

Assurez-vous de maintenir votre système à jour régulièrement pour éviter les vulnérabilités de sécurité connues.

2. Configuration du pare-feu :

Utilisez UFW (Uncomplicated Firewall) pour configurer un pare-feu sur votre serveur. Autorisez uniquement les ports nécessaires pour SSH (22), HTTP (80) et HTTPS (443) :

sudo apt install ufw
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

3. Utilisation de clés SSH et désactivation des mots de passe :

Vous avez déjà mentionné que vous vous connectez en SSH avec une clé publique. Assurez-vous que la connexion par mot de passe est désactivée dans le fichier de configuration SSH :

sudo vi /etc/ssh/sshd_config

Vérifiez que les paramètres suivants sont correctement configurés :

PermitRootLogin yes
PasswordAuthentication no
PubkeyAuthentication yes

Redémarrez le service SSH pour appliquer les modifications :

sudo systemctl restart ssh

4. Sécurisation de Nginx :

5. Utilisation de HTTPS :

Configurez un certificat SSL gratuit avec Let’s Encrypt pour sécuriser les communications entre votre serveur et les clients :

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

Suivez les instructions pour obtenir et installer le certificat. Pensez à configurer le renouvellement automatique du certificat SSL.

6. Monitoring et audit :

Installez et configurez des outils de surveillance et d’audit tels que Fail2Ban et Logwatch pour surveiller l’accès au serveur et détecter d’éventuelles activités suspectes.

7. Effectuez des sauvegardes régulières :

Mettez en place un système de sauvegarde régulière pour protéger vos données en cas d’incident. Vous pouvez utiliser des outils tels que rsync ou des services cloud pour stocker vos sauvegardes.

En suivant ces étapes, vous renforcerez la sécurité de votre serveur web et réduirez les risques de compromission. Voici quelques étapes supplémentaires que vous pouvez envisager pour améliorer encore la sécurité de votre serveur :

8. Mise en place d’un VPN ou d’un réseau privé :

Utilisez un VPN ou un réseau privé pour accéder à votre serveur, afin de réduire la surface d’attaque et de mieux contrôler l’accès à votre infrastructure.

9. Chiffrement des données :

Chiffrez les données sensibles stockées sur votre serveur à l’aide de solutions de chiffrement, telles que dm-crypt ou LUKS.

10. Sécurisation des applications et des données :

Assurez-vous que toutes les applications et les bibliothèques tierces utilisées sur votre serveur sont régulièrement mises à jour et proviennent de sources fiables.

11. Tests de pénétration et audits de sécurité :

Réalisez régulièrement des tests de pénétration et des audits de sécurité pour identifier et corriger les vulnérabilités dans votre infrastructure.

12. Formation et sensibilisation à la sécurité :

Assurez-vous que vous et toutes les personnes ayant accès au serveur sont formées et sensibilisées aux meilleures pratiques de sécurité et aux menaces potentielles.

Enfin, il est crucial de rester informé des dernières tendances en matière de sécurité et de surveiller les nouvelles vulnérabilités et les mises à jour de sécurité pour votre serveur et les logiciels que vous utilisez. Adoptez une approche proactive pour maintenir la sécurité de votre infrastructure et protéger votre serveur web et vos données.