Logwatch: Installazione e configurazione

Logwatch è uno degli strumenti di log monitoring più interessanti fra quelli disponibili nel panorama opensource:
- E' modulare, permettendo customizzazione, adattamente ed estensioni;
- Si installa facilmente e su alcune distribuioni è operativo ed efficace senza alcuna necessità di configurazione post-installazione

La sua modalità di funzionamento non è in real-time: quando viene eseguito processa i log e invia una mail di report (di default a root), per cui si presta ad essere crontabbato, con tutte le limitazioni, in termini di sicurezza, del caso: se un intrusore fa in tempo a modificare i log e cancellare le sue tracce, LogWatch non si accorge di nulla. Si accorge però di tentativi di Intrusione, di attività sul sistema (anche legittime, di cui comunque è bene avere traccia) e di eventi anomali.

INSTALLAZIONE
Logwatch è composto fondamentalmente da script Perl e file di configurazione, non richiede ricompilazioni o adattamenti particolari a seconda della piattaforma, se non la configurazione sulla posizione e i nomi dei file di log.
Se si installa tramite RPM, LogWatch è immediatamente operativo e non richiede ulteriori interventi di configurazione. Installa i seguenti file:
[root@socrate /]# rpm -ql logwatch
/etc/cron.daily/00-logwatch E' un link simbolico a /etc/log.d/scripts/logwatch.pl, che di fatto è il programma vero e proprio, che quindi viene eseguito ogni giorno (comando logwatch senza particolari argomenti)
/etc/log.d La directory che contiene tutto "il mondo logwatch"
/etc/log.d/conf Directory che contiene i file di configurazione
/etc/log.d/conf/logfiles Directory che contiene le configurazioni per i singoli tipi di log
/etc/log.d/conf/logfiles/cron.conf [...]
/etc/log.d/conf/logwatch.conf File di configurazione generale, imposta tutti i parametri standard che vengono usati quando il comando logwatch viene lanciato senza argomenti
/etc/log.d/conf/services Directory che contiene le configurazioni per i tipi di servizi
/etc/log.d/conf/services/automount.conf [...]
/etc/log.d/logwatch Link al programma logwatch: /etc/log.d/scripts/logwatch.pl
/etc/log.d/logwatch.conf Link al file di configurazione: /etc/log.d/conf/logwatch.conf
/etc/log.d/scripts Directroy che contiene tutti i script Perl di logwatch e i suoi moduli
/etc/log.d/scripts/logfiles directory che contiene script per la gestione di file di log specifici
/etc/log.d/scripts/logfiles/samba [...]
/etc/log.d/scripts/logwatch.pl Il programma logwatch vero e proprio. Il fatto che esista il link /usr/sbin/logwatch fa in modo che possa essere evocato semplicemente scrivendo "logwatch"
/etc/log.d/scripts/services Directory con i filtri modulari per il parsing di specifici servizi
/etc/log.d/scripts/services/automount [...]
/etc/log.d/scripts/shared Directory che contiene i filtri comuni per tutti i servizi e tipi di log
/etc/log.d/scripts/shared/applystddate [...]
/usr/sbin/logwatch Link al programma logwatch: /etc/log.d/scripts/logwatch.pl
/usr/share/doc/logwatch-2.6 Directory con la Documentazione ufficiale
/usr/share/doc/logwatch-2.6/CHANGES [...]
/usr/share/man/man8/logwatch.8.gz Pagine del man di logwatch


Se si ha a disposizione il tar.gz di logwatch, l'installazione è ugualmente semplice:
- Scompattare il tarball;
- Copiare tutto il contenuto della directory creata in /etc/log.d (Se si cambia la directory di default, si deve cambiare la variabile $BaseDir all'inizio di logwatch.pl;
- Editare, se si vuole il file di configurazione generale logwatch.conf;
- Crontabbare, secondo la frequenza che si desidera, l'esecuzione di logwatch.pl (senza particolari argomenti).

CONFIGURAZIONE
Il file di configurazione generale /etc/log.d/logwatch.conf è piuttosto chiaro e prevede alcune opzioni interessanti, che possono essere sovrascritte dalla riga di comando. Seguono le impostazioni di default, che vanno bene in molti casi:
LogDir = /var/log Directory di default dove risiedono i log
MailTo = root A chi vengono inviate le mail di logwatch, può essere un utente locale o un normale indirizzo email
Print = No Se settato a Yes, l'output di logwatch viene visualizzato a schermo invece di essere inviato via mail
# Save = /tmp/logwatch Se impostato, l'output viene salvato sul file indicato invece di essere inviato via mail
# Archives = Yes Specifica se cercare anche nei file di log archiviati (anche gzippati) come /var/log/messages.1 o /var/log/messages.1.gz
Range = yesterday Indica su quale periodo fare l'analisi dei log: "All" analizza tutti i log (in questo caso si consiglia di impostare "Archives = Yes", "Yesterday" si riferisce ai log del giorno prima (utile quando si crontabba un esecuzione notturna), "Today" si riferisce alle righe di log relative al giorno corrente.
Detail = Low Livello di dettaglio dei report. Può essere "Low", "Med", "High"
Service = All Definisce per quali servizi verificare i log. Può essere "All" o uno o più servizi, da scrivere su più righe, come "pam_pwdb" e "ftpd-messages"
# LogFile = messages Specifica un singolo file di log da analizzare. Se "Service = All" vengono comunque analizzati tutti i log


UTILIZZO
La modalità di utilizzo tipica è l'esecuzione in crontab del semplice comando logwatch (su varie distribuzioni è un link simbolico /etc/log.d/scripts/logwatch.pl) che si basa sulle impostazioni generali nel file di configurazioni. Per test o controlli straordinari si possono comunque passare alcuni argomenti alla command line:

logwatch --print --detail High --archives --range All
Stampa a video (--print) invece che inviare via mail, con il massimo dettaglio (--detail High), includendo anche i log archiviati (--archives) tutti i messaggi di ogni data (--range All)

logwatch --save logwatch.txt --range Today
Salva sul file logwatch.txt (--save logwatch.txt) l'output relativo alla giornata corrente (--range Today), usando per gli altri paramentri le impostazioni definite nel file di configurazione.

Privacy Policy