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/