Integrit: file verification system: differenze tra le versioni
(Aggiunto template autori) |
mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|}} | {{Versioni compatibili|Squeeze|Wheezy|Jessie}} | ||
== Introduzione == | == 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. | ||
Riga 8: | Riga 8: | ||
* si affiancano a [[intrusion detection system|ids]] di rete e software come [[rkhunter]] | * si affiancano a [[intrusion detection system|ids]] di rete e software come [[rkhunter]] | ||
Ovviamente non si tratta della soluzione di tutti i mali, in quanto potrebbe essere possibile che l'aggressore abbia modificato anche l'eseguibile di integrit, però un controllo in più non fa mai male! | Ovviamente non si tratta della soluzione di tutti i mali, in quanto potrebbe essere possibile che l'aggressore abbia modificato anche l'eseguibile di <code>integrit</code>, però un controllo in più non fa mai male! | ||
== Installazione == | == Installazione == | ||
L'installazione è molto semplice: | L'installazione è molto semplice, con [[privilegi di amministrazione]]: | ||
<pre> | <pre> | ||
# apt-get install integrit | # apt-get install integrit | ||
Riga 22: | 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 (inizialmente commentate): | ||
; root : la directory di partenza (normalmente <code>/</code>) | ; root : la directory di partenza (normalmente <code>/</code>) | ||
; know : il [[path]] per il database contenente lo stato ''conosciuto'' del sistema (default <code>/var/lib/integrit/known.cdb</code>) | ; know : il [[path]] per il database contenente lo stato ''conosciuto'' del sistema (default <code>/var/lib/integrit/known.cdb</code>) | ||
Riga 52: | Riga 52: | ||
: <code>r</code> : 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. | ||
È necessario decommentare le opzioni principali del file, personalizzandole se necessario, e aggiungere le altre azioni desiderate, per poter eseguire il comando. Non c'è infatti un'impostazione di default. | |||
=== Debian === | === Debian === |
Versione delle 19:31, 14 mag 2015
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" Debian 8 "jessie" |
Introduzione
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.
Questi controlli sull'integrità dei file hanno molti vantaggi:
- 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...
- si affiancano a ids di rete e software come rkhunter
Ovviamente non si tratta della soluzione di tutti i mali, in quanto potrebbe essere possibile che l'aggressore abbia modificato anche l'eseguibile di integrit
, però un controllo in più non fa mai male!
Installazione
L'installazione è molto semplice, con privilegi di amministrazione:
# apt-get install integrit
Configurazione
I file di configurazione si trovano in /etc/integrit
. 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.debian.conf
- il file di configurazione utilizzato dal cron di Debian.
Integrit
Il file di configurazione di integrit è semplice ed è composto dalle seguenti sezioni (inizialmente commentate):
- root
- la directory di partenza (normalmente
/
) - know
- il path per il database contenente lo stato conosciuto del sistema (default
/var/lib/integrit/known.cdb
) - current
- il path del database usato per effettuare il confronto tra lo stato conosciuto e quello attuale (default
/var/lib/integrit/current.cdb
)
seguito da un elenco di file da ignorare.
La sintassi dell'elenco è la seguente:
[action]/directory [controlli]
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:
!
: l'operatore di negazione:!/etc
indica di non controllare il contenuto della directory/etc
;=
: indica di non esplorare ricorsivamente il contenuto della directory;$
: 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;
- [controlli]
- permette di specificare i controlli da eseguire;
s
: checksum;i
: inode;p
: permessi;l
: numero di link;u
: uid;g
: gid;z
: la dimensione dei file (risulta essere un controllo ridondante se viene effettuato anche il controllo del checksum);a
: la data di accesso;m
: la data di modifica;r
: 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.
È necessario decommentare le opzioni principali del file, personalizzandole se necessario, e aggiungere le altre azioni desiderate, per poter eseguire il comando. Non c'è infatti un'impostazione di default.
Debian
Il file di configurazione /etc/integrit/integrit.debian.conf
viene utilizzato dal cron presente in /etc/cron.daily/integrit
.
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:
/etc/integrit/integrit.conf
; 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;
ALWAYS_EMAIL
- true se si desidera ricevere una mail di notifica anche quando non vengono riscontrate anomalia, false altrimenti.
Una volta modificato il file di configurazione non ci resta che testare il tutto con un semplice
# /etc/cron.daily/integrit
magari impostando ALWAYS_EMAIL
a true per effettuare un po' di debug.
Funzionamento
Il funzionamento è semplice: ogni volta che viene effettuato un update, viene creato il database current che raccoglie lo stato attuale del sistema. Ogni volta che viene effettuato un check, invece, viene confrontato il database di tipo current con il known, in caso di discrepanze (ed in base alle regole definite nel file di configurazione) viene generato il report.
Una volta controllate le discrepanze e verificato che siano corrette (in caso di aggiornamento di un pacchetto, ad esempio) è necessario aggiornare il database know con un semplice:
mv /var/lib/integrit/current.cdb /var/lib/integrit/known.cdb
Controllo manuale
In caso di problemi è possibile effettuare un controllo manuale richiamando lo script cron (/etc/cron.daily/integrit
) oppure con un semplice:
# integrit -cu -C /etc/integrit/integrit.conf
Link Utili
- Home Page del progetto: http://integrit.sourceforge.net/
Guida scritta da: MaXeR | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |