Aperçu
auditctl gère dynamiquement les règles du système d'audit Linux. Ces règles sont définies au niveau du noyau et peuvent être configurées pour enregistrer divers événements tels que l'accès à des fichiers spécifiques, les appels système, l'activité utilisateur, etc. Les journaux d'audit sont généralement stockés dans le fichier /var/log/audit/audit.log.
Fonctionnalités principales
- Ajout et suppression de règles d'audit
- Affichage de la liste des règles d'audit actives
- Surveillance des accès aux fichiers et répertoires
- Surveillance des appels système spécifiques
- Configuration des règles d'audit basées sur l'utilisateur et le groupe
Installation
auditctl fait partie du paquet 'audit' ou 'auditd'. Si ce n'est pas installé par défaut sur la plupart des distributions Linux, vous pouvez l'installer en utilisant les commandes suivantes.
Debian/Ubuntu
sudo apt update
sudo apt install auditd
Installez auditctl sur les systèmes basés sur Debian ou Ubuntu.
RHEL/CentOS/Fedora
sudo yum install audit
# ou
sudo dnf install audit
Installez auditctl sur les systèmes basés sur RHEL, CentOS ou Fedora.
Après l'installation, vous devez démarrer et activer le service auditd : `sudo systemctl enable auditd --now`
Options principales
La commande auditctl utilise diverses options pour définir et gérer les règles d'audit.
Gestion des règles
Définition des règles
Commande générée :
Essayez de combiner les commandes.
Description:
`auditctl` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Divers exemples de configuration de règles d'audit à l'aide d'auditctl.
Lister toutes les règles d'audit actuelles
sudo auditctl -l
Vérifie toutes les règles d'audit actuellement chargées dans le noyau.
Surveiller les modifications du fichier /etc/passwd
sudo auditctl -w /etc/passwd -p wa -k passwd_changes
Surveille tous les accès en écriture (w) et en modification d'attributs (a) au fichier /etc/passwd et attribue la clé 'passwd_changes'.
Surveiller les tentatives de lecture du fichier /etc/shadow
sudo auditctl -w /etc/shadow -p r -k shadow_read
Surveille les tentatives de lecture (r) du fichier /etc/shadow et attribue la clé 'shadow_read'.
Surveiller la création/suppression de fichiers dans le répertoire /var/log
sudo auditctl -a always,exit -F dir=/var/log -F perm=wa -S creat,unlink -k log_dir_changes
Surveille les appels système de création (creat) et de suppression (unlink) de fichiers dans le répertoire /var/log. Attribue la clé 'log_dir_changes'.
Surveiller les tentatives de suppression de fichiers par un utilisateur spécifique (UID)
sudo auditctl -a always,exit -F arch=b64 -S unlink -F auid=1000 -k user_file_delete
Surveille les appels système de suppression (unlink) de fichiers par un utilisateur avec l'UID 1000. Spécifie l'architecture système 64 bits.
Supprimer toutes les règles d'audit
sudo auditctl -D
Supprime toutes les règles d'audit actuellement chargées. (Attention : à utiliser avec prudence.)
Supprimer une règle avec une clé spécifique
sudo auditctl -w /etc/passwd -p wa -k passwd_changes -d
Supprime la règle avec la clé 'passwd_changes'. Vous devez utiliser les mêmes options que lors de l'ajout de la règle.
Conseils et précautions
Conseils utiles et points à considérer lors de l'utilisation d'auditctl.
Sauvegarde permanente des règles
Les règles ajoutées avec auditctl disparaissent au redémarrage du système. Pour conserver les règles de manière permanente, ajoutez-les au fichier /etc/audit/rules.d/audit.rules et appliquez-les avec la commande 'augenrules --load' ou 'systemctl restart auditd'.
- Fichier de règles: /etc/audit/rules.d/audit.rules
- Application des règles: sudo augenrules --load
Impact sur les performances
La configuration d'un trop grand nombre de règles d'audit ou la surveillance de répertoires étendus peut affecter les performances du système. Il est recommandé de ne configurer que les règles minimales nécessaires et de se concentrer sur les chemins critiques.
Vérification des fichiers journaux
Les événements d'audit sont enregistrés dans le fichier /var/log/audit/audit.log. L'utilisation des commandes ausearch et aureport est efficace pour consulter ces journaux.
Spécification de l'architecture (-F arch=b64/b32)
Lors de la surveillance des appels système, il est conseillé de spécifier explicitement '-F arch=b64' pour les systèmes 64 bits et '-F arch=b32' pour les systèmes 32 bits. Ceci est dû au fait que les numéros d'appels système peuvent différer selon l'architecture.