Monitoraggio attivo dei log con Swatch

By | Marzo 11, 2014

Come possiamo sfruttare la situazione di avere un syslog centralizzato per aumentare la sicurezza della nostra LAN? La risposta è quella di analizzare i messaggi in tempo reale man mano che questi arrivano al server, in modo da avere sotto controllo la situazione di ogni singolo computer. Ciò di cui abbiamo bisogno è quindi uno strumento che legga i file di log generati da Syslog-NG e in real-time segnali un evento ritenuto critico. Le risposte possibili ad una richiesta del genere potrebbero essere diverse, di diversa complessità architetturale. Un programma che potrebbe offrire una prima semplice soluzione, da lanciare fisicamente sulla console,è Swatch (Simpler Watcher),reperibile per tutte le piattaforme Unix-like.

 

 

apt-get install swatch

 

Questo software, realizzato in Peri, prende in input un file di testo (nel nostro caso un file di log) e tramite l’uso di espressioni regolari riesce ad estrapolare messaggi contenenti parole chiave precedentemente impostate o dei pattern di azioni ritenuti a rischio. Per impostare Swatch è sufficiente mettere mano al file di configurazione (di default in $HOME/.swatchrc, ma può essere specificato con l’opzione -c indicata a riga di comando) ed inserire le regole che ci interessano.

Un esempio potrebbe essere il seguente:

 

watchfor /sshd/
echo bold, red
bell 4
exec echo "WARNING!!\n Tentativo di connessione sul servizio SSH"

 

La configurazione è piuttosto semplice e si commenta da sola, anche se le opzioni possibili sono molte e vi consigliamo di dare uno sguardo al manuale. Preparato il file di configurazio­ne non rimane che avviare Swatch:

 

swatch  --tail-file /var/log/auth.log

Qui sotto l’output di verifica

swatch