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