Integrit: file verification system: differenze tra le versioni

nessun oggetto della modifica
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
=Introduzione=
[http://integrit.sourceforge.net/ Integrit] è un "file verification system": è assimilabile alla famiglia degli [[intrusion detection system]] o [[IDS]] e ha la funzione di verificare che determinati file non subiscano modifiche.
[http://integrit.sourceforge.net/ Integrit] è un "file verification system": è assimilabile alla famiglia degli [[intrusion detection system]] o [[IDS]] e ha la funzione di verificare che determinati file non subiscano modifiche.


Questo genere di controlli hanno molti vantaggi:
Questi controlli sull'integrità dei file hanno molti vantaggi:
* non sono pesanti: infatti vengono eseguiti prevalentemente di notte e occupano pochi minuti
* non sono pesanti: infatti vengono eseguiti prevalentemente di notte e richiedono pochi minuti
* sono utili: un aggressore che vuole nascondere dei file, accessi o servizi potrebbe modificare file come [[netstat]], [[last]], [[w]], ls...
* sono utili: un aggressore che vuole nascondere dei file, accessi o servizi potrebbe modificare file come [[netstat]], [[last]], [[w]], ls...
* si affiancano a [[ids]] di rete e software come [[rkhunter]]
* si affiancano a [[ids]] di rete e software come [[rkhunter]]
Riga 15: Riga 16:


= Configurazione =
= Configurazione =
I file di configurazione si trovano in <tt>/etc/integrit</tt>. Dopo l'installazione sono presenti i seguenti file:
I file di configurazione si trovano in <code>/etc/integrit</code>. Dopo l'installazione sono presenti i seguenti file:
; integrit.conf : un template di file di configurazione (infatti è tutto commentato), lo utilizzeremo in seguito come punto di partenza
; integrit.conf : un template di file di configurazione (infatti è tutto commentato), lo utilizzeremo in seguito come punto di partenza
; integrit.debian.conf : il file di configurazione utilizzato dal [[cron]] di Debian
; integrit.debian.conf : il file di configurazione utilizzato dal [[cron]] di Debian
Riga 21: Riga 22:
== Integrit ==
== Integrit ==
Il file di configurazione di integrit è semplice ed è composto dalle seguenti sezioni:
Il file di configurazione di integrit è semplice ed è composto dalle seguenti sezioni:
; root : la directory di partenza (normalmente <tt>/</tt>)
; root : la directory di partenza (normalmente <code>/</code>)
; know : il [[path]] per il database contenente lo stato ''conosciuto'' del sistema (default <tt>/var/lib/integrit/known.cdb</tt>)
; know : il [[path]] per il database contenente lo stato ''conosciuto'' del sistema (default <code>/var/lib/integrit/known.cdb</code>)
; current : il path del database usato per effettuare il confronto tra lo stato ''conosciuto'' e quello ''attuale'' (default <tt>/var/lib/integrit/current.cdb</tt>)
; current : il path del database usato per effettuare il confronto tra lo stato ''conosciuto'' e quello ''attuale'' (default <code>/var/lib/integrit/current.cdb</code>)


seguito da un elenco di file da ignorare.
seguito da un elenco di file da ignorare.
Riga 34: Riga 35:
dove:
dove:
; action : è facoltativa, e rappresenta l'azione da eseguire. L'azione di default è di esplorare la directory e tutto il suo contenuto... Le alternative sono:
; action : è facoltativa, e rappresenta l'azione da eseguire. L'azione di default è di esplorare la directory e tutto il suo contenuto... Le alternative sono:
: <tt>!</tt> : l'operatore di negazione: <tt>!/etc</tt> indica di non controllare il contenuto della directory <tt>/etc</tt>
: <code>!</code> : l'operatore di negazione: <code>!/etc</code> indica di non controllare il contenuto della directory <code>/etc</code>
: <tt>=</tt> : indica di non esplorare ricorsivamente il contenuto della directory
: <code>=</code> : indica di non esplorare ricorsivamente il contenuto della directory
: <tt>$</tt> : permette di creare una regola che non va ad agire sulle sottodirectory ma solo sulla directory(ed i file contenuti) indicata
: <code>$</code> : permette di creare una regola che non va ad agire sulle sottodirectory ma solo sulla directory(ed i file contenuti) indicata
; /directory : indica il percorso su cui agire
; /directory : indica il percorso su cui agire
; [controlli] : permette di specificare i controlli da eseguire
; [controlli] : permette di specificare i controlli da eseguire
: <tt>s</tt> : [[checksum]]
: <code>s</code> : [[checksum]]
: <tt>i</tt> : [[inode]]
: <code>i</code> : [[inode]]
: <tt>p</tt> : permessi
: <code>p</code> : permessi
: <tt>l</tt> : numero di link
: <code>l</code> : numero di link
: <tt>u</tt> : [[uid]]
: <code>u</code> : [[uid]]
: <tt>g</tt> : [[gid]]
: <code>g</code> : [[gid]]
: <tt>z</tt> : la dimensione dei file (risulta essere un controllo ridondante se viene effettuato anche il controllo del checksum)
: <code>z</code> : la dimensione dei file (risulta essere un controllo ridondante se viene effettuato anche il controllo del checksum)
: <tt>a</tt> : la data di accesso
: <code>a</code> : la data di accesso
: <tt>m</tt> : la data di modifica
: <code>m</code> : la data di modifica
: <tt>r</tt> : reimposta la data di accesso
: <code>r</code> : reimposta la data di accesso
: le opzioni possono essere scritte in due modi: in minuscolo, il che indica che il controllo deve essere fatto, oppure in maiuscolo, per indicare che il controllo non deve essere effettuato.
: le opzioni possono essere scritte in due modi: in minuscolo, il che indica che il controllo deve essere fatto, oppure in maiuscolo, per indicare che il controllo non deve essere effettuato.


== Debian ==
== Debian ==
Il file di configurazione <tt>/etc/integrit/integrit.debian.conf</tt> viene utilizzato dal cron presente in <tt>/etc/cron.daily/integrit</tt>.
Il file di configurazione <code>/etc/integrit/integrit.debian.conf</code> viene utilizzato dal cron presente in <code>/etc/cron.daily/integrit</code>.


Il file di configurazione è composto da quattro variabili:
Il file di configurazione è composto da quattro variabili:
; CONFIGS : contiene l'elenco dei file di configurazione da far processare ad integrit. Dopo l'installazione è vuoto, quindi dovremo aggiungere quello che abbiamo precedentemente creato: <tt>/etc/integrit/integrit.conf</tt>
; CONFIGS : contiene l'elenco dei file di configurazione da far processare ad integrit. Dopo l'installazione è vuoto, quindi dovremo aggiungere quello che abbiamo precedentemente creato: <code>/etc/integrit/integrit.conf</code>
; EMAIL_RCPT : l'indirizzo del destinatario di posta elettronica a cui inviare la mail di notifica (root va bene se sono stati correttamente modificati gli alias di posta, altrimenti potete tranquillamente inserire il vostro indirizzo)
; EMAIL_RCPT : l'indirizzo del destinatario di posta elettronica a cui inviare la mail di notifica (root va bene se sono stati correttamente modificati gli alias di posta, altrimenti potete tranquillamente inserire il vostro indirizzo)
; EMAIL_SUBJ : l'oggetto della mail che riceverete. Normalmente non è necessario effettuare modifiche
; EMAIL_SUBJ : l'oggetto della mail che riceverete. Normalmente non è necessario effettuare modifiche
Riga 64: Riga 65:
# /etc/cron.daily/integrit
# /etc/cron.daily/integrit
</pre>
</pre>
magari impostando <tt>ALWAYS_EMAIL</tt> a ''true'' per effettuare un po' di [[debug]].
magari impostando <code>ALWAYS_EMAIL</code> a ''true'' per effettuare un po' di [[debug]].
 
 


= Funzionamento =
= Funzionamento =
Riga 77: Riga 76:


= Controllo manuale =
= Controllo manuale =
In caso di problemi è possibile effettuare un controllo manuale richiamando lo script cron (<tt>/etc/cron.daily/integrit</tt>) oppure con un semplice:
In caso di problemi è possibile effettuare un controllo manuale richiamando lo script cron (<code>/etc/cron.daily/integrit</code>) oppure con un semplice:
<pre>
<pre>
# integrit -cu -C /etc/integrit/integrit.conf
# integrit -cu -C /etc/integrit/integrit.conf
6 999

contributi