Recherche de site Web

Comment interroger les journaux d'audit à l'aide de l'outil « ausearch » sur CentOS/RHEL


Dans notre dernier article, nous avons expliqué comment auditer le système RHEL ou CentOS à l'aide de l'utilitaire auditd. Le système d'audit (auditd) est un système de journalisation complet et n'utilise pas syslog d'ailleurs. Il est également livré avec un ensemble d'outils pour gérer le système d'audit du noyau ainsi que pour rechercher et produire des rapports à partir des informations contenues dans les fichiers journaux.

Dans ce didacticiel, nous expliquerons comment utiliser l'outil ausearch pour récupérer les données des fichiers journaux auditd sur une distribution Linux basée sur RHEL et CentOS.

Lire aussi : 4 bons outils de surveillance et de gestion des journaux Open Source pour Linux

Comme nous l'avons mentionné précédemment, le système d'audit dispose d'un démon d'audit en espace utilisateur (auditd) qui collecte des informations relatives à la sécurité sur la base de règles préconfigurées, à partir du noyau et génère des entrées dans un fichier journal.

Qu’est-ce qu’ausearch ?

ausearch est un outil de ligne de commande simple utilisé pour rechercher les fichiers journaux du démon d'audit en fonction d'événements et de différents critères de recherche tels que l'identifiant d'événement, l'identifiant de clé, l'architecture du processeur, le nom de commande, le nom d'hôte, le nom de groupe ou l'ID de groupe. , appels système, messages et au-delà. Il accepte également les données brutes de stdin.

Par défaut, ausearch interroge le fichier /var/log/audit/audit.log, que vous pouvez visualiser comme n'importe quel autre fichier texte.

cat /var/log/audit/audit.log
OR
cat /var/log/audit/audit.log | less

À partir de la capture d'écran ci-dessus, vous pouvez voir de nombreuses données du fichier journal, ce qui rend difficile l'obtention d'informations spécifiques intéressantes.

Vous avez donc besoin de ausearch, qui permet de rechercher des informations de manière plus puissante et plus efficace en utilisant la syntaxe suivante.

ausearch [options]

Vérifier les journaux de processus en cours d'exécution dans le fichier journal Auditd

L'indicateur -p est utilisé pour transmettre un ID de processus.

ausearch -p 2317

Vérifier les tentatives de connexion ayant échoué dans le fichier journal Auditd

Ici, vous devez utiliser l'option -m pour identifier des messages spécifiques et -sv pour définir la valeur de succès.

ausearch -m USER_LOGIN -sv no 

Rechercher l'activité de l'utilisateur dans le fichier journal Auditd

Le -ua est utilisé pour transmettre un nom d'utilisateur.

ausearch -ua tecmint
OR
ausearch -ua tecmint -i	# enable interpreting of numeric entities into text.

Pour interroger les actions effectuées par un certain utilisateur sur une période de temps donnée, utilisez -ts pour la date/heure de début et -te pour spécifier la date/heure de fin comme suit ( notez que vous pouvez utiliser des mots tels que maintenant, récent, aujourd'hui, hier, cette semaine, il y a une semaine, ce mois-ci, cette année ainsi que point de contrôle au lieu des formats d'heure réels).

ausearch -ua tecmint -ts yesterday -te now -i 

Plus d'exemples sur la recherche d'actions d'un utilisateur donné sur le système.

ausearch -ua 1000 -ts this-week -i
ausearch -ua tecmint -m USER_LOGIN -sv no -i

Rechercher des modifications apportées aux comptes d'utilisateurs, aux groupes et aux rôles dans les journaux d'audit

Si vous souhaitez examiner toutes les modifications du système liées aux comptes d'utilisateurs, aux groupes et aux rôles ; spécifiez différents types de messages séparés par des virgules comme dans la commande ci-dessous (prenez soin de la liste séparée par des virgules, ne laissez aucun espace entre une virgule et l'élément suivant) :

ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE  -i

Rechercher le fichier journal d'audit à l'aide de la valeur de clé

Considérez la règle d'audit ci-dessous qui enregistrera toute tentative d'accès ou de modification de la base de données des comptes d'utilisateurs /etc/passwd.

auditctl -w /etc/passwd -p rwa -k passwd_changes

Maintenant, essayez d'ouvrir le fichier ci-dessus pour le modifier et fermez-le, comme suit.

vi /etc/passwd

Juste parce que vous savez qu'une entrée de journal a été enregistrée à ce sujet, vous pourriez éventuellement afficher les dernières parties du fichier journal avec la commande tail comme suit :

tail /var/log/audit/audit.log

Que se passe-t-il si plusieurs autres événements ont été récemment enregistrés, trouver les informations spécifiques serait très difficile, mais en utilisant ausearch, vous pouvez transmettre l'indicateur -k avec la valeur de clé que vous avez spécifiée. dans la règle d'audit pour afficher tous les messages de journal concernant les événements liés à l'accès ou à la modification du fichier /etc/passwd.

Cela affichera également les modifications de configuration apportées à la définition des règles d'audit.

ausearch -k passwd_changes | less

Pour plus d'informations et d'options d'utilisation, lisez la page de manuel ausearch :

man ausearch

Pour en savoir plus sur l'audit du système Linux et la gestion des journaux, lisez ces articles connexes suivants.

  1. Petiti – Un outil d'analyse des journaux Open Source pour les administrateurs système Linux
  2. Surveiller les journaux du serveur en temps réel avec l'outil « Log.io » sur RHEL/CentOS 7/6
  3. Comment configurer et gérer la rotation des journaux à l'aide de Logrotate sous Linux
  4. lnav - Regarder et analyser les journaux Apache à partir d'un terminal Linux

Dans ce didacticiel, nous avons décrit comment utiliser ausearch pour récupérer les données d'un fichier journal auditd sur RHEL et CentOS. Si vous avez des questions ou des idées à partager, utilisez la section commentaires pour nous contacter.

Dans notre prochain article, nous expliquerons comment créer des rapports à partir de fichiers journaux d'audit à l'aide de aureport dans RHEL/CentOS/Fedora.