Antes do comezo do curso
AIDE significa "Advanced Intrusion Detection Environment" e é un dos sistemas máis populares para supervisar os cambios nos sistemas operativos baseados en Linux. AIDE úsase para protexer contra malware, virus e detectar actividades non autorizadas. Para verificar a integridade do ficheiro e detectar intrusións, AIDE crea unha base de datos de información do ficheiro e compara o estado actual do sistema con esta base de datos. AIDE axuda a reducir o tempo de investigación de incidentes centrándose nos ficheiros que foron modificados.
Características de AIDE:
- Admite varios atributos de ficheiro, incluíndo: tipo de ficheiro, inode, uid, gid, permisos, número de ligazóns, mtime, ctime e atime.
- Soporte para compresión Gzip, SELinux, XAttrs, Posix ACL e atributos do sistema de ficheiros.
- Admite varios algoritmos, incluíndo md5, sha1, sha256, sha512, rmd160, crc32, etc.
- Envío de notificacións por correo electrónico.
Neste artigo, veremos como instalar e usar AIDE para a detección de intrusos en CentOS 8.
Requisitos previos
- Servidor con CentOS 8, con polo menos 2 GB de RAM.
- acceso root
Comezando
Recoméndase actualizar primeiro o sistema. Para iso, execute o seguinte comando.
dnf update -y
Despois da actualización, reinicie o sistema para que os cambios teñan efecto.
Instalación de AIDE
AIDE está dispoñible no repositorio predeterminado de CentOS 8. Podes instalalo facilmente executando o seguinte comando:
dnf install aide -y
Unha vez completada a instalación, pode ver a versión de AIDE usando o seguinte comando:
aide --version
Deberías ver o seguinte:
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"
Opcións dispoñibles aide
pódese ver do seguinte xeito:
aide --help
Creación e inicialización da base de datos
O primeiro que debes facer despois de instalar AIDE é inicializalo. A inicialización consiste na creación dunha base de datos (instantánea) de todos os ficheiros e directorios do servidor.
Para inicializar a base de datos, execute o seguinte comando:
aide --init
Deberías ver o seguinte:
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)
O comando anterior creará unha nova base de datos aide.db.new.gz
no catálogo /var/lib/aide
. Pódese ver usando o seguinte comando:
ls -l /var/lib/aide
Resultado:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE non usará este novo ficheiro de base de datos ata que se lle cambie o nome aide.db.gz
. Isto pódese facer do seguinte xeito:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Recoméndase que actualice esta base de datos periodicamente para asegurarse de que os cambios se supervisan correctamente.
Pode cambiar a localización da base de datos cambiando o parámetro DBDIR
en arquivo /etc/aide.conf
.
Realizando unha exploración
AIDE xa está listo para usar a nova base de datos. Executa a primeira comprobación de AIDE sen facer ningún cambio:
aide --check
Este comando tardará en completarse dependendo do tamaño do sistema de ficheiros e da cantidade de memoria RAM do servidor. Unha vez completada a dixitalización, deberías ver o seguinte:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
A saída anterior di que todos os ficheiros e directorios coinciden coa base de datos AIDE.
Proba AIDE
Por defecto, AIDE non rastrexa o directorio raíz predeterminado de Apache /var/www/html.
Configuramos AIDE para visualizalo. Para iso cómpre cambiar o ficheiro /etc/aide.conf
.
nano /etc/aide.conf
Engade a liña superior "/root/CONTENT_EX"
seguinte:
/var/www/html/ CONTENT_EX
A continuación, cree un ficheiro aide.txt
no catálogo /var/www/html/
usando o seguinte comando:
echo "Test AIDE" > /var/www/html/aide.txt
Agora executa a comprobación AIDE e asegúrate de que se detecta o ficheiro creado.
aide --check
Deberías ver o seguinte:
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 o ficheiro creado aide.txt
.
Despois de analizar os cambios detectados, actualice a base de datos AIDE.
aide --update
Despois da actualización verá o seguinte:
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
O comando anterior creará unha nova base de datos aide.db.new.gz
no catálogo
/var/lib/aide/
Podes velo co seguinte 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
Agora cambie o nome da nova base de datos de novo para que AIDE use a nova base de datos para seguir os cambios posteriores. Podes renomealo do seguinte xeito:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Realice a comprobación de novo para asegurarse de que AIDE está a usar a nova base de datos:
aide --check
Deberías ver o seguinte:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Automatizamos a comprobación
É unha boa idea realizar unha comprobación AIDE todos os días e enviar o informe por correo. Este proceso pódese automatizar usando cron.
nano /etc/crontab
Para executar a comprobación AIDE todos os días ás 10:15, engade a seguinte liña ao final do ficheiro:
15 10 * * * root /usr/sbin/aide --check
Agora AIDE notificarao por correo. Podes comprobar o teu correo co seguinte comando:
tail -f /var/mail/root
O rexistro de AIDE pódese ver usando o seguinte comando:
tail -f /var/log/aide/aide.log
Conclusión
Neste artigo, aprendeu a usar AIDE para detectar cambios de ficheiros e identificar accesos non autorizados ao servidor. Para axustes adicionais, pode editar o ficheiro de configuración /etc/aide.conf. Por motivos de seguridade, recoméndase almacenar a base de datos e o ficheiro de configuración en medios de só lectura. Pódese atopar máis información na documentación
Fonte: www.habr.com