LINUX

Cómo instalar AIDE en CentOS 7

AIDE también denominado entorno avanzado de detección de intrusiones. AIDE es una de las herramientas más populares para monitorear los cambios del servidor en un sistema basado en LINUX. Se utiliza como comprobador de integridad de archivos / carpetas. La instalación de este software es mucho más sencilla. Esto fue escrito originalmente por Rami Lehti y Pablo Virolainen en 1999. La verificación del sistema es inicializada por la base de datos. Esta base de datos se crea a partir de reglas de expresión regulares en los archivos de configuración. Una vez que se inicializa la base de datos, se puede utilizar para verificar la integridad del servidor. Se incorporan varios algoritmos de resumen para cumplir este propósito. También se puede utilizar para comprobar los atributos del archivo en busca de inconsistencias.

Principales características:

  • Admite varios algoritmos de resumen como md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool y varios otros
  • Admite atributos de archivo como tipo de archivo, permisos, Inode, Uid, Gid, nombre del enlace, tamaño, recuento de bloques, número de enlaces, Mtime, Ctime y Atime
  • Admite Posix ACL, SELinux, XAttrs y atributos de sistema de archivos extendidos
  • Admite expresiones regulares para incluir o excluir archivos / directorios de forma selectiva.
  • Admite compresión de base de datos GZIP.
  • Binario estático independiente para configuraciones sencillas de monitoreo de cliente / servidor.

En este artículo, hablo sobre la instalación y configuración de la versión estable actual 0.15.1 de AIDE en un servidor CentOS 7. Repasemos los procedimientos.

Paso 1: instalación

Podemos usar el comando yum para instalar el software AIDE.

[root@server1 ~]# yum install aide
Loaded plugins: fastestmirror

Dependencies Resolved

===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
aide x86_64 0.15.1-9.el7 base 129 k

Transaction Summary
===============================================================================================================================================
Install 1 Package

Total download size: 129 k
Installed size: 304 k

Paso 2: Verifique y verifique la versión AIDE

Podemos ejecutar este comando para confirmar la versión de AIDE y ubicar el archivo de configuración.

[root@server1 ~]# aide -v
Aide 0.15.1

Compiled with the following options:

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

Paso 3: crea la base de datos

Una vez que se realiza la instalación de AIDE, necesitamos crear la base de datos primaria que se inicializa a partir del conjunto de reglas / expresiones en los archivos de configuración.

[root@[root@server1 ~]# aide --init

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
server1 ~]# aide --init

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

Una vez que se crea la base de datos, puede moverla a la original cambiándola de nombre para que funcione AIDE.

root@server1 ~]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
[root@server1 ~]# cd /var/lib/aide
[root@server1 aide]# ls
aide.db.gz
[root@server1 aide]#
[root@server1 aide]#
[root@server1 aide]# ls -lt
total 2136
-rw------- 1 root root 2186673 Apr 1 04:09 aide.db.gz

Paso 4: Ejecute la verificación AIDE

[root@server1 aide]# aide --check

AIDE, version 0.15.1

### All files match AIDE database. Looks okay!

Paso 5: Confirme su funcionalidad y cree una base de datos AIDE actualizada

Cree un archivo binario manualmente y verifique si AIDE lo detecta.

root@server1 aide]# touch /usr/sbin/testbinary
[root@server1 aide]#
[root@server1 aide]#
[root@server1 aide]# aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-01 04:14:10

Summary:
Total number of files: 23028
Added files: 1
Removed files: 0
Changed files: 1
---------------------------------------------------
Added files:
---------------------------------------------------

added: /usr/sbin/testbinary

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /usr/sbin

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
Directory: /usr/sbin
Mtime : 2016-04-01 03:42:47 , 2016-04-01 04:14:03
Ctime : 2016-04-01 03:42:47 , 2016-04-01 04:14:03

Podemos verificar la presencia del nuevo archivo a partir de los informes de verificación de AIDE. Incluso podemos identificar cualquier cambio de atributo de archivo a partir de estas comprobaciones.
Una vez que hayamos revisado estos cambios, siempre es mejor actualizar la base de datos de asistentes para que no se informe nuevamente en la próxima verificación de AIDE.

[root@server1 aide]# aide --update
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-01 04:15:21

Summary:
Total number of files: 23028
Added files: 1
Removed files: 0
Changed files: 1
---------------------------------------------------
Added files:
---------------------------------------------------

added: /usr/sbin/testbinary

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /usr/sbin

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------

Siempre se recomienda mantener intacta la antigua base de datos AIDE y cambiar el nombre de la base de datos actualizada sobre los conceptos básicos diarios para realizar un seguimiento.

[root@server1 tmp]# cd /var/lib/aide/
root@server1 aide]# ls
aide.db.gz aide.db.new.gz
[root@server1 aide]# mv aide.db.gz aide.db.gz-Apr012016
[root@server1 aide]# mv aide.db.new.gz aide.db.gz

Estos procesos son bastante tediosos de verificar cada vez y cambiar el nombre de la base de datos, podemos usar algunos scripts para actualizar esta configuración.

Paso 6: Configure cronjob para ejecutar la verificación y el informe AIDE automáticamente

Creo un cron para iniciar automáticamente la verificación AIDE para confirmar la integridad de mi servidor y reportarme diariamente. Consulte los detalles de mi guión a continuación:

[root@server1 cron]# crontab -l
00 01 * * 0-6 /var/log/aide/aidechk.sh

[root@server1 cron]# systemctl restart crond.service
[root@server1 cron]#
[root@server1 cron]# systemctl status crond.service
crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled)
Active: active (running) since Fri 2016-04-01 04:28:22 UTC; 8s ago
Main PID: 12378 (crond)
CGroup: /system.slice/crond.service
└─12378 /usr/sbin/crond -n

Apr 01 04:28:22 server1.centos7-test.com systemd[1]: Started Command Scheduler.
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 98% if used.)
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (running with inotify support)
Apr 01 04:28:22 server1.centos7-test.com crond[12378]: (CRON) INFO (@reboot jobs will be run at computer's startup.)
[root@server1 cron]#

root@server1 tmp]# cat /var/log/aide/aidechk.sh

#!/bin/sh
#aide check - SShameer
DATE=`date +%Y-%m-%d`
echo $DATE
REPORT="Aide-"$DATE.txt
echo $REPORT
echo "System check !! `date`" > /tmp/$REPORT
aide --check > /tmp/aidecheck.txt
cat /tmp/aidecheck.txt|/bin/grep -v failed >> /tmp/$REPORT
echo "**************************************" >> /tmp/$REPORT
tail -20 /tmp/aidecheck.txt >> /tmp/$REPORT
echo "****************DONE******************" >> /tmp/$REPORT
mail -s "$REPORT `date`" sshameer@gmail.com < /tmp/$REPORT

Instale el comando mailx o las utilidades de correo para mejorar el envío de correos electrónicos, si no está presente. Según nuestro script, el informe se generará en / tmp con la marca de tiempo y se nos enviará por correo electrónico a diario. Consulte uno de mis formatos de informe de muestra a continuación:

root@server1 tmp]# cat Aide-2016-04-01.txt
System check !! Fri Apr 1 05:04:40 UTC 2016
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2016-04-01 05:04:40

Summary:
Total number of files: 23043
Added files: 15
Removed files: 0
Changed files: 4
---------------------------------------------------
Added files:
---------------------------------------------------

added: /etc/mail.rc
added: /usr/bin/Mail
added: /usr/bin/mail
added: /usr/bin/mailx
added: /usr/bin/nail
added: /usr/share/doc/mailx-12.5
added: /usr/share/doc/mailx-12.5/AUTHORS
added: /usr/share/doc/mailx-12.5/COPYING
added: /usr/share/doc/mailx-12.5/README
added: /usr/share/man/man1/Mail.1.gz
added: /usr/share/man/man1/mail.1.gz
added: /usr/share/man/man1/mailx.1.gz
added: /usr/share/man/man1/nail.1.gz
added: /var/log/aide/aidechk.sh
added: /var/spool/cron/root

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /root
changed: /usr/bin
changed: /usr/share/doc
changed: /usr/share/man/man1

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57

Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29

Directory: /usr/share/doc
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Linkcount: 240 , 241

Directory: /usr/share/man/man1
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
**************************************
Detailed information about changes:
---------------------------------------------------
Directory: /root
Mtime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57
Ctime : 2014-07-07 21:41:51 , 2016-04-01 05:02:57

Directory: /usr/bin
Mtime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29
Ctime : 2014-10-21 14:33:45 , 2016-04-01 05:04:29

Directory: /usr/share/doc
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Linkcount: 240 , 241

Directory: /usr/share/man/man1
Mtime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
Ctime : 2016-04-01 03:42:47 , 2016-04-01 05:04:29
****************DONE******************

También podemos modificar el archivo de configuración de AIDE /etc/aide.conf para configuraciones avanzadas. Pero la configuración predeterminada casi vale la pena y está lista para usar.

Así es como podemos hacer uso de AIDE para comprender los cambios del servidor e identificar el acceso no autorizado a nuestro servidor que puede ser a través de algunos contenidos maliciosos o por intervención humana. ¡Espero que este artículo te sea de utilidad! Recomendaría sus valiosas sugerencias y recomendaciones al respecto.

¡Gracias! Que tenga un buen día 🙂

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar