
Image by: panumas nikhomkhai
Table of contents
Introduction : la sécurité des serveurs en production
Saviez-vous que 80% des cyberattaques exploitent des vulnérabilités connues pour lesquelles des correctifs existaient déjà ? Selon un rapport de la CISA, cette négligence coûte des millions aux entreprises. Dans cet environnement hostile, le durcissement des serveurs n’est plus une option mais une nécessité vitale. Ce guide pratique vous dévoile les configurations immédiates à appliquer après le déploiement d’une machine Linux en environnement de production. Vous apprendrez à neutraliser les vecteurs d’attaque courants grâce à quatre piliers fondamentaux : la sécurisation SSH, la maîtrise du pare-feu, la prévention des intrusions et l’automatisation des correctifs. Des méthodes éprouvées qui réduisent jusqu’à 95% des tentatives de compromission selon l’ANSSI.
Désactiver la connexion SSH par mot de passe
L’authentification par mot de passe via SSH représente 42% des brèches initiales selon le rapport X-Force d’IBM. Les attaques par force brute peuvent tester des milliers de combinaisons par heure. Voici comment éliminer ce risque :
Pourquoi les clés SSH sont indispensables
Une clé cryptographique asymétrique offre :
- Une complexité mathématique inviolable (équivalent à un mot de passe de 6000+ caractères)
- Une authentification sans transmission de secret sur le réseau
- La possibilité d’ajouter une passphrase pour une protection supplémentaire
Mise en œuvre pas à pas
- Générez une paire de clés locale :
ssh-keygen -t ed25519 - Copiez la clé publique vers le serveur :
ssh-copy-id user@serveur - Éditez
/etc/ssh/sshd_config:
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no - Redémarrez le service :
systemctl restart sshd
Testez votre connexion avant de fermer la session ! Cette unique mesure bloque la majorité des bots qui scanent Internet en permanence.
Configurer un pare-feu avec UFW
Unpare-feu correctement configuré isole votre serveur comme une forteresse. UFW (Uncomplicated Firewall) simplifie la gestion d’iptables avec une syntaxe intuitive. Comparons son impact :
| Scénario | Ports ouverts | Surface d’attaque | Complexité |
|---|---|---|---|
| Sans pare-feu | 65535 | Critique | Nulle |
| Configuration manuelle | 3-5 | Minime | Élevée |
| Avec UFW | 3-5 | Minime | Faible |
Implémentation optimale
Autorisez uniquement les services indispensables :
- Installez UFW :
sudo apt install ufw - Bloquez tout trafic entrant par défaut :
sudo ufw default deny incoming - Autorisez le trafic sortant :
sudo ufw default allow outgoing - Ouvrez les ports nécessaires :
- SSH :
sudo ufw allow 22/tcp - HTTP/HTTPS :
sudo ufw allow 80,443/tcp
- SSH :
- Activez le pare-feu :
sudo ufw enable
Vérifiez avec ufw status verbose. Pour approfondir, consultez notre guide sur la segmentation réseau.
Installer et configurer Fail2ban
Fail2ban agit comme un système immunitaire contre les scans malveillants. Ce framework analyse les journaux et bannit dynamiquement les IP suspectes. Statistiques clés :
- Réduit jusqu’à 90% des tentatives de connexion frauduleuses
- Temps de réaction moyen : moins de 5 minutes
- Plus de 50 services supportés (SSH, Apache, Postfix…)
Configuration type pour SSH
- Installez le paquet :
sudo apt install fail2ban - Créez une copie du fichier de configuration :
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local - Éditez
jail.local:
[sshd]
enabled = true
maxretry = 3
bantime = 1h
findtime = 600 - Redémarrez :
systemctl restart fail2ban
Surveillez les bannissements avec fail2ban-client status sshd. Combinez cette protection avec nos outils de monitoring pour une détection avancée.
Automatiser les mises à jour de sécurité
Les correctifs tardifs sont la cause n°1 des violations de données. L’automatisation élimine ce risque humain. Deux stratégies complémentaires :
1. Mises à jour non intrusives avec unattended-upgrades
- Installez le paquet :
sudo apt install unattended-upgrades - Activez la configuration :
sudo dpkg-reconfigure -plow unattended-upgrades - Personnalisez
/etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot « true »;
Unattended-Upgrade::Automatic-Reboot-Time « 04:00 »;
2. Notifications par email
Ajoutez dans 50unattended-upgrades :
Unattended-Upgrade::Mail « admin@votre-domaine »;
Unattended-Upgrade::MailReport « on-change »;
Consultez les logs via grep unattended /var/log/syslog. Cette approche réduit les fenêtres de vulnérabilité de 97% selon une étude du NIST.
Autres mesures essentielles de durcissement
Complétez votre arsenal avec ces configurations :
Désactivation des services inutiles
Utilisez systemctl list-unit-files pour identifier et désactiver (ex: Bluetooth, cups) :
sudo systemctl disable --now service_name
Renforcement du contrôle d’accès
- Limitez les privilèges sudo :
visudo - Activez SELinux/AppArmor selon votre distribution
- Implémentez l’authentification à facteurs pour les comptes sensibles
Audit régulier avec Lynis
- Installez l’outil :
sudo apt install lynis - Lancez un scan :
sudo lynis audit system - Traitez les recommandations de niveau HIGH
Ces bonnes pratiques constituent la base d’une infrastructure résiliente conforme aux standards CIS Benchmarks.
Foire aux questions
Fail2ban est-il suffisant contre les attaques DDoS ?
Non, Fail2ban protège contre les scans et attaques par force brute, mais ne remplace pas les solutions anti-DDoS comme Cloudflare ou les pare-feux applicatifs. Combinez-le avec ufw limit ssh pour une défense en profondeur.
Comment récupérer l’accès si je perds ma clé SSH ?
Conservez toujours un accès console physique (KVM/IP) ou via l’hyperviseur. En cloud, utilisez les mécanismes de récupération du fournisseur (AWS Session Manager, Azure Serial Console). Testez ces procédures avant un incident !
Les mises à jour automatiques peuvent-elles casser des services ?
Les mises à jour de sécurité (-security sous Ubuntu) sont conçues pour être non disruptives. Pour les applications critiques, testez d’abord en staging. Utilisez unattended-upgrades -d pour simuler les mises à jour.
Quelle est la fréquence idéale d’audit de sécurité ?
Effectuez un audit complet après chaque changement majeur et au minimum trimestriellement. Automatisez des scans quotidiens avec des outils comme Tiger ou OpenSCAP pour détecter les dérives de configuration.
Conclusion
Le durcissement système n’est pas un projet ponctuel mais une discipline continue. En implémentant ces quatre piliers – SSH sécurisé, pare-feu strict, prévention des intrusions et correctifs automatiques – vous éliminez 80% des vecteurs d’attaque courants. Rappelez-vous : une infrastructure sécurisée commence par des bases solides. Complétez ces mesures par des sauvegardes régulières et des tests de pénétration annuels. Prêt à passer au niveau supérieur ? Découvrez nos formations avancées sur l’architecture Zero Trust. Votre première ligne de défense commence ici.
