Cómo verificar la integridad del archivo y directorio usando & quot; AIDE & quot; en linux


En nuestra mega guía para reforzar y asegurar 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 personas no autorizadas. las actividades son AIDE .

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

Es rico en características: 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, tiger; soporta atributos de archivos comunes; también admite potentes expresiones regulares para incluir o excluir de forma selectiva archivos y directorios para analizar.

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

El asistente trabaja creando una base de datos (que es simplemente una instantánea de las 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 en su contra. Esta guía le mostrará cómo instalar y usar el asistente en Linux.

Cómo instalar AIDE en Linux

El asistente está empaquetado en los repositorios oficiales de las distribuciones de Linux principales, 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 y los parámetros de tiempo de compilación, ejecute el siguiente comando en su terminal:

# aide -v
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"

Puedes abrir la configuración utilizando tu 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, los directorios/archivos que se incluirán en la base de datos.

Al usar 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 SISTEMAS se usa solo para el control de acceso, detectará cualquier cambio en el archivo o directorio en función de los permisos de archivo/directorio, usuario, grupo, permisos de control de acceso, contexto SELinux y atributos de archivo.

Esto solo verificará el contenido del archivo 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 a continuación 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 ver archivos y directorios

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

/root/\..*  PERMS

Esto revisará todos los archivos en el directorio /root para cualquier cambio.

/root/   CONTENT_EX

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

/etc/   DATAONLY 

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

Comience por construir una base de datos contra las comprobaciones que se realizarán utilizando el indicador --init . Se espera que esto se haga antes de que su sistema se conecte 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 utilizando el indicador --check .

# aide --check

Leerá la instantánea en la base de datos y la comparará con los archivos/directorios que se encuentran en el disco de su sistema. Si encuentra cambios en lugares que tal vez no espere, genera un informe que luego puede revisar.

Como no se han realizado cambios en el sistema de archivos, solo obtendrá una salida similar a la anterior. Ahora intente crear algunos archivos en el sistema de archivos, en las áreas definidas en el archivo de configuración.

# vi /etc/script.sh
# touch all.txt

A continuación, ejecute una verificación una vez más, que debe informar los archivos agregados anteriormente. La salida de este comando depende de las partes del sistema de archivos que configuró para la verificación, puede ser un tiempo extra prolongado.

# aide --check

Debe ejecutar las verificaciones de los asistentes regularmente y, en caso de que se realicen cambios en los archivos ya seleccionados o la adición de nuevas definiciones de archivos en el archivo de configuración, siempre actualice la base de datos con 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 para futuros análisis, siempre cambie su 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:

  • One characteristic of most intrusion detection systems AIDE inclusive, is that they will not provide solutions to most security loop holes on a system. They however, assist in easing the the intrusion response process by helping system administrators examine any changes to system files/directories. So you should always be vigilant and keep updating your current security measures.
  • It it highly recommended to keep the newly created database, the configuration file and the AIDE binary in a secure location such as read-only media (possible if you install from source).
  • For additional security, consider signing the configuration and/or database.

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