Squid è tra i più diffusi caching proxy. Può essere facilmente utilizzato come HTTP proxy per bloccare l’accesso ad una lista di siti.
I passi che seguono sono stati seguiti su un’istanza di Linux Debian 7.8 fresca d’installazione.
Procediamo all’installazione di squid:
apt-get update
apt-get install squid
Creiamo il file con i siti non permessi:
sudo nano /etc/squid/blocked_sites.squid
Inseriamo all’interno del file blocked_sites.squid i siti da bloccare, ad esempio:
.salvatorecordiano.it
.facebook.com
Modifichiamo, poi il file di configurazione di squid che si trova nel percorso /etc/squid/squid.conf com segue:
1) In coda alle regole ACL aggiungiamo
acl blocked_sites dstdomain "/etc/squid/blocked_sites.squid"
2) Aggiungiamo, invece, prima della prima regola http_access le seguenti due righe:
http_access allow localnet
http_access deny blocked_sites
Ho supposto l’esistenza di una regola ACL che definisca la LAN locale (localnet) come segue
acl localnet src 192.168.0.0/16
Riavviamo squid col seguente comando sudo service squid restart
A questo punto non ci rimane che configurare sui client il server proxy. La porta di default usata da squid è 3128.
Ciao Salvatore,
in primis grazie per il tuo articolo su SQUID.
Ho provato a seguire le tue righe ma non mi risulta funzionante in ambiente WINDOWS DOMAIN.
Ovviamente ho aggiunto le dovute regole in AD/DC tramite GPO, quindi aggiunti anche i Templates ADMX Chrome e Firefox oltre ai “3” registri di sistema per le “internetconnection”.
Forse è cambiato qualcosa da quando è stato pubblicato questo articolo?
Per esempio ho notato che in molti preferiscono aggiungere tutte le regole (siti bloccati compresi) direttamente nel file squid.conf
Ti ringrazio in anticipo per l’aiuto che vorrai darmi.
M.
Ciao Manuele,
grazie per il feedback.
Quella che proponi è una valida alternativa.
Puoi modificare il file squid.conf aggiungendo la stringhe
acl domain_blacklist dstdomain "/etc/squid/domain_blacklist.txt"
http_access deny all domain_blacklist
Le righe sopra vanno inserite prima della prima entry http_access di allow.
Sostituisci il path /etc/squid/domain_blacklist.txt con quello del file in cui inserirai l’elenco dei domini da bloccare.
I domini dovranno essere indicati come lista, uno per riga.
Successivamente prova a verificare cosa succede, ispezionando i log di Squid.
A presto,
Salvo