GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment surveiller le montage/démontage des points de montage à l'aide d'Auditd sur CentOS/RHEL 6,7

Donc, la question ici est de savoir comment déterminer quel processus utilisateur ou système démonte ou monte un point de montage particulier. Le montage et le démontage d'un point de montage peuvent être surveillés à l'aide de auditd. auditd est un composant de l'espace utilisateur du système d'audit Linux. Cela signifie que les utilisateurs du système pourront exécuter auditd pour configurer des règles et des alertes pour la fonctionnalité d'audit avec le système Linux.

L'une des meilleures choses à propos d'auditd est qu'il est étroitement intégré au noyau, il nous donne donc le pouvoir de surveiller presque tout ce que nous voulons, vraiment. Par défaut, aucune règle n'est configurée. Nous devons écrire nos règles dans le /etc/audit/rules.d/audit.rules fichier de configuration qui sera lu et les actions d'audit correspondantes seront appliquées.

Installer auditd

1. Les packages auditd font partie des systèmes d'installation RHEL/CentOS 7 par défaut. Nous pouvons le vérifier avec la commande suivante :

# rpm -qa | grep audit
audit-libs-2.8.1-3.el7.x86_64
audit-libs-python-2.8.1-3.el7.x86_64
audit-2.8.1-3.el7.x86_64

2. Si le package ne fait pas partie de notre système, nous pouvons continuer et l'installer :

# yum install audit

3. Assurez-vous que le démon d'audit est en cours d'exécution. Nous allons utiliser la commande suivante :

# systemctl status auditd
● auditd.service - Security Auditing Service
   Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-06-17 06:56:06 UTC; 2min 37s ago
     Docs: man:auditd(8)
           https://github.com/linux-audit/audit-documentation
  Process: 657 ExecStartPost=/sbin/augenrules --load (code=exited, status=0/SUCCESS)
  Process: 652 ExecStart=/sbin/auditd (code=exited, status=0/SUCCESS)
 Main PID: 653 (auditd)
    Tasks: 2
   CGroup: /system.slice/auditd.service
           └─653 /sbin/auditd

Dans le cas de CentOS/RHEL 6, vous pouvez utiliser la commande service pour vérifier l'état du service auditd :

# service auditd status

Configuration des règles auditd pour surveiller le montage/démontage des systèmes de fichiers

Configurons maintenant les règles auditd requises pour surveiller le montage/démontage des systèmes de fichiers.

1. Ajoutez la règle suivante dans le fichier /etc/audit/rules.d/audit.rules audit mount et umount operations. Notez que le nom de umount SYCALL est umount2.

# vi /etc/audit/rules.d/audit.rules
-a always,exit -F arch=b64 -S mount,umount2 -k mount_umount
Sur CentOS/RHEL 6, le fichier de configuration est /etc/audit/audit.rules au lieu de /etc/audit/rules.d/audit.rules.

Ici,
-a – Ajoute la règle à la fin de la liste avec action.
toujours,quitter – sont les actions spécifiées avec l'option -a.
-S – représente le SYSCALL (Dans uor cas mount et umount2)
arch=b64 – spécifie la règle pour l'architecture 64 bits.

2. Redémarrez le service auditd avec la commande "service" :

# service auditd restart
Stopping logging:                                          [  OK  ]
Redirecting start to /bin/systemctl start auditd.service

Vérifier

1. Prenons le point de montage /data comme exemple et voyons si nous obtenons des journaux d'audit générés lors du montage/démontage de ce point de montage.

# df -hP /data
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvdf       976M  2.6M  907M   1% /data

2. Démontez ce point de montage manuellement.

# umount /data

Surveillez /var/log/audit/audit.log, recherchez des messages similaires à ceux ci-dessous. Le uid= et gid= sections ainsi que le pid= partie des journaux d'audit peut aider à déterminer le processus ou l'utilisateur qui émet la commande :

# tailf /var/log/audit/audit.log
...
type=SYSCALL msg=audit(1529223527.639:881): arch=c000003e syscall=166 success=yes exit=0 a0=55a5863d3880 a1=0 a2=1 a3=7ffe52c22320 items=1 ppid=2930 pid=3335 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2 comm="umount" exe="/usr/bin/umount" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="mount_umount"
type=CWD msg=audit(1529223527.639:881):  cwd="/root"

Passer par /var/log/audit/audit.log peut être écrasant si vous avez beaucoup de choses auditées sur votre serveur. Au lieu de cela, vous pouvez utiliser la commande "ausearch" avec la clé définie dans la règle pour filtrer les journaux uniquement liés au montage et au démontage. Par exemple :

# ausearch -k mount_umount
----
time->Sun Jun 17 08:18:47 2018
type=PROCTITLE msg=audit(1529223527.639:881): proctitle=756D6F756E74002F64617461
type=PATH msg=audit(1529223527.639:881): item=0 name="/data" inode=2 dev=ca:50 mode=040755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:unlabeled_t:s0 objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1529223527.639:881):  cwd="/root"
type=SYSCALL msg=audit(1529223527.639:881): arch=c000003e syscall=166 success=yes exit=0 a0=55a5863d3880 a1=0 a2=1 a3=7ffe52c22320 items=1 ppid=2930 pid=3335 auid=1001 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2 comm="umount" exe="/usr/bin/umount" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="mount_umount"
Comment surveiller les modifications des fichiers /etc/shadow et /etc/passwd avec Auditd ?
Comment utiliser auditd pour surveiller la suppression d'un fichier sous Linux
Comprendre l'audit système avec auditd


Cent OS
  1. Comment redémarrer le service réseau sur CentOS 8 ou RHEL 8

  2. CentOS / RHEL 7 :Comment changer l'identifiant de la machine

  3. CentOS / RHEL :Comment installer et démarrer le service Apache httpd

  4. CentOS / RHEL 7 :Comment suivre l'ordre de montage dans /etc/fstab

  5. CentOS / RHEL :Comment changer l'UUID du système de fichiers

Comment installer SNMP sur RHEL 8 / CentOS 8

Comment surveiller Nginx à l'aide de Netdata sur CentOS 7

Comment utiliser tmpfs sur RHEL/CentOS 7

Comment installer le serveur VNC sur CentOS 8 / RHEL 8

Comment installer Flameshot sur RHEL/CentOS à l'aide de Snapcraft

CentOS / RHEL 7 :Comment vérifier l'état d'un service à l'aide de systemd