Cómo instalar y utilizar el entorno de detección avanzada de intrusos AIDE en CentOS 8

AIDE significa «Entorno Avanzado de Detección de Intrusos» y es una de las herramientas más populares para supervisar los cambios en los sistemas operativos basados en Linux. Se utiliza para proteger tu sistema contra el malware, los virus y detectar actividades no autorizadas. Funciona creando una base de datos del sistema de archivos y comprueba esta base de datos con el sistema para garantizar la integridad de los archivos y detectar intrusiones en el sistema. AIDE te ayuda a acortar el tiempo de investigación durante la respuesta a un incidente, centrándose en los archivos que han sido modificados.

Características

  • Admite varios atributos, como tipo de archivo, Inode, Uid, Gid, permisos, número de enlaces, Mtime, Ctime y Atime.
  • Admite la compresión Gzip, SELinux, XAttrs, Posix ACL y atributos extendidos del sistema de archivos.
  • Capaz de crear y comparar varios algoritmos de compendio de mensajes, como md5, sha1, sha256, sha512, rmd160, crc32, etc.
  • Capaz de notificarte por correo electrónico.

En este tutorial, te mostraremos cómo instalar y utilizar AIDE para detectar intrusiones en CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8 con un mínimo de 2 GB de RAM.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

Antes de empezar, es conveniente que actualices tu sistema a la versión actualizada. Ejecuta el siguiente comando para actualizar tu sistema.

dnf update -y

Una vez actualizado tu sistema, reinícialo para aplicar los cambios.

Instalar AIDE

Por defecto, AIDE está disponible en el repositorio por defecto de CentOS 8. Puedes instalarlo fácilmente con sólo ejecutar el siguiente comando:

dnf install aide -y

Una vez completada la instalación, puedes comprobar la versión instalada de AIDE mediante el siguiente comando:

aide --version

Deberías ver la siguiente salida:

Aide 0.16

Compiled with the following options:

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"

También puedes ver todas las opciones disponibles con el comando aide utilizando el siguiente comando:

aide --help

Deberías ver la siguiente pantalla:

Entorno avanzado de detección de intrusos

Crear e inicializar la base de datos

Después de instalar AIDE, lo primero que tendrás que hacer es inicializar la configuración. Esta inicialización creará una base de datos (instantánea) de todos los archivos y directorios de tu servidor.

Ejecuta el siguiente comando para inicializar la base de datos:

aide --init

Deberías ver la siguiente salida:

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/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==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

El comando anterior creará una nueva base de datos AIDE aide.db.new.gz dentro del directorio /var/lib/aide. Puedes verlo con el siguiente comando:

ls -l /var/lib/aide

Deberías ver la siguiente salida:

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

AIDE no utilizará el nuevo archivo de la base de datos hasta que haya sido renombrado a aide.db.gz. Puedes renombrarlo con el siguiente comando:

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

Se recomienda actualizar esta base de datos con una periodicidad determinada para garantizar un seguimiento adecuado de los cambios. También puedes cambiar la ubicación de la base de datos AIDE editando el archivo /etc/aide.conf y modificar el valor DBDIR.

Comprueba el AIDE

Llegados a este punto, AIDE está preparado para utilizar la nueva base de datos. Ahora, ejecuta tu primera comprobación de AIDE sin hacer ningún cambio:

aide --check

Este comando tardará algo de tiempo, dependiendo del tamaño de tu sistema de archivos y de la cantidad de RAM de tu servidor. Una vez completada la comprobación del AIDE, deberías ver la siguiente salida:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

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

Probar el AIDE

Por defecto, AIDE no está configurado para vigilar los archivos y directorios de la raíz de documentos por defecto de Apache /var/www/html. Por tanto, tendrás que configurar AIDE para que vigile el directorio /var/www/html. Puedes configurarlo editando el archivo /etc/aide.conf.

nano /etc/aide.conf

Añade la siguiente línea sobre la línea «/root/ CONTENT_EX»:

/var/www/html/ CONTENT_EX

Guarda y cierra el archivo cuando hayas terminado.

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

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

Ahora, ejecuta la comprobación AIDE y verifica que el archivo recién creado es detectado por la comprobación aide.

aide --check

Deberías ver la siguiente salida:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

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

La salida anterior indica que el archivo recién creado aide.txt es detectado por el chequeo aide.

A continuación, es conveniente actualizar la base de datos AIDE después de revisar los cambios detectados por la comprobación aide. Puedes actualizar la base de datos AIDE con el siguiente comando:

aide --update

Una vez actualizada la base de datos, deberías ver la siguiente salida:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

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

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

Puedes verlo con el siguiente comando:

ls -l /var/lib/aide/

Deberías ver la siguiente salida:

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

Ahora, vuelve a cambiar el nombre de la nueva base de datos para que AIDE utilice esta nueva base de datos para registrar los nuevos cambios. Puedes cambiar el nombre de la base de datos utilizando el siguiente comando:

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

Ahora, ejecuta de nuevo la comprobación del AIDE para verificar si el AIDE utiliza la nueva base de datos o no:

aide --check

Deberías ver la siguiente salida:

Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Una vez que hayas terminado, puedes pasar al siguiente paso.

Automatizar la comprobación del AIDE

Es una buena idea automatizar la comprobación del AIDE cada día y enviar el informe a un sistema por correo. Puedes automatizar este proceso utilizando el trabajo cron.

Para ello, edita el archivo de configuración por defecto de cron como se muestra a continuación:

nano /etc/crontab

Añade la siguiente línea al final del archivo para automatizar la comprobación del AIDE todos los días a las 10:15 de la mañana:

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

Guarda y cierra el archivo cuando hayas terminado.

Ahora, AIDE te avisará a través del correo del sistema.

Puedes comprobar el correo del sistema con el siguiente comando:

tail -f /var/mail/root

También puedes comprobar el registro de AIDE con el siguiente comando:

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

Conclusión

En el tutorial anterior, has aprendido a utilizar AIDE para conocer los cambios del servidor e identificar los accesos no autorizados a tu servidor. Puedes modificar el archivo /etc/aide.conf para vigilar tu directorio de aplicaciones o cualquier configuración avanzada. Se recomienda mantener la base de datos y el archivo de configuración de AIDE en un soporte de sólo lectura por razones de seguridad. Para más información, puedes consultar la documentación de AIDE en AIDE Doc.

También te podría gustar...