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 deNOPASSWD: ALLhors 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/shmmontéesnodev,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/shadowen640 root:shadowou000.
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é
-
auditdavec règles sur/etc/passwd,/etc/sudoers,execvedes 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.