Linux — auditd, Lynis et durcissement de sudo
Surveillance d'intrusion sous Linux avec auditd (règles de surveillance fichiers et syscalls), audit de conformité Lynis et durcissement de la configuration sudo.
Mise en place d’auditd pour la traçabilité des accès système, audit de conformité avec Lynis et durcissement de sudo.
Contexte
auditd journalise les appels système et les accès à des fichiers sensibles au niveau du noyau, fournissant une piste d’audit non contournable depuis l’espace utilisateur. Lynis évalue la conformité du système à un référentiel de durcissement. Une configuration sudo trop permissive (NOPASSWD large, shells autorisés) constitue un vecteur d’élévation de privilège.
Détection
État du démon auditd et règles chargées :
auditctl -s
auditctl -l
Audit de conformité Lynis et index de durcissement :
lynis audit system --quick
grep -E 'Hardening index|Warning|Suggestion' /var/log/lynis.log | head -40
Revue de la configuration sudo pour repérer les autorisations dangereuses :
grep -rE 'NOPASSWD|ALL=\(ALL\)|!authenticate' /etc/sudoers /etc/sudoers.d/
sudo -ll 2>/dev/null
Recherche d’événements auditd notables (modification de fichiers sensibles, échecs d’accès) :
ausearch -k identity -ts today
aureport --auth --summary
ausearch -m EXECVE -ts recent | grep -iE 'chmod|chattr|nc |/dev/tcp'
Durcissement
Règles auditd persistantes (/etc/audit/rules.d/hardening.rules) surveillant l’identité, sudo, et les binaires sensibles :
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/sudoers -p wa -k scope
-w /etc/sudoers.d/ -p wa -k scope
-w /etc/ssh/sshd_config -p wa -k sshd
-a always,exit -F arch=b64 -S execve -F euid=0 -F auid>=1000 -F auid!=4294967295 -k rootcmd
-a always,exit -F arch=b64 -S ptrace -k tracing
-e 2
Chargement des règles et verrouillage de la configuration (-e 2 rend l’ensemble immuable jusqu’au reboot) :
augenrules --load
auditctl -s | grep enabled
Durcissement de sudo : suppression des NOPASSWD non justifiés, journalisation des entrées/sorties, timeout réduit (/etc/sudoers.d/hardening) :
Defaults use_pty
Defaults logfile="/var/log/sudo.log"
Defaults log_input, log_output
Defaults timestamp_timeout=5
Defaults passwd_tries=3
Defaults requiretty
%admins ALL=(ALL) ALL
Validation syntaxique obligatoire avant prise en compte :
visudo -c -f /etc/sudoers.d/hardening
Vérification
Confirmation que les règles auditd sont actives et immuables :
auditctl -l | grep -c 'identity\|scope\|rootcmd'
auditctl -s | grep 'enabled 2'
Test qu’une modification de /etc/sudoers.d/ génère un événement audité :
touch /etc/sudoers.d/test-audit && rm /etc/sudoers.d/test-audit
ausearch -k scope -ts recent | grep -i 'test-audit'
Réexécution de Lynis pour mesurer la progression de l’index de durcissement :
lynis audit system --quick | grep -i 'Hardening index'
L’événement audité doit apparaître pour la modification de sudoers, et l’index Lynis doit progresser par rapport à la mesure initiale.
Vous avez un projet sur ces sujets ?
Nous contacter →