Come installare e utilizzare AIDE (Advanced Intrusion Detection Environment) in CentOS 8

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

Come installare e utilizzare AIDE (Advanced Intrusion Detection Environment) in CentOS 8

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 -y

Dopo 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 -y

Una volta completata l'installazione, puoi visualizzare la versione di AIDE con il seguente comando:

aide --version

Dovresti 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

Come installare e utilizzare AIDE (Advanced Intrusion Detection Environment) in CentOS 8

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 --init

Dovresti 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/aide

Risultato:

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.gz

Si 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 --check

L'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.txt

Ora esegui il controllo AIDE e assicurati che il file creato venga rilevato.

aide --check

Dovresti 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 --update

Dopo 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.gz

Ora 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.gz

Esegui di nuovo il controllo per assicurarti che AIDE utilizzi il nuovo database:

aide --check

Dovresti 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/crontab

Per eseguire il controllo AIDE ogni giorno alle 10:15, aggiungi alla fine del file la seguente riga:

15 10 * * * root /usr/sbin/aide --check

Ora 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.log

Conclusione

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 Documentazione di AIDE.

Scopri di più sul corso.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster