3 581
contributi
Nessun oggetto della modifica |
m (spaziatura/box iniziale) |
||
(33 versioni intermedie di 7 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Old|Se si sta utilizzando Debian 6 (Squeeze) vedere la guida: [[Configurare un server Syslog su Debian Squeeze]]}} | ||
=Introduzione= | __TOC__ | ||
== Introduzione == | |||
In una serverfarm, ma anche in una piccola rete casalinga, può risultare molto utile riunire i log di tutte le macchine in un unico posto. Si possono in questo modo applicare funzioni di analisi, ricerca e statistica che, in un unico intervento, restituiranno lo stato di tutte le macchine della rete, e sarà inoltre possibile configurare un unico strumento per inviare messaggi di alert quando lo stato di una qualsiasi delle macchine monitorate subisce un'alterazione potenzialmente pericolosa.<br/> | In una serverfarm, ma anche in una piccola rete casalinga, può risultare molto utile riunire i log di tutte le macchine in un unico posto. Si possono in questo modo applicare funzioni di analisi, ricerca e statistica che, in un unico intervento, restituiranno lo stato di tutte le macchine della rete, e sarà inoltre possibile configurare un unico strumento per inviare messaggi di alert quando lo stato di una qualsiasi delle macchine monitorate subisce un'alterazione potenzialmente pericolosa.<br/> | ||
Debian, come è lecito aspettarsi, mette a disposizione degli ottimi strumenti per creare un server di log centralizzato. | Debian, come è lecito aspettarsi, mette a disposizione degli ottimi strumenti per creare un server di log centralizzato. | ||
=Installazione di Syslog-ng= | == Installazione di Syslog-ng == | ||
Il server syslog che prenderemo in considerazione sarà '''Syslog-NG'''. Pur non essendo installato di default su sistemi Debian, dove invece si può trovare syslogd, questo demone presenta diversi vantaggi: | Il server syslog che prenderemo in considerazione sarà '''Syslog-NG'''. Pur non essendo installato di default su sistemi Debian, dove invece si può trovare syslogd, questo demone presenta diversi vantaggi: | ||
# Le connessioni possono essere stabilite via TCP al posto di UDP | # Le connessioni possono essere stabilite via TCP al posto di UDP | ||
Riga 14: | Riga 15: | ||
# apt-get install syslog-ng | # apt-get install syslog-ng | ||
</pre> | </pre> | ||
L'installazione rimuoverà automaticamente il demone < | L'installazione rimuoverà automaticamente il demone <code>syslog</code> installato di default. | ||
=Configurazione del server Syslog= | == Configurazione del server Syslog == | ||
Il file di configurazione di syslog-ng è <code>'''/etc/syslog-ng/syslog-ng.conf'''</code>. Occorre aprirlo con un editor, decommentare la linea: | Il file di configurazione di syslog-ng è <code>'''/etc/syslog-ng/syslog-ng.conf'''</code>. Occorre aprirlo con un editor, decommentare la linea: | ||
<pre> | <pre> | ||
Riga 39: | Riga 40: | ||
</pre> | </pre> | ||
in modo da abilitare il demone a ricevere log da client remoti.<br/> | in modo da abilitare il demone a ricevere log da client remoti.<br/> | ||
In questa configurazione è stata presa in considerazione una semplice gestione dei log (di default salvati in < | In questa configurazione è stata presa in considerazione una semplice gestione dei log (di default salvati in <code>/var/log</code>), senza l'implementazione di un database di archiviazione. Si tenga comunque presente che le possibilità di gestione dei log sono molto più avanzate di quelle mostrate in questa guida. | ||
=Installazione di phpLogCon= | == Installazione di phpLogCon == | ||
Per facilitare la lettura e la gestione dei log è uso comune ricorrere a interfacce grafiche. Su server senza l'ambiente grafico X installato potrebbe essere comodo ricorrere a un'interfaccia scritta in PHP. La scelta in questa guida è caduta su '''phpLogCon''' (http://www.phplogcon.org/), che a mio avviso rappresenta un ottimo compromesso tra funzionalità e facilità di installazione/gestione. | {{Box | Nota |phpLogCon ha attualmente cambiato nome in LogAnalyzer. Il nuovo software è trattato nel capitolo successivo}} | ||
Per facilitare la lettura e la gestione dei log è uso comune ricorrere a interfacce grafiche. Su server senza l'ambiente grafico X installato potrebbe essere comodo ricorrere a un'interfaccia scritta in PHP. La scelta in questa guida è caduta su '''phpLogCon''' (http://www.phplogcon.org/), che a mio avviso rappresenta un ottimo compromesso tra funzionalità e facilità di installazione/gestione.<br/> | |||
Prima di installare phpLogCon è necessario installare e configurare un ambiente LAMP, seguendo ad esempio le indicazioni riportare in questa guida: [[LAMP: Linux, Apache, MySQL e PHP]].<br/> | Prima di installare phpLogCon è necessario installare e configurare un ambiente LAMP, seguendo ad esempio le indicazioni riportare in questa guida: [[LAMP: Linux, Apache, MySQL e PHP]].<br/> | ||
Una volta terminata la configurazione dell'ambiente LAMP si può procedere all'installazione di phpLogCon. Si scarichi innanzitutto la versione più aggiornata dal sito ufficiale: http://www.phplogcon.org/downloads.<br/> | Una volta terminata la configurazione dell'ambiente LAMP si può procedere all'installazione di phpLogCon. Si scarichi innanzitutto la versione più aggiornata dal sito ufficiale: http://www.phplogcon.org/downloads.<br/> | ||
Quindi si scompatti l'archivio appena scaricato e si copi la directory < | Quindi si scompatti l'archivio appena scaricato e si copi la directory <code>src</code> all'interno del nostro server Apache: | ||
<pre> | <pre> | ||
# tar -xzvf phplogcon-2.3.11.tar.gz | # tar -xzvf phplogcon-2.3.11.tar.gz | ||
Riga 52: | Riga 54: | ||
# mv /var/www/src /var/www/phplogcon | # mv /var/www/src /var/www/phplogcon | ||
</pre> | </pre> | ||
Prima di continuare con l'installazione di phpLogCon occorre rendere rendere leggibili a phpLogCon i files di log syslog. | Prima di continuare con l'installazione di phpLogCon occorre rendere rendere leggibili a phpLogCon i files di log syslog.<br/> | ||
Creiamo innanzitutto un nuovo gruppo e aggiungiamo l'utente www-data a questo gruppo: | Creiamo innanzitutto un nuovo gruppo e aggiungiamo l'utente <code>www-data</code> a questo gruppo: | ||
<pre> | <pre> | ||
# groupadd | # groupadd adm | ||
# usermod -a -G | # usermod -a -G adm www-data | ||
</pre> | </pre> | ||
Verifichiamo quindi la buona riuscita dei comandi: | Verifichiamo quindi la buona riuscita dei comandi: | ||
Riga 62: | Riga 64: | ||
groups www-data | groups www-data | ||
</pre> | </pre> | ||
Ora copiamo i due file < | Ora copiamo i due file <code>configure.sh</code> e <code>secure.sh</code> dalla directory <code>contrib</code> all'interno del nostro server Apache, rendiamoli eseguibili e lanciamo gli script: | ||
<pre> | <pre> | ||
# cd | # cd | ||
Riga 71: | Riga 73: | ||
# ./configure.sh | # ./configure.sh | ||
</pre> | </pre> | ||
Infine colleghiamoci alla pagina < | Infine colleghiamoci alla pagina <code>http://127.0.0.1/phplogcon</code> e completiamo il processo di installazione e configurazione di phplogcon.<br/> | ||
Ora apriamo con un editor il file <code>'''/etc/logrotate.conf'''</code> e cerchiamo la voce < | Ora apriamo con un editor il file <code>'''/etc/logrotate.conf'''</code> e cerchiamo la voce <code>create</code>, modificandola in: | ||
<pre> | <pre> | ||
create 640 root | create 640 root adm | ||
</pre> | </pre> | ||
Modifichiamo infine anche il file <code>'''/etc/logrotate.d/syslog-ng'''</code>, cercando la sezione relativa a syslog e modificandola come segue: | Modifichiamo infine anche il file <code>'''/etc/logrotate.d/syslog-ng'''</code>, cercando la sezione relativa a syslog e modificandola come segue: | ||
Riga 82: | Riga 84: | ||
daily | daily | ||
compress | compress | ||
create 640 root | create 640 root adm | ||
postrotate | postrotate | ||
/etc/init.d/syslog-ng reload >/dev/null | /etc/init.d/syslog-ng reload >/dev/null | ||
Riga 88: | Riga 90: | ||
} | } | ||
</pre> | </pre> | ||
In questo modo la prossima volta che logrotate verrà eseguito i log diventeranno leggibili di default anche per il nostro webserver. Per visualizzarli basterà collegarsi alla pagina < | In questo modo la prossima volta che [[logrotate]] verrà eseguito i log diventeranno leggibili di default anche per il nostro webserver. Per visualizzarli basterà collegarsi alla pagina <code>http://127.0.0.1/phplogcon</code>. | ||
=Installazione di Splunk= | |||
== Installazione di LogAnalyzer 3.x == | |||
Il successore di phpLogCon si chiama Adiscon LogAnalyzer e, come il suo predecessore, è scritto in PHP ed è liberamente scaricabile dal sito del progetto: http://loganalyzer.adiscon.com/ .<br/> | |||
La sua installazione procede essenzialmente in maniera identica a quella di phpLogCon, ma in questo paragrafo esamineremo anche l'utilizzo di un database MySQL di appoggio. Prima di installare LogAnalyzer è necessario installare e configurare un ambiente LAMP, seguendo ad esempio le indicazioni riportare in questa guida: [[LAMP: Linux, Apache, MySQL e PHP]].<br/> | |||
Una volta terminata la configurazione dell'ambiente LAMP si può procedere all'installazione di LogAnalyzer. Si scarichi innanzitutto la versione più aggiornata dal sito ufficiale: http://www.loganalyzer.adiscon.com/downloads.<br/> | |||
Quindi si scompatti l'archivio appena scaricato e si copi la directory <code>src</code> all'interno del nostro server Apache: | |||
<pre> | |||
# tar -xzvf loganalyzer-3.0.1.tar.gz | |||
# cd loganalyzer-3.0.1 | |||
# mv src /var/www/ | |||
# mv /var/www/src /var/www/loganalyzer | |||
</pre> | |||
Prima di continuare con l'installazione di LogAnalyzer occorre rendere leggibili a LogAnalyzer i files di log syslog.<br/> | |||
Creiamo innanzitutto un nuovo gruppo e aggiungiamo l'utente <code>www-data</code> a questo gruppo: | |||
<pre> | |||
# groupadd adm | |||
# usermod -a -G adm www-data | |||
</pre> | |||
Verifichiamo quindi la buona riuscita dei comandi: | |||
<pre> | |||
groups www-data | |||
</pre> | |||
Ora copiamo i due file <code>configure.sh</code> e <code>secure.sh</code> dalla directory <code>contrib</code> all'interno del nostro server Apache, rendiamoli eseguibili e lanciamo gli script: | |||
<pre> | |||
# cd | |||
# mv loganalyzer-3.0.1/contrib/configure.sh /var/www/phplogcon | |||
# mv loganalyzer-3.0.1/contrib/secure.sh /var/www/phplogcon | |||
# cd /var/www/loganalyzer | |||
# chmod +x configure.sh secure.sh | |||
# ./configure.sh | |||
</pre> | |||
Inoltre dobbiamo configurare un nuovo database MySQL. Apriamo quindi l'interfaccia phpMyAdmin che abbiamo installato seguendo la guida apposita, facciamo login con le credenziali configurate e creiamo un nuovo database, chiamandolo <code>loganalyzer</code>.<br/> | |||
Infine colleghiamoci alla pagina <code>http://127.0.0.1/loganalyzer</code> e completiamo il processo di installazione e configurazione di loganalyzer. Quando arriviamo alla pagina di configurazione del supporto database inseriamo il nome del database che abbiamo appena creato (<code>loganalyzer</code> e il nome utente e la password del nostro utente MySQL).<br/> | |||
Ora apriamo con un editor il file <code>'''/etc/logrotate.conf'''</code> e cerchiamo la voce <code>create</code>, modificandola in: | |||
<pre> | |||
create 640 root adm | |||
</pre> | |||
Modifichiamo infine anche il file <code>'''/etc/logrotate.d/syslog-ng'''</code>, cercando la sezione relativa a syslog e modificandola come segue: | |||
<pre> | |||
/var/log/syslog { | |||
rotate 7 | |||
daily | |||
compress | |||
create 640 root adm | |||
postrotate | |||
/etc/init.d/syslog-ng reload >/dev/null | |||
endscript | |||
} | |||
</pre> | |||
In questo modo la prossima volta che logrotate verrà eseguito i log diventeranno leggibili di default anche per il nostro webserver. Per visualizzarli basterà collegarsi alla pagina <code>http://127.0.0.1/loganalyzer</code>. | |||
LogAnalyzer permette di configurare più sorgenti log, nel caso volessimo tener monitorati, oltre al file syslog, anche altri file di log. Per aggiungere sorgenti log è sufficiente aprire il file di configurazione: | |||
<pre> | |||
# nano /var/www/loganalyzer/config.php | |||
</pre> | |||
e spostarci alla fine del file. Lì troveremo configurata la prima sorgente log (Syslog) ma potremo aggiungerne altre. Ad esempio possiamo controllare gli accessi al nostro server creando la seguente sorgente: | |||
<pre> | |||
$CFG['DefaultSourceID'] = 'Source2'; | |||
$CFG['Sources']['Source2']['ID'] = 'Source2'; | |||
$CFG['Sources']['Source2']['Name'] = 'Auth Log Server'; | |||
$CFG['Sources']['Source2']['ViewID'] = 'AUTHLOG'; | |||
$CFG['Sources']['Source2']['SourceType'] = SOURCE_DISK; | |||
$CFG['Sources']['Source2']['LogLineType'] = 'auth.log'; | |||
$CFG['Sources']['Source2']['DiskFile'] = '/var/log/auth.log'; | |||
</pre> | |||
Non c'è limite alle sorgenti log che possono essere configurate. | |||
== Installazione di Splunk == | |||
Un'interfaccia alternativa molto potente è Splunk (http://www.splunk.com/).<br> | Un'interfaccia alternativa molto potente è Splunk (http://www.splunk.com/).<br> | ||
Per scaricare il pacchetto '''.deb''' che viene messo a disposizione (uno per architetture x86 e uno per architetture amd64) occorre effettuare la registrazione gratuita sul sito. Splunk non è opensource, ma è disponibile una versione Free, la cui limitazione è che può processare solo 500 MB di Log al giorno. Durante la configurazione di Splunk sarà possibile scegliere se utilizzare una versione Enterprise di prova o se utilizzare la versione Free.<br> | Per scaricare il pacchetto '''.deb''' che viene messo a disposizione (uno per architetture x86 e uno per architetture amd64) occorre effettuare la registrazione gratuita sul sito. Splunk '''non è opensource''', ma è disponibile una versione Free, la cui limitazione è che può processare solo 500 MB di Log al giorno. Durante la configurazione di Splunk sarà possibile scegliere se utilizzare una versione Enterprise di prova o se utilizzare la versione Free.<br> | ||
Per installare Splunk, dopo aver scaricato il pacchetto .deb per la nostra architettura spostiamoci nella directory di download e diamo i comandi: | Per installare Splunk, dopo aver scaricato il pacchetto .deb per la nostra architettura spostiamoci nella directory di download e diamo i comandi: | ||
<pre> | <pre> | ||
apt-get update | # apt-get update | ||
apt-get install libstdc++6 | # apt-get install libstdc++6 | ||
dpkg -i splunk_package_name.deb | # dpkg -i splunk_package_name.deb | ||
</pre> | </pre> | ||
dove < | dove <code>package_name</code> corrisponde al numero di versione del pacchetto scaricato.<br> | ||
Per avviare Splunk per la prima volta diamo il comando: | Per avviare Splunk per la prima volta diamo il comando: | ||
<pre> | <pre> | ||
/opt/splunk/bin/splunk start --accept-license | # /opt/splunk/bin/splunk start --accept-license | ||
</pre> | </pre> | ||
(potete trovare il testo della licenza qui: < | (potete trovare il testo della licenza qui: <code>/opt/splunk/license-eula.txt</code>).<br> | ||
Una volta terminata l'installazione dirigiamoci all'interfaccia web di Splunk: | Una volta terminata l'installazione dirigiamoci all'interfaccia web di Splunk: | ||
<pre> | <pre> | ||
Riga 113: | Riga 182: | ||
[http://www.splunk.com/support Qui] trovate tutta la documentazione per utilizzare al meglio questo potente software per l'analisi dei log. | [http://www.splunk.com/support Qui] trovate tutta la documentazione per utilizzare al meglio questo potente software per l'analisi dei log. | ||
=Configurazione di logrotate= | == Configurazione di logrotate == | ||
L'utility '''logrotate''' è pensata per semplificare l'amministrazione dei file di log. Logrotate permette la rotazione automatica, la compressione, l'eliminazione e l'invio per mail dei file di log; può inoltre essere impostato per l'esecuzione giornaliera, settimanale, mensile o quando i log raggiungono una certa dimensione predefinita.<br/> | L'utility '''logrotate''' è pensata per semplificare l'amministrazione dei file di log. Logrotate permette la rotazione automatica, la compressione, l'eliminazione e l'invio per mail dei file di log; può inoltre essere impostato per l'esecuzione giornaliera, settimanale, mensile o quando i log raggiungono una certa dimensione predefinita.<br/> | ||
Per installare logrotate su Debian: | Per installare logrotate su Debian: | ||
Riga 119: | Riga 188: | ||
# apt-get install logrotate | # apt-get install logrotate | ||
</pre> | </pre> | ||
==<code>/etc/logrotate.conf</code>== | === <code>/etc/logrotate.conf</code> === | ||
Attraverso il file di configurazione di logrotate è possibile definire il comportamento dell'applicazione in due contesti: a livello globale (nella prima parte del file) e a livello locale dove le regole ridefinite prevalgono su quelle globali. Per ogni file di cui si vuole effettuare la rotazione è necessario indicarne il percorso, al quale seguono tra parentesi graffe le direttive di gestione. | Attraverso il file di configurazione di logrotate è possibile definire il comportamento dell'applicazione in due contesti: a livello globale (nella prima parte del file) e a livello locale dove le regole ridefinite prevalgono su quelle globali. Per ogni file di cui si vuole effettuare la rotazione è necessario indicarne il percorso, al quale seguono tra parentesi graffe le direttive di gestione. | ||
<br> | <br> | ||
Tra le direttive più utili: | Tra le direttive più utili: | ||
* '''Criteri di rotazione''' | * '''Criteri di rotazione''' | ||
** < | ** <code>daily</code>: rotazione su base giornaliera; | ||
** < | ** <code>weekly</code>: rotazione su base settimanale; | ||
** < | ** <code>monthly</code>: rotazione su base mensile; | ||
** < | ** <code>size <dimensione></code>: rotazione in base alla dimensione; | ||
** < | ** <code>notifempty</code>: non esegue la rotazione se il file è vuoto; | ||
** < | ** <code>rotate nn</code>: conserva i file di log per <code>nn</code> rotazioni; | ||
* '''Compressione''' | * '''Compressione''' | ||
** < | ** <code>compress</code>: una volta archiviato il file di log, viene compresso tramite gzip; | ||
** < | ** <code>compresscmd</code>: indica il programma da utilizzare al posto di gzip; | ||
* '''Gestione File''' | * '''Gestione File''' | ||
** < | ** <code>create <mode> <owner> <group></code>: immediatamente dopo la rotazione viene creato un nuovo file con il nome identico al precedente. È possibile specificare, modalità di accesso, proprietario e gruppo; | ||
** < | ** <code>copy</code>: crea una copia del file di log e non modifica l'originale che non viene mai rimosso; | ||
** < | ** <code>copytruncate</code>: utilizzata nel caso in cui non sia possibile chiudere il file di log. Viene archiviata parte del file di log mentre ne viene eseguita una copia; | ||
** < | ** <code>olddir <directory></code>: i file di log vengono spostati nella directory indicata prima di eseguire la rotazione; | ||
* '''Configurazione''' | * '''Configurazione''' | ||
** < | ** <code>include <file o directory></code>: legge il file oppure tutti i file della directory indicata ed applica le direttive incontrate all'interno di essi. È possibile trovare include <code>/etc/logrotate.d</code> in quanto alcuni pacchetti installano le proprie istruzioni in questa directory; | ||
* '''Operazioni Pre-log e Post-log''' | * '''Operazioni Pre-log e Post-log''' | ||
** < | ** <code>postrotate endscript</code>: tramite questo blocco di direttive è possibile eseguire delle operazioni in seguito alla rotazione; | ||
** < | ** <code>prerotate endscript</code>: tramite questo blocco di direttive è possibile eseguire delle operazioni prima che avvenga la rotazione e solo se questa avrà luogo. | ||
A titolo di esempio possiamo osservare la directory del web server Apache2 su un sistema in cui logrotate è in funzione, < | A titolo di esempio possiamo osservare la directory del web server Apache2 su un sistema in cui logrotate è in funzione, <code>/var/log/apache2</code> | ||
<pre> | <pre> | ||
root@test:~# ls -1 /var/log/apache2/ | root@test:~# ls -1 /var/log/apache2/ | ||
Riga 160: | Riga 229: | ||
</pre> | </pre> | ||
Si possono notare i file di log attualmente in uso (<code>'''access.log'''</code> e <code>'''error.log'''</code>), i file di log del giorno precedente (<code>'''access.log.1'''</code> e <code>'''error.log.1'''</code>) e i file dei giorni ancora precedenti, che di default vengono compressi e conservati per cinque settimane. | Si possono notare i file di log attualmente in uso (<code>'''access.log'''</code> e <code>'''error.log'''</code>), i file di log del giorno precedente (<code>'''access.log.1'''</code> e <code>'''error.log.1'''</code>) e i file dei giorni ancora precedenti, che di default vengono compressi e conservati per cinque settimane. | ||
Logrotate può essere schedulato utilizzando | Logrotate può essere schedulato utilizzando [[cron]]. La directory <code>'''/etc/cron.daily'''</code> contiene infatti gli script che vengono eseguiti automaticamente ogni giorno dal sistema. Qui si può trovare lo script di logrotate. Ogni giorno questo script, al momento dell'esecuzione, esamina due cose: | ||
# il file di configurazione < | # il file di configurazione <code>/etc/logrotate.conf</code> | ||
# la directory di configurazione < | # la directory di configurazione <code>/etc/logrotate.d</code> | ||
Questa directory contiene i file di | Questa directory contiene i file di configurazione per i servizi installati sul server. Per esempio sul server esaminato in precedenza troveremo il file <code>/etc/logrotate.d/apache2</code>.<br/> | ||
Un tipico file di configurazione di logrotate è simile a questo: | Un tipico file di configurazione di logrotate è simile a questo: | ||
<pre> | <pre> | ||
Riga 183: | Riga 252: | ||
</pre> | </pre> | ||
Analizziamolo nel dettaglio: | Analizziamolo nel dettaglio: | ||
# < | # <code>/var/log/apache2/*.log</code>: indica i file che vengono interessati dal processo; | ||
# < | # <code>weekly</code>: i file sono ruotati ogni settimana. Alternativa: <code>daily</code>; | ||
# < | # <code>rotate nn</code>: saranno conservati non più di <code>nn</code> file; | ||
# < | # <code>compress</code>: i file saranno compressi con gzip. Alternativa: <code>nocompress</code>; | ||
# < | # <code>delaycompress</code>: non comprime i log del giorno prima; | ||
# < | # <code>notifempty</code>: non esegue la rotazione se il file è vuoto. Alternativa: <code>ifempty</code>; | ||
# < | # <code>create xx user group</code>: imposta proprietario, gruppo e permessi per i nuovi file creati; | ||
# < | # <code>sharedscripts</code>: esegue ogni script di prerotate o postrotate su ogni file. Alternativa: <code>nosharedscripts</code>; | ||
# < | # <code>postrotate + endscript</code>: ogni cosa tra queste due voci viene eseguita dopo il processo di rotazione. Alternativa: <code>prerotate</code>. | ||
Se avete necessità di conservare per più tempo i log ruotati potete aumentare il valore dell'opzione < | Se avete necessità di conservare per più tempo i log ruotati potete aumentare il valore dell'opzione <code>rotate</code>, oppure crearvi uno script che vi faccia il backup dei vecchi log in un'altra directory (in questo modo non rischiate che la directory <code>/var/log/</code> cresca troppo in dimensione). | ||
=Programmi utili= | == Programmi utili == | ||
Per gli amanti delle e-mail si segnala l'esistenza del pacchetto '''logwatch''', uno script in | Per gli amanti delle e-mail si segnala l'esistenza del pacchetto '''logwatch''', uno script in Perl che ogni giorno raccoglie gli eventi dei log e li invia all'utente root del sistema (o all'utente specificato in <code>/etc/aliases</code>). | ||
<pre> | <pre> | ||
# apt-get install logwatch | # apt-get install logwatch | ||
</pre> | </pre> | ||
Se desiderate ricevere le email di logwatch anche su un indirizzo di posta elettronico esterno al sistema da monitorare, modificate il file < | Se desiderate ricevere le email di logwatch anche su un indirizzo di posta elettronico esterno al sistema da monitorare, modificate il file <code>/etc/aliases</code> come segue: | ||
<pre> | <pre> | ||
vostro_utente: vostro_utente indirizzo_esterno@pippo.com | vostro_utente: vostro_utente indirizzo_esterno@pippo.com | ||
Riga 205: | Riga 274: | ||
Non dimenticate, alla fine delle modifiche, di lanciare il comando: | Non dimenticate, alla fine delle modifiche, di lanciare il comando: | ||
<pre> | <pre> | ||
newaliases | # newaliases | ||
</pre> | </pre> | ||
Se invece amate avere sott'occhio i log in un terminale, potreste trovare utile il pacchetto '''ccze''', che altro non è che un coloratore di log molto comodo. Per installarlo: | Se invece amate avere sott'occhio i log in un terminale, potreste trovare utile il pacchetto '''ccze''', che altro non è che un coloratore di log molto comodo. Per installarlo: | ||
Riga 216: | Riga 285: | ||
</pre> | </pre> | ||
=Configurazione dei client della rete= | == Configurazione dei client della rete == | ||
==Client Linux== | === Client Linux === | ||
Per forwardare i log di una macchina | Per forwardare i log di una macchina Linux verso un server Syslog possono essere usati sia syslog sia syslog-ng. | ||
===1 - Syslog=== | ==== 1 - Syslog ==== | ||
Si apra il file <code>'''/etc/syslogd.conf'''</code>. La sintassi utilizzata in questo file è molto semplice: | Si apra il file <code>'''/etc/syslogd.conf'''</code>. La sintassi utilizzata in questo file è molto semplice: | ||
<pre> | <pre> | ||
Riga 229: | Riga 298: | ||
kern.alert @10.2.5.8 # Gli alert del kernel sono forwardati a 10.2.5.8 | kern.alert @10.2.5.8 # Gli alert del kernel sono forwardati a 10.2.5.8 | ||
</pre> | </pre> | ||
Ricordarsi di riavviare il demone | Ricordarsi di riavviare il demone affinché prenda in considerazione le modifiche: | ||
<pre> | <pre> | ||
# etc/init.d/sysklogd restart | # etc/init.d/sysklogd restart | ||
</pre> | </pre> | ||
===2 - Syslog-NG=== | ==== 2 - Syslog-NG ==== | ||
La configurazione di un client syslog-ng è leggermente più complicata, ma offre più opzioni di personalizzazione.<br/> | La configurazione di un client syslog-ng è leggermente più complicata, ma offre più opzioni di personalizzazione.<br/> | ||
Iniziamo con installare il demone sul client: | Iniziamo con installare il demone sul client: | ||
Riga 248: | Riga 317: | ||
destination(destination_name); | destination(destination_name); | ||
}; | }; | ||
</pre> | </pre> | ||
Vediamo alcuni esempi. | Vediamo alcuni esempi. | ||
* Tutti i log sono inviati a un server syslog all'indirizzo 10.13.44.44: | |||
<pre> | <pre> | ||
source s_all { | source s_all { | ||
Riga 267: | Riga 336: | ||
}; | }; | ||
</pre> | </pre> | ||
* Viene utilizzato un filtro per inviare al syslog server solo i messaggi di livello '''alert''' e '''error''' generati da '''kernel facility'''. Come si può notare, per l'invio dei log viene utilizzato questa volta il protocollo TCP: | |||
<pre> | <pre> | ||
source s_all { | source s_all { | ||
Riga 276: | Riga 345: | ||
}; | }; | ||
filter filter1 { level(notice, alert, | filter filter1 { level(notice, alert, error) and facility(kern); }; | ||
destination d1 { tcp("10.15.61.1" port (54321)); }; | destination d1 { tcp("10.15.61.1" port (54321)); }; | ||
Riga 287: | Riga 356: | ||
}; | }; | ||
</pre> | </pre> | ||
Affinché tutto funzioni non dobbiamo dimenticarci di istruire il server syslog affinché si ponga in ascolto anche sulla porta TCP specificata.<br/> | |||
Modifichiamo perciò il file di configurazione del server, <code>'''/etc/syslog-ng/syslog-ng.conf'''</code>: | |||
<pre> | <pre> | ||
source s_all { | source s_all { | ||
Riga 297: | Riga 367: | ||
}; | }; | ||
</pre> | </pre> | ||
==Client Windows== | === Client Windows === | ||
L'incapacità di Windows di mantenere e gestire i log in maniera semplice e unificata è notoria. Di default i log si sfogliano dall'interno del '''Visualizzatore Eventi''' (Pannello di Controllo - Strumenti di Amministrazione - Visualizzatore Eventi).<br/> | L'incapacità di Windows di mantenere e gestire i log in maniera semplice e unificata è notoria. Di default i log si sfogliano dall'interno del '''Visualizzatore Eventi''' (Pannello di Controllo - Strumenti di Amministrazione - Visualizzatore Eventi).<br/> | ||
Sfortunatamente ci sono due inconvenienti: | Sfortunatamente ci sono due inconvenienti: | ||
Riga 306: | Riga 376: | ||
# Snare Agent, scaricabile da http://www.intersectalliance.com/projects/SnareWindows/index.html | # Snare Agent, scaricabile da http://www.intersectalliance.com/projects/SnareWindows/index.html | ||
# NTSyslog, scaricabile da http://ntsyslog.sourceforge.net/ | # NTSyslog, scaricabile da http://ntsyslog.sourceforge.net/ | ||
Entrambi i tool sono facilmente configurabili. | Entrambi i tool sono facilmente configurabili.<br/> | ||
Consiglio anche di aumentare la dimensione massima dei file di log di Windows, di default troppo bassa, e di agire su '''Criteri di Protezione Locali''' per abilitare un criterio di auditing un po' più efficace di quello attivo nella configurazione di default. | Consiglio anche di aumentare la dimensione massima dei file di log di Windows, di default troppo bassa, e di agire su '''Criteri di Protezione Locali''' per abilitare un criterio di auditing un po' più efficace di quello attivo nella configurazione di default. | ||
{{Autori | |||
|Autore = [[Utente:Ferdybassi|Ferdybassi]] | |||
}} | |||
contributi