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 🙂