Installazione di server proxy Squid su Ubuntu 18
In questo tutorial andremo a descrivere come installare un proxy server Squid su Ubuntu 18.
Consideriamo di partire da una macchina preinstallata Ubuntu 18 ( leggi qui l’articolo per l’ installazione) ed aggiorniamola
sudo apt-get update
sudo apt-get upgrade
installiamo il software Squid
sudo apt-get install squid
il file di configurazione è presente al seguente percorso
vim /etc/squid/squid.conf
e la porta standard è 3128
http_port 3128
Le parti fondamentali nella configurazione del server proxy Squid sono le ACL ( Access Control List) su porte ed indirizzi ip come segue
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
se considerassimo una rete privata locale bisognerebbe considerare gli ip interni
acl localnet src 172.16.0.0/12
di default Squid nega le richieste a porte non sicure (il simbolo ! indica tranne)
http_access allow !Safe_ports
e nega connessioni per siti web diversi dall’ HTTPS
http_access deny CONNECT !SSL_ports
ed infine nega tutto il traffico http
http_access deny all
come succede con gli ip in un firewall.
Impostiamo il demone di Squid ad avviarsi automaticamente all’ avvio
sudo systemctl enable squid
per la verifica dello stato
sudo systemctl status squid
Abilitiamo la porta dal firewall
sudo ufw allow 3128
A questo punto possiamo configurare il proxy server Squid per permettere di fare accedere i client ad alcuni specifici siti web, ad esempio il sito di Repubblica aggiungendo le seguenti regole prima di “http_access deny all”, in particolare
acl website1 dstdomain .repubblica.it
http_access allow website1
a questo punto aggiorniamo le regole di Squid
sudo systemctl reload squid
Per verificare le direttive definite nel file di configurazione eseguiamo il seguente comando
sudo squid -k parse
come risultato avremo tutta la configurazione tranne le parti commentate ed avremo
2019/07/22 11:18:50| Processing: acl website1 dstdomain .repubblica.it
2019/07/22 11:18:50| Processing: http_access allow website1
Impostiamo su un client Firefox il proxy server Squid
Se volessimo collegarci a http://google.it avremo “Accesso Negato”
Se volessimo collegarci a https://www.google.it
mentre collegandoci a https://www.repubblica.it avremo
per avere evidenza di come Squid stia lavorando è consigliabile verificare i log
tail -500f /var/log/squid/access.log
in particolare per gli esempi precedenti
TCP_DENIED/403 4025 CONNECT www.google.it:443 – HIER_NONE/- text/html
TCP_TUNNEL/200 111870 CONNECT www.repubblica.it:443 – HIER_DIRECT/95.100.93.182 –
Questa presentata è una tipologia di configurazione, ma è anche possibile invertire il tipo di negazione ai siti web modificando la configurazione in questo modo
http_access allow all
#http_access deny all
ed abilitiamo una lista di siti web
acl siti_da_bloccare dstdomain “/etc/squid/deny_website.lst”
http_access deny siti_da_bloccare
dove all ‘interno del file deny_website.lst avremo
cat /etc/squid/deny_website.lst
facebook.com
twitter.com