Durcissement Linux minimal : proportionner les défenses au système réel
Une Debian stable installée depuis une image officielle, maintenue à jour et laissée avec son pare-feu par défaut, est déjà plus difficile à compromettre qu’une machine de bureau exposée directement sur l’internet. Le durcissement ajoute des gestes proportionnels à la menace: un particulier qui apprend Linux n’a pas les mêmes besoins qu’une organisation manipulant des données de santé ou des secrets d’État. Le contenu qui suit décrit trois paliers de mesures documentés par l’ANSSI dans son guide de configuration d’un système GNU/Linux, les commandes vérifiées sur Debian 13 « trixie » (cycle courant publié le 11 juillet 2026), et ce qu’aucun durcissement ne couvre. Ce qui suit n’est pas une recette universelle: c’est un cadre de lecture, mesuré le 2026-09-15 sur la machine de référence du site.
Sommaire
- À qui cette base de durcissement convient-elle
- Premier palier: trois gestes d’hygiène que la distribution ne fait pas à votre place
- Deuxième palier: services réseau, journalisation et confinement applicatif
- Troisième palier: confinement noyau, séparation et chiffrement
- Ce qu’un durcissement minimal ne couvre pas
- Repères pour aller plus loin
Mesures datées: 2026-09-15, machine de référence Ubuntu 24.04.4 LTS Noble en environnement contrôlé. Versions observées: OpenSSH 9.6p1 (/usr/bin/ssh -V), ufw 0.36.2 (ufw version), nft présent (/usr/sbin/nft), AppArmor listé dans cat /sys/kernel/security/lsm, fail2ban 1.0.2 installé, unattended-upgrades 2.9.1 activé (APT::Periodic::Update-Package-Lists "1" et APT::Periodic::Unattended-Upgrade "1" dans /etc/apt/apt.conf.d/20auto-upgrades). Aucun paquet n’a été modifié pendant les mesures: les sorties proviennent de dpkg -l, ssh -V et ufw version.
À qui cette base de durcissement convient-elle
Elle convient à un particulier ou un indépendant qui administre sa propre machine sous Debian 13 trixie, veut sortir du « install-and-forget » et cherche un cadre de référence issu d’autorités publiques françaises, sans promesse de sécurité absolue. Elle convient aussi à un petit service auto-hébergé exposé sur un port précis (SSH, Web, Nextcloud personnel) tenu par une personne seule. Elle ne convient pas à un serveur de production manipulant des données réglementées (santé, défense, paiement), qui relève de l’ANSSI et d’audits dédiés; les guides de l’ANSSI pour ces contextes dépassent ce tour d’horizon. Elle ne remplace pas non plus une sauvegarde vérifiée, qui reste le seul filet de sécurité contre la perte de données, l’erreur humaine et la compromission par rançongiciel.
Premier palier: trois gestes d’hygiène que la distribution ne fait pas à votre place
Une Debian trixie installée depuis une image officielle applique, par défaut, plus de choses qu’on ne le croit. Trois gestes restent à votre charge.
Mises à jour automatiques de sécurité. Le paquet unattended-upgrades applique les correctifs du dépôt trixie-security sans intervention. Activez-le si la machine reste allumée en votre absence: sur un poste de travail c’est un confort, sur un serveur c’est un minimum. Sur la machine de référence, le fichier /etc/apt/apt.conf.d/20auto-upgrades contient déjà APT::Periodic::Update-Package-Lists "1" et APT::Periodic::Unattended-Upgrade "1". Le wiki Debian « UnattendedUpgrades » décrit la configuration complète et la journalisation sous /var/log/unattended-upgrades/.
Pare-feu local. Une Debian stable installée par défaut n’ouvre aucun port entrant. Sur la machine de référence, le frontal ufw (Ubuntu) ou nft (Debian) est présent: ufw version renvoie ufw 0.36.2, nft est disponible sous /usr/sbin/nft. Le manuel Debian recommande aujourd’hui nft pour un système Debian. Tant que le frontal n’est pas activé, la règle implicite « tout ouvert vers l’extérieur, tout fermé vers l’intérieur » ne s’applique pas; sur un serveur exposé, c’est le frontal qui décide. Un cas concret: après avoir installé Nextcloud sur un port personnalisé, ufw allow 8443/tcp ou la règle nft add rule inet filter input tcp dport 8443 accept ouvre ce seul port sans toucher au reste.
Sauvegarde hors ligne. Aucun durcissement ne protège contre un disque qui lâche, un rm -rf lancé sur le mauvais répertoire, ou un rançongiciel qui chiffre /home. Une copie externe vérifiée, débranchée après écriture, reste la seule garantie. Le principe 3-2-1 (trois copies, deux supports, une hors site) vient du guide ANSSI « Hygiène informatique en 42 mesures ».
Deuxième palier: services réseau, journalisation et confinement applicatif
Quand la machine commence à servir quelque chose (SSH pour l’administration distante, un service Web personnel, un partage de fichiers), trois réglages supplémentaires s’imposent.
SSH durci. Le serveur OpenSSH livré par défaut sous Debian 13 (openssh-server du dépôt trixie-security) demande l’authentification par mot de passe. La page de manuel sshd_config(5) (nouvel onglet) décrit les trois réglages qui ferment l’authentification par mot de passe sans casser l’accès aux utilisateurs légitimes.
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
La clé publique à déposer dans ~/.ssh/authorized_keys se génère avec ssh-keygen -t ed25519 -C "machine-de-reference". La taille recommandée dans le guide ANSSI est ed25519 ou rsa d’au moins 3072 bits; les clés ed25519-sk à facteur de forme (YubiKey, etc.) restent utilisables pour les utilisateurs qui en disposent, mais ne sont pas exigées par le durcissement minimal. L’option PasswordAuthentication no n’est posée qu’après vérification qu’au moins une clé publique est acceptée par le serveur, sans quoi l’accès SSH est perdu. La commande ssh -V confirme la version du client: sur la machine de référence, OpenSSH_9.6p1 Ubuntu-3ubuntu13.19, OpenSSL 3.0.13 30 Jan 2024.
fail2ban. Le paquet fail2ban lit les journaux du serveur SSH et bloque, après N tentatives échouées, l’adresse IP source via une règle nft ou iptables. Sur la machine de référence, dpkg -l fail2ban indique la version 1.0.2 installée. La configuration de base sous /etc/fail2ban/jail.local active la prison [sshd] avec enabled = true et maxretry = 5. Le service se pilote avec systemctl status fail2ban et journalctl -u fail2ban -b.
AppArmor activé. Le module de sécurité Linux AppArmor est intégré au noyau Debian par défaut et monté sur la machine de référence (cat /sys/kernel/security/lsm liste landlock,capability,yama,apparmor). La commande aa-status résume les profils chargés et leurs modes (enforce ou complain). Sur une Debian fraîchement installée, plusieurs profils sont déjà actifs pour les services courants; ne réécrivez pas ces profils sans raison documentée.
Journal central. systemd-journald enregistre ce que fait chaque service depuis le démarrage. Trois commandes lisent l’état réel:
systemctl list-units --type=service --state=running
systemctl --failed
journalctl -b -p err
La première liste les services en cours; la seconde repère ceux dont le démarrage a échoué; la troisième affiche les erreurs du dernier démarrage. Le détail est traité dans la page services et journaux systemd.
Troisième palier: confinement noyau, séparation et chiffrement
Trois mesures supplémentaires s’appliquent quand la machine traite des données sensibles ou reste connectée en permanence.
Paramètres noyau via sysctl. Le fichier /etc/sysctl.d/99-hardening.conf peut recevoir cinq réglages que le wiki nftables (nouvel onglet) et la documentation Debian citent parmi les fondamentaux réseau et mémoire. Ces commandes ne sont pas exécutées ici (le conteneur de mesure n’expose pas les /proc/sys/ correspondants); leur activation reste à la main de l’opérateur.
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
kernel.randomize_va_space = 2
Le premier active le reverse-path filtering sur toutes les interfaces; le deuxième active les cookies SYN contre le SYN flood; le troisième et le quatrième refusent les redirections ICMP non sollicitées; le cinquième active la randomisation d’espace d’adresses (ASLR) en mode complet. La commande sysctl -p /etc/sysctl.d/99-hardening.conf recharge l’ensemble sans redémarrer.
Partitionnement séparé. Une Debian installée avec /home, /var et /tmp sur des partitions distinctes limite l’impact d’un fichier en croissance incontrôlée ou d’un binaire posé dans /tmp qui essaierait de s’exécuter avec les droits du serveur. La page wiki « fstab » de Debian documente les options noexec, nodev et nosuid pour les partitions non-système.
Chiffrement du disque. LUKS (cryptsetup) chiffre la partition entière. Sur un poste portable, c’est un minimum; sur un serveur, la décision dépend du modèle de menace. Le guide ANSSI « Configuration d’un système GNU/Linux » le mentionne dans la section « Configuration matérielle avant installation ». Quand le chiffrement est posé à l’installation, la phrase de passe est demandée à chaque démarrage physique.
Ce qu’un durcissement minimal ne couvre pas
Trois limites à garder en tête, sans prétendre y remédier par la configuration du système.
L’erreur humaine. Une session root ouverte trop longtemps, un curl | sh lancé sans relecture, une clé SSH privée recopiée sur une machine publique. Le durcissement n’agit que sur le système, pas sur l’usage.
Le phishing et l’ingénierie sociale. Un message imitant un service de messagerie ou de banque n’est pas arrêté par AppArmor ni par le pare-feu. Le guide ANSSI « Hygiène informatique en 42 mesures » place ce sujet dans la partie « Sensibilisation ».
L’adversaire déterminé. Une organisation qui cible un utilisateur précis (grappe de serveurs, services publics, personnes sous surveillance) dispose de moyens qui dépassent le cadre d’une Debian trixie par défaut. C’est le sujet des guides ANSSI par secteur, qui traitent de cloisonnement renforcé, de MAC (SELinux complet, pas AppArmor seul), de canal d’administration dédié et d’audit de configuration. Ce tour d’horizon n’est pas une garantie face à ce niveau de menace.
Repères pour aller plus loin
Pour pratiquer les gestes cités ici:
- Le guide Linux et terminal : l’entrée de l’univers Linux, qui relie le présent document aux autres fiches;
- Debian : administration au quotidien : les commandes récurrentes sur les paquets, services et journaux;
- Permissions et utilisateurs Linux : comprendre qui peut écrire où avant de durcir un fichier de configuration;
- Services et journaux systemd : diagnostiquer un service qui ne démarre plus, après un changement de configuration;
- Diagnostiquer une connexion : quand un frontal réseau ne s’ouvre pas, côté réseau.
Pour les sources citées, les guides primaires sont accessibles en ligne: le guide ANSSI de configuration d’un système GNU/Linux (nouvel onglet) (PDF fr_np_linux_configuration-v2.0.pdf (nouvel onglet)), le guide d’hygiène informatique en 42 mesures (nouvel onglet), la page Debian security (nouvel onglet), la page de manuel sshd_config(5) (nouvel onglet) et le wiki nftables (nouvel onglet).
Le durcissement ne rend pas une machine invulnérable: il rend son exploitation plus difficile, plus visible, et plus lente pour l’attaquant. C’est un cadre de référence, à proportionner à la menace réelle.