SecuryBlack LogoSecuryBlack
← Blog/Seguridad

AIDE: cómo detectar cambios no autorizados en los archivos de tu servidor Linux

·8 min de lectura
AIDE: cómo detectar cambios no autorizados en los archivos de tu servidor Linux

Un firewall bien configurado y Fail2ban activo reducen las probabilidades de que alguien entre en tu servidor, pero no responden a la pregunta que de verdad importa después de un incidente: ¿ha modificado alguien un archivo del sistema sin que yo lo sepa? Para eso existe la monitorización de integridad de archivos, y dentro de una estrategia de hardening de VPS completa es una capa que rara vez se implementa por desconocimiento, no por complejidad.

En este artículo instalamos y configuramos AIDE (Advanced Intrusion Detection Environment), una herramienta clásica y ligera que crea una "fotografía" criptográfica de tu sistema de archivos y te avisa en cuanto algo cambia.


1. ¿Qué problema resuelve AIDE?

Un atacante que consigue acceso a tu servidor casi siempre modifica algo: sustituye un binario del sistema por una versión troyanizada, añade una clave SSH a authorized_keys, inserta una tarea en cron o instala una puerta trasera en un script de arranque.

AIDE construye una base de datos con los hashes (MD5, SHA256...), permisos, propietario y tamaño de los archivos que le indiques. Cada vez que la ejecutas de nuevo, compara el estado actual contra esa base de datos y te reporta cualquier diferencia: archivo añadido, borrado o modificado.


2. Instalación

En sistemas basados en Debian/Ubuntu:

sudo apt update
sudo apt install aide aide-common

3. Configurar qué directorios vigilar

La configuración vive en /etc/aide/aide.conf (y en /etc/aide/aide.conf.d/ en Debian/Ubuntu, que fragmenta las reglas por paquete). Cada línea define una ruta y una regla de comprobación:

# Vigilancia estricta: permisos, propietario, tamaño y hash
/etc    NORMAL
/bin    NORMAL
/sbin   NORMAL
/usr/bin NORMAL

# Directorios muy cambiantes: solo vigilar existencia, no contenido
/var/log LOG

Es buena práctica excluir explícitamente rutas que cambian constantemente y generan ruido (logs rotados, cachés de paquetes, /tmp):

!/var/log/journal
!/var/cache/apt
!/tmp

4. Generar la base de datos inicial

Este paso debe hacerse justo después de instalar y asegurar el servidor, nunca después, para que la fotografía de referencia represente un sistema limpio:

sudo aideinit

En algunas distribuciones el binario se llama aide directamente:

sudo aide --init
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

5. Ejecutar una comprobación manual

Para comparar el estado actual del sistema contra la base de datos guardada:

sudo aide --check

La salida indica claramente los archivos añadidos, eliminados o modificados, junto con qué atributo cambió (permisos, hash, tamaño...).


6. Automatizar la comprobación diaria

De nada sirve tener AIDE instalado si nadie revisa el resultado. Añade una tarea programada que ejecute la comprobación y te avise por correo:

sudo crontab -e
0 5 * * * /usr/bin/aide --check | mail -s "Informe AIDE $(hostname)" tu@email.com

Tras cada cambio legítimo en el servidor (una actualización del sistema, una nueva app desplegada), recuerda regenerar la base de datos con aideinit; de lo contrario recibirás falsos positivos a diario y acabarás ignorando las alertas.


7. La limitación real de AIDE

AIDE solo es tan fiable como su base de datos de referencia. Si un atacante compromete el servidor y también modifica /var/lib/aide/aide.db, el chequeo dejará de ser fiable. Por eso la base de datos debería copiarse a una ubicación de solo lectura o a un sistema externo tras generarla.


8. Correlaciona estas alertas con SecuryBlack

Un correo de AIDE a las 5 de la mañana es fácil de pasar por alto si gestionas varios servidores. Con el panel cloud de SecuryBlack y el agente FerroSentry, la integridad de archivos, los puertos abiertos y la configuración SSH se auditan de forma continua y las alertas relevantes llegan centralizadas, sin depender de que revises manualmente el buzón de cada VPS.