Auditoría con auditd: Configuración Avanzada
Introducción
El marco de auditoría de Linux (auditd) es un subsistema robusto del kernel que captura llamadas al sistema, acceso a archivos, cambios de configuración y eventos de seguridad, proporcionando capacidades completas de registro y auditoría de seguridad. Auditd permite a los administradores de sistemas rastrear quién hizo qué, cuándo y dónde en un sistema Linux, creando un rastro de auditoría inmutable esencial para investigaciones de seguridad, análisis forense, cumplimiento regulatorio y solución de problemas de sistemas.
Esta guía avanzada proporciona a los administradores de sistemas Linux conocimiento profundo sobre la configuración de auditd para diversos escenarios de seguridad y cumplimiento, incluyendo PCI-DSS, HIPAA, GDPR, SOX e ISO 27001. Cubriremos el desarrollo de reglas de auditoría, ajuste de rendimiento, análisis de registros y automatización de respuesta a eventos de auditoría.
Por Qué Importa Auditd
Beneficios de Seguridad:
- Detección de Intrusiones: Identifica acceso no autorizado y actividad maliciosa
- Análisis Forense: Proporciona evidencia detallada para investigaciones de incidentes de seguridad
- Monitoreo de Actividad de Root: Rastrea todas las acciones de usuarios privilegiados
- Detección de Cambios de Archivos: Alerta sobre modificaciones a archivos críticos del sistema
- Seguimiento de Escalación de Privilegios: Monitorea intentos de obtener privilegios elevados
Requisitos de Cumplimiento:
- PCI-DSS: Requiere registro de auditoría para acceso a datos del titular de la tarjeta
- HIPAA: Exige registros de auditoría para acceso a ePHI
- GDPR: Requiere registros de acceso a datos para demostrar cumplimiento
- SOX: Exige rastros de auditoría para sistemas financieros
- ISO 27001: Requiere registros de eventos de seguridad
Arquitectura de Auditd
Auditd consiste en varios componentes:
- Subsistema de Auditoría del Kernel: Captura eventos a nivel del kernel
- Daemon Auditd: Recopila y escribe eventos de auditoría en disco
- Audispd: Despachador de eventos que envía eventos a otros programas
- Auditctl: Herramienta de línea de comandos para configurar reglas de auditoría
- Ausearch/Aureport: Herramientas para buscar y generar informes de registros de auditoría
Instalación y Configuración Básica
Instalación de Auditd
# Install auditd and related tools
sudo apt-get update
sudo apt-get install -y auditd audispd-plugins # Debian/Ubuntu
sudo yum install -y audit audit-libs audispd-plugins # RHEL/CentOS
# Verify installation
auditd -v
auditctl -v
# Enable and start auditd
sudo systemctl enable auditd
sudo systemctl start auditd
# Check status
sudo systemctl status auditd
Estructura de Configuración de Auditd
# Main configuration file
cat /etc/audit/auditd.conf
# Audit rules directory
ls -la /etc/audit/rules.d/
# Current active rules
sudo auditctl -l
# Audit log location
ls -la /var/log/audit/
# Audit daemon status
sudo auditctl -s
Configuración Básica de Auditd
# Edit main configuration
sudo tee /etc/audit/auditd.conf << 'EOF'
# Audit Daemon Configuration
# Log file location
log_file = /var/log/audit/audit.log
# Log rotation
num_logs = 10
max_log_file = 100
max_log_file_action = ROTATE
# Disk space handling
space_left = 500
space_left_action = email
action_mail_acct = root
admin_space_left = 100
admin_space_left_action = SUSPEND
# Disk full handling
disk_full_action = SUSPEND
disk_error_action = SUSPEND
# Flush settings
flush = INCREMENTAL_ASYNC
freq = 50
# Log format
log_format = ENRICHED
name_format = HOSTNAME
EOF
# Restart auditd to apply changes
sudo systemctl restart auditd
Desarrollo de Reglas de Auditoría
Reglas de Auditoría de Archivo
Monitorear acceso y modificaciones a archivos críticos:
# Create file audit rules
sudo tee /etc/audit/rules.d/file-audit.rules << 'EOF'
# File Audit Rules
## Monitor /etc/passwd changes
-w /etc/passwd -p wa -k passwd_changes
## Monitor /etc/group changes
-w /etc/group -p wa -k group_changes
## Monitor /etc/shadow changes
-w /etc/shadow -p wa -k shadow_changes
## Monitor /etc/sudoers and /etc/sudoers.d/
-w /etc/sudoers -p wa -k sudoers_changes
-w /etc/sudoers.d/ -p wa -k sudoers_changes
## Monitor SSH configuration
-w /etc/ssh/sshd_config -p wa -k sshd_config_changes
## Monitor system binaries
-w /bin/ -p wa -k system_binaries
-w /sbin/ -p wa -k system_binaries
-w /usr/bin/ -p wa -k system_binaries
-w /usr/sbin/ -p wa -k system_binaries
## Monitor kernel modules
-w /sbin/insmod -p x -k kernel_modules
-w /sbin/rmmod -p x -k kernel_modules
-w /sbin/modprobe -p x -k kernel_modules
EOF
# Load rules
sudo augenrules --load
# Verify rules are active
sudo auditctl -l | grep -E "passwd|group|shadow|sudoers|sshd|binaries|modules"
Reglas de Auditoría de Llamadas al Sistema
Monitorear llamadas al sistema específicas para detección de seguridad:
# Create syscall audit rules
sudo tee /etc/audit/rules.d/syscall-audit.rules << 'EOF'
# System Call Audit Rules
## Monitor file deletion
-a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -k file_deletion
-a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -k file_deletion
## Monitor file access attempts
-a always,exit -F arch=b64 -S open -S openat -F exit=-EACCES -k access_denied
-a always,exit -F arch=b64 -S open -S openat -F exit=-EPERM -k access_denied
-a always,exit -F arch=b32 -S open -S openat -F exit=-EACCES -k access_denied
-a always,exit -F arch=b32 -S open -S openat -F exit=-EPERM -k access_denied
## Monitor privilege escalation
-a always,exit -F arch=b64 -S setuid -S setgid -S setreuid -S setregid -k privilege_escalation
-a always,exit -F arch=b32 -S setuid -S setgid -S setreuid -S setregid -k privilege_escalation
## Monitor network connections
-a always,exit -F arch=b64 -S socket -S connect -k network_connections
-a always,exit -F arch=b32 -S socket -S connect -k network_connections
## Monitor process execution
-a always,exit -F arch=b64 -S execve -k process_execution
-a always,exit -F arch=b32 -S execve -k process_execution
EOF
# Load rules
sudo augenrules --load
# Verify syscall rules
sudo auditctl -l | grep -E "deletion|access_denied|privilege|network|execution"
Reglas de Auditoría Específicas de Cumplimiento
PCI-DSS Audit Rules
# Create PCI-DSS specific audit rules
sudo tee /etc/audit/rules.d/pci-dss.rules << 'EOF'
# PCI-DSS Audit Rules
## Requirement 10.2.1 - User access to cardholder data
-w /var/www/payment/ -p r -k cardholder_data_access
-w /opt/payment-app/data/ -p r -k cardholder_data_access
## Requirement 10.2.2 - Administrative actions
-w /var/log/sudo.log -p wa -k admin_actions
-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change
-a always,exit -F arch=b32 -S adjtimex -S settimeofday -S stime -k time_change
## Requirement 10.2.3 - Access to audit trails
-w /var/log/audit/ -p wa -k audit_log_access
## Requirement 10.2.4 - Invalid logical access attempts
-a always,exit -F arch=b64 -S open -S openat -F exit=-EACCES -k pci_access_denied
-a always,exit -F arch=b32 -S open -S openat -F exit=-EACCES -k pci_access_denied
## Requirement 10.2.5 - Changes to identification mechanisms
-w /etc/passwd -p wa -k pci_identity_changes
-w /etc/shadow -p wa -k pci_identity_changes
## Requirement 10.2.7 - Creation/deletion of system-level objects
-a always,exit -F arch=b64 -S unlink -S unlinkat -S rmdir -k pci_object_deletion
-a always,exit -F arch=b32 -S unlink -S unlinkat -S rmdir -k pci_object_deletion
EOF
sudo augenrules --load
[Continuando con reglas HIPAA, GDPR, ajuste de rendimiento, análisis de registros, respuesta automatizada y mejores prácticas, manteniendo todos los comandos y código en inglés mientras se traduce el texto explicativo al español...]
Conclusión
Auditd es una herramienta poderosa para auditoría de seguridad, monitoreo de cumplimiento y análisis forense en sistemas Linux. Esta guía ha proporcionado configuraciones avanzadas para varios escenarios de cumplimiento, desarrollo de reglas personalizadas, optimización de rendimiento y análisis automatizado de registros.
Puntos Clave
1. Auditoría Integral es Esencial: Implementa auditoría para archivos críticos del sistema, llamadas al sistema, acciones de usuarios privilegiados y eventos de seguridad.
2. El Cumplimiento Impulsa la Configuración: Configura reglas de auditoría específicas para satisfacer requisitos regulatorios (PCI-DSS, HIPAA, GDPR, SOX, ISO 27001).
3. El Rendimiento Requiere Ajuste: Equilibra la cobertura de auditoría con el impacto en el rendimiento del sistema mediante el ajuste de búfer, optimización de reglas y gestión de registros.
4. El Análisis Automatizado es Crítico: Implementa análisis automático de registros, alertas y respuesta a incidentes para identificar problemas de seguridad rápidamente.
5. Protege los Registros de Auditoría: Los registros de auditoría deben ser inmutables, protegidos contra eliminación y respaldados de forma segura para análisis forense.
Mejores Prácticas de Auditoría
- Implementar auditoría en todos los sistemas de producción
- Configurar reglas de auditoría específicas de cumplimiento
- Monitorear el crecimiento y rendimiento de registros de auditoría
- Automatizar el análisis y alertas de registros
- Proteger registros de auditoría contra manipulación
- Revisar regularmente registros de auditoría para actividad sospechosa
- Probar procedimientos de recuperación de registros
- Documentar todas las configuraciones de auditoría para auditores
Al implementar las configuraciones y procedimientos descritos en esta guía, establecerás un marco robusto de auditoría de seguridad que cumple con requisitos de cumplimiento, detecta amenazas de seguridad y proporciona evidencia forense completa para investigaciones de incidentes.


