back

Arrivati a questo punto, un riavvio di Squid completerà l'opera di configurazione:

# /etc/init.d/squid restart

Ci troviamo adesso con un gateway e un proxy server - in ascolto all'indirizzo 192.168.1.1:8080 - perfettamente funzionanti e possiamo già agire sulla configurazione del browser dei nostri client per iniziare ad utilizzare Squid. Vogliamo però risparmiarci la fatica di entrare su ogni client e vogliamo rendere trasparente agli utenti la presenza del nostro proxy.
Per ottenere questo risultato dobbiamo scrivere una regola di iptables che intercetti le richieste uscenti verso il web (sulla porta 80 del nostro gateway) e le rediriga verso il nostro proxy server, in ascolto sulla porta 8080.
Torniamo quindi a modificare il file /etc/init.d/firewall creato in precedenza e aggiungiamo alla fine del file questa ulteriore regola:

# Transparent proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT \
--to-port 8080

Riavviamo il nostro script e prepariamoci a verificarne il funzionamento. Se da un client della rete proviamo a navigare su internet, agendo sulla console del nostro gateway dovremmo vederne i log:

# tail -f /var/log/squid/access.log
1104854410.086    159 192.168.1.50 TCP_MISS/302 469 GET \
http://www.google.com/ - DIRECT/216.239.59.104 text/html
1104854410.217    128 192.168.1.50 TCP_MISS/200 1459 GET \
http://www.google.it/ - DIRECT/216.239.59.99 text/html
1104854410.397    180 192.168.1.50 TCP_MISS/200 9022 GET \
 http://www.google.it/intl/it/images/logo.gif - DIRECT/216.239.59.99 image/gif
1104854415.196    200 192.168.1.50 TCP_MISS/200 1459 GET \
http://www.google.it/ - DIRECT/216.239.59.99 text/html
1104854415.271     74 192.168.1.50 TCP_REFRESH_HIT/304 235 GET \
 http://www.google.it/intl/it/images/logo.gif - DIRECT/216.239.59.99 text/html

Perfetto! Il nostro proxy server è entrato correttamente in funzione.

Prime conclusioni

Abbiamo fino ad ora impostato una macchina Debian per funzionare come gateway di una rete LAN e per far girare un proxy server che sveltisca la navigazione dei client e ne registri i log.
Pur essendo questa una configurazione funzionante e completa, in alcune situazioni potrebbe essere conveniente espanderla e installare anche un sistema per filtrare i contenuti della navigazione. È in questi casi che torna utile una categoria di programmi chiamata URL rewriter.

DansGuardian: l'URL rewriter

Un URL rewriter è un software che si occupa di riscrivere un URL, sostituendolo con un'altro ritenuto più opportuno sulla base delle regole e dei filtri impostati. Il risultato è il dirottamento di certe richieste verso una o più pagine predefinite. Un caso tipico è quello in cui l'utente viene deviato su una pagina recante un messaggio standard del tipo "Spiacente, il sito che volevi raggiungere non sembra collegato agli interessi dell'Azienda" o qualcosa del genere.

back