GNU/Linux >> Tutoriales Linux >  >> Cent OS

Se afirma que un archivo está desapareciendo:cómo monitorear un archivo para eliminarlo en Linux

Pregunta :Un archivo parece estar desapareciendo y no se puede encontrar una razón directa para su desaparición. ¿Cómo podemos monitorear el acceso a archivos, especialmente la eliminación de un archivo en particular en el sistema CentOS/RHEL?

Un archivo puede ser monitoreado a través de su ciclo de vida usando Linux auditd servicio.

Los pasos

1. Para instalarlo en CentOS o RHEL, ejecute:

# yum install audit

2. Para habilitar el servicio en el momento del arranque, ejecute:

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

o iniciarlo temporalmente, hasta el próximo reinicio:

# service auditd start        # For CentOS/RHEL 6
# systemctl start auditd        # For CentOS/RHEL 7
Nota :systemctl restart auditd no funcionará en RHEL7 porque el kernel maneja auditd de manera especial. Deberá detener e iniciar el servicio.

3. Para ver un archivo específico y ver si algo toca el archivo, ejecute:

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

donde:
-w [nombre de archivo] :ver el archivo específico.
-p guerra :filtro de permisos para escribir, agregar, leer.
-k [clave de filtro] :una clave de filtro para identificar de forma única los registros de auditoría.

Por ejemplo:

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

4. Para enumerar el conjunto actual de reglas, ejecute:

# auditctl -l

Por ejemplo:

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

Verificar

Para averiguar quién cambió o accedió al archivo observado:

# ausearch -i -k [filter key]

Por ejemplo:

# 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 
...

Aquí vemos que se está produciendo la rotación de los archivos mail.log, que está siendo realizada por el 'return_job ' que ocurre de forma predeterminada a las 00:30 y que ejecuta el usuario "mailsrv “. Puede ver que el archivo mail.log_yesterday se cat (en mail.log), se elimina y mail.log_current se renombra como mail.log_yesterday.

Comprender la auditoría del sistema con auditd


Cent OS
  1. Cómo administrar las capacidades de archivos de Linux

  2. Cómo encontrar un archivo en Linux

  3. ¿Cómo cambiar el nombre de un archivo en Linux?

  4. Cómo usar auditd para monitorear la eliminación de un archivo en Linux

  5. Cómo auditar modificaciones de archivos y ejecuciones de archivos en Linux

Cómo verificar la suma de comprobación en Linux

Cómo monitorear cambios de archivos usando fswatch en Linux

Cómo instalar Android File Transfer para Linux en Ubuntu

Cómo vincular un archivo en Linux

Cómo establecer un fondo de pantalla diferente para cada monitor en Linux

Cómo instalar Android File Transfer para Linux en Ubuntu