Dansguardian
Questo paragrafo è dedicato all’installazione di Dansguardian, uno dei content-filter da accoppiare a Squid per permettere una navigazione sicura.
La prima cosa da fare è chiaramente installare il prodotto; per fare ciò prenderemo una versione già “pacchettizzata” per CentOS 7:
rpm -ivh ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/Kenzy:/packages/CentOS_7/x86_64/dansguardian-2.12.0.3-1.1.x86_64.rpm
Dansguardian è modulare e può essere configurato per avere diversi file di configurazione per filtrare diversi gruppi di oggetti (utenti, indirizzi ip, …); noi accoppieremo i file di configurazione ad indirizzi ip; per questo è necessario che la nostra rete sia ben disegnata a livello di networking e che permetta di associare determinati indirizzi IP a certe tipologie di client (tipicamente tramite DHCP).
Andiamo a vedere il file di configurazione globale di dansguardian (/etc/dansguardian/dansguardian.conf ); le direttive che vi consiglio di modificare sono le seguenti:
loglevel = 3 (log all request; potete modificarlo dopo aver effettuato il debugging del servizio); language = italian authplugin = '/etc/dansguardian/authplugins/ip.conf' (ci permette di assegnare a diversi pool di indirizzi ip, diverse configurazioni di dansguardian); filterports = 8080 (porta tcp di ascolto di Dansguardian) proxyip = 127.0.0.1 (indirizzo IP del server proxy) proxyport = 3128 (porta del proxy a cui Dansguardian deve connettersi)
La configurazione di default, quella applicata a tutti gli indirizzi ip se non specificato altrimenti, è quella descritta nel file /etc/dansguardian/dansguardianf1.conf; si potranno avere diversi file di configurazione (dansguardianf2.conf, dansguardianf3.conf, ….) da associare a diversi oggetti, in maniera tale da ben definire i filtri da utilizzare (ad esempio, per certi indirizzi IP potremmo bloccare tutto tranne dei siti che indichiamo noi, mentre su altri indirizzi potremmo avere una navigazione controllata, evitando siti che potrebbero portare malware all’interno dell’azienda).
Utilizzando indirizzi IP, l’associazione tra gruppi di indirizzi IP e il relativo file di configurazione è scritto nel file “/etc/dansguardian/lists/authplugins/ipgroups“:
# IP-Group list # Used by the IP-based auth plugin to assign IP addresses to filter groups. # Client 172.28.2.0-172.28.3.254 = filter1 # Server 172.28.0.200/24 = filter2
Abbiamo associato i client con indirizzi IP dal 172.28.2.0 al 172.28.3.254 al file di configurazione dansguardianf1.conf (dove permetteremo una navigazione filtrata); i server (che potranno usare dansguardian ma senza filtraggio) saranno associati al file di configurazione dansguardianf2.conf; ricordiamoci inoltre che tutto ciò che non viene definito, viene trattato come f1.
Occupiamoci del file dansguardianf1.conf; per effettuare un filtro “veloce”, basta modificare il valore della direttiva “Naughtiness limit“, che rappresenta il limite oltre il quale le pagine vengono bloccate dal filtro. Un valore troppo basso porterebbe a bloccare molte pagine, un valore troppo alto renderebbe inefficace il filtro. Un valore “giusto” potrebbe essere intorno ai 160 (ma va tarato in base alle reali esigenze):
# naughtynesslimit = 50 naughtynesslimit = 160
Dal filtro è possibile anche bloccare eventualmente i download, certe estensioni di file (ad esempio .xlsx o .docx), abilitare o disabilitare certi filtri (siti, parole chiavi, url, …).
Creiamo ora il file dansguardianf2.conf, che è il file associato ai server; chiaramente i server non devono essere filtrati, per cui il file conterrà solo questa direttiva
# Filter group mode - 2 = unfiltered (exception) groupmode = 2
Se volessimo avere un gruppo di indirizzi IP che NON devono avere accesso all’esterno, potremmo bloccarli creando un file dansgaurdianf3.conf che include solo la seguente direttiva:
# Filter group mode - 0 = banned groupmode = 0
A questo punto potremmo avviare il servizio e vedere se dansguardian è funzionante:
# systemctl start dansguardian # lsof -i:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dansguard 2230 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2233 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2234 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2236 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2237 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2238 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2239 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2240 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN) dansguard 2241 dansguardian 6u IPv4 19609 0t0 TCP *:webcache (LISTEN)
Quindi il nostro servizio è attivo e funzionante.
[table “” not found /]