individuare intrusioni con tripwire
molti sysadmin avranno sicuramente avuto modo nella loro vita professionale di imbattersi nell’arduo (se non a volte impossibile) compito di rimettere in sesto dei sistemi danneggiati da intrusioni di utenti malintenzionati. in casi come questo, ci sono dei software chiamati host based IDS, che ci possono venire in aiuto, se non altro facilitandoci il lavoro, tenendo traccia di tutti i file modificati in un certo arco di tempo.
in questo articolo andremo ad illustrare i passi necessari per la configurazione di tripwire, uno dei più diffusi host based IDS. disponibile sia in versione open source che in versione commerciale, è un software che una volta installato e configurato ci informerà di tutte le modifiche che avvengono nel file system, rispetto ad uno stato iniziale considerato “sicuro” che verrà salvato in un database.
su un sistema operativo come ubuntu, possiamo installare il software con un semplice apt-get install tripwire
al termine dell’installazione verrà avviata automaticamente la configurazione iniziale del programma, durante la quale ci verrà chiesto di inserire la “site key” e la “local key”, con cui tripwire provvederà a creare in /etc/tripwire i file di configurazione con le policy di default, in particolare i file tw.cfg e tw.pol. è consigliato rendere questi file leggibili solo dall’utente root con il comando chmod 0600 /etc/tripwire/tw.cfg /etc/tripwire/tw.pol
da notare che questi 2 file sono binari, creati partendo dai due file plain text twcfg.txt e twpol.txt, saranno quindi questi due file che dobbiamo modificare per apportare modifiche alla configurazione. per un primo utilizzo possiamo lasciare le versioni di default; consiglio solo, nel caso in cui si voglia che i report vengano inviati per email, di aggiungere al file twcfg.txt la riga
GLOBALEMAIL = email@miodominio.it
una volta modificato il file twcfg.txt occorre ricreare il corrispettivo file binario, per farlo possiamo utilizzare il comando twadmin –create-cfgfile -S site.key /etc/tripwire/twcfg.txt
nel caso in cui venga invece modificato il file twpol.txt per ricreare il binario tw.pol dobbiamo utilizzare il comando twadmin –create-polfile -S site.key /etc/tripwire/twpol.txt
a questo punto, possiamo creare tramite il comando tripwire –init il database iniziale che tripwire utilizzerà per confrontare lo stato del sistema ad ogni check, il file verrà creato nella cartella /var/lib/tripwire/
ora non ci resta che testare il funzionamento di tripwire utilizzando il comando tripwire –check –email-report che ci invierà per email il report con tutti i file di sistema modificati, aggiunti o cancellati dalla creazione del database iniziale. il consiglio è naturalmente quello di inserire il comando in crontab per far generare automaticamente i report quando volete.
nel caso in cui si voglia modificare il file /etc/tripwire/twpol.txt, ecco un semplice esempio di regola che possiamo aggiungere:
(
rulename = “Sito web www.miosito.it”,
severity = N, (dove N è un numero compreso tra 0 e 100, più alto è il numero più alta è la ‘criticità’ di questa sezione)
emailto = webmaster@miosito.it
)
{
/var/www/www.miosito.it -> $(SEC_CRIT) ;
}
nel dettaglio, questa regola provvederà ad ogni check di inviare una mail a webmaster@miosito.it con tutti i file modificati di uno specifico sito.
un ultimo consiglio: vista la comprensibile sensibilità dei file di configurazione, è buona norma non tenere i file di configurazione plain text, ma di cancellarli ogni volta che si è conclusa la configurazione. per future modifiche possiamo sempre rigenerarli utilizzando i comandi:
twadmin –print-polfile
twadmin –print-cfgfile
daniele












