AIDE sta per "Advanced Intrusion Detection Environment" è uno degli strumenti più popolari per monitorare le modifiche ai sistemi operativi basati su Linux. Viene utilizzato per proteggere il sistema da malware, virus e rilevare attività non autorizzate. Funziona creando un database del file system e confronta questo database con il sistema per garantire l'integrità dei file e rilevare le intrusioni nel sistema. AIDE ti aiuta a ridurre i tempi di indagine durante la risposta all'incidente concentrandoti sui file che sono stati modificati.
Caratteristiche
- Supporta vari attributi tra cui Tipo di file, Inode, Uid, Gid, Permessi, Numero di collegamenti, Mtime, Ctime e Atime.
- Supporta la compressione Gzip, SELinux, XAttrs, Posix ACL e gli attributi di file system estesi.
- In grado di creare e confrontare vari algoritmi di digest dei messaggi tra cui md5, sha1, sha256, sha512, rmd160, crc32, ecc.
- In grado di avvisarti via email.
In questo tutorial, ti mostreremo come installare e utilizzare AIDE per rilevare le intrusioni su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8 con almeno 2 GB di RAM.
- Sul tuo server è configurata una password di root.
Per iniziare
Prima di iniziare, è una buona idea aggiornare il sistema alla versione aggiornata. Esegui il comando seguente per aggiornare il tuo sistema.
dnf update -y
Una volta aggiornato il sistema, riavvialo per implementare le modifiche.
Installa AIDE
Per impostazione predefinita, AIDE è disponibile nel repository predefinito di CentOS 8. Puoi installarlo facilmente semplicemente eseguendo il seguente comando:
dnf install aide -y
Una volta completata l'installazione, puoi verificare la versione installata di AIDE utilizzando il seguente comando:
aide --version
Dovresti vedere il seguente output:
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"
Puoi anche vedere tutte le opzioni disponibili con il comando aide usando il seguente comando:
aide --help
Dovresti vedere la seguente schermata:
Crea e inizializza il database
Dopo aver installato AIDE, la prima cosa che devi fare è inizializzare l'installazione. Questa inizializzazione creerà un database (snapshot) di tutti i file e le directory del tuo server.
Eseguire il comando seguente per inizializzare il database:
aide --init
Dovresti vedere il seguente output:
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)
Il comando precedente creerà un nuovo database AIDE aide.db.new.gz all'interno della directory /var/lib/aide. Puoi vederlo usando il seguente comando:
ls -l /var/lib/aide
Dovresti vedere il seguente output:
total 2800 -rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE non utilizzerà il nuovo file di database finché non sarà stato rinominato aide.db.gz. Puoi rinominarlo con il seguente comando:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Si raccomanda di aggiornare questo database in un periodo prestabilito per garantire un monitoraggio appropriato delle modifiche. Puoi anche cambiare la posizione del database AIDE modificando il file /etc/aide.conf e modificando il valore DBDIR.
Controlla AIDE
A questo punto AIDE è pronto per utilizzare il nuovo database. Ora, esegui il tuo primo controllo AIDE senza apportare modifiche:
aide --check
Questo comando richiederà del tempo a seconda delle dimensioni del file system e della quantità di RAM nel server. Una volta completato il controllo AIDE, dovresti vedere il seguente output:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16) AIDE found NO differences between database and filesystem. Looks okay!!
L'output sopra indica che ogni file e directory corrisponde al database AIDE.
Test AIDE
Per impostazione predefinita, AIDE non è configurato per guardare file e directory della radice del documento predefinita di Apache /var/www/html. Quindi, dovrai configurare AIDE per guardare la directory /var/www/html. Puoi configurarlo modificando il file /etc/aide.conf.
nano /etc/aide.conf
Aggiungi la seguente riga sopra la riga "/root/ CONTENT_EX":
/var/www/html/ CONTENT_EX
Salva e chiudi il file quando hai finito.
Quindi, crea un file aide.txt all'interno della directory /var/www/html/ usando il seguente comando:
echo "Test AIDE" > /var/www/html/aide.txt
Ora, esegui AIDE check e verifica che il file appena creato venga rilevato da Aide check.
aide --check
Dovresti vedere il seguente output:
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
L'output di cui sopra indica che il file aide.txt appena creato viene rilevato dall'aide check.
Successivamente, è una buona idea aggiornare il database AIDE dopo aver esaminato le modifiche rilevate da Aide Check. Puoi aggiornare il database AIDE usando il seguente comando:
aide --update
Una volta aggiornato il database, dovresti vedere il seguente output:
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
Il comando precedente creerà un nuovo database chiamato aide.db.new.gz nella directory /var/lib/aide/.
Puoi vederlo usando il seguente comando:
ls -l /var/lib/aide/
Dovresti vedere il seguente output:
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
Ora, rinomina nuovamente il nuovo database in modo che AIDE utilizzi questo nuovo database per tenere traccia di eventuali nuove modifiche. Puoi rinominare il database usando il seguente comando:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Ora, esegui nuovamente il controllo AIDE per verificare se AIDE utilizza il nuovo database o meno:
aide --check
Dovresti vedere il seguente output:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16) AIDE found NO differences between database and filesystem. Looks okay!!
Una volta terminato, puoi procedere al passaggio successivo.
Automazione del controllo AIDE
È una buona idea automatizzare il controllo AIDE ogni giorno e inviare il report a un sistema via mail. Puoi automatizzare questo processo usando il lavoro cron.
Per fare ciò, modifica il file di configurazione predefinito di cron come mostrato di seguito:
nano /etc/crontab
Aggiungi la seguente riga alla fine del file per automatizzare il controllo AIDE ogni giorno alle 10:15:
15 10 * * * root /usr/sbin/aide --check
Salva e chiudi il file quando hai finito.
Ora, AIDE ti avviserà tramite posta di sistema.
Puoi controllare la posta di sistema usando il seguente comando:
tail -f /var/mail/root
Puoi anche controllare il registro AIDE con il seguente comando:
tail -f /var/log/aide/aide.log
Conclusione
Nel tutorial sopra, hai imparato come utilizzare AIDE per comprendere le modifiche al server e identificare l'accesso non autorizzato al tuo server. È possibile modificare il file /etc/aide.conf per controllare la directory dell'applicazione o qualsiasi impostazione avanzata. Si consiglia di conservare il database AIDE e il file di configurazione in un supporto di sola lettura per motivi di sicurezza. Per ulteriori informazioni, puoi consultare la documentazione AIDE su AIDE Doc.