Filtraggio navigazione web con Dansguardian
Installazione
- Dansguardian ascolterà sulla porta 3128, poi intuba le richieste a squid che ascolta sulla porta 8080 non accessibile da lan.
sudo apt-get install dansguardian
Configurazione
sudoedit /etc/dansguardian/dansguardian.conf
- Commentare UNCONFIGURED
#UNCONFIGURED - Please remove this line after configuration
- Impostare lingua:
language = 'italian'
- Impostare l'indirizzo della pagina di accesso negato:ù
accessdeniedaddress = 'http://proxy.dominio.priv/cgi-bin/dansguardian.pl'
- Impostare la porta su cui ascolta dansguardian
filterport = 3128
- Impostare l'ip a cui accedere a squid. Squid deve essere firewallato, altrimenti la gente ci accede bypassando dansguardian:
# importante: non mettere 127.0.0.1, altrimenti ce c'è l'acl di squid con allow localhost, non fa autenticare proxyip = 192.168.0.254 proxyport = 3128
- Disabilitare il blocco con frasi nel contenuto:
weightedphrasemode = 0
- Loggare gli useragent
loguseragent = on
- Se si vuogliono loggare TUTTI i siti visitati (per poter fare report dei siti visitati, dato che non si può usare sarg sui log di squid, perchè hanno tutti source IP quello del firewall):
- Definire la configurazione per il gruppo 1 di utenti filtrati:
sudoedit /etc/dansguardian/dansguardianf1.conf
# 0 = none 1 = just denied 2 = all text based 3 = all requests loglevel = 3
- Livello di schizzinosità adeguato
naughtynesslimit = 160
- Tempo per cui è consentito il bypass di una pagina vietata:
bypass = 300
- Modificare il template di accesso negato, abilitando la funzione di bypass:
sudoedit /etc/dansguardian/languages/italian/template.html
<P><table border=1 bgcolor="#44dd44"><tr><td> <a href="-BYPASS-"><center>Procedi comunque alla consultazione della pagina.</a> <br> Dichiaro di procedere volontariamente, essendo a conoscenza dei limiti imposti. </center> </td></tr> </table>
- Disabilitare il filtraggio per estensioni:
sudoedit /etc/dansguardian/lists/bannedextensionlist
:%s/^\./#./gc
- Disabilitare il filtraggio per mime type:
sudoedit /etc/dansguardian/lists/bannedmimetypelist
:%s/^/#./gc
Gestione con utenti autenticati
- Impostare il gruppo 1 in modo che gli utenti non autenticati siano bloccati.
sudoedit /etc/dansguardian/dansguardianf1.conf
groupmode = 0 groupname = 'Unauthenticated' bypass = 0
sudo invoke-rc.d dansguardian restart
- Definire il numero di gruppi
sudoedit /etc/dansguardian/dansguardian.conf
filtergroups = 3
- Abilitare la richiesta di username a password a squid:
sudoedit /etc/dansguardian/dansguardian.conf
authplugin = '/etc/dansguardian/authplugins/proxy-basic.conf'
- Copiare i files di definizione dei gruppi:
sudo cp /etc/dansguardian/dansguardianf1.conf /etc/dansguardian/dansguardianf2.conf sudo cp /etc/dansguardian/dansguardianf1.conf /etc/dansguardian/dansguardianf3.conf
- Impostare il gruppo 2 come filtrato:
sudoedit /etc/dansguardian/dansguardianf2.conf
groupmode = 1 groupname = 'Filtereed' bypass = 300
- Impostare il gruppo 3 come non filtrato:
sudoedit /etc/dansguardian/dansguardianf3.conf
groupmode = 2 groupname = 'Unfiltered' bypass = 0
- Definire le appartenenze al gruppo utenti autenticati:
sudoedit /etc/dansguardian/lists/filtergroupslist
username_f2=filter2 username_f3=filter3
- Impostare l'autenticazione in squid, che la fornirà indietro a dansguardian
sudoedit /etc/squid3/squid.conf
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwords.txt auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 15 minutes
acl authenticated_users proxy_auth REQUIRED
http_access allow lan authenticated_users
- Creare il file con le utenze:
sudo htpasswd -c /etc/squid3/squid_passwords.txt username_f2 sudo htpasswd /etc/squid3/squid_passwords.txt username_f3
- Attivare le modifiche:
sudo invoke-rc.d squid3 restart
- Impostare il proxy sulla porta 8080, e verificare se tutto funziona
Gruppi per IP
- Disabilitare l'autenticazione in squid
- Impostare i gruppi
sudoedit /etc/dansguardian/lists/authplugins/ipgroups
192.168.0.11, 192.168.0.28 = filter3 192.168.0.1-192.168.0.253 = filter2
sudoedit /etc/dansguardian/dansguardian.conf
authplugin = '/etc/dansguardian/authplugins/ip.conf'
Abilitazione risorse SSL
- Consenitre tutto in ssl:
sudoedit /etc/dansguardian/lists/exceptionsitelist
**s
Eliminare ulteriori filtraggi oltre a domini
sudoedit /etc/dansguardian/dansguardianf2.conf
bannedphraselist = '/dev/null'
Eccetto:
bannedsitelist = '/etc/dansguardian/lists/bannedsitelist' greysitelist = '/etc/dansguardian/lists/greysitelist' exceptionsitelist = '/etc/dansguardian/lists/exceptionsitelist'
Installazione blacklist
- Scaricare e scompattare:
cd /etc/dansguardian/lists sudo wget "http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist" -O bigblacklist.tar.gz sudo tar xvzf bigblacklist.tar.gz sudo chown -R root: blacklists/
- Creare config
vi /tmp/makelist
#!/bin/bash
cd /etc/dansguardian/lists/blacklists
for CAT in *
do
echo ".Include</etc/dansguardian/lists/blacklists/${CAT}/domains>"
#.Include</etc/dansguardian/lists/blacklists/aggressive/domains>
done
- Editare:
sudoedit bannedsitelist
#.Include</etc/dansguardian/lists/blacklists/bank/domains> #.Include</etc/dansguardian/lists/blacklists/banking/domains> #.Include</etc/dansguardian/lists/blacklists/CATEGORIES/domains> #.Include</etc/dansguardian/lists/blacklists/searchengines/domains>
Impostare la whitelist
- Creare la whitelist
sudo mkdir /etc/dansguardian/lists/whitelists sudoedit /etc/dansguardian/lists/whitelists/domains
- Dichiararla
sudoedit /etc/dansguardian/lists/exceptionsitelist
.Include</etc/dansguardian/lists/whitelists/domains>
sudo invoke-rc.d dansguardian reload
Riferimenti
- Howto install and configure Dansguardian on Debian GNU/Linux | VIRASEC
- DansGuardian - ArchWiki
- URLBlacklist.com
- main_index | DansGuardian Documentation Wiki