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

Prima dell'inizio del corso "Amministratore Linux" Abbiamo preparato una traduzione di materiale interessante.

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

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

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 (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 AIUTO Dott.

Scopri di più sul corso.

Fonte: habr.com

Aggiungi un commento