Cargando



Cómo verificar integridad de archivo o directorio con AIDE en Linux

En este tutorial te explicamos cómo verificar integridad de archivo o directorio con AIDE en Linux paso a paso.


dic 12 2017 11:49
Profesional
Total de Apartados : 6

Al usar múltiples sistemas operativos, es ideal contar siempre con herramientas que nos permitan mantener un control centralizado y directo sobre ella. Uno de los temas mas delicados es indiscutiblemente la seguridad e integridad de los archivos ya que esto nos garantiza la disponibilidad y fiabilidad de este.

 

Hoy Solvetic hablará de una herramienta practica llamada AIDE mediante la cual será posible comprobar la integridad de un archivo o directorio en las diversas distribuciones de Linux y así estar seguros de la completa fiabilidad del archivo seleccionado.

 

Qué es AIDE
AIDE ((Advanced Intrusion Detection Environment) es un comprobador de integridad de archivos y directorios en ambientes Linux permitiéndonos como administradores mantener un control específico sobre estos.
Su funcionamiento consiste en la creación de una base de datos diseñada a partir de las reglas de expresiones regulares que están disponibles en los archivos de configuración. Una vez que esta base de datos se inicializa, podrá ser usada para verificar la integridad de los archivos requeridos.

 

Atributos de archivos AIDE
AIDE se encarga de construir la base de datos de los archivos especificados en aide.conf, el cual es el archivo de configuración de AIDE. La base de datos AIDE almacena varios atributos de archivos, dentro de los cuales tenemos:
  • tipo de archivo
  • permisos
  • usuario y grupo
  • tamaño de archivo
  • mtime, ctime y atime
  • tamaño de crecimiento
  • número de enlaces y nombre de enlace.

 

Asimismo, AIDE crea una suma de comprobación criptográfica o hash de cada archivo usando uno o una combinación de los siguientes algoritmos de resumen de mensaje: sha1, sha256, sha512, md5, rmd160, tigre, haval, crc32 y además, los atributos acl, xattr, selinux y e2fsattrs se pueden usar cuando se habilitan explícitamente durante el tiempo de compilación.

 

AIDE cuenta con varios algoritmos de resumen de mensaje los cuales se usan para verificar la integridad del archivo. Todos los atributos de archivo habituales también se pueden verificar en busca de inconsistencias dentro de él. AIDE esta en la capacidad de leer bases de datos de versiones más antiguas o más nuevas.

 

Características de AIDE
Al usar esta herramienta tenemos las siguientes características:
  • Algoritmos compatibles con resumen de mensajes como: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (adicionalmente con libmhash: gost, haval, crc32b)
  • Atributos de archivo soportados: Tipo de archivo, Permisos, Inode, Uid, Gid, Nombre del enlace, Tamaño, Número de bloque, Número de enlaces, Mtime, Ctime y Atime
  • Cuenta con soporte para Posix ACL, SELinux, XAttrs y atributos extendidos del sistema de archivos si el soporte se compila en archivos de configuración de texto sin formato y base de datos para simplificar
  • Cuenta con soporte de expresiones regulares para incluir o excluir selectivamente archivos y directorios con el fin de ser monitoreados
Esta en la capacidad de comprimir la base de datos gzip si el soporte zlib está compilado en un binario estático independiente para configuraciones de monitoreo de cliente / servidor.

 

AIDE está incluido en las siguientes distribuciones de UNIX
  • Debian
  • Gentoo
  • MacPorts
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

 

Es importante aclarar que AIDE no puede proporcionar seguridad absoluta sobre el cambio en un archivo, ya que al igual que cualquier otro archivo de sistema, la base de datos y/o binarios de AIDE también puede ser alterada usando las herramientas adecuadas.

 


1. Instalación de AIDE en Linux


AIDE esta disponible en repositorios oficiales para las distribuciones mas conocidas de Linux, para ello podemos instalarla haciendo uso de un administrador de paquetes según la distro seleccionada así:
apt install aide (Debian/Ubuntu)
yum install aide CRHEL/CentOS)
dnf install aide		 (Fedora)
zypper install aide (OpenSUSE)
emerge aide (Gentoo)

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-1.png

 

En este caso usamos Ubuntu. Allí ingresamos la letra S para aceptar la descarga e instalación de AIDE. Una vez instalada veremos lo siguiente:

 

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-2.png

 

Como vemos, el archivo de configuración principal es /etc/aide/aide.conf. Para visualizar la versión instalada, así como los parámetros de tiempo de compilación podemos ejecutar lo siguiente:

aide -v

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-3.png

 


2. Acceso al archivo de configuración AIDE Linux


Podremos acceder al archivo de configuración de AIDE ejecutando la siguiente línea con el editor deseado:
nano /etc/aide/aide.conf
Veremos lo siguiente:

 

 

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-4.png

 

En este archivo encontramos directivas que definen la ubicación de la base de datos, la ubicación del informe, las reglas predeterminadas, los directorios o archivos que se incluirán en la base de datos y muchas más.

 

 


3. Cómo administrar y comprender las reglas de AIDE

 

AIDE administra reglas como:

 

p
Permissions – Permisos

n
Numero de links

u
= Usuario

g
Grupos

s
Tamaño (Size)

b
Block count (Conteo de bloques)

m
mtime

a
atime

c
ctime

selinux
Contexto de seguridad de Selinux

xattrs
Despliega los atributos extendidos de un archivo

 

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-5.png

 

A partir de estas reglas será posible crear reglas personalizadas en el archivo de configuración de AIDE. Por ejemplo, podremos crear la siguiente regla:

PERMS = p+u+g+acl+selinux+xattrs
En este caso la regla PERMS se implementa para el control de acceso, la cual detectará cualquier cambio en el archivo o directorios según los permisos de archivo o directorio, usuario, grupo, permisos de control de acceso, atributos de archivos y más.

 

Otra regla que podremos implementar es alguna que solo verifique el contenido del archivo y el tipo de archivo seleccionado, por ejemplo:

CONTENT = sha256+ftype
Si deseamos verificar el contenido extendido, el tipo de archivo y el acceso podremos crear una regla como:
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
Una regla que nos ayuda a detectar cambios en el directorio solo a nivel de datos es:
DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256
Estas reglas las debemos añadir en la parte inferior del archivo de configuración de AIDE:

 

 

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-6.png

 

Guardamos los cambios usando las teclas Ctrl + O y salimos usando Ctrl + X.

 

 


4. Cómo definir reglas para visualizar archivos y directorios AIDE


Con AIDE también será posible crear reglas para determinados archivos o directorios a analizar. Para esto accedemos de nuevo a la ruta /etc/aide/aide.conf y podremos crear las siguientes reglas:
/root/\..*  PERMS (Esta regla verifica los permisos en el directorio root)
/root/   CONTENT_EX (Esta regla verifica todos los archivos en root ante cualquier cambio)
/etc/   DATAONLY (Esta regla nos permite detectar cualquier cambio en el directorio /etc)

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-7.png

 

Podremos guardar los cambios en el archivo de configuración de AIDE.

 


5. Cómo usar AIDE para verificar archivos e integridad de directorios en Linux


Una vez definidas las reglas a usar con AIDE, el siguiente paso será construir la base de datos contra las comprobaciones que se realizarán haciendo uso del parámetro --init.

 

Con el siguiente comando se creará una base de datos que contiene todos los archivos que definimos en el archivo de configuración de AIDE:

Aide --init

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-8.png

 

una vez realizado esto, procedeos a cambiar el nombre de la base de datos a /var/lib/aide/aide.db.gz antes de continuar, para ello podemos hacer uso del siguiente comando:

mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Se recomienda mover esta base de datos a una ubicación segura pero debemos estar seguros de actualizar el archivo de configuración para que se pueda leer desde allí.

 

A continuación, debernos compilar un nuevo archivo de configuración de Aide. Ejecutamos el siguiente comando:

update-aide.conf
Ahora copiaremos este nuevo archivo al directorio /etc/aide:
cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Después de que la base de datos sea creada, podremos verificar la integridad de los archivos y directorios usando el indicador –check:
aide  --check

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-9.png

 


6. Cómo evaluar AIDE


Para probar el funcionamiento de AIDE ejecutaremos las siguientes líneas:
mkdir /root/aide-test
touch /root/aide-test/testsolvetic
touch /root/aide-test/testsolvetic1
Con ellas estamos creando un nuevo directorio y archivos en el sistema. Posteriormente ejecutamos la siguiente línea para su validación y verificación:
Aide –check
El resultado será el siguiente:

 

 

Cómo-verificar-integridad-de-archivo-o-directorio-con-AIDE-en-Linux-10.png

 

Allí podemos ver que se encuentra una diferencia en el archivo e indica que tipo de acción fue, adición, eliminación o cambio.
De esta manera AIDE es una herramienta útil para determinar en tiempo real los cambios ocurridos en el sistema.

 

En este tutorial te explicamos cómo instalar y usar Tripwire para detectar archivos modificados en Ubuntu 17 paso a paso.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X