GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar AIDE en CentOS 7

AIDE, también llamado Entorno de detección de intrusos avanzado. AIDE es una de las herramientas más populares para monitorear los cambios del servidor en un sistema basado en LINUX. Se utiliza como verificador de integridad de archivos/carpetas. La instalación de este Software es mucho más simple. Esto fue escrito originalmente por Rami Lehti y Pablo Virolainen en 1999. La base de datos inicializa la verificación del sistema. 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 seguir utilizando para verificar la integridad del servidor. Se incorporan varios algoritmos de resumen para cumplir este propósito. También se puede usar para verificar los atributos del archivo en busca de inconsistencias.

FUNCIONES PRINCIPALES:

  • Admite varios algoritmos de resumen como md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool y muchos otros
  • Admite atributos de archivo como tipo de archivo, permisos, Inode, Uid, Gid, nombre de enlace, tamaño, número de bloques, número de enlaces, Mtime, Ctime y Atime
  • Admite atributos de sistema de archivos Posix ACL, SELinux, XAttrs y Extended
  • 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:Comprobar y verificar la versión de 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:Crear la base de datos

Una vez que se realiza la instalación de AIDE, necesitamos crear la base de datos principal 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 renombrándola para que AIDE funcione.

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 vuelva a informar 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 de AIDE y cambiar el nombre de la base de datos actualizada sobre los elementos 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 para 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 e informe de AIDE automáticamente

Creo un cron para iniciar automáticamente la verificación de AIDE para confirmar la integridad de mi servidor e informarme diariamente. Consulte los detalles de mi secuencia de comandos 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`" [email protected] < /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 diariamente. 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 útil! Recomendaría sus valiosas sugerencias y recomendaciones al respecto.

¡Gracias! Que tengas un buen día :)


Cent OS
  1. Cómo instalar el servidor de base de datos MySQL 8 en CentOS 8

  2. Cómo instalar Mediawiki en un servidor CentOS

  3. Cómo instalar MariaDB 10.4 en CentOS 8 y RHEL 8

  4. Cómo instalar MySQL 8.0 en CentOS/RHEL 8

  5. Cómo instalar el servidor de base de datos MySQL en CentOS

Cómo instalar cactus en CentOS 8 / RHEL 8

Cómo instalar PostgreSQL en CentOS 8

Cómo instalar el servidor de base de datos PostgreSQL CentOS 8

Cómo instalar Oracle Database 21C en CentOS 8

Cómo instalar Moodle en CentOS 8

Cómo instalar MariaDB en CentOS 9 Stream