Cómo auditar el proceso de Linux usando "autrace" en CentOS/RHEL


Este artículo es nuestra serie en curso sobre consultas de registros auditados mediante ausearch y generación de informes mediante la utilidad aureport.

En este artículo, explicaremos cómo auditar un proceso dado usando la utilidad autrace, donde analizaremos un proceso rastreando las llamadas al sistema que hace un proceso.

autrace es una utilidad de línea de comandos que ejecuta un programa hasta que sale, al igual que strace; agrega las reglas de auditoría para rastrear un proceso y guarda la información de auditoría en el archivo /var/www/audit/audit.log. Para que funcione (es decir, antes de ejecutar el programa seleccionado), primero debe eliminar todas las reglas de auditoría existentes.

La sintaxis para usar autrace se muestra a continuación, y solo acepta una opción, -r que limita las llamadas al sistema recopiladas a las requeridas para evaluar el uso de recursos del proceso:

# autrace -r program program-args

Atención: En la página de manual de autrace, la sintaxis es la siguiente, que en realidad es un error de documentación. Porque al usar este formulario, el programa que ejecuta asumirá que está usando una de sus opciones internas, lo que resultará en un error o realizará la acción predeterminada habilitada por la opción.

# autrace program -r program-args

Si tiene alguna regla de auditoría presente, autrace muestra el siguiente error.

# autrace /usr/bin/df

Primero elimine todas las reglas auditadas con el siguiente comando.

# auditctl -D

Luego proceda a ejecutar autrace con su programa de destino. En este ejemplo, estamos rastreando la ejecución del comando df, que muestra el uso del sistema de archivos.

# autrace /usr/bin/df -h

En la captura de pantalla anterior, puede encontrar todas las entradas de registro relacionadas con el seguimiento, desde el archivo de registro de auditoría utilizando una utilidad de búsqueda de la siguiente manera.

# ausearch -i -p 2678

Donde la opción:

  • -i : permite la interpretación de valores numéricos en texto.
  • -p : pasa el ID del proceso que se buscará.

Para generar un informe sobre los detalles de seguimiento, puede crear una línea de comando de ausearch y aureport como esta.

# ausearch -p 2678 --raw | aureport -i -f

Dónde:

  • --raw - le dice a ausearch que entregue la entrada sin procesar a aureport.
  • -f : permite generar informes sobre archivos y sockets af_unix.
  • -i : permite la interpretación de valores numéricos en texto.

Y usando el comando a continuación, estamos limitando las llamadas al sistema recopiladas a las necesarias para analizar el uso de recursos del proceso df.

# autrace -r /usr/bin/df -h

Suponiendo que haya realizado una carrera automática en un programa durante la última semana; lo que significa que hay mucha información volcada en los registros de auditoría. Para producir un informe solo para los registros de hoy, use la marca -ts ausearch para especificar la fecha/hora de inicio de la búsqueda:

# ausearch -ts today -p 2678 --raw | aureport -i -f

¡Eso es! de esta manera, puede rastrear y auditar procesos específicos de Linux usando la herramienta autrace. Para obtener más información, consulte las páginas de manual.

También puede leer estas útiles guías relacionadas:

  1. Sysdig: una potente herramienta de supervisión y solución de problemas del sistema para Linux
  2. BCC: herramientas de seguimiento dinámico para la supervisión del rendimiento de Linux, redes y más
  3. 30 ejemplos útiles de "comando ps" para la supervisión de procesos de Linux
  4. CPUTool: limitar y controlar la utilización de la CPU de cualquier proceso en Linux
  5. Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux

¡Eso es todo por ahora! Puede hacer cualquier pregunta o compartir pensamientos sobre este artículo a través del comentario a continuación. En el próximo artículo, describiremos cómo configurar PAM (Módulo de autenticación conectable) para auditar la entrada de TTY para usuarios específicos CentOS/RHEL.