En Linux hay un RPM de auditoría llamado auditoría, que proporciona un servicio de auditoría para monitorear los procesos y los comandos también. Usando audit RPM podemos auditar algunas operaciones simples de archivos como lectura, escritura y ejecución. Esta publicación presentará un método para monitorear el acceso a archivos en el sistema Linux. Como "¿Cuándo se leyó/modificó el archivo?", "¿Quién editó el archivo específico?".
1. Inicie primero el servicio auditd si no se está ejecutando.
# service auditd start ### CentOS/RHEL 6 # systemctl start auditd ### CentOS/RHEL 7
2. usa auditctl comando para especificar qué archivos desea monitorear:
# auditctl -w /etc/hosts -p war -k hostswrap
-w :especifique el archivo que desea auditar/observar.
-p :qué operación/permiso desea auditar/observar, r para leer, w para escribir, x para ejecutar, a para agregar.
-k :especifique una palabra clave para esta regla de auditoría, al buscar en el registro de auditoría, puede buscar por esta palabra clave
3. Tenga en cuenta que los cambios realizados en el sistema de auditoría en ejecución mediante la ejecución de auditctl en la línea de comando no son persistentes en los reinicios del sistema. Para que los cambios sean persistentes, agréguelos a /etc/audit/audit.rules y, si no están cargados actualmente en audit, reinicie el servicio auditd para cargar el conjunto de reglas modificado.
# vi /etc/audit.rules -w /etc/hosts -p war -k hostswrap
# service auditd restart ### CentOS/RHEL 6 # systemctl restart auditd ### CentOS/RHEL 7
4. Para enumerar las reglas de auditoría actuales en el servicio auditd, use la opción "l".
# auditctl -l No rules AUDIT_WATCH_LIST: dev=8:5, path=/etc/hosts, filterkey=hostswrap, perms=rwa, valid=0
5. verifique el registro de auditoría para cualquier acceso al archivo /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 .....
El registro muestra el tiempo de operación, el procesamiento/comando para leer/escribir el archivo, uid, etc.