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

En previsión del inicio del curso de Administrador de Linux, preparamos una traducción de material interesante.




AIDE significa "Entorno de detección de intrusiones avanzado", 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 del archivo y la detección de intrusos, AIDE crea una base de datos con información del archivo y compara el estado actual del sistema con esta base de datos. AIDE ayuda a reducir el tiempo de investigación de incidentes al enfocarse en los archivos que han sido modificados.

AIDE características:

  • Soporte para varios atributos de archivo, que incluyen: tipo de archivo, inodo, uid, gid, permisos, número de enlaces, mtime, ctime y atime.
  • Soporte para Gzip, SELinux, XAttrs, Posix ACL y compresión de atributos del sistema de archivos.
  • Soporte para varios algoritmos, incluyendo md5, sha1, sha256, sha512, rmd160, crc32, etc.
  • Notificaciónes de Correo Electrónico.

En este artículo, veremos cómo instalar y usar AIDE para detectar intrusiones en CentOS 8.

Prerrequisitos


  • Un servidor que ejecuta CentOS 8 con al menos 2 GB de RAM.
  • acceso raíz

Empezando


Se recomienda que primero actualice su sistema. Para hacer esto, ejecute el siguiente comando.

dnf update -y

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

Instalar 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 AIDE con el siguiente comando:

aide --version

Deberías ver lo siguiente:

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"

Las opciones disponibles aidese pueden ver de la siguiente manera:

aide --help



Crear e inicializar una 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ías ver lo siguiente:

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 aide.db.new.gzde datos en el directorio /var/lib/aide. Se puede ver usando 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 le cambie el nombre aide.db.gz. Esto puede hacerse de la siguiente manera:

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

Se recomienda que esta base de datos se actualice periódicamente para proporcionar el monitoreo necesario de los cambios.

Puede cambiar la ubicación de la base de datos cambiando el parámetro DBDIRen el archivo /etc/aide.conf.

Ejecutar chequeo


AIDE ahora está listo para usar la nueva base de datos. Ejecute la primera comprobació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 su sistema de archivos y la cantidad de RAM en su servidor. Una vez completada la verificación, debería ver lo siguiente:

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

El resultado anterior dice que todos los archivos y directorios corresponden a la base de datos AIDE.

Prueba AIDE


De manera predeterminada, AIDE no rastrea el directorio raíz de Apache predeterminado. /var/www/html.Configuremos AIDE para verlo. Para hacer esto, debe cambiar el archivo /etc/aide.conf.

nano /etc/aide.conf

Agregue lo "/root/CONTENT_EX"siguiente sobre la línea :

/var/www/html/ CONTENT_EX

A continuación, cree un archivo aide.txten el directorio /var/www/html/con el siguiente comando:

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

Ahora ejecute la verificación AIDE y asegúrese de que se detecte el archivo creado.

aide --check

Deberías ver lo siguiente:

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

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

aide --update

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

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 aide.db.new.gzde datos en el directorio

/var/lib/aide/

Puedes verlo con el siguiente comando:

ls -l /var/lib/aide/

Resultado:

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 cambie el nombre de la nueva base de datos nuevamente para que AIDE use la nueva base de datos para rastrear más cambios. Renombrar de la siguiente manera:

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

Ejecute la prueba nuevamente para verificar que AIDE está utilizando la nueva base de datos:

aide --check

Deberías ver lo siguiente:

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

Verificación automatizada


Es una buena idea realizar controles AIDE todos los días y enviar el informe por correo. Este proceso puede automatizarse con cron.

nano /etc/crontab

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

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

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

tail -f /var/mail/root

El registro AIDE se puede ver con el siguiente comando:

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

Conclusión


En este artículo, aprendió a usar AIDE para detectar cambios en los archivos y detectar el acceso no autorizado al servidor. Para configuraciones adicionales, puede modificar el archivo de configuración /etc/aide.conf. Por razones de seguridad, se recomienda que almacene la base de datos y el archivo de configuración en medios de solo lectura. Para obtener más información, consulte la documentación de AIDE Doc .



Aprende más sobre el curso.



All Articles