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:
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.