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

squid ubuntu 18

Se volessimo collegarci a http://google.it avremo “Accesso Negato”

squid ubuntu 18

Se volessimo collegarci a https://www.google.it

squid ubuntu 18

mentre collegandoci a https://www.repubblica.it avremo

squid ubuntu 18

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

Potrebbero interessarti anche...