Prima dell'inizio del corso abbiamo preparato la traduzione di un materiale interessante.

AIDE sta per “Advanced Intrusion Detection Environment” (sistema avanzato di rilevamento delle intrusioni) — è uno dei sistemi più popolari per monitorare le modifiche nei sistemi operativi basati su Linux. AIDE viene utilizzato per proteggere da malware, virus e per rilevare azioni non autorizzate. Per verificare l'integrità dei file e rilevare intrusioni, AIDE crea un database con informazioni sui file e confronta lo stato attuale del sistema con questo database. AIDE aiuta a ridurre i tempi di indagine sugli incidenti, concentrandosi 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 link, mtime, ctime e atime.
- Supporto per compressione Gzip, SELinux, XAttrs, Posix ACL e attributi del file system.
- Supporto per vari algoritmi, tra cui md5, sha1, sha256, sha512, rmd160, crc32, ecc.
- Invio di notifiche via email.
In questo articolo vedremo come installare e utilizzare AIDE per il rilevamento di intrusioni su CentOS 8.
Requisiti preliminari
- Un server che esegue CentOS 8, con almeno 2 GB di RAM.
- Accesso root
Iniziamo
Prima di tutto si consiglia di aggiornare il sistema. Per fare ciò, eseguire il seguente comando.
dnf update -yDopo l'aggiornamento, riavviare 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 controllare 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" Parametri disponibili aide può essere visualizzato nel modo seguente:
aide --help 
Creazione e inizializzazione del database
La prima cosa che devi fare dopo aver installato AIDE è inizializzarlo. L'inizializzazione consiste nella creazione di un database (istantanea) di tutti i file e le directory del server.
Per inizializzare il database, eseguire il seguente comando:
aide --initDovresti vedere quanto segue:
Timestamp di inizio: 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==
Timestamp di fine: 2020-01-16 03:03:44 -0500 (tempo di esecuzione: 0m 25s) Il comando sopra suggerito creerà un nuovo database aide.db.new.gz nella directory /var/lib/aide. Puoi visualizzarlo usando 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 userà questo nuovo file di database finché 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.gzÈ consigliabile aggiornare periodicamente questo database per garantire un monitoraggio efficace delle modifiche.
È possibile cambiare la posizione del database modificando il parametro DBDIR nel file /etc/aide.conf.
Avvio della verifica
Ora AIDE è pronto per utilizzare il nuovo database. Esegui il primo controllo AIDE senza apportare modifiche:
aide --checkL'esecuzione di questo comando richiederà un po' di tempo a seconda delle dimensioni del file system e della quantità di memoria RAM sul tuo server. Al termine della verifica, dovresti vedere quanto segue:
Timestamp di inizio: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE non ha trovato differenze tra il database e il file system. Tutto sembra a posto!!L'output sopra riportato indica che tutti i file e le directory corrispondono al database AIDE.
Testiamo AIDE
Per impostazione predefinita, AIDE non tiene traccia della directory principale predefinita di Apache /var/www/html. Configuriamo AIDE per monitorarla. Per fare ciò, devi modificare il file /etc/aide.conf.
nano /etc/aide.conf Aggiungi sopra la riga "/root/CONTENT_EX" quanto segue:
/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 inizio: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE ha trovato differenze tra il database e il file system!!
Riepilogo:
Numero totale di voci: 49475
Voci aggiunte: 1
Voci rimosse: 0
Voci cambiate: 0
---------------------------------------------------
Voci aggiunte:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt Possiamo vedere che il file creato è stato rilevato aide.txt.
Dopo aver analizzato le modifiche rilevate, aggiorna il database AIDE.
aide --updateDopo l'aggiornamento, vedrai quanto segue:
Timestamp di partenza: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE ha trovato 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 suggerito creerà un nuovo database aide.db.new.gz nella directory
/var/lib/aide/Puoi vederlo usando il seguente comando:
ls -l /var/lib/aide/Risultato:
totale 5600
-rw------- 1 root root 2864012 Gen 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Gen 16 03:11 aide.db.new.gzOra rinomina nuovamente il nuovo database affinché AIDE utilizzi il nuovo database per monitorare ulteriori modifiche. È possibile rinominarlo nel seguente modo:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzEsegui nuovamente il controllo per assicurarti che AIDE utilizzi il nuovo database:
aide --checkDovresti vedere i seguenti:
Timestamp di partenza: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE non ha trovato differenze tra il database e il filesystem. Tutto bene!!Automatizziamo il controllo
È una buona idea eseguire il controllo AIDE ogni giorno e inviare il rapporto via email. Questo processo può essere automatizzato con 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/rootIl log di AIDE può essere visualizzato con il seguente comando:
tail -f /var/log/aide/aide.logConclusione
In questo articolo hai appreso come utilizzare AIDE per rilevare le 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 conservare il database e il file di configurazione su un supporto accessibile solo in lettura. Puoi trovare ulteriori informazioni nella documentazione .
Fonte: habr.com
