Detección de Intrusos con AIDE en Sistemas GNU/Linux

Detección de Intrusos con AIDE en Sistemas GNU/Linux

Introducción
AIDE (Advanced Intrusion Detection Environment) es una herramienta de detección de intrusos basada en la integridad de archivos. Su función principal es verificar cambios en archivos y directorios críticos del sistema, lo que ayuda a identificar modificaciones no autorizadas y posibles ataques. Es una alternativa ligera y flexible a soluciones más complejas como Tripwire.

Historia: De Tripwire a AIDE
Tripwire fue una de las primeras herramientas de detección de intrusos basada en la integridad de archivos, desarrollada en 1992 por Gene Kim y Eugene Spafford en la Universidad de Purdue. Su propósito era proporcionar una forma confiable de verificar la integridad del sistema mediante la comparación de hashes criptográficos de archivos críticos.

Comparación entre AIDE, Tripwire y OSSEC

CaracterísticaAIDETripwireOSSEC
Código AbiertoSolo en versión comunitaria
Análisis de Integridad
Monitoreo en Tiempo RealNoNo
Soporte para Reglas Personalizadas
Integración con SIEMLimitada
Alertas en Tiempo RealNo

OSSEC se destaca por su capacidad de monitoreo en tiempo real y su integración con múltiples sistemas, mientras que Tripwire es una opción más completa para auditorías empresariales. AIDE, en cambio, es más ligero y fácil de implementar en sistemas pequeños o medianos.

Integración de AIDE con Wazuh (SIEM)

Wazuh es una plataforma SIEM de código abierto que permite la integración con AIDE para el monitoreo centralizado de eventos de seguridad.

  1. Configurar AIDE para generar logs estructurados:
   sudo aide --check > /var/log/aide/aide_check.log 2>&1
  1. Configurar el agente de Wazuh para monitorear los logs de AIDE
    Editar el archivo de configuración del agente de Wazuh (/var/ossec/etc/ossec.conf) y agregar la siguiente entrada:
   <localfile>
       <log_format>syslog</log_format>
       <location>/var/log/aide/aide_check.log</location>
   </localfile>
  1. Reiniciar el agente de Wazuh para aplicar los cambios:
   sudo systemctl restart wazuh-agent
  1. Verificar que Wazuh está recibiendo eventos de AIDE
    Ejecutar en el servidor de Wazuh:
   sudo cat /var/ossec/logs/alerts/alerts.json | grep "AIDE"

Si la integración fue exitosa, deberían aparecer registros de AIDE en el SIEM.

Beneficios de esta integración

  • Monitoreo centralizado: Permite visualizar eventos de AIDE en el SIEM junto con otros eventos de seguridad.
  • Automatización de alertas: Wazuh puede generar alertas en tiempo real si AIDE detecta cambios sospechosos.
  • Correlación con otros eventos: Se pueden relacionar eventos de AIDE con intentos de acceso, cambios de permisos y otras actividades sospechosas.

Con esta configuración, cada vez que AIDE detecte cambios en los archivos monitoreados, Wazuh los procesará y podrá generar alertas automatizadas en la consola de administración del SIEM.

AIDE-Tools: Herramientas para la Administración y Automatización de AIDE

AIDE-Tools es un conjunto de herramientas diseñadas para facilitar el uso y la automatización de AIDE. A continuación, se presentan algunas utilidades clave:

  1. aide-update-db: Script para actualizar la base de datos de AIDE de manera automática tras un análisis exitoso.
   #!/bin/bash
   if sudo aide --check; then
       sudo cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
       echo "Base de datos de AIDE actualizada correctamente."
   else
       echo "Se detectaron cambios sospechosos. No se actualiza la base de datos."
   fi
  1. aide-cron: Script para automatizar la ejecución periódica de AIDE y envío de alertas por correo.
   #!/bin/bash
   LOG_FILE="/var/log/aide_report_$(date +%F).log"
   sudo aide --check > $LOG_FILE 2>&1
   if grep -q "AIDE found differences" $LOG_FILE; then
       cat $LOG_FILE | mail -s "ALERTA: Cambios detectados en AIDE" admin@ejemplo.com
   fi
  1. aide-log-cleaner: Script para gestionar la limpieza de logs antiguos de AIDE y evitar saturación del disco.
   #!/bin/bash
   find /var/log/aide*.log -type f -mtime +30 -delete
   echo "Logs antiguos de AIDE eliminados."

Estos scripts pueden ser agregados a cron para su ejecución automática y garantizar un monitoreo eficiente del sistema.

Casos de Uso Reales de AIDE

  • Empresas de Hosting: Detección de modificaciones en archivos de configuración críticos.
  • Gobiernos y Organismos Públicos: Auditoría de cambios en sistemas sensibles.
  • Centros de Datos: Monitoreo de integridad en servidores de producción.

Conclusión y Recomendaciones

AIDE es una herramienta esencial para la seguridad de servidores Linux, ya que permite detectar modificaciones en archivos críticos y evitar accesos no auto