Comment surveiller les modifications liées à la sécurité apportées au système de fichiers sur mon instance Linux EC2 ?

Dernière mise à jour : 25/11/2020

Je souhaite activer le système Linux Audit pour pouvoir surveiller les modifications apportées au système de fichiers sur mon instance Amazon Elastic Compute Cloud (Amazon EC2). Comment dois-je procéder ?

Brève description

Le système Linux Audit surveille l'accès aux fichiers importants et crée une piste d'audit en cas de corruption de fichiers ou d'autres modifications involontaires. Vous pouvez utiliser le système Linux Audit pour suivre les modifications apportées aux fichiers dans Amazon Elastic File System (Amazon EFS) ou tout autre type de système de fichiers. Sachez que la configuration du système d'audit permettant de consigner de nombreux types d'informations peut avoir une incidence sur les performances du système local. Après avoir installé le système Linux Audit sur votre système, vous pouvez créer des règles qui surveillent l'activité sur votre système de fichiers.

Important : Pour suivre toutes les modifications apportées à votre système de fichiers, activez le système Linux Audit sur chaque client qui monte votre système de fichiers.

Résolution

1.    Connectez-vous à votre instance EC2 en utilisant SSH en tant queec2-user/ubuntu/root user. Remplacezubuntu par le nom d'utilisateur de votre AMI.

2.    Exécutez la commande suivante pour installer le package d'audit :

RHEL et CentOS :

# sudo yum install audit

SUSE Linux :

# sudo zypper install audit

Ubuntu :

# sudo apt install auditd

3.    Définissez des règles pour le système Linux Audit. Dans le but de tester les règles initialement, utilisez la commande auditctl pour ajouter ou supprimer immédiatement des règles.

Remarque : Les exemples suivants affichent les règles d'un système de fichiers EFS.

Utilisez la commande suivante pour surveiller toutes les activités sur lesquelles votre système de fichiers est monté :

$ auditctl -w /home/ec2-user/efs -k efs_changes

Voici des exemples d'actions que vous pouvez configurer pour consigner le système d'audit :

$ mkdir dir1
$ touch file1
$ touch file2
$ mv file1 file3
$ rm -f file2
$ chmod 600 file3
$ rmdir dir1
$ rm -f file3

4.    Ensuite, utilisez la commande ausearch -k efs_changes pour afficher le journal d'audit. L'exemple suivant montre le journal d'audit de la commande mkdir présentée dans les exemples d'opérations précédents :

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"

L'exemple précédent montre le journal d'audit brut. Le journal d'audit contient une grande quantité d'informations pour chaque opération.

Utilisez la commande aureport pour créer une sortie moins verbeuse dans le journal d'audit, mais afficher 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

Gardez à l'esprit que vous n'avez pas besoin de consigner toutes les opérations. Par exemple, vous pouvez créer une règle pour consigner 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 un utilisateur exécute les mêmes commandes affichées dans l'exemple d'opération d'origine, seules les commandes lié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

5.    Pour que les règles soient permanentes, configurez-les dans le fichier /etc/audit/audit.rules . Pour plus d'informations, voir Définir des règles et des contrôles d'audit permanents dans le fichier /etc/audit/audit.rules du portail client Red Hat.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?