Guía: configurar auditd, rotación y retención de logs para cumplimiento de la LGPD en servidores Linux

Por · Publicado el · 9 min de lectura

troncos cortados apilados con manchas de nieve en las puntas
Pilas de troncos cortados con nieve, metáfora visual para registros y políticas de retención Foto: Alexis Caso / Pexels

Esta guía muestra cómo configurar auditd, rotación y retención de logs para cumplimiento de la LGPD en servidores Linux. Verás ejemplos prácticos de audit.rules, parámetros de auditd.conf y políticas de retención seguras, centradas en producir evidencias útiles para auditorías, incidentes y rendición de cuentas —sin prometer soluciones mágicas y respetando privacidad y rendimiento.

LGPD en la práctica: qué deben probar los logs

La LGPD no prescribe herramientas, pero exige responsabilidad. En Linux, auditd ayuda a mostrar quién hizo qué, cuándo, desde dónde y con qué privilegio. Enfócate en trazabilidad, integridad del registro y retención proporcional a la finalidad.

Piensa en objetivos antes de definir reglas. Eso evita recopilar datos de más y reduce el impacto en el servidor.

  • Trazabilidad de acciones privilegiadas (root/sudo) y cambios sensibles.
  • Integridad y conservación inmutable o con prueba de no alteración.
  • Retención por un período compatible con la finalidad y la base legal.
  • Acceso restringido a los logs (principio de menor privilegio).
  • Capacidad de investigar incidentes con búsquedas y reportes reproducibles.

Requisitos previos y arquitectura mínima de auditoría

Define una arquitectura simple y fiable. Separa la recolección local, rotación controlada y almacenamiento externo confiable. Para endurecimiento general del host, usa un checklist amplio y complementario.

El tiempo correcto es crucial para correlaciones. Sincroniza el servidor con NTP/Chrony. Planifica espacio en disco para picos y retención.

Para logs de aplicación y correlación entre servicios, la centralización aporta gran valor.

  • Acceso root y kernel con soporte de audit.
  • Sincronización de hora (Chrony/NTP).
  • Espacio en disco suficiente en /var/log (idealmente partición dedicada).
  • Permisos de logs 0600; acceso exclusivo para root.
  • Opcional: envío a un concentrador de logs o almacenamiento inmutable.

Instala y activa auditd en Linux

Instala el demonio de auditoría y habilítalo al arranque. Luego, confirma el estado. En muchas distribuciones el paquete incluye reglas mínimas por defecto. Ajustaremos reglas y retención más adelante.

# Debian/Ubuntu
sudo apt update && sudo apt install -y auditd audispd-plugins
sudo systemctl enable --now auditd
sudo systemctl status auditd --no-pager

# RHEL/CentOS/Rocky/AlmaLinux
sudo dnf install -y audit
sudo systemctl enable --now auditd
sudo systemctl status auditd --no-pager

# Ver parâmetros atuais do subsistema
sudo auditctl -s

Configuración de rotación y retención en auditd.conf

El archivo /etc/audit/auditd.conf controla rotación, tamaño y acciones cuando el disco se llena. Define tamaños compatibles con tu tasa de eventos. "rotate" evita pérdida; "suspend" pausa la auditoría hasta liberar espacio. Elegir "ignore" puede causar pérdida de evidencias.

Ajusta alertas de poco espacio y permisos estrictos. Tras editar, recarga el servicio.

# /etc/audit/auditd.conf (exemplo)
log_file = /var/log/audit/audit.log
max_log_file = 200           # tamanho em MB por arquivo
num_logs = 12                # quantidade de arquivos rotacionados
max_log_file_action = rotate # rotate|keep_logs|suspend|ignore
space_left = 1024            # em MB: alerta quando restar 1 GB
space_left_action = SYSLOG   # SYSLOG|EMAIL|EXEC|SUSPEND
admin_space_left = 512       # ponto crítico
admin_space_left_action = SUSPEND
write_logs = yes
flush = INCREMENTAL_ASYNC
freq = 50
permissions = 0600
log_format = RAW

Reglas de auditoría alineadas a la LGPD: ejemplos útiles

Aplica reglas que entreguen evidencias útiles, con ruido controlado. Evita auditarlo todo. Comienza por cambios de identidad, privilegios, autenticación y directorios con datos personales. Una regla de execve para todos los usuarios puede generar mucho volumen. Filtrar por euid=0 reduce ruido.

Guarda tus reglas en /etc/audit/rules.d/lgpd.rules. Las cargaremos con augenrules.

Objetivo LGPD Regla ejemplo (resumen) Evidencia/informe
Cambios de identidad -w /etc/passwd -p wa -k ids aureport -m -i
Acciones privilegiadas -a always,exit -S execve -F euid=0 -k exec_root aureport -au -i | filtrar por exec_root
Autenticación -w /var/log/lastlog -p wa -k logins ausearch -k logins -i
Datos personales -w /srv/app/dados_pessoais -p rwa -k lgpd_dados ausearch -k lgpd_dados -i
# /etc/audit/rules.d/lgpd.rules (exemplo)
# Tamanho do backlog do kernel (cautela conforme recursos)
-b 8192

# Integridade de arquivos críticos (identidades e privilégios)
-w /etc/passwd   -p wa -k ids
-w /etc/shadow   -p wa -k ids
-w /etc/group    -p wa -k ids
-w /etc/gshadow  -p wa -k ids
-w /etc/sudoers  -p wa -k sudo
-w /etc/ssh/sshd_config -p wa -k sshd

# Logins (varia por distro)
-w /var/log/lastlog  -p wa -k logins
-w /var/run/faillock -p wa -k logins

# Execução de comandos como root (64 e 32 bits)
-a always,exit -F arch=b64 -S execve -F euid=0 -k exec_root
-a always,exit -F arch=b32 -S execve -F euid=0 -k exec_root

# Diretório de dados pessoais da aplicação (ajuste o caminho)
-w /srv/app/dados_pessoais -p rwa -k lgpd_dados

Carga de reglas, generación de evidencias y reportes

Carga las reglas y genera algunos eventos de prueba. Usa ausearch para consultas detalladas y aureport para reportes resumidos. Registra las consultas que usarás en auditorías. Siempre valida en homologación antes de aplicar en producción.

# Carregar as regras
sudo augenrules --load
sudo systemctl restart auditd

# Gerar alguns eventos (ajuste conforme seu ambiente)
sudo -n true || echo "sudo requer senha" # aciona exec_root
sudo ls /root >/dev/null 2>&1 || true     # aciona exec_root
sudo usermod -c "Teste" $USER || true     # aciona ids

# Consultar por chaves específicas (human-readable)
sudo ausearch -k exec_root -ts today -i | head
sudo ausearch -k ids -ts today -i | head
sudo ausearch -k lgpd_dados -ts today -i | head

# Relatórios úteis
sudo aureport -au -i --summary     # autenticação/autorizações
sudo aureport -m  -i --summary     # mudanças de conta/identidade

Rotación con logrotate, retención segura y custodia externa

Auditd rota por tamaño vía auditd.conf. Puedes complementar o endurecer con logrotate para compresión y retención por cantidad/tiempo. Mantén permisos 0600 en los archivos. Prueba la rotación para evitar paradas de la auditoría.

Para custodia externa e inmutabilidad, los objetos con bloqueo de retención (WORM) son una opción. En la nube, valora Object Lock. La centralización también ayuda búsquedas y correlación.

  • Define período y base legal para la retención mínima necesaria.
  • Comprime, versiona y almacena hashes independientes de los archivos.
  • Restringe acceso por roles; registra accesos a los logs.
  • Considera almacenamiento inmutable (WORM) y cadena de custodia externa.
  • Centraliza logs para búsquedas y alertas.
# /etc/logrotate.d/auditd (exemplo)
/var/log/audit/audit.log {
    rotate 12
    size 200M
    missingok
    notifempty
    compress
    delaycompress
    create 0600 root root
    postrotate
        /bin/systemctl kill -s HUP auditd.service || true
    endscript
}

Buenas prácticas, rendimiento y verificación continua

Recopila lo mínimo necesario para cumplir la finalidad. Evita capturar el contenido de archivos; enfócate en metadatos de acceso y cambio. Controla el volumen de reglas de execve. Mide eventos por minuto y ajusta el backlog.

Asegura sincronía de tiempo y protege la integridad: calcula hashes y, si es posible, firma lotes. Para logs de aplicación y correlación, la centralización estructurada en JSON facilita búsquedas.

Integra la auditoría a procesos de seguridad. Para medidas reactivas de autenticación y bloqueo, combina con herramientas específicas cuando tenga sentido. Mantén runbooks de investigación.

Verifica periódicamente que todo opera correctamente. Simula rotación y falta de espacio en ventanas controladas. Nunca pruebes escenarios destructivos en producción sin plan de recuperación.

# Estado do daemon e parâmetros
sudo systemctl status auditd --no-pager
sudo auditctl -s

# Ver alguns eventos recentes da chave exec_root
sudo ausearch -k exec_root -ts recent -i | tail -n 10

# Testar configuração do logrotate (dry run)
sudo logrotate -d /etc/logrotate.d/auditd

# Conferir sincronização de tempo (se usar chrony)
chronyc tracking || timedatectl status

Preguntas frecuentes

¿Cuánto tiempo debo retener los logs para la LGPD?

Depende de la finalidad y la base legal del tratamiento. Define una política por escrito, con plazos claros y responsables. Los registros de seguridad suelen tener retenciones mayores que los logs de aplicación. Evita retenciones excesivas. Revisa periódicamente la necesidad y asegura la eliminación segura al vencer el plazo.

¿El auditd sustituye a un SIEM?

No. auditd recopila y mantiene trazas locales de auditoría en Linux. Un SIEM agrega, correlaciona y alerta a escala. Puedes enviar eventos del auditd a una centralización y, desde allí, integrarlos en un SIEM para detección y respuesta.

¿Auditar execve de todos los usuarios impacta el rendimiento?

Puede impactar, pues genera alto volumen. Filtrar por euid=0 reduce ruido y coste. Mide la tasa de eventos, tamaño diario de logs y ajusta backlog (-b), tamaños de rotación y reglas. Prueba en homologación y monitoriza CPU e I/O tras cambios.

¿Necesito auditar el contenido de archivos con datos personales?

Generalmente no. La LGPD exige trazabilidad y seguridad, no copias del contenido. Auditar metadatos de acceso y modificación suele ser suficiente. Evita recolectar datos en exceso. Si es realmente necesario, evalúa cifrado y controles de acceso rígidos.

¿Cómo garantizar la integridad de los logs para auditorías?

Usa permisos 0600, restringe acceso administrativo y genera hashes (por ejemplo SHA‑256) de los archivos rotados. Almacena los hashes por separado y, si es posible, firma lotes. Considera custodia inmutable (WORM) para impedir alteraciones y garantizar la cadena de custodia.

¿Qué hacer si el disco se llena y la auditoría se suspende?

Tu política debe prever acciones: alertas, limpieza controlada de archivos antiguos según la política de retención y restauración del servicio. Configura space_left_action y admin_space_left_action para avisos y suspensión segura. Monitoriza espacio y prueba escenarios de rotación periódicamente.

¿Necesitas revisar reglas y retención de logs para la LGPD?

Podemos analizar tus reglas de auditd, políticas de rotación y almacenamiento externo para hacer la auditoría reproducible y proporcional a la finalidad.

Hablar sobre cumplimiento de logs

Ver también