Durcir un serveur Ubuntu en 10 étapes
Un serveur fraîchement installé est rarement prêt à encaisser Internet tel quel. L'objectif de ce guide est de poser une base saine: réduire la surface d'attaque, imposer de bonnes habitudes d'administration et garder des traces exploitables quand quelque chose se passe mal.
1) Mettre le système à jour immédiatement
Commence par installer tous les correctifs disponibles, puis redémarre si un nouveau noyau est déployé. Cette étape évite de sécuriser un système déjà vulnérable avant même sa mise en production.
sudo apt update && sudo apt full-upgrade -y
sudo reboot
2) Créer un compte admin nominatif
Évite d'administrer en root direct. Crée un utilisateur nominatif membre du groupe sudo. Tu gagnes en traçabilité et tu réduis les erreurs graves.
3) Durcir SSH
Interdis l'authentification par mot de passe, force l'usage de clés et coupe l'accès root via SSH. Change aussi le délai d'inactivité pour fermer les sessions oubliées.
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
ClientAliveInterval 300
ClientAliveCountMax 2
4) Configurer un pare-feu minimal
La règle d'or: tout refuser par défaut, n'ouvrir que le strict nécessaire. Pour un serveur web classique: SSH, HTTP et HTTPS.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
5) Installer Fail2ban
Fail2ban bloque temporairement les IP qui enchaînent les tentatives de brute force. C'est très efficace contre les scans automatisés les plus courants.
6) Activer les mises à jour de sécurité automatiques
Tu ne veux pas dépendre d'un rappel manuel pour appliquer des correctifs
critiques. Active unattended-upgrades et vérifie les journaux une
fois par semaine.
7) Renforcer les permissions de fichiers sensibles
Vérifie particulièrement /etc/shadow, les clés privées SSH,
les secrets applicatifs et les scripts d'administration.
8) Journaliser proprement
Assure-toi que journald conserve suffisamment d'historique.
En environnement pro, exporte les logs vers une machine dédiée ou un SIEM.
9) Supprimer les services inutiles
Chaque service actif représente une porte d'entrée potentielle. Désinstalle ou désactive ce qui n'apporte pas de valeur métier.
10) Documenter une checklist d'exploitation
Note noir sur blanc: comptes autorisés, ports ouverts, procédure de rotation des clés et plan de restauration. Une bonne sécurité est d'abord reproductible.
Conseil terrain: planifie une revue mensuelle de configuration (30 minutes suffisent souvent) pour éviter que le niveau de sécurité se dégrade avec le temps.