Antes del inicio del curso
AIDE significa "Entorno avanzado de detección de intrusiones" y es uno de los sistemas más populares para monitorear cambios en sistemas operativos basados en Linux. AIDE se utiliza para proteger contra malware, virus y detectar actividades no autorizadas. Para verificar la integridad de los archivos y detectar intrusiones, AIDE crea una base de datos de información de archivos y compara el estado actual del sistema con esta base de datos. AIDE ayuda a reducir el tiempo de investigación de incidentes al centrarse en los archivos que han sido modificados.
Características de la AIDE:
- Admite varios atributos de archivo, incluidos: tipo de archivo, inodo, uid, gid, permisos, número de enlaces, mtime, ctime y atime.
- Soporte para compresión Gzip, SELinux, XAttrs, Posix ACL y atributos del sistema de archivos.
- Admite varios algoritmos, incluidos md5, sha1, sha256, sha512, rmd160, crc32, etc.
- Envío de notificaciones por correo electrónico.
En este artículo, veremos cómo instalar y usar AIDE para la detección de intrusiones en CentOS 8.
Prerrequisitos
- Servidor con CentOS 8, con al menos 2 GB de RAM.
- acceso raíz
Начинаем
Se recomienda actualizar el sistema primero. Para hacer esto, ejecute el siguiente comando.
dnf update -y
Después de la actualización, reinicie su sistema para que los cambios surtan efecto.
Instalación de AIDE
AIDE está disponible en el repositorio predeterminado de CentOS 8. Puede instalarlo fácilmente ejecutando el siguiente comando:
dnf install aide -y
Una vez que se completa la instalación, puede ver la versión de AIDE usando el siguiente comando:
aide --version
Deberías ver lo siguiente:
Aide 0.16
Compiled with the following options:
WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"
Opciones Disponibles aide
se puede ver de la siguiente manera:
aide --help
Creando e inicializando la base de datos.
Lo primero que debe hacer después de instalar AIDE es inicializarlo. La inicialización consiste en crear una base de datos (instantánea) de todos los archivos y directorios del servidor.
Para inicializar la base de datos, ejecute el siguiente comando:
aide --init
Deberías ver lo siguiente:
Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 49472
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : 4N79P7hPE2uxJJ1o7na9sA==
SHA1 : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
RMD160 : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
TIGER : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
SHA256 : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
xWXT2iaEHgQ=
SHA512 : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
nDw6lgDNI/ls2esijukliQ==
End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)
El comando anterior creará una nueva base de datos. aide.db.new.gz
en el catalogo /var/lib/aide
. Se puede ver usando el siguiente comando:
ls -l /var/lib/aide
Resultado:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE no utilizará este nuevo archivo de base de datos hasta que se le cambie el nombre a aide.db.gz
. Esto puede hacerse de la siguiente manera:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Se recomienda actualizar esta base de datos periódicamente para garantizar que los cambios se supervisen adecuadamente.
Puede cambiar la ubicación de la base de datos cambiando el parámetro DBDIR
en archivo /etc/aide.conf
.
Ejecutando un cheque
AIDE ya está lista para utilizar la nueva base de datos. Ejecute la primera verificación AIDE sin realizar ningún cambio:
aide --check
Este comando tardará algún tiempo en completarse según el tamaño de su sistema de archivos y la cantidad de RAM en su servidor. Una vez que se complete el escaneo, debería ver lo siguiente:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
El resultado anterior dice que todos los archivos y directorios coinciden con la base de datos AIDE.
Asistente de pruebas
De forma predeterminada, AIDE no rastrea el directorio raíz predeterminado de Apache. /var/www/html.
Configuremos AIDE para verlo. Para hacer esto necesitas cambiar el archivo. /etc/aide.conf
.
nano /etc/aide.conf
Agregar línea arriba "/root/CONTENT_EX"
следующее:
/var/www/html/ CONTENT_EX
A continuación, cree un archivo. aide.txt
en el catalogo /var/www/html/
usando el siguiente comando:
echo "Test AIDE" > /var/www/html/aide.txt
Ahora ejecute la verificación AIDE y asegúrese de que se detecte el archivo creado.
aide --check
Deberías ver lo siguiente:
Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
Vemos que se detecta el archivo creado. aide.txt
.
Luego de analizar los cambios detectados, actualice la base de datos de AIDE.
aide --update
Después de la actualización verás lo siguiente:
Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
El comando anterior creará una nueva base de datos. aide.db.new.gz
en el catalogo
/var/lib/aide/
Puedes verlo con el siguiente comando:
ls -l /var/lib/aide/
Resultado:
total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz
Ahora cambie el nombre de la nueva base de datos nuevamente para que AIDE use la nueva base de datos para rastrear cambios adicionales. Puedes cambiarle el nombre de la siguiente manera:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Ejecute la verificación nuevamente para asegurarse de que AIDE esté usando la nueva base de datos:
aide --check
Deberías ver lo siguiente:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Automatizamos el cheque
Es una buena idea realizar una verificación de AIDE todos los días y enviar el informe por correo. Este proceso se puede automatizar usando cron.
nano /etc/crontab
Para ejecutar la verificación AIDE todos los días a las 10:15, agregue la siguiente línea al final del archivo:
15 10 * * * root /usr/sbin/aide --check
AIDE ahora le notificará por correo. Puedes revisar tu correo con el siguiente comando:
tail -f /var/mail/root
El registro de AIDE se puede ver usando el siguiente comando:
tail -f /var/log/aide/aide.log
Conclusión
En este artículo, aprendió cómo utilizar AIDE para detectar cambios en archivos e identificar accesos no autorizados al servidor. Para configuraciones adicionales, puede editar el archivo de configuración /etc/aide.conf. Por razones de seguridad, se recomienda almacenar la base de datos y el archivo de configuración en un medio de solo lectura. Puede encontrar más información en la documentación.
Fuente: habr.com