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

Un fichier est censé disparaître - Comment surveiller la suppression d'un fichier sous Linux

Question :Un fichier semble disparaître et aucune raison directe de sa disparition ne peut être trouvée. Comment pouvons-nous surveiller l'accès aux fichiers, en particulier la suppression d'un fichier particulier dans le système CentOS/RHEL ?

Un fichier peut être surveillé tout au long de son cycle de vie en utilisant Linux auditd services.

Les étapes

1. Pour l'installer sur CentOS ou RHEL, exécutez :

# yum install audit

2. Pour activer le service au démarrage, exécutez :

# chkconfig auditd on        # For CentOS/RHEL 6
# systemctl enable auditd        # For CentOS/RHEL 7

ou démarrez-le temporairement, jusqu'au prochain redémarrage :

# service auditd start        # For CentOS/RHEL 6
# systemctl start auditd        # For CentOS/RHEL 7
Remarque :systemctl restart auditd ne fonctionnera pas dans RHEL7 car le noyau gère auditd de manière spéciale. Vous devrez arrêter et démarrer le service.

3. Pour regarder un fichier spécifique pour voir si quelque chose touche le fichier, exécutez :

# auditctl -w [filename] -p rwxa  -k [filter key]

où :
-w [nom du fichier]  :regardez le fichier spécifique.
-p war  :filtre d'autorisations pour écrire, ajouter, lire.
-k [clé de filtre]  :une clé de filtre pour identifier de manière unique les journaux d'audit.

Par exemple :

# auditctl -w /var/opt/sun/comms/messaging64/log/mail.log_yesterday -p rwxa -k mail.log_yesterday

4. Pour répertorier l'ensemble de règles actuel, exécutez :

# auditctl -l

Par exemple :

# auditctl -l
LIST_RULES: exit,always watch=/var/opt/sun/comms/messaging64/log/mail.log_yesterday perm=rwxa key=mail.log_yesterday

Vérifier

Pour savoir qui a modifié ou accédé au fichier surveillé :

# ausearch -i -k [filter key]

Par exemple :

# ausearch -i -k mail.log_yesterday
...
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6209) : item=0 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425831 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6209) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6209) : arch=x86_64 syscall=open success=yes exit=5 a0=7fff62973b1d a1=0 a2=7fff62973870 a3=2 items=1 ppid=16442 pid=16450 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=cat exe=/bin/cat key=mail.log_yesterday 
----
type=CONFIG_CHANGE msg=audit(12/12/2013 00:30:00.407:6210) : auid=root ses=570 op="updated rules" path=/var/opt/sun/comms/messaging64/log/mail.log_yesterday key=mail.log_yesterday list=exit res=1 
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6211) : item=1 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425831 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6211) : item=0 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6211) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6211) : arch=x86_64 syscall=unlink success=yes exit=0 a0=7ffff94beb1f a1=7ffff94beb1f a2=2 a3=2 items=2 ppid=16442 pid=16452 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=rm exe=/bin/rm key=mail.log_yesterday 
----
type=CONFIG_CHANGE msg=audit(12/12/2013 00:30:00.407:6212) : auid=root ses=570 op="updated rules" path=/var/opt/sun/comms/messaging64/log/mail.log_yesterday key=mail.log_yesterday list=exit res=1 
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=3 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425765 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=2 name=/opt/sun/comms/messaging64/data/log/mail.log_current inode=425765 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=1 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=0 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6213) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6213) : arch=x86_64 syscall=rename success=yes exit=0 a0=7fff81d5caea a1=7fff81d5cb1f a2=0 a3=0 items=4 ppid=16442 pid=16453 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=mv exe=/bin/mv key=mail.log_yesterday 
...

Ici, nous voyons la rotation des fichiers mail.log se produire, ce qui est fait par le 'return_job ' qui se passe par défaut à 00h30, et qui est exécuté par l'utilisateur "mailsrv “. Vous pouvez voir le fichier mail.log_yesterday être cat (dans le mail.log), être supprimé et le mail.log_current être renommé en mail.log_yesterday.

Comprendre l'audit système avec auditd


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

  2. Comment trouver un fichier sous Linux

  3. Comment renommer un fichier sous Linux ?

  4. Comment utiliser auditd pour surveiller la suppression d'un fichier sous Linux

  5. Comment surveiller une arborescence de répertoires complète pour les changements sous Linux ?

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

Comment surveiller les modifications de fichiers à l'aide de fswatch sous Linux

Comment installer Android File Transfer pour Linux sur Ubuntu

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

Comment définir un fond d'écran différent pour chaque moniteur sous Linux

Comment installer Android File Transfer pour Linux sur Ubuntu