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

Prima dell'inizio del corso «Amministratore Linux» abbiamo preparato la traduzione di un materiale interessante.

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

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

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

Una volta completata l'installazione, puoi controllare 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"

Parametri disponibili aide può essere visualizzato nel modo seguente:

aide --help

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

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

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

Risultato:

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

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

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

aide --check

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

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

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

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

aide --check

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

Il log di AIDE può essere visualizzato con il seguente comando:

tail -f /var/log/aide/aide.log

Conclusione

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 Doc AIDE.

Scopri di più sul corso.

Fonte: habr.com

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