Come verificare l'integrità di file o directory con AIDE su Linux

Quando si utilizzano più sistemi operativi, è ideale disporre sempre di strumenti che ci consentano di mantenere un controllo centralizzato e diretto su di esso. Una delle questioni più delicate è indiscutibilmente la sicurezza e l'integrità dei file, poiché ciò garantisce la disponibilità e l'affidabilità dei file.

Oggi Solvetic parlerà di un pratico strumento chiamato AIDE attraverso il quale sarà possibile verificare l'integrità di un file o di una directory nelle varie distribuzioni Linux ed essere così certi della completa affidabilità del file selezionato.

Cos'è AIDEAIDE ((Advanced Intrusion Detection Environment) è un controllo dell'integrità di file e directory in ambienti Linux che consente a noi amministratori di mantenere un controllo specifico su di essi.
Il suo funzionamento consiste nel creare un database progettato dalle regole delle espressioni regolari disponibili nei file di configurazione. Una volta inizializzato questo database, può essere utilizzato per verificare l'integrità dei file richiesti.

Attributi del file AIDEAIDE ha il compito di costruire il database dai file specificati in aide.conf, che è il file di configurazione di AIDE. Il database AIDE memorizza diversi attributi di file, all'interno dei quali abbiamo:

  • tipo di file
  • permessi
  • utente e gruppo
  • dimensione del file
  • mtime, ctime e atime
  • dimensione della crescita
  • numero di collegamenti e nome del collegamento.

Inoltre, AIDE crea un checksum crittografico o hash di ciascun file utilizzando uno o una combinazione dei seguenti algoritmi di message digest: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32 e anche gli attributi acl, xattr, selinux e e2fsattrs possono essere usati se abilitati esplicitamente in fase di compilazione.

AIDE ha diversi algoritmi di digest dei messaggi che vengono utilizzati per verificare l'integrità del file. Tutti i soliti attributi del file possono anche essere controllati per incongruenze al suo interno. AIDE è in grado di leggere database di versioni precedenti o più recenti.

Caratteristiche dell'AIUTOUtilizzando questo strumento abbiamo le seguenti caratteristiche:

  • Algoritmi supportati dal digest del messaggio come: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (in aggiunta con libmhash: gost, haval, crc32b)
  • Attributi file supportati: tipo di file, autorizzazioni, inode, Uid, Gid, nome collegamento, dimensione, numero blocco, numero di collegamenti, Mtime, Ctime e Atime
  • Ha il supporto per Posix ACL, SELinux, XAttrs e attributi di file system estesi se il supporto è compilato in testo semplice e file di configurazione del database per semplicità
  • Ha il supporto per le espressioni regolari per includere o escludere selettivamente file e directory per essere monitorati
Puoi comprimere il database gzip se il supporto zlib è compilato in un binario statico separato per le configurazioni di monitoraggio client/server.

AIDE è incluso nelle seguenti distribuzioni UNIX

  • Debian
  • Gentoo
  • MacPort
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

È importante chiarire che AIDE non può fornire una sicurezza assoluta sulla modifica di un file, poiché come qualsiasi altro file di sistema, anche il database e/oi binari di AIDE possono essere modificati utilizzando gli strumenti appropriati.

1. Installazione di AIDE su Linux


AIDE è disponibile nei repository ufficiali per le distribuzioni Linux più popolari, per questo possiamo installarlo utilizzando un gestore di pacchetti in base alla distro selezionata in questo modo:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

In questo caso utilizziamo Ubuntu. Lì inseriamo la lettera S per accettare il download e l'installazione di AIDE. Una volta installato vedremo quanto segue:

Come possiamo vedere, il file di configurazione principale è /etc/aide/aide.conf. Per visualizzare la versione installata, nonché i parametri del tempo di compilazione, possiamo eseguire quanto segue:

 aiutante -v

2. Accesso al file di configurazione di AIDE Linux


Possiamo accedere al file di configurazione di AIDE eseguendo la seguente riga con l'editor desiderato:
 nano /etc/aide/aide.conf
Vedremo quanto segue:

In questo file troviamo le direttive che definiscono la posizione del database, la posizione del report, le regole predefinite, le directory oi file da includere nel database e molto altro.

3. Come gestire e comprendere le regole di AIDE

AIDE gestisce regole come:

PPermessi - Permessi
nNumero di link
o= Utente
GGruppi
STaglia (taglia)
BConteggio blocchi
mmtime
aun tempo
Cctime
selinuxContesto di sicurezza di Selinux
xattrVisualizza gli attributi estesi di un file

Da queste regole sarà possibile creare regole personalizzate nel file di configurazione AIDE. Ad esempio, possiamo creare la seguente regola:

 PERM = p + u + g + acl + selinux + xattrs
In questo caso, viene implementata la regola PERMS per il controllo degli accessi, che rileverà eventuali modifiche al file o alle directory in base alle autorizzazioni di file o directory, utente, gruppo, autorizzazioni di controllo di accesso, attributi di file e altro.

Un'altra regola che possiamo implementare è quella che controlla solo il contenuto del file e il tipo di file selezionato, ad esempio:

 CONTENUTO = sha256 + ftype
Se vogliamo verificare il contenuto esteso, il tipo di file e l'accesso possiamo creare una regola come:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Una regola che ci aiuta a rilevare le modifiche nella directory solo a livello di dati è:
 DATAONLY = p + n + u + g + s + acl + selinux + xattrs + sha256
Queste regole devono essere aggiunte in fondo al file di configurazione di AIDE:

Salviamo le modifiche usando i tasti Ctrl + O e usciamo usando Ctrl + X.

4. Come definire le regole per la visualizzazione di file e directory AIDE


Con AIDE sarà inoltre possibile creare regole per determinati file o directory da analizzare. Per questo accediamo nuovamente al percorso /etc/aide/aide.conf e possiamo creare le seguenti regole:
 / root / \… * PERMS (Questa regola controlla i permessi nella directory root) / root / CONTENT_EX (Questa regola controlla tutti i file nella root prima di qualsiasi modifica) / etc / DATAONLY (Questa regola ci permette di rilevare qualsiasi cambiamento nella directory /eccetera)

Possiamo salvare le modifiche nel file di configurazione di AIDE.

5. Come utilizzare AIDE per verificare l'integrità di file e directory in Linux


Una volta definite le regole da utilizzare con AIDE, il passo successivo sarà quello di costruire il database a fronte dei controlli che verranno effettuati utilizzando il parametro --init.

Con il seguente comando verrà creato un database che contiene tutti i file che definiamo nel file di configurazione AIDE:

 Aiutante --init

Fatto ciò, procedi a cambiare il nome del database in /var/lib/aide/aide.db.gz prima di continuare, per questo possiamo usare il seguente comando:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Si consiglia di spostare questo database in una posizione sicura, ma dobbiamo essere sicuri di aggiornare il file di configurazione in modo che possa essere letto da lì.

Successivamente, dobbiamo compilare un nuovo file di configurazione di Aide. Eseguiamo il seguente comando:

 update-aide.conf
Ora copieremo questo nuovo file nella directory /etc/aide:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Dopo che il database è stato creato, possiamo verificare l'integrità dei file e delle directory utilizzando il flag -check:
 aiutante --check

6. Come valutare AIDE


Per testare il funzionamento di AIDE eseguiremo le seguenti righe:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
Con loro stiamo creando una nuova directory e file sul sistema. Successivamente eseguiamo la seguente riga per la sua convalida e verifica:
 Aide-check
Il risultato sarà il seguente:

Lì possiamo vedere che una differenza si trova nel file e indica che tipo di azione era, aggiunta, cancellazione o modifica.
In questo modo, AIDE è uno strumento utile per determinare in tempo reale i cambiamenti avvenuti nel sistema.

wave wave wave wave wave