Créez des règles pour le système d'audit Linux. Pour tester les règles dans un premier temps, utilisez la commande auditctl pour ajouter ou supprimer immédiatement des règles.
Remarque : les exemples suivants présentent les règles d'un système de fichiers EFS.
Utilisez la commande suivante pour surveiller toutes les activités relatives à l'emplacement de montage de votre système de fichiers :
$ auditctl -w /home/ec2-user/efs -k efs_changes
Voici des exemples d'actions à configurer pour que le système d'audit enregistre :
$ mkdir dir1
$ touch file1
$ touch file2
$ mv file1 file3
$ rm -f file2
$ chmod 600 file3
$ rmdir dir1
$ rm -f file3
Exécutez la commande ausearch -k efs_changes pour afficher le journal d'audit. L'exemple suivant montre le journal d'audit de la commande mkdir, sur la base des exemples d'opérations de l'étape 3 :
time->Thu Jan 9 21:30:59 2020
type=PROCTITLE msg=audit(1578605459.080:127433): proctitle=6D6B6469720064697231
type=PATH msg=audit(1578605459.080:127433): item=1 name="dir1" inode=4989235361872937641 dev=00:16 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1578605459.080:127433): item=0 name="/home/ec2-user/efs/audit" inode=12759736523397539955 dev=00:16
mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=CWD msg=audit(1578605459.080:127433): cwd="/home/ec2-user/efs/audit"
type=SYSCALL msg=audit(1578605459.080:127433): arch=c000003e syscall=83 success=yes exit=0 a0=7fffe6aca6e1 a1=1ff a2=1ff a3=7fffe6ac7720 items=2 ppid=18661 pid=2948 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=18369 comm="mkdir" exe="/bin/mkdir" key="efs_changes"
Cet exemple montre le journal d'audit brut. Le journal d'audit contient une grande quantité d'informations pour chaque opération.
Pour créer une sortie brève dans le journal d'audit, exécutez la commande aureport. Cette version affiche toujours toutes les opérations :
$ ausearch -k efs_changes | aureport -f -i
10118. 01/09/2020 21:36:29 file1 open yes /bin/touch ec2-user 127450
10119. 01/09/2020 21:36:29 dir1 mkdir yes /bin/mkdir ec2-user 127449
10120. 01/09/2020 21:36:29 file2 open yes /bin/touch ec2-user 127451
10121. 01/09/2020 21:36:29 file3 rename yes /bin/mv ec2-user 127452
10122. 01/09/2020 21:36:29 file2 unlinkat yes /bin/rm ec2-user 127453
10123. 01/09/2020 21:36:29 file3 fchmodat yes /bin/chmod ec2-user 127454
10124. 01/09/2020 21:36:29 dir1 rmdir yes /bin/rmdir ec2-user 127455
10125. 01/09/2020 21:36:35 file3 unlinkat yes /bin/rm ec2-user 127456
Sachez que vous n'êtes pas tenu de journaliser toutes les opérations. Par exemple, vous pouvez créer une règle pour enregistrer uniquement les actions liées à la suppression :
auditctl -a always,exit -F arch=b64 -F dir=/home/ec2-user/efs -S unlink -S unlinkat -S rename -S renameat -S rmdir -k efs_changes
Si vous exécutez les exemples de commandes de l'étape 3, seules les commandes associées à la suppression spécifiées apparaissent dans le journal :
10126. 01/09/2020 22:17:08 file3 rename yes /bin/mv ec2-user 127519
10127. 01/09/2020 22:17:08 file2 unlinkat yes /bin/rm ec2-user 127520
10128. 01/09/2020 22:17:08 dir1 rmdir yes /bin/rmdir ec2-user 127521
10129. 01/09/2020 22:17:09 file3 unlinkat yes /bin/rm ec2-user 127522