Ricerca nel sito web

Come verificare l'integrità di file e directory utilizzando "AIDE" in Linux


Nella nostra mega guida per rafforzare e proteggere CentOS 7, nella sezione “proteggere il sistema internamente”, uno degli utili strumenti di sicurezza che abbiamo elencato per la protezione interna del sistema da virus, rootkit, malware e rilevamento di attacchi non autorizzati attività è AIDE.

AIDE (Advanced Intrusion Detection Environment) è un piccolo ma potente strumento di rilevamento delle intrusioni open source gratuito, che utilizza regole predefinite per verificare l'integrità di file e directory nei sistemi operativi simili a Unix come Linux. È un binario statico indipendente per configurazioni di monitoraggio client/server semplificate.

È ricco di funzionalità: utilizza file di configurazione e database in testo semplice che lo rendono facile da usare; supporta diversi algoritmi di digest dei messaggi come, ma non limitati a, md5, sha1, rmd160, tigre; supporta attributi di file comuni; supporta anche potenti espressioni regolari per includere o escludere selettivamente file e directory da scansionare.

Inoltre può essere compilato con un supporto eccezionale per la compressione Gzip, Posix ACL, SELinux, XAttrs e gli attributi del file system esteso.

Aide funziona creando un database (che è semplicemente un'istantanea delle parti selezionate del file system), dalle regole delle espressioni regolari definite nei file di configurazione. Una volta inizializzato questo database, è possibile verificare l'integrità dei file di sistema rispetto ad esso. Questa guida mostrerà come installare e utilizzare Aide in Linux.

Come installare AIDE in Linux

Aide è confezionato nei repository ufficiali delle principali distribuzioni Linux, per installarlo esegui il comando per la tua distribuzione utilizzando un gestore di pacchetti.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Dopo averlo installato, il file di configurazione principale è /etc/aide.conf. Per visualizzare la versione installata e i parametri del tempo di compilazione, esegui il comando seguente sul tuo terminale:

aide -v
Uscita del campione
Aide 0.14

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Puoi aprire la configurazione utilizzando il tuo editor preferito.

vi /etc/aide.conf

Dispone di direttive che definiscono la posizione del database, la posizione del report, le regole predefinite, le directory/file da includere nel database.

Comprensione delle regole di supporto predefinite

Utilizzando le regole predefinite di cui sopra, puoi definire nuove regole personalizzate, ad esempio nel file aide.conf.

PERMS = p+u+g+acl+selinux+xattrs

La regola PERMS viene utilizzata solo per il controllo dell'accesso, rileverà qualsiasi modifica al file o alle directory in base ai permessi di file/directory, utente, gruppo, permessi di controllo dell'accesso, contesto SELinux e attributi del file.

Ciò controllerà solo il contenuto del file e il tipo di file.

CONTENT = sha256+ftype

Questa è una versione estesa della regola precedente, controlla il contenuto esteso, il tipo di file e l'accesso.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

La regola DATAONLY riportata di seguito aiuterà a rilevare eventuali modifiche ai dati all'interno di tutti i file/directory.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Definizione delle regole per controllare file e directory

Una volta definite le regole, è possibile specificare il file e le directory da controllare. Considerando la regola PERMS di cui sopra, questa definizione controllerà le autorizzazioni per tutti i file nella directory root.

/root/\..*  PERMS

Questo controllerà tutti i file nella directory /root per eventuali modifiche.

/root/   CONTENT_EX

Per aiutarti a rilevare eventuali modifiche nei dati all'interno di tutti i file/directory in /etc/, usa questo.

/etc/   DATAONLY 

Utilizzo di AIDE per verificare l'integrità di file e directory in Linux

Inizia costruendo un database rispetto ai controlli che verranno eseguiti utilizzando il flag --init. Questa operazione dovrebbe essere eseguita prima che il sistema sia connesso a una rete.

Il comando seguente creerà un database che contiene tutti i file selezionati nel file di configurazione.

aide --init

Quindi rinominare il database in /var/lib/aide/aide.db.gz prima di procedere, utilizzando questo comando.

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Si consiglia di spostare il database in una posizione sicura, possibilmente in un supporto di sola lettura o su un altro computer, ma assicurati di aggiornare il file di configurazione per leggerlo da lì.

Dopo che il database è stato creato, ora puoi verificare l'integrità dei file e delle directory utilizzando il flag --check.

aide --check

Leggerà l'istantanea nel database e la confronterà con i file/directory trovati sul disco di sistema. Se rileva cambiamenti in luoghi che potresti non aspettarti, genera un rapporto che puoi quindi esaminare.

Poiché non sono state apportate modifiche al file system, otterrai solo un output simile a quello sopra. Ora prova a creare alcuni file nel file system, in aree definite nel file di configurazione.

vi /etc/script.sh
touch all.txt

Quindi esegui ancora una volta un controllo, che dovrebbe riportare i file aggiunti sopra. L'output di questo comando dipende dalle parti del file system configurate per il controllo e può richiedere molto tempo.

aide --check

È necessario eseguire regolarmente controlli di supporto e, in caso di modifiche ai file già selezionati o di aggiunta di nuove definizioni di file nel file di configurazione, aggiornare sempre il database utilizzando l'opzione --update:

aide --update

Dopo aver eseguito un aggiornamento del database, per utilizzare il nuovo database per scansioni future, rinominarlo sempre in /var/lib/aide/aide.db.gz:

mv /var/lib/aide/aide.db.new.gz  /var/lib/aide/aide.db.gz

È tutto per ora! Ma prendi nota di questi punti importanti:

  • Una caratteristica della maggior parte dei sistemi di rilevamento delle intrusioni AIDE compreso è che non forniscono soluzioni alla maggior parte delle falle di sicurezza su un sistema. Tuttavia, aiutano a facilitare il processo di risposta alle intrusioni aiutando gli amministratori di sistema a esaminare eventuali modifiche ai file e alle directory di sistema. Quindi dovresti essere sempre vigile e continuare ad aggiornare le tue attuali misure di sicurezza.
  • Si consiglia vivamente di conservare il database appena creato, il file di configurazione e il binario AIDE in un luogo sicuro come un supporto di sola lettura (possibile se si installa dal sorgente).
  • Per maggiore sicurezza, valuta la possibilità di firmare la configurazione e/o il database.

Per ulteriori informazioni e configurazioni, consultare la relativa pagina man o consultare la home page di AIDE: http://aide.sourceforge.net/