Comando de Linux auditd

Guía completa de comandos Linux


auditd es el daemon de auditoría en los sistemas Linux, y es el componente central del marco de auditoría de Linux. Las funciones principales de auditd son monitorear y registrar las actividades del sistema, incluyendo:

  • Acceso a archivos y directorios
  • Llamada al sistema
  • Inicio de sesión / cierre de sesión
  • Ejecución de comandos privilegiados
  • Cambios de configuración del sistema

Estos registros de auditoría son muy importantes para el monitoreo de seguridad del sistema, las comprobaciones de cumplimiento y la resolución de problemas.


Componentes centrales de auditd

El demonio auditd

Demonio que se ejecuta continuamente, responsable de recopilar y almacenar eventos de auditoría.

Herramienta auditctl

Herramienta de línea de comandos para configurar reglas de auditoría y controlar el sistema de auditoría.

Herramienta ausearch

Herramienta de línea de comandos para consultar los registros de auditoría.

Herramienta aureport

Genera informes resumidos de los registros de auditoría.


Instalación y arranque de auditd

Instalar auditd

En la mayoría de las distribuciones de Linux, auditd suele estar preinstalado. Si necesita instalarlo manualmente:

Ejemplos

# Ubuntu/Debian
sudo apt-get install auditd

# CentOS/RHEL
sudo yum install audit

Iniciar y habilitar el servicio auditd

Ejemplos

# Iniciar servicio
sudo systemctl start auditd

# Configurar el inicio automático
sudo systemctl enable auditd

# Comprobar el estado del servicio
sudo systemctl status auditd

Archivo de configuración de auditd

El archivo de configuración principal de auditd se encuentra en/etc/audit/auditd.conf, que incluye los siguientes parámetros importantes:

Parámetros Descripción valor por defecto
log_file Ruta del archivo de registros de auditoría /var/log/audit/audit.log
max_log_file Tamaño máximo de un archivo de registro individual (MB) 8
num_logs Número de archivos de registro a conservar 5
flush Método de escritura de registros INCREMENTAL
freq Si flush=INCREMENTAL, ¿con qué frecuencia se sincroniza? 20

Después de modificar la configuración, es necesario reiniciar el servicio:

sudo systemctl restart auditd

Explicación detallada del comando auditctl

auditctlEs la principal herramienta para configurar reglas de auditoría.

Sintaxis básica

auditctl [选项] [规则]

Opciones comunes

opción Descripción
-l Listar todas las reglas actuales
-D Eliminar todas las reglas
-s Mostrar el estado del sistema de auditoría
-R <file> Cargar reglas desde un archivo

Tipo de regla

Reglas del sistema de archivos: Monitoreo de acceso a archivos/directorios

Ejemplos

# Monitorear lecturas, escrituras y cambios de atributos del archivo /etc/passwd
auditctl -w /etc/passwd -p rwxa -k passwd_access
  • -w: ruta de monitoreo
  • -p: permisos (r=lectura, w=escritura, x=ejecución, a=cambio de atributos)
  • -k: palabra clave (para filtrar registros)

Reglas de llamadas al sistema: monitorear llamadas al sistema específicas

Ejemplos

# Monitorea todos los comandos que usan sudo
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_cmds
  • -a: acción y lista (always,exit indica que se registra al salir de la llamada al sistema)
  • -F: condición de filtro
  • -S: nombre de la llamada al sistema

Regla de usuario: monitorear acciones de usuarios específicos

Ejemplos

Monitorear a los usuarios con UID mayor que 500 que eliminan archivos
auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid&gt;=500 -F auid!=4294967295 -k delete_files

Análisis de registros de auditoría

Comando ausearch

Se utiliza para consultar los registros de auditoría.

Ejemplos

# Buscar registros con palabras clave específicas
ausearch -k passwd_access

# Buscar registros en un momento específico
ausearch -ts today
ausearch -ts 10:00:00 -te 11:00:00

# Buscar los registros de un usuario específico
ausearch -ua 1000

Comando aureport

Genera informes resumidos de los registros de auditoría.

Ejemplos

# Generar informe de inicio de sesión de usuarios
aureport -l

# Generar informe de acceso a archivos
aureport -f

# Generar un informe resumen de todos los eventos
aureport --summary

Ejemplo de aplicación práctica

Ejemplo 1: monitorear archivos sensibles

Ejemplos

# Monitorizar el archivo /etc/shadow
auditctl -w /etc/shadow -p wa -k shadow_mod

# Consultar los registros relacionados
ausearch -k shadow_mod | less

Ejemplo 2: monitorear elevación de privilegios de usuarios

Ejemplos

# Monitorear todos los comandos que usan sudo o su
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k priv_esc
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/su -k priv_esc

# Generar informe de escalada de privilegios
aureport --start today --event --summary -i | grep priv_esc

Ejemplo 3: monitorización de inicios de sesión SSH

Ejemplos

# Monitorear inicios de sesión SSH exitosos y fallidos
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/sbin/sshd -k sshd_login

# Ver los registros de inicio de sesión SSH
ausearch -k sshd_login | grep 'acct="user"' | grep 'res=success'

Mejores prácticas

Configurar adecuadamente la rotación de registros: asegurar que los registros no llenen el disco

Ejemplos

# Editar /etc/audit/auditd.conf
max_log_file = 50
num_logs = 10

Gestionar de forma centralizada las reglas de auditoría: guardar las reglas en un archivo

Ejemplos

# Crear el archivo de reglas /etc/audit/rules.d/my.rules
-w /etc/passwd -p wa -k passwd_changes
-w /etc/group -p wa -k group_changes

# Cargar reglas
auditctl -R /etc/audit/rules.d/my.rules

Revisar los registros periódicamente: configurar tareas cron para analizar los registros periódicamente

Ejemplos

# Generar un informe diariamente y enviarlo al administrador
0 0 * * * /usr/sbin/aureport --summary --start yesterday --end now | mail -s "Daily Audit Report" admin@example.com

Proteger los registros de auditoría: evitar que los registros sean alterados

Ejemplos

chmod 600 /var/log/audit/audit.log
chown root:root /var/log/audit/audit.log

Resolución de problemas comunes

Problema 1: el servicio auditd no puede iniciarse

Solución:

  1. Verificar la sintaxis del archivo de configuración:auditd -f /etc/audit/auditd.conf
  2. Ver los registros del sistema:journalctl -u auditd

Problema 2: no se generan registros de auditoría

Solución:

  1. Confirmar que el servicio está en ejecución:systemctl status auditd
  2. Comprobar si las reglas están cargadas:auditctl -l
  3. Verificar el soporte del kernel:grep "audit" /boot/config-$(uname -r)

Problema 3: los archivos de registro son demasiado grandes

Solución:

  1. Ajustar el tamaño y la cantidad de registros: modificar/etc/audit/auditd.confen elmax_log_fileynum_logs
  2. Configurar compresión de registros: agregarcompress = yesEn el archivo de configuración

Resumen

auditd es una potente herramienta de auditoría para sistemas Linux, y mediante una configuración adecuada se puede:

  • Supervisar el acceso a archivos y directorios críticos
  • Rastrear el uso de comandos privilegiados
  • Registrar inicios de sesión de usuarios y actividad del sistema
  • Cumplir con los requisitos de cumplimiento normativo

Dominar el uso de auditd es esencial para administradores de sistemas y profesionales de seguridad, ya que les ayuda a comprender y proteger mejor sus sistemas Linux.


Guía completa de comandos Linux

Otras extensiones