GNU/Linux >> Tutoriels Linux >  >> Linux

Comment auditer l'accès aux fichiers sous Linux

Sous Linux, il existe un RPM d'audit nommé audit, qui fournit un service auditd pour surveiller également les processus et les commandes. En utilisant l'audit RPM, nous pouvons auditer certaines opérations de fichiers simples comme la lecture, l'écriture et l'exécution. Cet article présentera une méthode pour surveiller l'accès aux fichiers sur le système Linux. Comme "Quand le fichier a été lu/modifié ?", "Qui a modifié le fichier spécifique ?".

1. démarrez d'abord le service auditd s'il n'est pas en cours d'exécution.

# service auditd start       ### CentOS/RHEL 6
# systemctl start auditd     ### CentOS/RHEL 7

2. utilisez auditctl commande pour spécifier les fichiers que vous souhaitez surveiller :

# auditctl -w /etc/hosts -p war -k hostswrap

-w  :spécifiez le fichier que vous souhaitez auditer/surveiller.
-p  :quelle opération/autorisation vous souhaitez auditer/surveiller, r pour lire, w pour écrire, x pour exécuter, a pour ajouter.
-k :spécifiez un mot-clé pour cette règle d'audit, lors de la recherche dans le journal d'audit, vous pouvez rechercher par ce mot-clé

3. Veuillez noter que les modifications apportées au système d'audit en cours d'exécution en exécutant auditctl sur la ligne de commande ne sont pas persistantes lors des redémarrages du système. Pour rendre les modifications persistantes, ajoutez-les à /etc/audit/audit.rules fichier et, s'ils ne sont pas actuellement chargés dans l'audit, redémarrez le service auditd pour charger l'ensemble de règles modifié.

# vi /etc/audit.rules
-w /etc/hosts -p war -k hostswrap
# service auditd restart       ### CentOS/RHEL 6
# systemctl restart auditd     ### CentOS/RHEL 7

4. Pour répertorier les règles d'audit actuelles dans le service auditd, utilisez l'option "l".

# auditctl -l
No rules
AUDIT_WATCH_LIST: dev=8:5, path=/etc/hosts, filterkey=hostswrap, perms=rwa, valid=0

5. Vérifiez le journal d'audit pour tout accès au fichier /etc/hosts.

# ausearch -f /etc/hosts -i | less
type=FS_WATCH msg=audit(05/28/18 11:21:27.216:10) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=read
type=SYSCALL msg=audit(05/28/18 11:21:46.251:19) : arch=i386 syscall=open success=yes exit=5 a0=c679b5 a1=0 a2=1b6 a3=0 items=1 pid=16056 aui
d=unset uid=oracle gid=dba euid=oracle suid=oracle fsuid=oracle egid=dba sgid=dba fsgid=dba comm=ons exe=/home/oracle/oracle/product/10.2.0/c
rs_1/opmn/bin/ons
----
type=PATH msg=audit(05/28/18 11:21:38.697:11) : name=/etc/hosts flags=follow,access inode=4313009 dev=08:05 mode=file,644 ouid=root ogid=root
 rdev=00:00
type=CWD msg=audit(05/28/18 11:21:38.697:11) :  cwd=/newspace/TAR/May
type=FS_INODE msg=audit(05/28/18 11:21:38.697:11) : inode=4313009 inode_uid=root inode_gid=root inode_dev=08:05 inode_rdev=00:00
type=FS_WATCH msg=audit(05/28/18 11:21:38.697:11) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=writ
e
.....

Le journal indique l'heure de l'opération, le traitement/la commande pour lire/écrire le fichier, l'uid, etc.


Linux
  1. Comment gérer les capacités des fichiers Linux

  2. Comment trouver un fichier sous Linux

  3. Comment créer un swap sous Linux

  4. Comment créer un fichier d'échange sous Linux

  5. Surveillance de l'accès aux fichiers Linux ?

Comment vérifier la somme de contrôle sur Linux

Comment renommer un ou plusieurs fichiers sous Linux

Comment créer un lien symbolique vers un fichier sous Linux

Comment chiffrer un fichier sous Linux

Comment désactiver Swap sous Linux

Comment utiliser gzip sous Linux ?