Table of Contents
Tripwire
NOTA: Questi appunti sono stati presi nel 2003, con tripwire versione 2.3.1.2. Sono ancora validi con Debian Squeeze (tripwire 2.4.2).
Durante l'installazione viene chiesta la site key e la local key per proteggere i file rispettivamente validi per tutto il sito e per l'installazione locale. Le chiavi vengono salvati in opportuni file: /etc/tripwire/site.key e /etc/tripwire/<hostname>-local.key. Se necessario è possibile rigenerare questi file eseguendo dpkg-reconfigure tripwire
.
Modificato il file di configurazione di tripwire /etc/tripwire/twcfg.txt
. Rispetto all'impostazione predefinita Debian si imposta:
MAILNOVIOLATIONS=false GLOBALEMAIL=root@localhost
Non si vuole report se tutto e' OK, altrimenti una mail va a root (eventualmente ridiretto con un alias). Si cambia i permessi al file da 644 a 600 e si ricompila il file in tw.cfg
(criptato e protetto con la site key):
twadmin --create-cfgfile --site-keyfile site.key twcfg.txt
Modificato il file della policy (cosa controllare e come) /etc/tripwire/twpol.txt
. Si cambia i permessi al file in 600 invece di 644. Ricompilato il file in tw.pol
(criptato e protetto con la site key) con:
twadmin --create-polfile --site-keyfile site.key twpol.txt
Per creare il database con i checksum (viene chiesta la local key):
tripwire --init
Il cronjob /etc/cron.daily/tripwire
è stato modificato in modo che non generi output su tty e cancelli i report tripwire troppo vecchi.
Altri sistemi di monitoraggio
tripwire pare che non sia più attivamente mantenuto e sviluppato. Delle alternative sono samhain e osiris, che tuttavia non hanno ancora raggiunto la popolarità di tripwire.
Modifiche alla policy predefinita
Debian utilizza un filesystem rw dedicato agli script di init
montandolo sotto /lib/init/rw
. Per evitare che venga generato un warning si toglie la seguente riga:
/lib/init/rw -> $(SEC_INVARIANT) (recurse = 0) ;
Questa impostazione va tolta altrimenti genera un warning per ogni file di log routato:
/var/log -> $(SEC_CONFIG) ;
Alcuni file sono stati tolti perché non esistono
/etc/rc.boot /root/mail /root/Mail /root/.[xX]* /root/.tcshrc /root/.pinerc /root/.gnome*
In generale si sono tolti tutti i file in /root/ che non esistono. Per contro alcuni file che non esistevano sono stati creati (vuoti), ad esempio /root/.bash_profile
.
Altri invece sono stati aggiunti (nelle opportune sezioni):
/etc/rc.local -> $(SEC_BIN) ; /home/niccolo/Maildir -> $(SEC_INVARIANT) (recurse = 0) ; /dev/.udev -> $(Device) (recurse = 0) ; /dev/pts -> $(Device) (recurse = 0) ; /dev/shm -> $(Device) ; /proc -> $(SEC_INVARIANT) (recurse = 0) ;
Installazioni non Debian
In distribuzioni di bassa qualità (tipo CentOS) all'installazione del pacchetto non vengono generate le chiavi, ecco un breve prontuario sul da farsi:
twadmin -m G -S /etc/tripwire/site.key twadmin -m G -L /etc/tripwire/local.key chmod 400 /etc/tripwire/site.key chmod 400 /etc/tripwire/local.key