AIDE: Advanced Intrusion Detection Environment | Paytia

AIDE (Advanced Intrusion Detection Environment) es una herramienta de código abierto para la monitorización de la integridad de archivos que detecta cambios no autorizados en los archivos del sistema. Es una de las formas más habituales con las que los comercios cumplen el requisito 11.5 de PCI DSS.

Qué hace AIDE realmente

AIDE — Advanced Intrusion Detection Environment — es una herramienta de monitorización de la integridad de archivos (FIM) que existe desde finales de los años 90. Es de código abierto, funciona en sistemas Linux y BSD, y hace muy bien una sola tarea: te avisa cuando un archivo de un servidor ha cambiado sin que debiera.

El mecanismo es sencillo. Instalas AIDE, lo apuntas hacia los directorios que te importan (binarios del sistema, archivos de configuración, cualquier cosa dentro de tu entorno de datos del titular) y construye una base de datos. Esa base de datos guarda hashes criptográficos — SHA-256 por defecto hoy en día — más metadatos del archivo como propietario, permisos, tamaño y números de inodo. A partir de ahí, vuelves a ejecutar AIDE de forma programada y compara el sistema de archivos en vivo con la instantánea almacenada. Cualquier cosa que se haya añadido, borrado o modificado aparece en el informe.

Eso es todo. No es un antivirus, no es una plataforma EDR y no intenta bloquear nada en tiempo real. Es un cable trampa, y eso es justo lo que busca el auditor de PCI DSS.

Por qué lo pide PCI DSS (requisito 11.5)

El requisito 11.5 de PCI DSS — en la v4.0.1, la versión actual del estándar — dice que debes «implementar un mecanismo de detección de cambios (por ejemplo, herramientas de monitorización de la integridad de archivos) para alertar al personal sobre modificaciones no autorizadas de archivos críticos, y configurar el software para realizar comparaciones de archivos críticos al menos una vez por semana».

El estándar no menciona AIDE en concreto. Dice «por ejemplo», y cualquier herramienta FIM que haga el mismo trabajo sirve. Pero como AIDE es gratuita, está bien mantenida, viene en los repositorios por defecto de todas las grandes distribuciones de Linux y produce el tipo de salida amigable para auditorías que los QSA están acostumbrados a ver, es la respuesta por defecto para miles de comercios y proveedores de servicios.

Las otras opciones que se nombran con frecuencia son herramientas comerciales como Tripwire (el producto de pago, no el Tripwire original de la misma época que AIDE) y OSSEC. Volveremos a la comparación más abajo.

¿Qué archivos vigila AIDE en realidad?

Tal cual viene, la configuración por defecto de AIDE en la mayoría de distribuciones de Linux vigila:

  • /bin, /sbin, /usr/bin, /usr/sbin — binarios del sistema
  • /etc — archivos de configuración
  • /boot — kernel y gestor de arranque
  • /lib, /lib64 — bibliotecas compartidas

Para el alcance de PCI, lo ampliarías a cualquier cosa dentro del entorno de datos del titular: los directorios raíz de documentos del servidor web, los directorios del código de la aplicación, la configuración del servidor de base de datos, cualquier cosa que maneje o toque datos de pago. La idea es que un atacante que se haga con el control de la máquina y reemplace un binario o suelte un webshell en /var/www debería disparar una alerta la próxima vez que AIDE se ejecute.

Cómo funciona AIDE por dentro

La base de datos

La base de datos de AIDE es un archivo plano — normalmente en /var/lib/aide/aide.db — que guarda una fila por cada archivo monitorizado. Cada fila registra los atributos que hayas pedido rastrear. El conjunto más habitual es:

  • Hash criptográfico (sha256, sha512 o ambos — md5 y sha1 siguen soportándose, pero no deberías usarlos para trabajo de PCI en 2026)
  • Tamaño del archivo
  • Permisos (mode)
  • UID del propietario y GID del grupo
  • Número de inodo
  • Número de enlaces
  • Hora de modificación (mtime), hora de cambio (ctime) y hora de acceso (atime) — aunque atime suele ignorarse porque cambia cada vez que alguien lee el archivo

El archivo de configuración

aide.conf lo controla todo. Usa una sintaxis propia que define grupos de atributos (reglas) y luego aplica esas reglas a las rutas. Una regla típica para un directorio de binarios podría ser «rastrear todo excepto la hora de acceso y el número de inodo», porque los inodos pueden cambiar legítimamente durante las actualizaciones de paquetes.

La ejecución de comprobación

Ejecutas aide --check de forma programada — normalmente como un cron job — y recorre el sistema de archivos, recalcula los hashes y produce un informe que muestra los archivos añadidos, eliminados y modificados. Tras un cambio legítimo (una actualización del kernel, un despliegue de aplicación, un ajuste de configuración), ejecutas aide --update para reconstruir la base de datos y que refleje la nueva línea base.

Dónde encaja AIDE con el resto de tus controles de PCI

La monitorización de la integridad de archivos es uno de la docena aproximada de controles técnicos que un comercio que acepta pagos necesita tener implantados. AIDE se integra en el cuadro general:

  • Registro de logs (requisito 10): los informes de AIDE deberían enviarse a tu servidor de logs centralizado para que sean resistentes a manipulaciones y se revisen a diario.
  • Análisis de vulnerabilidades (requisitos 11.2 y 11.3): AIDE detecta cambios después de que ocurran; los análisis de vulnerabilidades detectan debilidades conocidas antes de que se exploten. Necesitas ambos.
  • Gestión de cambios (requisito 6.5): cada cambio autorizado debería ir acompañado de una actualización de la base de datos de AIDE para que no andes persiguiendo ruido legítimo.
  • Reducción de alcance: cuantos menos sistemas estén dentro del alcance de PCI, en menos servidores necesitarás ejecutar AIDE. El enmascaramiento DTMF es la forma más eficaz de reducir el alcance en el lado del pago telefónico, porque los datos de tarjeta no llegan nunca a tus servidores en primer lugar.

AIDE frente a herramientas FIM comerciales

La respuesta honesta es que AIDE hace el mismo trabajo central que cualquier herramienta comercial de integridad de archivos. Las diferencias son operativas:

  • Las herramientas comerciales suelen ofrecer una consola central de gestión, despliegue basado en agentes, monitorización en tiempo real (en vez de comprobaciones programadas) y plantillas de informes integradas que los QSA reconocen.
  • AIDE requiere que te lo montes tú mismo — normalmente con gestión de configuración (Ansible, Puppet, Chef), un agregador de logs central y una integración con un sistema de tickets para las alertas.

Para un comercio pequeño con tres o cuatro servidores en alcance, AIDE más un cron job sensato y alertas por correo es perfectamente adecuado. Para una empresa con cientos de hosts que manejan pagos, la sobrecarga de gestionar AIDE manualmente empieza a pesar más que el coste de licencia de una herramienta comercial.

Errores habituales con AIDE en auditorías de PCI

Ejecutarlo a diario pero no revisar nunca la salida

Este es el hallazgo clásico. AIDE se ejecuta cada noche, genera un informe y lo envía a un buzón que nadie lee. El requisito 11.5.2 de PCI DSS exige que el mecanismo de detección de cambios esté configurado para alertar al personal — lo que significa que una persona tiene que mirar de verdad la salida y actuar sobre ella.

No actualizar la base de datos tras cambios legítimos

Si parcheas el kernel el martes y no actualizas la base de datos de AIDE, el informe del miércoles muestra miles de «cambios» y el operador empieza a ignorarlo. Cada cambio autorizado tiene que ir acompañado de una actualización de la base de datos — normalmente automatizada como parte del flujo de gestión de cambios.

Olvidar que la propia base de datos es un objetivo

Un atacante que pueda editar aide.db puede editar primero los binarios y luego actualizar la base de datos para ocultar el cambio. La base de datos debería guardarse en un soporte de solo lectura, en un host separado o — como mínimo — su hash debería firmarse y verificarse de forma independiente.

Monitorizar solo archivos del sistema, no archivos de aplicación

La configuración por defecto vigila /bin y /etc pero ignora /var/www y los directorios de tu aplicación. Para el alcance de PCI, el código de la aplicación es al menos tan importante como los binarios del sistema.

AIDE en distintos sistemas operativos

AIDE viene en los repositorios de paquetes de todas las grandes distribuciones de Linux — Debian, Ubuntu, RHEL, CentOS, Rocky Linux, Alma Linux, Arch — y está disponible en FreeBSD y OpenBSD. En Windows no funciona de forma nativa; las organizaciones con Windows suelen usar el System File Checker integrado (sfc /scannow) más un producto FIM comercial, o ejecutan AIDE dentro de WSL si solo necesitan monitorizar un subconjunto concreto de archivos.

Cómo Paytia lo usa
No ejecutamos AIDE en los servidores de los clientes — lo ejecutamos en nuestra propia infraestructura como parte de cómo mantenemos la plataforma Paytia conforme a PCI DSS de Nivel 1. Para nuestros comercios, lo más importante es que el enmascaramiento DTMF reduce drásticamente la superficie que necesita FIM en primer lugar. Si los datos de tarjeta no llegan nunca a tus servidores, no necesitas AIDE funcionando en cada host que acepta un pago telefónico — solo lo necesitas allí donde los datos podrían llegar en teoría. Por eso los comercios que reducen su alcance hasta el SAQ A con nosotros recortan su trabajo de ingeniería de PCI en un orden de magnitud.

Preguntas frecuentes

¿Basta con AIDE por sí solo para cumplir el requisito 11.5 de PCI DSS?+

Sí, si está bien configurado, se ejecuta al menos cada semana (mejor a diario), monitoriza todos los archivos críticos en alcance, alerta a una persona que realmente revisa la salida y la propia base de datos está protegida frente a manipulaciones. En la mayoría de auditorías el problema no es la herramienta, sino el proceso que la rodea.

¿Con qué frecuencia debe ejecutarse AIDE para cumplir con PCI?+

El estándar exige «al menos cada semana», pero todos los QSA con los que hemos trabajado esperan en la práctica ejecuciones diarias. La ejecución diaria detecta los problemas más rápido y mantiene los diffs lo bastante pequeños como para poder revisarlos. Las ejecuciones semanales tienden a producir informes demasiado grandes para que nadie los lea como es debido.

¿Cuál es la diferencia entre AIDE y Tripwire?+

AIDE se escribió a finales de los años 90 como alternativa de código abierto al Tripwire original (que desde entonces se convirtió en un producto comercial). Hacen el mismo trabajo. Tripwire, el producto comercial, tiene consola de gestión, agentes y contrato de soporte; AIDE es gratuito, pero las piezas operativas las montas tú.

¿Pueden los atacantes saltarse AIDE?+

Sí, si consiguen escribir en la base de datos de AIDE o en el propio binario de AIDE antes de tu siguiente comprobación. Por eso la buena práctica es guardar la base de datos en un soporte de solo lectura o en un host separado, firmarla criptográficamente y verificar la firma fuera de banda. Un rootkit de kernel que oculta archivos al espacio de usuario también puede evadir AIDE — aunque ese es un ataque sofisticado y poco frecuente en las brechas de datos de tarjetas.

¿Funciona AIDE en servidores Windows?+

No de forma nativa. Las organizaciones con Windows suelen usar un producto FIM comercial, la monitorización de integridad de archivos integrada en Windows dentro de Defender for Cloud, o ejecutan AIDE dentro de WSL para un subconjunto concreto de archivos. Si todos tus servidores en alcance de PCI son Windows, probablemente AIDE no sea la herramienta adecuada.

Ready to take secure payments?

Book a demo with our team. We'll show you DTMF masking live, talk through PCI DSS scope reduction, and put together pricing based on your call volume.

PCI DSS Level 1
Cyber Essentials Plus

Trusted by law firms, insurers, healthcare providers and regulated businesses worldwide. Learn more about Paytia