Inicio > Gestión de paquetes y sistema > auditctl

auditctl: Gestión de reglas de auditoría de Linux

auditctl es una herramienta de línea de comandos utilizada para controlar el sistema de auditoría del kernel de Linux. Permite agregar, eliminar y listar reglas para monitorear y registrar eventos específicos que ocurren en el sistema (acceso a archivos, llamadas al sistema, etc.). Es esencial para monitorear actividades críticas del sistema para auditoría de seguridad y cumplimiento normativo.

Descripción general

auditctl administra dinámicamente las reglas del sistema de auditoría de Linux. Estas reglas se definen a nivel del kernel y se pueden configurar para registrar varios eventos, como acceso a archivos específicos, llamadas al sistema y actividades del usuario. Los registros de auditoría generalmente se almacenan en el archivo /var/log/audit/audit.log.

Funciones principales

  • Agregar y eliminar reglas de auditoría
  • Ver una lista de las reglas de auditoría activas actualmente
  • Monitorear el acceso a archivos y directorios
  • Monitorear llamadas al sistema específicas
  • Configurar reglas de auditoría basadas en usuarios y grupos

Instalación

auditctl es parte del paquete 'audit' o 'auditd'. Si no está instalado por defecto en la mayoría de las distribuciones de Linux, puede instalarlo usando los siguientes comandos.

Debian/Ubuntu

sudo apt update
sudo apt install auditd

Instala auditctl en sistemas basados en Debian o Ubuntu.

RHEL/CentOS/Fedora

sudo yum install audit
# o
sudo dnf install audit

Instala auditctl en sistemas basados en RHEL, CentOS o Fedora.

Después de la instalación, debe iniciar y habilitar el servicio auditd: `sudo systemctl enable auditd --now`

Opciones principales

El comando auditctl utiliza varias opciones para definir y administrar reglas de auditoría.

Gestión de reglas

Definición de reglas

Comando generado:

Combina los comandos.

Descripción:

`auditctl` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Varios ejemplos de cómo configurar reglas de auditoría usando auditctl.

Listar todas las reglas de auditoría actuales

sudo auditctl -l

Verifica todas las reglas de auditoría cargadas actualmente en el kernel.

Monitorear cambios en el archivo /etc/passwd

sudo auditctl -w /etc/passwd -p wa -k passwd_changes

Monitorea todos los accesos de escritura (w) y cambio de atributos (a) al archivo /etc/passwd y asigna la clave 'passwd_changes'.

Monitorear intentos de lectura del archivo /etc/shadow

sudo auditctl -w /etc/shadow -p r -k shadow_read

Monitorea los intentos de lectura (r) del archivo /etc/shadow y asigna la clave 'shadow_read'.

Monitorear creación/eliminación de archivos en el directorio /var/log

sudo auditctl -a always,exit -F dir=/var/log -F perm=wa -S creat,unlink -k log_dir_changes

Monitorea las llamadas al sistema de creación (creat) y eliminación (unlink) de archivos dentro del directorio /var/log. Asigna la clave 'log_dir_changes'.

Monitorear intentos de eliminación de archivos por un usuario específico (UID)

sudo auditctl -a always,exit -F arch=b64 -S unlink -F auid=1000 -k user_file_delete

Monitorea las llamadas al sistema de eliminación (unlink) de archivos por parte de un usuario con UID 1000. Especifica la arquitectura del sistema de 64 bits.

Eliminar todas las reglas de auditoría

sudo auditctl -D

Elimina todas las reglas de auditoría cargadas actualmente. (Precaución: úselo con cuidado).

Eliminar reglas con una clave específica

sudo auditctl -w /etc/passwd -p wa -k passwd_changes -d

Elimina las reglas con la clave 'passwd_changes'. Debe usar las mismas opciones que al agregar la regla.

Consejos y precauciones

Consejos útiles y precauciones al usar auditctl.

Guardar reglas permanentemente

Las reglas agregadas con auditctl desaparecen al reiniciar el sistema. Para que las reglas sean permanentes, agréguelas al archivo /etc/audit/rules.d/audit.rules y aplíquelas con el comando 'augenrules --load' o 'systemctl restart auditd'.

  • Archivo de reglas: /etc/audit/rules.d/audit.rules
  • Aplicar reglas: sudo augenrules --load

Impacto en el rendimiento

Configurar demasiadas reglas de auditoría o monitorear directorios extensos puede afectar el rendimiento del sistema. Es recomendable configurar solo las reglas mínimas necesarias y centrarse en las rutas críticas.

Verificar archivos de registro

Los eventos de auditoría se registran en el archivo /var/log/audit/audit.log. Es eficiente usar los comandos ausearch y aureport para verificar estos registros.

Especificar arquitectura (-F arch=b64/b32)

Al monitorear llamadas al sistema, se recomienda especificar explícitamente '-F arch=b64' en sistemas de 64 bits y '-F arch=b32' en sistemas de 32 bits. Esto se debe a que los números de llamadas al sistema pueden diferir según la arquitectura.


Comandos de la misma categoría