CyberLab Notes

Tutoriel Linux

Durcir un serveur Ubuntu en 10 étapes

Temps de lecture: 12 min · Niveau débutant/intermédiaire

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.