Bonne pratique3 min de lecture · Mis à jour le 29 sept. 2026

Durcissement d'un serveur Linux — checklist CIS

Checklist priorisée pour durcir un serveur Linux selon les CIS Benchmarks, avec les commandes de vérification associées.

  • #hardening
  • #linux
  • #least-privilege

Priorité 1 — surface d'attaque

  • Désinstaller les paquets inutiles (telnet, rsh, serveurs X).
  • Désactiver les services non requis : systemctl list-unit-files --state=enabled.
  • Ne laisser écouter que les ports nécessaires : ss -tulpn.
  • Pare-feu en refus par défaut (nftables/firewalld).

Priorité 2 — accès

  • SSH : PermitRootLogin no, PasswordAuthentication no, MaxAuthTries 3, AllowGroups ssh-users.
  • Sudo nominatif, journalisé (Defaults logfile=/var/log/sudo.log), pas de NOPASSWD: ALL hors automatisation.
  • Politique de mots de passe (pam_pwquality) et verrouillage (pam_faillock).
  • Comptes système sans shell (/usr/sbin/nologin).

Priorité 3 — intégrité du système de fichiers

  • Partitions /tmp, /var/tmp, /dev/shm montées nodev,nosuid,noexec.
  • Revue des binaires SUID/SGID :
find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -printf '%m %u %p\n' 2>/dev/null
  • Fichiers modifiables par tous : find / -xdev -type f -perm -0002 2>/dev/null.
  • Permissions des fichiers sensibles : /etc/shadow en 640 root:shadow ou 000.

Priorité 4 — noyau

sysctl net.ipv4.conf.all.accept_redirects=0
sysctl net.ipv4.conf.all.send_redirects=0
sysctl net.ipv4.tcp_syncookies=1
sysctl kernel.randomize_va_space=2

Persistez dans /etc/sysctl.d/60-hardening.conf.

Priorité 5 — traçabilité

  • auditd avec règles sur /etc/passwd, /etc/sudoers, execve des comptes à privilèges.
  • Journaux envoyés vers un collecteur central (le serveur compromis ne doit pas être la seule copie).
  • Synchronisation NTP (chrony) : sans horodatage fiable, pas de corrélation.

Mesurer

lynis audit system --quick

Suivez l'indice de durcissement dans le temps et traitez les écarts comme des changements planifiés.

Autres labs de cette technologie