12/03/2012
Proxy Squid e Calamaris
Consentire agli utenti della propria LAN l'accesso ai siti Web mediante Proxy è ormai una prassi. Analizzare i relativi file di log, però, risulta essere un'operazione piuttosto tediosa, indi per cui è molto conveniente utilizzare dei software in grado di generare i report degli accessi in modo automatico.
Se il proxy che avete tirato su è Squid e non implementate meccanismi di autentica (ad esempio NTLM), potete usare Calamaris come generatore di report.
L'installazione e la configurazione di tale applicativo è piuttosto semplice. Infatti, per installarlo basta digitare:
nightfly@nightbox:~$ sudo apt-get install calamaris
Ad installazione completata possiamo passare alla configurazione. Per prima cosa creiamo la directory calamaris in /var/www:
nightfly@nightbox:~$ sudo mkdir -p /var/www/calamaris
e le sottodirectory daily, weekly e monthly, in cui andranno salvati rispettivamente i report giornalieri, settimanali e mensili:
nightfly@nightbox:~$ sudo mkdir -p /var/www/calamaris/daily
nightfly@nightbox:~$ sudo mkdir -p /var/www/calamaris/weekly
nightfly@nightbox:~$ sudo mkdir -p /var/www/calamaris/monthly
assegniamo i giusti permessi alle directory appena create:
nightfly@nightbox:~$ cd /var/www
nightfly@nightbox:/var/www$ sudo chown nomeutente:nomeutente -R calamaris
A questo punto possiamo creare il primo report, digitando:
nightfly@nightbox:/var/www$ sudo calamaris -a -F html /var/log/squid/access.log > /var/www/calamaris/index.html
Il report sarà visualizzabile mediante browser alla seguente URL:
http://vostroippubblico/calamaris
Per consentire solo ad uno specifico utente la visualizzazione del report occorre creare un file .htaccess recante le seguenti direttive:
AuthName "Sezione riservata Calamaris"
AuthType Basic
AuthUserFile /etc/apache2/passwd
Require user <nome utente>
ovviamente il nome utente deve essere presente nel file /etc/apache2/passwd (in cui viene fatta l'associazione tra l'utente stesso ed il digest della sua password)
Infine, modifichiamo il file /etc/apache2/apache2.conf in questo modo:
<Directory /var/www/calamaris>
AllowOverride AuthConfig
</Directory>
Salviamo il tutto e riavviamo apache:
nightfly@nightbox:~$ sudo service apache2 restart
Per ricevere i report direttamente via email (oltre ad ottenere il loro salvataggio nelle dir precedentemente create), possiamo modificare come segue il file cron.conf posizionato in /etc/calamaris:
daily:vostro.indirizzo@email.it:/var/www/calamaris/daily/index.html:both:'Squid giornaliero'
weekly:vostro.indirizzo@email.it:/var/www/calamaris/weekly/index.html:both:'Squid settimanale'
monthly:vostro.indirizzo@email.it:/var/www/calamaris/monthly/index.html:both:'Squid mensile'
Inoltre, sarà necessario abilitare la cache di squid (se non l'avete ancora fatto), decommentando la direttiva cache_dir presente nel file /etc/squid/squid.conf.
Done, enjoy!
08:58 Scritto da: nazarenolatella in Sicurezza | Link permanente | Commenti (0) | Segnala | Tag: squid, report, log, access.log, calamaris, html, debian | OKNOtizie |
Facebook
16/01/2012
Logwatch: analisi automatica dei log file di sistema
Ottenere dei report giornalieri che tengano conto degli "eventi" che hanno interessato i nostri server è certamente una comodità. Infatti, grazie ad essi, non è più necessario analizzare singolarmente i file di log relativi alle diverse applicazioni attive sulle nostre macchine, ma basta una rapida occhiata per accorgersi di eventuali anomalie.
Un'applicazione che riesce a generare una reportistica di questo tipo, a partire dai vari file di log, prende il nome di logwatch. In particolare, trattasi di un semplice script perl, la cui installazione è a dir poco banale e la cui configurazione è piuttosto immediata.
Per installarlo sulla nostra Linux box Debian basta digitare il comando:
nightfly@nightbox:~$ sudo apt-get install logwatch
Ad installazione completata possiamo dedicarci alla configurazione di questo comodo e potente applicativo.
Per fare ciò occorre editare il file /usr/share/logwatch/default.conf/logwatch.conf:
nightfly@nightbox:~$ sudo nano /usr/share/logwatch/default.conf/logwatch.conf
Il nostro intento è quello di ottenere dei report da inviare alla nostra mailbox, la cui formattazione dovrà essere realizzata mediante il linguaggio di markup HTML:
Output = mail
Format = html
MailTo = vostro.indirizzo@email.it
In questo modo, ogniqualvolta digiteremo il comando logwatch da CLI, tale software provvederà ad inviarci il report desiderato.
Per automatizzare tale procedura, è sufficiente posizionarsi nella directory /etc/cron.daily/ per poi modificare il file 00logwatch, il cui contenuto dovrà essere:
#!/bin/bash
#Check if removed-but-not-purged
test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0
#execute
/usr/sbin/logwatch --mailto vostro.indirizzo@email.it
Salviamo il file appena modificato ed abbiamo finito.
Siamo ora pronti a ricevere dei report giornalieri relativi allo stato dei servizi attivi sui nostri server.
A presto.
12:01 Scritto da: nazarenolatella in SO: Linux | Link permanente | Commenti (0) | Segnala | Tag: logwatch, log, log analysis, report, cron | OKNOtizie |
Facebook
12/12/2011
Script bash per l'aggiornamento delle blacklist utilizzate da squidGuard: versione 0.2
In questo post ho riportato l'esempio di uno script che si occupa dell'aggiornamento relativo alle blacklist utilizzate da squidGuard. Tale script è stato ulteriormente migliorato, in modo da riportare informazioni più dettagliate all'interno dell'email che vi verrà inviata dopo l'update.
Ecco il codice:
#!/bin/bash
logfile=/var/log/squidguardupdate.log
destinatario=vostro.indirizzo@email.it
ROOT_UID=0
if [ "$UID" -ne "$ROOT_UID" ];then
ERRORE1="Errore 1: Devi essere root per eseguire lo script"
echo $ERRORE1
echo "$(date) $ERRORE1" >> $logfile
exit 1
fi
wget http://squidguard.mesd.k12.or.us/blacklists.tgz
tar -xvf blacklists.tgz
cd blacklists/
cp -R * /var/lib/squidguard/db
cd /home/vostrousername/cartelladelloscript
squidGuard -d -C all &> result
chown proxy:proxy -R /var/lib/squidguard/db
squid -k reconfigure
sleep 5
ps aux | grep squidGuard >> result
if grep -q "squidGuard" result ;then
echo "Update Riuscito" >> result
else
echo "Update Non Riuscito" >> result
fi
rm blacklists.tgz
cat result | mail -iv -s "HOME: Le blacklist di squidGuard sono state aggiornate correttamente" $destinatario;
rm result
exit 0
Nella fattispecie, ho fatto in modo che successivamente all'aggiornamento delle blacklist venisse controllato lo stato di esecuzione di squidGuard, semplicemente lanciando un ps aux | grep squidGuard.
L'output di questo comando verrà inserito all'interno dell'email e se squidGuard è effettivamente presente tra i processi in esecuzione, sarà aggiunta la dicitura Update Riuscito.
Fatene buon uso.
A presto.
10:00 Scritto da: nazarenolatella in SO: Linux | Link permanente | Commenti (0) | Segnala | Tag: squid, squidguard, blacklists update, mail, report | OKNOtizie |
Facebook

















