Sections du handbook▾
Fondations
Comprendre les menaces qui pèsent sur un hôte LinuxPourquoi on durcitLes principes de défense derrière chaque règleConfiguration effective : la vérité qu'aucun fichier ne contientLes normes que Pavois cartographieModèle d'identifiant de contrôle SOCLEPreuves & exportsComment la note A-E est calculéeCe qu'un PASS prouve : le verdict qualifiéModèle de confiance du bundle de preuveSOCLE, n'est-ce pas votre propre norme ? (gouvernance & la question de la circularité)Ce que Pavois couvre, et ce qu'il ne couvre pasDomaines
Durcir SSHDurcir PAMContrôle d'accès obligatoire (SELinux / AppArmor)Durcir le pare-feu localDurcir sudoPermissions et propriété des fichiersDurcir les montages et le système de fichiersDurcir les modules noyauDurcir le noyau et le réseau avec sysctlJournalisation d'audit avec auditdDurcir la journalisation avec journald et rsyslogDurcir les services systemdHygiène des paquetsDurcir le chargeur d'amorçage (GRUB)Synchroniser l'heureBannières de connexion et MOTDContrôler l'accès à cron et atDurcir le bureau GNOME (dconf)Outillage
Annuler un durcissement : les points de restaurationExploiter Pavois : privilèges, air-gap, durée, dérogationsLancer Pavois en CI (GitHub Actions)État des fonctionnalités : livré, partiel, roadmapGouvernance : licence, versionnement, provenance, sécuritéComprendre les menaces qui pèsent sur un hôte Linux
Revu le
Qui attaque un serveur, comment la surface d'attaque les fait entrer, comment se déroule la kill-chain, projetée sur MITRE ATT&CK, et pourquoi un socle durci brise la chaîne à chaque maillon.
Qui attaque un serveur Linux, et pourquoi ?
Un serveur sur le réseau n'est jamais attaqué par hasard : il l'est en permanence, par des outils automatisés et par des humains, dès qu'il dispose d'une adresse routable. Les attaquants se rangent en quelques profils, chacun avec un objectif :
- Botnets opportunistes : scannent tout l'espace IPv4 à la recherche de mots de passe SSH faibles, de services exposés et de CVE connues ; leur but est le vol de ressources (cryptominage, relais de spam, puissance de DDoS).
- Groupes de rançongiciels : prennent pied, escaladent, se propagent, puis chiffrent et extorquent.
- Acteurs ciblés / étatiques : patients, en quête d'exfiltration de données et de persistance durable.
- Initiés malveillants : ont déjà un compte ; ils abusent d'un accès légitime.
Ce qu'ils exploitent tous, c'est la surface d'attaque : chaque port ouvert, service actif, paquet installé, binaire SUID, compte avec un shell, module noyau chargeable, fichier inscriptible par tous. Plus cette surface est grande, plus il y a de portes, et une installation Linux par défaut embarque énormément de surface qu'un serveur n'utilise jamais.
Comment se déroule une compromission : la kill-chain
Une compromission est rarement un événement isolé. C'est une kill-chain, une suite où chaque étape dépend de la réussite de la précédente. L'enseignement décisif : l'attaquant a besoin que chaque maillon tienne ; le durcissement brise la chaîne au plus grand nombre de maillons, pour qu'un pied dans la place reste un pied dans la place. Cette table projette chaque étape sur sa technique MITRE ATT&CK et la famille de contrôles Pavois qui la brise :
| Étape kill-chain | MITRE ATT&CK | Famille de contrôles Pavois | Norme |
|---|---|---|---|
| Accès initial | T1110 bruteforce, T1133 services distants exposés | SSH, PAM qualité mdp + faillock | CIS 5.x, ANSSI BP-028 R33/R31 |
| Élévation de privilèges | T1548 sudo/SUID, T1068 exploit | sudo, permissions, sysctl | CIS 5/6, NIST AC-6, ANSSI BP-028 R39/R50 |
| Persistance | T1053.003 cron, T1543.002 systemd, T1098.004 clés SSH | cron/at, systemd | CIS 5/4, ANSSI BP-028 R67 |
| Évasion de défense | T1562.001 désactiver les défenses | auditd immuable, journald | CIS 4.1.x, ANSSI BP-028 R73 |
| Déplacement latéral | T1021.004 SSH, T1563 détournement de session | SSH forwarding, pare-feu | CIS 4/5, ANSSI BP-028 R33/R50 |
| Exfiltration | T1048 via protocole alternatif | pare-feu, journald | CIS 4.x, ANSSI BP-028 R71 |
Trois scénarios concrets
1. Bruteforce SSH (T1110). Un botnet arrose sshd de mots de passe. La chaîne se brise si le login root est coupé, l'auth par clé seulement, et faillock verrouille le compte :
# attaquant
hydra -l root -P rockyou.txt ssh://victim
# hôte durci : la porte est déjà fermée
sshd -T | grep -E 'permitrootlogin|passwordauthentication' # no / no2. SUID writable / mauvaise config sudo (T1548). Un shell sans droits cherche un chemin vers root :
# attaquant
find / -perm -4000 -writable 2>/dev/null ; sudo -l
# hôte durci : aucun SUID parasite, sudo exige un mot de passe et un TTY3. Faire taire la piste d'audit (T1562.001). Avant d'agir, l'intrus tente de désactiver la journalisation. Des règles d'audit immuables l'en empêchent :
# attaquant
auditctl -e 0 # desactiver l'audit...
# hôte durci : les règles sont immuables jusqu'au redémarrage
auditctl -s | grep enabled # enabled 2 => verrouilléCe que Pavois ne détecte PAS
Pavois audite la posture de configuration, pas le comportement en direct. Il ne remplace volontairement pas, et ne peut pas remplacer, la détection à l'exécution. Il ne détectera pas :
- un implant en mémoire / fileless ou un processus déjà malveillant,
- un zero-day dans une application qu'il ne modélise pas,
- une intrusion réseau en direct (ce n'est pas un IDS/EDR),
- une dépendance compromise au niveau applicatif,
- un attaquant qui respecte la config durcie mais abuse d'un accès légitime.
Pavois réduit la surface d'attaque et prouve le socle ; couplez-le à l'envoi des logs auditd et à un EDR/IDS pour la détection runtime. Cette honnêteté est le but : une note verte, c'est une configuration durcie, pas un scan d'intrusion attestant l'absence de compromission.
Ce que Pavois audite
Pavois note la configuration effective de l'hôte en fonctionnement, exactement ce que rencontre un attaquant. Là où un scan OVAL/oscap lit /etc/... et se laisse berner par les Include, drop-ins ou surcharges à chaud, Pavois interroge l'état résolu (sshd -T, sysctl -a, systemctl show). Sur les domaines qui se projettent sur la kill-chain, il couvre la réduction de surface (paquets, services, modules), le durcissement du pied dans la place (SSH, qualité des mots de passe, verrouillage), le confinement de l'escalade (sudo, UID 0, permissions, montages), le durcissement runtime et boot (sysctl, ligne de commande noyau, GRUB), la détection et la persistance (auditd, journald), et le périmètre (pare-feu, bannières). Chaque constat est noté de A à E et étiqueté avec les normes qu'il satisfait (ANSSI BP-028, CIS, PCI-DSS, NIST, STIG), pour qu'un socle au vert soit une kill-chain aux maillons brisés.
FAQ
Pavois est-il un antivirus ou un EDR ? Non. Il audite la configuration de durcissement de l'hôte (la surface d'attaque et la posture), pas les processus en cours ni le trafic réseau. Utilisez-le aux côtés d'un EDR/IDS, pas à sa place.
Pourquoi mapper les contrôles sur MITRE ATT&CK ? Parce que cela relie chaque règle de durcissement à la technique d'attaquant concrète qu'elle contrarie, de sorte qu'on raisonne sur quel maillon de la chaîne un contrôle brise, au lieu de traiter le durcissement comme une checklist opaque.
Une note verte signifie-t-elle que je ne suis pas compromis ? Non. Elle signifie que la configuration est durcie. Un intrus déjà résident, un zero-day ou un abus applicatif est hors périmètre ; c'est le rôle de la détection runtime et de l'analyse des logs.