Cómo instalar y usar AIDE (Advanced Intrusion Detection Environment) en CentOS 8

En la antesala del inicio del curso «Administrador de Linux» preparamos la traducción de un material interesante.

Cómo instalar y usar AIDE (Advanced Intrusion Detection Environment) en CentOS 8

AIDE se traduce como “Entorno Avanzado de Detección de Intrusiones” — es uno de los sistemas más populares para monitorear cambios en sistemas operativos basados en Linux. AIDE se utiliza para proteger contra malware, virus y detectar acciones no autorizadas. Para verificar la integridad de los archivos y detectar intrusiones, AIDE crea una base de datos con información sobre los archivos y compara el estado actual del sistema con esta base. AIDE ayuda a reducir el tiempo de investigación de incidentes, enfocándose en los archivos que han sido modificados.

Características de AIDE:

  • Soporte para varios atributos de archivos, incluyendo: tipo de archivo, inode, uid, gid, permisos, número de enlaces, mtime, ctime y atime.
  • Soporte para compresión Gzip, SELinux, XAttrs, ACL de Posix y atributos del sistema de archivos.
  • Soporte para varios algoritmos, incluyendo md5, sha1, sha256, sha512, rmd160, crc32, etc.
  • Envío de notificaciones por correo electrónico.

En este artículo vamos a ver cómo instalar y usar AIDE para la detección de intrusiones en CentOS 8.

Requisitos previos

  • Servidor ejecutando CentOS 8, con un mínimo de 2 GB de RAM.
  • Acceso root

Empezamos

Primero se recomienda actualizar el sistema. Para ello, ejecute el siguiente comando.

dnf update -y

Después de la actualización, reinicie el sistema para que los cambios surtan efecto.

Instalación de AIDE

AIDE está disponible en el repositorio predeterminado de CentOS 8. Puede instalarlo fácilmente ejecutando el siguiente comando:

dnf install aide -y

Una vez completada la instalación, puede ver la versión de AIDE con el siguiente comando:

aide --version

Debería ver lo siguiente:

Aide 0.16

Compilado con las siguientes opciones:

WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Parámetros disponibles aide se pueden ver de la siguiente manera:

aide --help

Cómo instalar y usar AIDE (Advanced Intrusion Detection Environment) en CentOS 8

Creación e inicialización de la base de datos

Lo primero que debe hacer después de instalar AIDE es inicializarlo. La inicialización consiste en crear una base de datos (instantánea) de todos los archivos y directorios del servidor.

Para inicializar la base de datos, ejecute el siguiente comando:

aide --init

Debería ver lo siguiente:

Hora de inicio: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE inicializó la base de datos en /var/lib/aide/aide.db.new.gz

Número de entradas:	49472

---------------------------------------------------
Los atributos de la(s) base(s) de datos (descomprimida):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


Hora de finalización: 2020-01-16 03:03:44 -0500 (tiempo de ejecución: 0m 25s)

El comando anterior creará una nueva base de datos aide.db.new.gz en el directorio /var/lib/aide. Se puede ver utilizando el siguiente comando:

ls -l /var/lib/aide

Resultado:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

AIDE no usará este nuevo archivo de base de datos hasta que se renombre a aide.db.gz. Esto se puede hacer de la siguiente manera:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Se recomienda actualizar periódicamente esta base de datos para asegurar el monitoreo necesario de los cambios.

Se puede cambiar la ubicación de la base modificando el parámetro DBDIR en el archivo /etc/aide.conf.

Iniciar verificación

Ahora AIDE está listo para usar la nueva base de datos. Ejecuta la primera verificación de AIDE sin realizar ningún cambio:

aide --check

La ejecución de este comando tomará algún tiempo dependiendo del tamaño de tu sistema de archivos y la cantidad de memoria RAM en tu servidor. Después de completar la verificación, deberías ver lo siguiente:

Hora de inicio: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE no encontró diferencias entre la base de datos y el sistema de archivos. ¡Todo parece estar bien!

La salida anterior indica que todos los archivos y directorios coinciden con la base de datos de AIDE.

Probando AIDE

De forma predeterminada, AIDE no rastrea el directorio raíz predeterminado de Apache /var/www/html. Vamos a configurar AIDE para que lo monitoree. Para hacer esto, se debe modificar el archivo /etc/aide.conf.

nano /etc/aide.conf

Agrega por encima de la línea "/root/CONTENT_EX" lo siguiente:

/var/www/html/ CONTENT_EX

A continuación, crea el archivo aide.txt en el directorio /var/www/html/, utilizando el siguiente comando:

echo "Test AIDE" > /var/www/html/aide.txt

Ahora ejecuta la verificación de AIDE y asegúrate de que el archivo creado sea detectado.

aide --check

Debería ver lo siguiente:

Hora de inicio: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE encontró diferencias entre la base de datos y el sistema de archivos!!

Resumen:
  Número total de entradas:	49475
  Entradas agregadas:		1
  Entradas eliminadas:		0
  Entradas cambiadas:		0

---------------------------------------------------
Entradas agregadas:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Vemos que se detectó el archivo creado. aide.txt.
Después de analizar los cambios detectados, actualiza la base de datos de AIDE.

aide --update

Después de la actualización verás lo siguiente:

Timestamp de inicio: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE encontró diferencias entre la base de datos y el sistema de archivos!!
Nueva base de datos AIDE escrita en /var/lib/aide/aide.db.new.gz

Resumen:
  Total de entradas:	49475
  Entradas agregadas:		1
  Entradas eliminadas:		0
  Entradas cambiadas:		0

---------------------------------------------------
Entradas agregadas:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

El comando anterior creará una nueva base de datos aide.db.new.gz en el directorio

/var/lib/aide/

Puede verlo con el siguiente comando:

ls -l /var/lib/aide/

Resultado:

total 5600
-rw------- 1 root root 2864012 16 de enero 03:09 aide.db.gz
-rw------- 1 root root 2864100 16 de enero 03:11 aide.db.new.gz

Ahora rename la nueva base de datos nuevamente para que AIDE use la nueva base para rastrear futuros cambios. Puede renombrar así:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Ejecute la verificación nuevamente para asegurarse de que AIDE está usando la nueva base de datos:

aide --check

Debería ver lo siguiente:

Timestamp de inicio: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE NO encontró diferencias entre la base de datos y el sistema de archivos. ¡Todo parece estar bien!

Automatización de la verificación

Es una buena idea ejecutar la verificación de AIDE todos los días y enviar el informe por correo. Este proceso se puede automatizar con cron.

nano /etc/crontab

Para ejecutar la verificación de AIDE todos los días a las 10:15, agregue la siguiente línea al final del archivo:

15 10 * * * root /usr/sbin/aide --check

Ahora AIDE le notificará por correo. Puede verificar el correo con el siguiente comando:

tail -f /var/mail/root

El registro de AIDE se puede ver con el siguiente comando:

tail -f /var/log/aide/aide.log

Conclusión

En este artículo aprendiste cómo usar AIDE para detectar cambios en archivos y identificar accesos no autorizados al servidor. Para configuraciones adicionales, puedes modificar el archivo de configuración /etc/aide.conf. Por motivos de seguridad, se recomienda almacenar la base de datos y el archivo de configuración en un medio de solo lectura. Más información está disponible en la documentación. Documentación de AIDE.

Descubre más sobre el curso.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster