Commande auditd Linux

Linux 命令大全Encyclopédie des commandes Linux


auditd est le démon d'audit sur les systèmes Linux et est le composant central du framework d'audit Linux. Ses principales fonctions incluent la surveillance et l'enregistrement des activités du système, notamment :

  • Accès aux fichiers et répertoires
  • Appels système
  • Connexion/déconnexion utilisateur
  • Exécution de commandes privilégiées
  • Modifications de la configuration système

Ces journaux d'audit sont très importants pour la surveillance de la sécurité du système, les contrôles de conformité et le dépannage.


Composants principaux d'auditd

Démon auditd

Un démon fonctionnant en permanence chargé de collecter et stocker les événements d'audit.

Outil auditctl

Un outil en ligne de commande utilisé pour configurer les règles d'audit et contrôler le système d'audit.

Outil ausearch

Un outil en ligne de commande utilisé pour interroger les journaux d'audit.

Outil aureport

Génère des rapports de synthèse des journaux d'audit.


Installation et démarrage d'auditd

Installer auditd

Sur la plupart des distributions Linux, auditd est généralement préinstallé. Si une installation manuelle est nécessaire :

Exemple

# Ubuntu/Debian
sudo apt-get install auditd

# CentOS/RHEL
sudo yum install audit

Démarrer et activer le service auditd

Exemple

# Démarrer le service
sudo systemctl start auditd

# Activer le lancement au démarrage
sudo systemctl enable auditd

# Vérifier l'état du service
sudo systemctl status auditd

Fichier de configuration d'auditd

Le fichier de configuration principal d'auditd se trouve à/etc/audit/auditd.confet contient les paramètres importants suivants :

Paramètre Description Valeur par défaut
log_file Chemin du fichier journal d'audit /var/log/audit/audit.log
max_log_file Taille maximale d'un seul fichier journal (MB) 8
num_logs Nombre de fichiers journaux à conserver 5
flush Mode d'écriture du journal INCREMENTAL
freq Fréquence de synchronisation si flush=INCREMENTAL 20

Après avoir modifié la configuration, redémarrez le service :

sudo systemctl restart auditd

Détails de la commande auditctl

auditctlest l'outil principal pour configurer les règles d'audit.

Syntaxe de base

auditctl [选项] [规则]

Options courantes

Option Description
-l Lister toutes les règles actuelles
-D Supprimer toutes les règles
-s Afficher l'état du système d'audit
-R <file> Charger les règles à partir d'un fichier

Types de règles

Règles du système de fichiers: Surveiller l'accès aux fichiers/répertoires

Exemple

# Surveiller les modifications de lecture, d'écriture et d'attributs sur /etc/passwd
auditctl -w /etc/passwd -p rwxa -k passwd_access
  • -w: Surveiller le chemin
  • -p: Permissions (r=lecture, w=écriture, x=exécution, a=modification d'attribut)
  • -k: Clé (pour le filtrage des journaux)

Règles d'appels système: Surveiller des appels système spécifiques

Exemple

# Surveiller toutes les commandes utilisant sudo
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_cmds
  • -a: Action et liste (always,exit enregistre lors de la sortie d'un appel système)
  • -F: Conditions de filtrage
  • -S: Nom de l'appel système

Règles utilisateur: Surveiller le comportement d'un utilisateur spécifique

Exemple

# Surveiller la suppression de fichiers par les utilisateurs avec un UID supérieur à 500
auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid&gt;=500 -F auid!=4294967295 -k delete_files

Analyse des journaux d'audit

Commande ausearch

Utilisé pour interroger les journaux d'audit.

Exemple

# Rechercher dans les journaux par mot-clé spécifique
ausearch -k passwd_access

# Rechercher dans les journaux par heure spécifique
ausearch -ts today
ausearch -ts 10:00:00 -te 11:00:00

# Rechercher les journaux par utilisateur spécifique
ausearch -ua 1000

Commande aureport

Génère des rapports de synthèse des journaux d'audit.

Exemple

# Générer un rapport de connexion utilisateur
aureport -l

# Générer un rapport d'accès aux fichiers
aureport -f

# Générer un rapport récapitulatif de tous les événements
aureport --summary

Exemples d'applications pratiques

Exemple 1 : Surveiller les fichiers sensibles

Exemple

# Surveiller le fichier /etc/shadow
auditctl -w /etc/shadow -p wa -k shadow_mod

# Afficher les journaux associés
ausearch -k shadow_mod | less

Exemple 2 : Surveiller l'élévation de privilèges utilisateur

Exemple

# Surveiller toutes les commandes utilisant sudo ou su
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k priv_esc
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/su -k priv_esc

# Générer un rapport d'élévation de privilèges
aureport --start today --event --summary -i | grep priv_esc

Exemple 3 : Surveiller la connexion SSH

Exemple

# Surveiller les succès et les échecs de connexion SSH
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/sbin/sshd -k sshd_login

# Afficher les enregistrements de connexion SSH
ausearch -k sshd_login | grep 'acct="user"' | grep 'res=success'

Bonnes pratiques

Configurer correctement la rotation des journaux: S'assurer que les journaux ne remplissent pas le disque

Exemple

# Modifier /etc/audit/auditd.conf
max_log_file = 50
num_logs = 10

Gérer de manière centralisée les règles d'audit: Enregistrer les règles dans un fichier

Exemple

# Créer le fichier de règles /etc/audit/rules.d/my.rules
-w /etc/passwd -p wa -k passwd_changes
-w /etc/group -p wa -k group_changes

# Charger les règles
auditctl -R /etc/audit/rules.d/my.rules

Examinez régulièrement les journaux: Configurez une tâche cron pour analyser régulièrement les journaux

Exemple

# Générer un rapport quotidiennement et l'envoyer à l'administrateur
0 0 * * * /usr/sbin/aureport --summary --start yesterday --end now | mail -s "Rapport d'audit quotidien" admin@example.com

Protéger les journaux d'audit: Empêcher l'altération des journaux

Exemple

chmod 600 /var/log/audit/audit.log
chown root:root /var/log/audit/audit.log

Dépannage des problèmes courants

Problème 1 : échec du démarrage du service auditd

Solution:

  1. Vérifiez la syntaxe du fichier de configuration :auditd -f /etc/audit/auditd.conf
  2. Vérifiez les journaux système :journalctl -u auditd

Problème 2 : aucun journal d'audit généré

Solution:

  1. Confirmez que le service est en cours d'exécution :systemctl status auditd
  2. Vérifiez si les règles sont chargées :auditctl -l
  3. Vérifiez la prise en charge du noyau :grep "audit" /boot/config-$(uname -r)

Problème 3 : Fichiers journaux trop volumineux

Solution:

  1. Ajustez la taille et la quantité des journaux : modifiez/etc/audit/auditd.confinmax_log_fileetnum_logs
  2. Activez la compression des journaux : ajoutezcompress = yesau fichier de configuration

Résumé

auditd est un outil d'audit puissant pour les systèmes Linux. Avec une configuration appropriée, vous pouvez :

  • Surveiller l'accès aux fichiers et répertoires critiques
  • Suivre l'utilisation des commandes privilégiées
  • Enregistrer les connexions des utilisateurs et les activités du système
  • Répondre aux exigences de conformité

Maîtriser auditd est essentiel pour les administrateurs système et les professionnels de la sécurité ; cela vous aide à mieux comprendre et protéger votre système Linux.


Linux 命令大全Encyclopédie des commandes Linux

Autres extensions