Comment utiliser le système d'audit dans CentOS 7

Lorsque nos rôles et fonctions impliquent de gérer tous les éléments de l'infrastructure de l'entreprise, que ce soit au niveau du réseau ou du système, nous devons disposer d'outils utiles pour surveiller, suivre les événements et assurer la performance optimale de tous ses composants. .

Aujourd'hui, nous passerons en revue comment implémenter et utiliser le système d'audit Linux, un outil pour de nombreux inconnus. Nous savons qu'il existe des utilitaires tiers qui nous permettent de gérer différents paramètres au sein du système, mais cet utilitaire va au-delà de ce dont nous avons besoin et nous verrons pourquoi.

Pour ce tutoriel nous allons analyser l'utilitaire sur un environnement CentOS 7.

1. Connaître le système d'audit Linux


Avec le système d'audit, nous pouvons être mis à jour concernant les informations de sécurité essentielles dans notre système.

Le système d'audit nous fournit des rapports sur tous les événements qui se produisent dans le système sur la base de règles prédéfinies; Il est important de préciser qu'avec le système d'audit, nous n'ajoutons pas de sécurité à CentOS 7, mais cela nous permet d'analyser les failles du système afin de prendre des mesures correctives.

Des informations capables d'analyser

  • Modifications de la base de données, par exemple des modifications de chemin /etc/passwd.
  • Le système d'audit fournit la date, l'heure et le type d'événement.
  • Tente d'importer ou d'exporter des informations dans le système.
  • Mécanismes d'authentification des utilisateurs.
  • Toutes les modifications apportées aux changements d'audit et les tentatives d'accès aux journaux d'audit, entre autres.

2. Vérifier l'installation du système d'audit


Dans le système d'audit, nous avons deux schémas importants à prendre en compte :

1. Le cœur du système d'audit prend tous les événements traités par l'utilisateur et envoie ces informations au démon d'audit.

2. Le démon d'audit prend ces informations et crée les enregistrements.

Le système d'audit gère deux packages : Audit Oui audit-libsCeux-ci sont installés par défaut dans CentOS 7, nous pouvons vérifier leur installation à l'aide de la commande suivante :

 sudo yum list audit audit-libs

En cas de ne pas les avoir, nous pouvons installer le système d'audit à l'aide de la commande suivante :

 audit d'installation sudo yum
Une fois qu'ils ont été installés, nous devons voir le texte suivant :
 Packages installés audit.x86_64 audit-libs.x86_64
Passons à la configuration du système.

3. Configurer le système d'audit dans CentOS 7


Une fois que nous avons validé que nous avons les packages requis, nous allons modifier la configuration du fichier auditd.conf et c'est dans ce fichier que nous avons la possibilité de configurer les registres, événements et autres. Pour accéder à ce fichier, nous utiliserons la commande suivante :
 sudo nano /etc/audit/auditd.conf
La fenêtre suivante s'affichera :

Paramètres les plus importants

  • nombre_journaux: Il permet de définir le nombre de logs à enregistrer dans l'équipement.
  • max_log_file: En utilisant ce paramètre, nous pouvons définir la taille maximale d'un journal.
  • espace_gauche: Nous pouvons définir la quantité d'espace disque libre.
  • disk_full_action: Nous pouvons définir une certaine action lorsque le disque est plein.

Comme nous pouvons le voir, nous pouvons ajuster divers paramètres. Par exemple, si nous voulons que le nombre de journaux soit de 12, nous supprimons simplement la valeur par défaut (5) et ajoutons celle souhaitée (12). Si nous voulons changer la taille des journaux à 20, nous changeons simplement la valeur par défaut (6) en celle requise (20).

Nous sauvegardons les modifications en utilisant la combinaison Ctrl + O et nous sortons de l'éditeur en utilisant la combinaison Ctrl + X. Une fois les modifications traitées, il faut redémarrer le service d'audit à l'aide de la commande :

 redémarrage du service sudo auditd
NoterSi nous voulons éditer les paramètres des règles, nous devons éditer le fichier audit.rules à l'aide de la commande suivante :
 /etc/audit/rules.d/audit.rules

4. Comprendre les journaux d'audit système dans CentOS 7


Par défaut, le système d'audit stocke tous les événements qui se sont produits dans CentOS dans le chemin /var/log/audit/audit.log et ces fichiers contiennent beaucoup d'informations et de code qui peuvent ne pas être si faciles à comprendre pour beaucoup d'entre nous, mais Solvetic se charge de résumer un peu ces fichiers.

Pour montrer comment fonctionne le système d'audit, nous avons créé une règle appelée sshconfigchange et elle peut être créée à l'aide de la commande suivante :

 sudo auditctl -w / etc / ssh / sshd_config -p rwxa -k sshconfigchange
Pour voir la règle, nous utilisons la syntaxe suivante :
 sudo cat / etc / ssh / sshd_config

Nous allons maintenant voir le journal créé par l'outil d'audit système en entrant ce qui suit :

 sudo nano /var/log/audit/audit.log

Nous allons nous appuyer sur trois (3) registres vitaux :

  • APPEL SYSTÈME
  • CWD
  • CHEMIN

Ces fichiers sont composés comme suit :

  • Mot-clé: Fait référence au nom du processus (PATH, CWD, etc.)
  • Horodatage: Fait référence à la date et à l'heure (1469708505.235)
  • Aller: Se compose de l'ID de l'événement en question (153)

Evénement SYSCALL
SYSCALL fait référence au message généré par un appel du noyau du système d'audit, champ msg = audit (1469708505.235:153):

Dans le horodatage et champ ID nous voyons que ces trois enregistrements ont la même valeur (1469708505.235 : 153) ce qui indique que ces trois enregistrements ont été stockés avec le même événement d'audit.

Le champ d'arc fait référence à l'architecture de la machine, dans ce cas 40000003 indique qu'il s'agit de i386, si c'était la valeur c000003e cela ferait référence à une machine x86_64.

Le Champ Syscall il mentionne le type d'appel qui a été envoyé au système. La valeur peut varier, dans ce cas elle est de 5. On peut utiliser la commande sudo ausyscall 5 pour voir l'état du service (Open).

Il y a plus de 300 valeurs, si on veut voir ce que les valeurs signifient en général on peut utiliser la commande :

 sudo ausyscall -dump
Et nous verrons toutes les valeurs et leur signification :

Le Champ de réussite Il nous indique si l'appel d'événement a réussi ou non, oui ou non. Nous pouvons localiser l'événement SYSCALL et faire défiler vers la gauche pour voir les autres rapports inclus.

Le champ uid fait référence à l'utilisateur qui a démarré le service d'audit, dans ce cas il s'agit de uid = 0.

Le champ de communication il fait référence à la commande qui a été utilisée pour afficher le message, nous voyons donc qu'il apparaît sous la forme comm = "cat".

Le champ exe Il indique le chemin de la commande qui a généré l'événement d'audit, on peut voir dans cet exemple qu'il s'agit de exe = "/usr/bin/cat".

Événement CWD
Dans l'événement CWD, nous pouvons remarquer qu'il n'y a pas les mêmes informations que dans SYSCALL, ici nous avons le répertoire utilisé pour enregistrer les événements, CWD- Current Working Directory, d'où nous voyons la valeur cwd = "/ home / solvetic".

événement CHEMIN
Dans le dernier événement, PATH, nous voyons que le champ de nom qui fait référence au fichier ou au répertoire qui a été utilisé pour créer l'audit, dans ce cas nous voyons ce qui suit : name = "/etc/ssh/sshd_config".

5. Rechercher des événements d'audit pour des événements spécifiques


L'une des manières les plus intéressantes de rechercher un événement dans CentOS 7 consiste à utiliser la syntaxe :
 sudo ausearch -m Event_name --start today -i
Cette commande nous permet de filtrer un certain événement et de ne pas avoir à rechercher tout le fichier d'événement car il est vaste. Dans ce cas, nous rechercherons tous les événements associés à la connexion, nous entrerons donc les éléments suivants :
 sudo ausearch -m LOGIN --start today -i
Le résultat obtenu sera le suivant :

Il est également possible de filtrer la recherche par ID d'événement pour cela nous utiliserons la syntaxe suivante :

 sudo ausearch -a Event_ID
Ensuite, nous verrons comment générer des rapports.

6. Générer des rapports d'audit


L'un des moyens de mieux gérer les événements est d'avoir un rapport détaillé sur ce qui se passe dans CentOS 7 et avec le système d'audit, nous pouvons générer des rapports simples et clairs à comprendre pour nous aider dans notre gestion. Pour cela nous utiliserons la commande :
 sudo aureport -x -summary
Et on verra le résultat obtenu :

La première colonne que nous voyons indique le nombre de fois que la commande a été exécutée et la deuxième colonne indique quelle commande a été exécutée. De la même manière, nous pouvons générer un rapport avec les événements échoués à l'aide de la commande :

 sudo aureport --failed

Si nous voulons générer un rapport avec les noms d'utilisateurs et les appels système, nous utiliserons la commande :

 sudo aureport -f -i

7. Comment analyser les processus individuellement


Il est possible que parfois nous devions analyser des processus individuellement et non un répertoire entier, pour cela nous utiliserons autrace, cet outil nous permet de surveiller les appels système vers un processus particulier. Les résultats d'autrace sont stockés dans le chemin :
 /var/log/audit/audit.log
Par exemple nous allons analyser le chemin / bac / date, pour cela, nous utiliserons les éléments suivants :
 sudo autrace / bin / date

Nous voyons que l'événement avec l'ID 16541 a été créé. Maintenant, nous procédons à la saisie de la commande suivante pour voir le résumé de l'événement :

 udo ausearch -p 16541 --raw | aureport -f -i

De cette façon, nous pouvons analyser les fichiers individuellement. Dans le lien suivant, nous pouvons voir tous les types d'enregistrements pouvant être audités par le système d'audit de CentOS 7.

De cette façon, nous voyons comment le système d'audit de CentOS 7 peut nous aider à gérer et à superviser les événements qui se produisent dans nos ordinateurs et ainsi garantir que nous disposons d'un système sûr, stable et optimal.

Enfin, nous vous laissons un tutoriel sur l'outil gratuit WinAudit, pour réaliser des audits sous Windows :

Auditer avec WinAudit

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave