Filtraggio di pagine web con squidguard
| Attenzione questo articolo è ancora incompleto. Sentiti libero di contribuire cliccando sul tasto edit. |
DA AGGIORNARE PER DEBIAN SQUEEZE
Installazione pacchetti
Installare i pacchetti
sudo apt-get install squidguard chastity-list
Configurazione di squidguard
Apportare le seguenti modifiche al file /etc/squid/squidGuard.conf.
Settare il percorso per usare il database di chastity:
dbhome /var/lib/chastity
Definire i gruppi di utenti:
#
# SOURCE ADDRESSES:
#
src admin {
user administrator Administrator gabriele.vivinetto
}
src powerusers {
user storemanager Storemanager STOREMANAGER
}
src recordservice {
ip 192.168.16.51
}
src guests {
user sky agos findomestic
}
Abilitare tutte le liste fornite con il pacchetto chastity-list
#
# DESTINATION CLASSES:
#
dest good {
domainlist good/domains
}
dest ads {
domainlist ads/domains
urllist ads/urls
}
dest adult {
domainlist adult/domains
urllist adult/urls
}
dest aggressive {
domainlist aggressive/domains
urllist aggressive/urls
}
dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
dest forums {
domainlist forums/domains
urllist forums/urls
}
dest gambling {
domainlist gambling/domains
urllist gambling/urls
}
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
dest mail {
domainlist mail/domains
}
dest proxy {
domainlist proxy/domains
urllist proxy/urls
}
dest redirector {
domainlist redirector/domains
urllist redirector/urls
}
dest violence {
domainlist violence/domains
urllist violence/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}
Definire ora le acl, ovvero le regole che permettono a dei gruppi di accedere a delle destinazioni:
#
# ACL:
#
acl {
admin {
pass any
}
recordservice {
pass !adult !aggressive !drugs !gambling !hacking !violence !warez any
}
powerusers {
pass good !adult !aggressive !drugs !gambling !hacking !violence !warez any
redirect http://proxy.cortenuova.galimberti.priv/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
#redirect http://proxy.cortenuova.galimberti.priv
}
guests {
pass good none
redirect http://proxy.cortenuova.galimberti.priv/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
#redirect http://proxy.cortenuova.galimberti.priv
}
default {
pass good none
redirect http://proxy.cortenuova.galimberti.priv/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&clientident=%i&srcclass=%s&targetclass=%t&url=%u
#redirect http://proxy.cortenuova.galimberti.priv
}
}
- Creare la lista dei domini whitelistati
Creare la lista dei domini che vengono permessi in ogni caso:
sudo su - proxy cd /var/lib/chastity mkdir good cd good cat >>domains <<EOFile galimberti.net euronics.it EOFile exit
Ricostruire il database di squidguard
sudo su - proxy /usr/bin/squidGuard -C all
Controllare la presenza dei files database compilati:
ls -al /var/lib/chastity/good total 52 drwxr-sr-x 2 proxy proxy 4096 May 23 17:44 . drwxrws--- 16 proxy proxy 4096 May 23 17:38 .. -rw-r--r-- 1 proxy proxy 8540 May 23 17:42 domains -rw-r--r-- 1 proxy proxy 32768 May 23 17:44 domains.db
Configurazione di squid
Si suppone di avere già configurato squid per utilizzare una sorta di autenticazione (identd o NTLM), verificando che in access.log siano riportati i nomi degli utenti.
Modificare la direttiva redirect_program nel file /etc/squid/squid.conf:
# TAG: redirect_program # Specify the location of the executable for the URL redirector. # Since they can perform almost any function there isn't one included. # See the Release-Notes for information on how to write one. # By default, a redirector is not used. # #Default: redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
Nota riguardo l'autenticazione NTLM
L'autenticazione NTLM restituisce lo username nella forma
DOMAIN\USERNAME
E questo crea dei problemi a squidguard, dato che non è possibile inserire username con "\" o anche "\\" nel file squidguard.conf.
Per ovviare a questo è possibile inserire i nomi esattamente come sono loggati da squid in /var/log/squid/access.log in una userlist, cioè un file testo.
I gruppi utenti vanno quindi dichiarati come:
sudo apt-get install squidguard chastity-list
== Configurazione di squidguard ==
Apportare le seguenti modifiche al file '''/etc/squid/squidGuard.conf'''.
Settare il percorso per usare il database di chastity:
dbhome /var/lib/chastity
Definire i gruppi di utenti:
<pre>
#
# SOURCE ADDRESSES:
#
src admin {
userlist /etc/squid/userlist.admin
}
src powerusers {
userlist /etc/squid/userlist.powerusers
}
src recordservice {
ip 192.168.16.51
}
src guests {
userlist /etc/squid/userlist.guests
}
Ed i relativi files saranno:
userlist.admin
administrator gabriele.vivinetto cp\administrator
userlist.powerusers
cp\storemanager
userlist.guests
cp\sky cp\agos cp\findomestic