In attesa dell'avvio del corso abbiamo preparato la traduzione di un materiale interessante.

AIDE sta per “Advanced Intrusion Detection Environment” (sistema avanzato di rilevamento delle intrusioni) ed è uno dei sistemi più popolari per il monitoraggio delle modifiche nei sistemi operativi basati su Linux. AIDE è utilizzato per proteggere da malware, virus e per rilevare attività non autorizzate. Per controllare l'integrità dei file e rilevare intrusioni, AIDE crea un database contenente informazioni sui file e confronta lo stato attuale del sistema con questo database. AIDE aiuta a ridurre i tempi di indagine sugli incidenti focalizzandosi sui file che sono stati modificati.
Funzionalità di AIDE:
- Supporto per vari attributi dei file, tra cui: tipo di file, inode, uid, gid, permessi, numero di collegamenti, mtime, ctime e atime.
- Supporto per la compressione Gzip, SELinux, XAttrs, Posix ACL e attributi del filesystem.
- Supporto per vari algoritmi, inclusi md5, sha1, sha256, sha512, rmd160, crc32, ecc.
- Invio di notifiche via email.
In questo articolo vedremo come installare e utilizzare AIDE per il rilevamento delle intrusioni su CentOS 8.
Requisiti preliminari
- Server basato su CentOS 8, con almeno 2 GB di RAM.
- accesso root
Iniziamo
Inizialmente, è consigliabile aggiornare il sistema. Per fare ciò, esegui il seguente comando.
dnf update -yDopo l'aggiornamento, riavvia il sistema affinché le modifiche abbiano effetto.
Installazione di AIDE
AIDE è disponibile nel repository predefinito di CentOS 8. Puoi installarlo facilmente eseguendo il seguente comando:
dnf install aide -yUna volta completata l'installazione, puoi visualizzare la versione di AIDE con il seguente comando:
aide --versionDovresti vedere quanto segue:
Aide 0.16
Compilato con le seguenti opzioni:
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" Opzioni disponibili aide puoi visualizzarle nel seguente modo:
aide --help 
Creazione e inizializzazione del database
La prima cosa da fare dopo l'installazione di AIDE è inizializzarlo. L'inizializzazione consiste nella creazione di un database (istantanea) di tutti i file e le directory del server.
Per inizializzare il database, esegui il seguente comando:
aide --initDovresti vedere quanto segue:
Inizio timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE ha inizializzato il database in /var/lib/aide/aide.db.new.gz
Numero di voci: 49472
---------------------------------------------------
Gli attributi del database (non compresso):
---------------------------------------------------
/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==
Fine timestamp: 2020-01-16 03:03:44 -0500 (tempo di esecuzione: 0m 25s) Il comando sopra creerà un nuovo database aide.db.new.gz nella directory /var/lib/aide. Può essere visualizzato utilizzando il seguente comando:
ls -l /var/lib/aideRisultato:
totale 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz AIDE non utilizzerà questo nuovo file di database fino a quando non verrà rinominato in aide.db.gz. Questo può essere fatto nel seguente modo:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzSi consiglia di aggiornare periodicamente questo database per garantire un monitoraggio adeguato delle modifiche.
È possibile modificare la posizione del database cambiando il parametro DBDIR nel file /etc/aide.conf.
Avvio della verifica
Ora AIDE è pronto per utilizzare il nuovo database. Esegui la prima verifica AIDE senza apportare alcuna modifica:
aide --checkL'esecuzione di questo comando richiederà del tempo in base alle dimensioni del sistema di file e alla quantità di memoria RAM disponibile sul server. Al termine del controllo, dovresti vedere quanto segue:
Timestamp di avvio: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE non ha trovato differenze tra il database e il sistema di file. Tutto ok!!L'output qui sopra indica che tutti i file e le directory corrispondono al database AIDE.
Testiamo AIDE
Per impostazione predefinita, AIDE non monitora la directory principale predefinita di Apache /var/www/html. Configuriamo AIDE per monitorarla. A tal fine, dobbiamo modificare il file /etc/aide.conf.
nano /etc/aide.conf Aggiungi sopra la riga "/root/CONTENT_EX" il seguente:
/var/www/html/ CONTENT_EX Successivamente, crea il file aide.txt nella directory /var/www/html/, utilizzando il seguente comando:
echo "Test AIDE" > /var/www/html/aide.txtOra esegui il controllo AIDE e assicurati che il file creato venga rilevato.
aide --checkDovresti vedere quanto segue:
Timestamp di avvio: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE ha trovato differenze tra il database e il sistema di file!!
Sommario:
Numero totale di voci: 49475
Voci aggiunte: 1
Voci rimosse: 0
Voci modificate: 0
---------------------------------------------------
Voci aggiunte:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt Possiamo vedere che il file creato è stato individuato aide.txt.
Dopo aver analizzato le modifiche rilevate, aggiorna il database AIDE.
aide --updateDopo l'aggiornamento, vedrai quanto segue:
Timestamp di inizio: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE ha rilevato differenze tra il database e il filesystem!!
Nuovo database AIDE scritto in /var/lib/aide/aide.db.new.gz
Riepilogo:
Numero totale di voci: 49475
Voci aggiunte: 1
Voci rimosse: 0
Voci modificate: 0
---------------------------------------------------
Voci aggiunte:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt Il comando sopra creerà un nuovo database aide.db.new.gz nella directory
/var/lib/aide/Puoi vederlo con il seguente comando:
ls -l /var/lib/aide/Risultato:
totale 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.gzOra rinomina il nuovo database ancora una volta, affinché AIDE utilizzi il nuovo per il monitoraggio delle modifiche future. Puoi rinominarlo così:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzEsegui di nuovo il controllo per assicurarti che AIDE utilizzi il nuovo database:
aide --checkDovresti vedere quanto segue:
Timestamp di inizio: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE non ha trovato differenze tra il database e il filesystem. Tutto ok!!Automatizziamo il controllo
È una buona idea eseguire il controllo AIDE ogni giorno e inviare un rapporto via email. Questo processo può essere automatizzato usando cron.
nano /etc/crontabPer eseguire il controllo AIDE ogni giorno alle 10:15, aggiungi alla fine del file la seguente riga:
15 10 * * * root /usr/sbin/aide --checkOra AIDE ti notificherà via email. Puoi controllare la posta con il seguente comando:
tail -f /var/mail/rootÈ possibile visualizzare il log di AIDE utilizzando il seguente comando:
tail -f /var/log/aide/aide.logConclusione
In questo articolo hai appreso come utilizzare AIDE per rilevare modifiche ai file e identificare accessi non autorizzati al server. Per ulteriori configurazioni, puoi modificare il file di configurazione /etc/aide.conf. Per motivi di sicurezza, è consigliabile archiviare il database e il file di configurazione su un supporto accessibile solo in lettura. Ulteriori informazioni possono essere trovate nella documentazione .
Fonte: habr.com
