Instalamos AIDE en Rocky Linux para comprobar la integridad de tus archivos

Publicada:

Una de las cosas que deberías de instalar en tu servidor Rocky Linux nada más ponerlo en marcha la primera vez es un sistema IDS (sistema de detección de intrusión), y AIDE (Advanced Intrusion Detection Environment), puede ser la opción perfecta por muchas razones, con el permiso de Tripwire. ¿Por qué? Lo primero, porque es gratuito. Lo segundo porque es muy sencillo de usar y configurar. Te cuento cómo lo he instalado yo.

¿Dónde he instalado AIDE? En un sistema Rocky Linux 9 en un servidor VPS en Linode/Akamai. Recuerda que debes usar un usuario con permisos de root para gestionar tu servidor. Y evitar el uso de root.

Instalación de AIDE

muy sencilla, porque el programa está incluido en el repositorio oficial de Rocky Linux, por lo que puedes dar DNF para instalarlo en pocos segundos.

sudo dnf install aide

Después de instalar el programa puedes comprobar su versión y archivos de configuración (o ver todos sus opciones con help) con el comando:

sudo aide --version
sudo aide --help
Versión de AIDE en Rocky Linux 9

Aquí puedes ver algo importante. Donde está su archivo de configuración, al que voy a echar un vistazo desde el primer momento.

Iniciando y configurando AIDE

Primero miramos el archivo de configuración en /etc/aide.conf y lo editamos con vi.

AIDE archivo de configuración.
sudo vi /etc/aide.conf

En este archivo vas a poder comprobar qué directorios va a revisar AIDE en sus escaneaos y con que profundidad lo va a hacer. También donde va a guardar su base de datos contra la que hace las comparaciones (aide.db.gz) y donde están lo logs (/var/log/aide).

Y te dice algo interesante. Como puedes crear nuevas reglas y que es lo que va a comprobar cada una:

# These are the default rules.
#
#p:      permissions
#i:      inode:
#n:      number of links
#u:      user
#g:      group
#s:      size
#b:      block count
#m:      mtime
#a:      atime
#c:      ctime
#S:      check for growing size
#acl:           Access Control Lists
#selinux        SELinux security context
#xattrs:        Extended file attributes
#md5:    md5 checksum
#sha1:   sha1 checksum
#sha256:        sha256 checksum
#sha512:        sha512 checksum
#rmd160: rmd160 checksum
#tiger:  tiger checksum

#haval:  haval checksum (MHASH only)
#gost:   gost checksum (MHASH only)
#crc32:  crc32 checksum (MHASH only)
#whirlpool:     whirlpool checksum (MHASH only)

#R:             p+i+n+u+g+s+m+c+acl+selinux+xattrs+md5
#L:             p+i+n+u+g+acl+selinux+xattrs
#E:             Empty group
#>:             Growing logfile p+u+g+i+n+S+acl+selinux+xattrs

Tienes creas por defecto las siguientes:

ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
# Everything but access time (Ie. all changes)
EVERYTHING = R+ALLXTRAHASHES

# Sane
# NORMAL = R+sha512
NORMAL = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha512

# For directories, don't bother doing hashes
DIR = p+i+n+u+g+acl+selinux+xattrs

# Access control only
PERMS = p+u+g+acl+selinux+xattrs

# Logfile are special, in that they often change
LOG = p+u+g+n+S+acl+selinux+xattrs

# Content + file type.
CONTENT = sha512+ftype

# Extended content + file type + access.
CONTENT_EX = sha512+ftype+p+u+g+n+acl+selinux+xattrs

# Some files get updated automatically, so the inode/ctime/mtime change
# but we want to know when the data inside them changes
DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha512

Y luego puedes ver cuál de ellas se aplica a cada directorio (por ejemplo en el directorio /root):

/root   CONTENT_EX

Se aplica Extended content + file type + access.

En mi caso, he añadido unas cuantas reglas que revisan los directorios de auditoría que uso con auditd (en el editor vi, pulsamos i para instar cambios):

# Monitorear herramientas de auditoría
/usr/sbin/auditctl CONTENT_EX
/usr/sbin/aureport CONTENT_EX
/usr/sbin/ausearch CONTENT_EX
/usr/sbin/autrace CONTENT_EX
/usr/sbin/auditd CONTENT_EX

Tú puedes hacer lo mismo con los directorios que te interesen. Después de editar el archivo, salgo y guardo con ESC y :wq!

Ahora toca iniciar AIDE:

sudo aide --init

Este comando generará una nueva base de datos aide.db.new.gz en el directorio /var/lib/aide. Pero AIDE no va a usar esta base de datos hasta que la movamos a su localización correcta:

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

Cada vez que actualices tu sistema o cambies archivos de configuración vas a atener que realizar este paso, más un par de cosas más:

Primera comprobación con AIDE:

sudo aide --check
Primera comprobación AIDE en Rocky Linux 9

Y la salida nos dará los cambios detectados en el sistema.

Después de hacer cambios en el sistema aplicamos el siguiente comando:

sudo aide --update
Actualizamos la base de datos de AIDe

Y movemos la base de datos:

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

¿Cuántas veces deberías comprobar tu sistema con AIDE? Mínimo una vez a la semana. Recomendable hacerlo todos los días. Puedes programas un trabajo cron para ello (cambia [email protected] para recibir un correo con el resultado):

sudo crontab -e
15 10 * * * root /usr/sbin/aide --check 2>&1 | mail -s 'Informe AIDE' [email protected]

Recuerda que puedes comprobar el log de AIDE en /var/log/aide/aide.log.

Desde este momento recibirás un informe diario en tu email. ¡Ojo! Tienes que tener configurado algo como Postfix en tu sistema para que el correo electrónico funcione correctamente.

Conclusión

Parece sencillo instalar y configurar AIDE en tu sistema Rocky Linux 9, ¿no? Es un buen método para conseguir detectar cambios en tu sistema Linux: cuando alguien se mete en tu sistema, suele intentar cambiar los permisos de archivos, usar root o modificar archivos del sistema. AIDE te va a ayudar a detectar estos cambios.

Fuentes:


Descubre más desde algoentremanos.com

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Foto del autor

Ivan Benito

Apasionado de la lectura y los viajes, experto en tecnología e informática y fan de la privacidad online. Desde el año 2007 me he dedicado al SEO, a escribir y a crear páginas web con WordPress sobre todo tipo de temáticas. Si tienes alguna duda y necesitas ayuda... ¡Pregúntame!

Si tienes preguntas, quieres que hagamos una review de una app, programa o producto, simplemente mándanos un e-mail mediante nuestro formulario de contacto. Te contestaremos en el menor tiempo posible. ¡Muchas gracias y salU2! Algoentremanos realiza reviews de manera profesional y en muchas ocasiones recibimos compensación de las compañías cuyos productos revisamos. Probamos cada producto a fondo y otorgamos altas calificaciones solo a los mejores. La propiedad de Algoentremanos.com es independiente y las opiniones expresadas aquí son solo nuestras. Algunos enlaces del artículo son afiliados: pueden generar un beneficio a algoentremanos.com. Saber más.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.