Prima dell'inizio del corso
AIDE sta per "Advanced Intrusion Detection Environment" ed è uno dei sistemi più popolari per monitorare i cambiamenti nei sistemi operativi basati su Linux. AIDE viene utilizzato per proteggere da malware, virus e rilevare attività non autorizzate. Per verificare l'integrità dei file e rilevare le intrusioni, AIDE crea un database di informazioni sui file e confronta lo stato attuale del sistema con questo database. AIDE aiuta a ridurre i tempi di indagine degli incidenti concentrandosi sui file che sono stati modificati.
Caratteristiche dell'AIDE:
- Supporta vari attributi di file, tra cui: tipo di file, inode, uid, gid, autorizzazioni, numero di collegamenti, mtime, ctime e atime.
- Supporto per compressione Gzip, SELinux, XAttrs, Posix ACL e attributi del file system.
- Supporta vari algoritmi tra cui md5, sha1, sha256, sha512, rmd160, crc32, ecc.
- Invio notifiche via email.
In questo articolo vedremo come installare e utilizzare AIDE per il rilevamento delle intrusioni su CentOS 8.
Prerequisiti
- Server con CentOS 8, con almeno 2 GB di RAM.
- accesso root
Начинаем
Si consiglia di aggiornare prima il sistema. Per fare ciò, esegui il comando seguente.
dnf update -y
Dopo l'aggiornamento, riavvia il sistema affinché le modifiche abbiano effetto.
Installazione dell'AIDE
AIDE è disponibile nel repository predefinito CentOS 8. Puoi installarlo facilmente eseguendo il seguente comando:
dnf install aide -y
Una volta completata l'installazione è possibile visualizzare la versione AIDE utilizzando il seguente comando:
aide --version
Dovresti vedere quanto segue:
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"
Opzioni disponibili aide
può essere visualizzato come segue:
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 (snapshot) di tutti i file e le directory sul server.
Per inizializzare il database, eseguire il comando seguente:
aide --init
Dovresti vedere quanto segue:
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.db.new.gz
nel catalogo /var/lib/aide
. Può essere visto usando il seguente comando:
ls -l /var/lib/aide
Il risultato:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE non utilizzerà questo nuovo file di database finché non verrà rinominato in aide.db.gz
. Questo può essere fatto come segue:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Si consiglia di aggiornare periodicamente questo database per garantire che le modifiche vengano monitorate correttamente.
È possibile modificare la posizione del database modificando il parametro DBDIR
in archivio /etc/aide.conf
.
Esecuzione di un controllo
AIDE è ora pronto per utilizzare il nuovo database. Esegui il primo controllo AIDE senza apportare modifiche:
aide --check
Il completamento di questo comando richiederà del tempo a seconda della dimensione del file system e della quantità di RAM sul server. Una volta completata la scansione dovresti vedere quanto segue:
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 dice che tutti i file e le directory corrispondono al database AIDE.
AIUTO ALLA PROVA
Per impostazione predefinita, AIDE non tiene traccia della directory root di Apache predefinita /var/www/html.
Configuriamo AIDE per visualizzarlo. Per fare ciò è necessario modificare il file /etc/aide.conf
.
nano /etc/aide.conf
Aggiungi la riga sopra "/root/CONTENT_EX"
Il seguente:
/var/www/html/ CONTENT_EX
Quindi, crea un file aide.txt
nel catalogo /var/www/html/
utilizzando il seguente comando:
echo "Test AIDE" > /var/www/html/aide.txt
Ora esegui il controllo AIDE e assicurati che il file creato venga rilevato.
aide --check
Dovresti vedere quanto segue:
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
Vediamo che il file creato viene rilevato aide.txt
.
Dopo aver analizzato le modifiche rilevate, aggiornare il database AIDE.
aide --update
Dopo l'aggiornamento vedrai quanto segue:
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 aide.db.new.gz
nel catalogo
/var/lib/aide/
Puoi vederlo con il seguente comando:
ls -l /var/lib/aide/
Il risultato:
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 rinominare nuovamente il nuovo database in modo che AIDE utilizzi il nuovo database per tenere traccia di ulteriori modifiche. Puoi rinominarlo come segue:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Esegui nuovamente il controllo per assicurarti che AIDE stia utilizzando il nuovo database:
aide --check
Dovresti vedere quanto segue:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Automatizziamo il controllo
È una buona idea eseguire un controllo AIDE ogni giorno e inviare il rapporto per posta. Questo processo può essere automatizzato utilizzando cron.
nano /etc/crontab
Per eseguire il controllo AIDE ogni giorno alle 10:15, aggiungere la seguente riga alla fine del file:
15 10 * * * root /usr/sbin/aide --check
AIDE ora ti avviserà via mail. Puoi controllare la tua posta con il seguente comando:
tail -f /var/mail/root
Il registro AIDE può essere visualizzato utilizzando il seguente comando:
tail -f /var/log/aide/aide.log
conclusione
In questo articolo hai imparato come utilizzare AIDE per rilevare le modifiche ai file e identificare l'accesso non autorizzato al server. Per ulteriori impostazioni, puoi modificare il file di configurazione /etc/aide.conf. Per motivi di sicurezza, si consiglia di archiviare il database e il file di configurazione su un supporto di sola lettura. Maggiori informazioni possono essere trovate nella documentazione
Fonte: habr.com