Utilizzare Squid come HTTP proxy per bloccare l’accesso in LAN ad alcuni siti web

stop-facebook

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.

Questions?

Have a question about this post or anything else? Ask away on Twitter or in my AMA repo.

2 thoughts on “Utilizzare Squid come HTTP proxy per bloccare l’accesso in LAN ad alcuni siti web”

  1. 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.

    1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *