Búsqueda de sitios web

Cómo verificar la integridad de archivos y directorios usando "AIDE" en Linux


En nuestra mega guía para reforzar y proteger CentOS 7, en la sección "proteger el sistema internamente", una de las herramientas de seguridad útiles que enumeramos para la protección interna del sistema contra virus, rootkits, malware y detección de acceso no autorizado. actividades es AIDE.

AIDE (Entorno avanzado de detección de intrusiones) es una pequeña pero potente herramienta gratuita de detección de intrusiones de código abierto que utiliza reglas predefinidas para comprobar la integridad de archivos y directorios en sistemas operativos tipo Unix. como Linux. Es un binario estático independiente para configuraciones simplificadas de monitoreo de cliente/servidor.

Tiene muchas funciones: utiliza archivos de configuración de texto plano y bases de datos, lo que facilita su uso; admite varios algoritmos de resumen de mensajes, como, entre otros, md5, sha1, rmd160, tigre; admite atributos de archivos comunes; También admite potentes expresiones regulares para incluir o excluir selectivamente archivos y directorios que se analizarán.

También se puede compilar con soporte excepcional para compresión Gzip, Posix ACL, SELinux, XAttrs y atributos del sistema de archivos extendido.

Aide funciona creando una base de datos (que es simplemente una instantánea de partes seleccionadas del sistema de archivos), a partir de las reglas de expresión regular definidas en los archivos de configuración. Una vez que se inicializa esta base de datos, puede verificar la integridad de los archivos del sistema. Esta guía le mostrará cómo instalar y utilizar ayuda en Linux.

Cómo instalar AIDE en Linux

Aide está empaquetado en repositorios oficiales de las principales distribuciones de Linux; para instalarlo, ejecute el comando para su distribución utilizando un administrador de paquetes.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Después de instalarlo, el archivo de configuración principal es /etc/aide.conf. Para ver la versión instalada, así como los parámetros de tiempo de compilación, ejecute el siguiente comando en su terminal:

aide -v
Salida de muestra
Aide 0.14

Compiled with the following options:

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

Puede abrir la configuración usando su editor favorito.

vi /etc/aide.conf

Tiene directivas que definen la ubicación de la base de datos, la ubicación del informe, las reglas predeterminadas y los directorios/archivos que se incluirán en la base de datos.

Comprensión de las reglas de ayuda predeterminadas

Usando las reglas predeterminadas anteriores, puede definir nuevas reglas personalizadas en el archivo aide.conf, por ejemplo.

PERMS = p+u+g+acl+selinux+xattrs

La regla PERMS se utiliza únicamente para el control de acceso; detectará cualquier cambio en archivos o directorios según los permisos de archivo/directorio, usuario, grupo, permisos de control de acceso, contexto SELinux y atributos de archivo.

Esto solo verificará el contenido y el tipo de archivo.

CONTENT = sha256+ftype

Esta es una versión extendida de la regla anterior, verifica el contenido extendido, el tipo de archivo y el acceso.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

La regla DATAONLY siguiente ayudará a detectar cualquier cambio en los datos dentro de todos los archivos/directorios.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Definición de reglas para observar archivos y directorios

Una vez que haya definido las reglas, puede especificar el archivo y los directorios que desea observar. Teniendo en cuenta la regla PERMS anterior, esta definición verificará los permisos de todos los archivos en el directorio raíz.

/root/\..*  PERMS

Esto verificará todos los archivos en el directorio /root para detectar cambios.

/root/   CONTENT_EX

Para ayudarle a detectar cualquier cambio en los datos dentro de todos los archivos/directorios en /etc/, utilice esto.

/etc/   DATAONLY 

Uso de AIDE para verificar la integridad de archivos y directorios en Linux

Comience por construir una base de datos con las comprobaciones que se realizarán utilizando el indicador --init. Se espera que esto se haga antes de que su sistema esté conectado a una red.

El siguiente comando creará una base de datos que contiene todos los archivos que seleccionó en su archivo de configuración.

aide --init

Luego cambie el nombre de la base de datos a /var/lib/aide/aide.db.gz antes de continuar, usando este comando.

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

Se recomienda mover la base de datos a una ubicación segura, posiblemente en un medio de solo lectura o en otras máquinas, pero asegúrese de actualizar el archivo de configuración para leerlo desde allí.

Después de crear la base de datos, ahora puede verificar la integridad de los archivos y directorios usando el indicador --check.

aide --check

Leerá la instantánea en la base de datos y la comparará con los archivos/directorios encontrados en el disco del sistema. Si encuentra cambios en lugares que no esperaba, genera un informe que luego puede revisar.

Como no se han realizado cambios en el sistema de archivos, solo obtendrá un resultado similar al anterior. Ahora intente crear algunos archivos en el sistema de archivos, en áreas definidas en el archivo de configuración.

vi /etc/script.sh
touch all.txt

Luego ejecute una verificación una vez más, que debería informar los archivos agregados anteriormente. El resultado de este comando depende de las partes del sistema de archivos que configuró para su verificación; puede llevar mucho tiempo extra.

aide --check

Debe ejecutar comprobaciones auxiliares con regularidad y, en caso de realizar cambios en los archivos ya seleccionados o agregar nuevas definiciones de archivos en el archivo de configuración, actualice siempre la base de datos usando la opción --update:

aide --update

Después de ejecutar una actualización de la base de datos, para usar la nueva base de datos en análisis futuros, cámbiele siempre el nombre a /var/lib/aide/aide.db.gz:

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

¡Eso es todo por ahora! Pero toma nota de estos puntos importantes:

  • Una característica de la mayoría de los sistemas de detección de intrusiones, incluido AIDE, es que no proporcionarán soluciones a la mayoría de las lagunas de seguridad de un sistema. Sin embargo, ayudan a facilitar el proceso de respuesta a intrusiones al ayudar a los administradores del sistema a examinar cualquier cambio en los archivos/directorios del sistema. Por lo que siempre debes estar atento y seguir actualizando tus medidas de seguridad actuales.
  • Se recomienda encarecidamente mantener la base de datos recién creada, el archivo de configuración y el binario AIDE en una ubicación segura, como un medio de solo lectura (posible si instala desde la fuente).
  • Para mayor seguridad, considere firmar la configuración y/o la base de datos.

Para obtener información y configuraciones adicionales, consulte su página de manual o consulte la página de inicio de AIDE: http://aide.sourceforge.net/