Passer au contenu principal

Sécurité (Linux)

Hardening système

Un serveur Debian fraîchement installé expose par défaut plus de surface d'attaque que nécessaire. Le hardening vise à réduire cette surface : désactiver les services inutiles, renforcer les paramètres du noyau, et s'assurer que les mises à jour de sécurité sont appliquées automatiquement.

Mises à jour automatiques de sécurité

unattended-upgrades applique automatiquement les correctifs de sécurité sans intervention manuelle.

apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

La configuration se trouve dans /etc/apt/apt.conf.d/50unattended-upgrades. Sur Debian, seules les mises à jour du dépôt security sont appliquées automatiquement par défaut.

Désactiver les services inutiles

Chaque service actif est une surface d'attaque potentielle. Lister ce qui tourne et désactiver ce qui ne sert pas :

systemctl list-units --type=service --state=running    # services actifs
systemctl disable --now nom-du-service                  # désactiver et arrêter

Candidats classiques à désactiver sur un serveur minimal : avahi-daemon (mDNS), cups (impression), bluetooth, ModemManager.

Paramètres noyau : sysctl

sysctl expose les paramètres du noyau Linux. Les réglages de sécurité à appliquer dans /etc/sysctl.d/99-hardening.conf :

# Désactiver le forwarding IP (sauf routeur ou VPN)
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0

# Protection SYN flood
net.ipv4.tcp_syncookies = 1

# Ignorer les pings broadcast
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Désactiver le source routing
net.ipv4.conf.all.accept_source_route = 0

# Protéger les liens symboliques et hardlinks
fs.protected_symlinks = 1
fs.protected_hardlinks = 1

Appliquer sans redémarrer :

sysctl --system

umask

Le umask définit les permissions par défaut des fichiers créés. La valeur 027 est plus restrictive que le défaut 022 : les fichiers créés ne sont lisibles ni écrits par les autres groupes ni par "others".

umask              # afficher le umask courant
umask 027          # appliquer temporairement

Pour le rendre permanent : l'ajouter dans /etc/profile ou définir UMASK 027 dans /etc/login.defs.

En pratique

Le hardening n'est pas un état, c'est un processus. Sur un nouveau serveur : activer unattended-upgrades, lister les services actifs et désactiver tout ce qui ne sert pas, appliquer les paramètres sysctl, configurer ufw. L'outil lynis (apt install lynis, lynis audit system) fournit un score et une liste de recommandations concrètes adaptées au système audité.