Squid – Proxy e web cache
Squid è server proxy – web cache, permette tra le tante funzionalità di avere una cache dei siti internet ed un filtro sui contenuti.
Vediamo come fare una configurazione casalinga del proxy con un piccolo server debian/ubuntu.
Innanzitutto è possibile installare il software dai repository con:
apt-get install squid3
Il file di configurazione è squid.conf, generalmente è presente in /etc/squid3/ o /etc/squid in base alla distribuzione.
Il file di configurazione è decisamente grande ma non bisogna farsi prendere dal panico, per utilizzare il software come server proxy http e web cache le righe effettivamente da modificare sono poche.
Riportiamo l’esempio di configurazione che poi andremo ad analizzare:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl retecasa src 192.168.0.1/255.255.255.0
acl to_localhost dst 127.0.0.0/8
#
acl Safe_ports port 80 # http
acl CONNECT method CONNECT# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_portsforwarded_for off
http_access allow localhost
http_access allow retecasahttp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?cache_dir ufs /var/spool/squid3 256 16 256
maximum_object_size 4096 KB
access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log#
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320minimum_expiry_time 3600 seconds
cache_effective_user proxy
…
Inizialmente sono definite le acl, tra queste va modificata quella presente alla quarta riga con gli ip della propria rete, successivamente sono definite le regole per l’accesso http.
Da notare è la configurazione forwarded_for off chespecifica al proxy di non inserire l’ip originale nella richiesta.
Con il parametro http_port 3128 si specifica la porta http sulla quale è in ascolto il proxy mentre con le successive configurazioni si specificano le directory per la cache (con la rispettiva dimensione) e per i log
Fatto questo non ci resta che avviare squid con:
/etc/init.d/squid3 start
se si effettuano modifiche alla configurazione è possibile far rileggere la configurazione senza riavviare l’intero software con:
squid3 -k reconfigure
Per utilizzare il proxy deve essere specificato nel browser come mostrato in figura:

Se volete obbligare tutti i vostri utenti ad utilizzare il proxy basta filtrare la porta 80 in uscita sul firewall (o sul router se ha questa funzionalità) con eccezione dell’ ip del proxy, in questo caso tutti i pc della rete interna se vorranno navigare dovranno impostare il proxy.
Con squid è possibile filtrare anche determinati contenuti, per esempio se vogliamo filtrare tutti i siti che contengono determinate parole possiamo fare una lista ed inserirla in /etc/squid3/squidblock/filtro.txt, dopodiche inserire le seguenti righe nella configurazione:
acl filtro url_regex “/etc/squid3/squidblock/filtro.txt”
http_access deny filto


