Su alcuni dei miei server ho installato Squid3 insieme a SquidGuard. Questa necessità è nata dal fatto che ho realizzato un hotspot wi-fi. L’hotspot e la sua realizzazione sono un’altra storia che forse un giorno affronteremo. Quello che oggi però ci interessa è dare una risposta alla seguente domanda:
“Avendo Squid3 è SquidGuard funzionanti, devo per forza aggiornare manualmente i DB della mia blacklist?“
Risposta: “No, assolutamente possiamo automatizzare il processo e dimenticarcene 😉”
Ecco cosa ho fatto partendo da alcuni presupposti:
- Squid3 è attivo e funzionate;
- Squid3 grazie a SquidGuard blocca l’accesso ad alcuni generi di siti web;
- SquidGuard per compiere il suo lavoro usa le Shalla’s Blacklists.
Ora ogni settimana il mio server si collega, scarica le blacklist aggiornate e si preoccupa di fare l’update di SquidGuard! Tutto questo attraverso un semplice script da porre nella cartella /etc/cron.weekly della vostro server Debian. Utilizzate il vostro editor preferito copiate salvate il testo qui sotto e ricordate di dare i permessi di esecuzione (a+x) al file, mi raccomando!!!
#!/bin/sh
LISTS="COPYRIGHT global_usage adv aggressive drugs hacking gamble porn redirector sex spyware violence warez"
SGDIRDB=/var/lib/squidguard/db/shalla/
echo downloading blacklist...
cd /var/tmp/
rm -rf BL
#wget -nv http://ftp.ost.eltele.no/pub/www/proxy/squidGuard/contrib/blacklists.tar.gz~
wget -nv "http://www.shallalist.de/Downloads/shallalist.tar.gz"
tar -zxf shallalist.tar.gz
cd BL
find . -perm 750 -exec chmod 2750 {} ;
chown -R proxy:proxy *
for dir in $LISTS; do cp -arf $dir $SGDIRDB; done
echo Updating SquidGuard
update-squidguard
echo Cleaning temp directory
rm -rf /var/tmp/BL
rm -rf /var/tmp/shallalist.tar.gz
echo Finished.
Ecco alcune spiegazioni:
- La variabile $LISTS si occupa di identificare le categorie di domini e url da mettere in blacklist;
- la variabile $SGDIRDB identifica la directory dove squidGuard andrà a cercare i suoi DB;
- update-squidguard si occupa di aggiornare i DBs e ricaricare squidGuard.
…il resto dello script è davvero semplice e non credo occorra dare ulteriori chiarimenti.
Sono troppo ottimista?!