Les 5 bonnes pratiques pour sécuriser un serveur Linux

Publié le 19/07/2025 dans Sécurité Serveur

Introduction

Les 5 bonnes pratiques pour sécuriser un serveur Linux

La sécurité d’un serveur Linux est la première ligne de défense pour vos applications et vos données. Qu’il s’agisse d’un petit site vitrine ou d’une infrastructure critique, une configuration négligée peut rapidement entraîner des intrusions, de la perte de données ou des indisponibilités coûteuses. Dans cet article, je vous propose 5 bonnes pratiques, éprouvées en production, pour protéger efficacement votre serveur Linux, même si vous n’êtes pas un expert en administration système.

1. Maintenir votre système et vos paquets à jour

Pourquoi ?
Les mises à jour régulières corrigent des vulnérabilités connues et comblent des failles de sécurité découvertes dans le noyau, les bibliothèques ou les services.

Comment faire ?
Sur Debian/Ubuntu :

sudo apt update && sudo apt upgrade -y

Sur CentOS/RHEL :

sudo yum update -y

Astuce : activez les unattended-upgrades pour installer automatiquement les patchs de sécurité.

2. Restreindre et durcir l’accès SSH

Pourquoi ?
SSH est la porte d’entrée pour l’administration à distance. Une mauvaise configuration l’expose aux attaques par force brute et aux tentatives d’intrusion.

  • Changer le port SSH (ex. de 22 à 2422) dans /etc/ssh/sshd_config :
Port 2422
  • Désactiver l’authentification par mot de passe et privilégier les clés publiques :
PasswordAuthentication no
PermitRootLogin no
  • Limiter les utilisateurs autorisés :
AllowUsers harold admin
  • Installer Fail2Ban pour bloquer les IPs trop agressives.

3. Mettre en place un pare-feu efficace

Pourquoi ?
Un pare-feu bien configuré filtre le trafic et protège contre les scans de ports.

Avec UFW (Ubuntu) :

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80,443/tcp    # HTTP & HTTPS
sudo ufw allow 2422/tcp      # SSH
sudo ufw enable
sudo ufw status verbose

Avec firewalld (CentOS/RHEL) :

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=2422/tcp
sudo firewall-cmd --reload

4. Sécuriser vos services web et applications

Pourquoi ?
Vos serveurs web (Nginx, Apache) et applications peuvent comporter des vulnérabilités (injections, XSS…).

  • Désactivez les modules inutiles.
  • Activez HTTPS avec Let’s Encrypt :
sudo certbot --nginx -d votre-domaine.fr -d www.votre-domaine.fr
  • Ajoutez ces en-têtes de sécurité dans votre configuration :
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "no-referrer-when-downgrade";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

5. Sauvegardes, monitoring et PRA

Pourquoi ?
La prévention est essentielle, mais la capacité à restaurer rapidement est tout aussi cruciale.

  • Sauvegardes régulières de vos bases et configurations vers un stockage externe.
  • Monitoring avec Prometheus/Grafana ou un service SaaS pour suivre CPU, RAM, disque.
  • Plan de reprise d’activité (PRA) : documentez et testez vos procédures de restauration.

Conclusion

En appliquant ces 5 bonnes pratiques, vous renforcez significativement la sécurité de votre serveur Linux et garantissez la disponibilité de vos services. Prochainement, je partagerai un guide sur l’automatisation des sauvegardes avec Ansible.