Introduzione
Squid è un'applicazione proxy basata su Linux. Il server proxy Squid viene utilizzato per filtrare il traffico, la sicurezza e le ricerche DNS.
Inoltre, Squid può velocizzare un server web memorizzando nella cache le risorse. Squid Proxy consente a un server di memorizzare nella cache le pagine Web visitate di frequente. Quando l'utente richiede una pagina Web o un file, la richiesta va direttamente al server proxy, un dispositivo intermedio tra il dispositivo dell'utente e Internet. Il server proxy estrae le risorse e le inoltra all'utente.
Questa guida ti guiderà attraverso come configurare e installare il server Squid Proxy su Ubuntu.

Prerequisiti
- Un sistema operativo Ubuntu
- Accesso a una finestra di terminale/riga di comando (Ctrl-Alt-T)
- Un utente Ubuntu con privilegi di root o sudo
- Il programma di installazione del pacchetto apt, incluso per impostazione predefinita
- Un editor di testo, come nano
Installazione di Squid Proxy su Ubuntu
Fase 1:aggiorna i repository del software
Assicurati di lavorare con l'ultima versione del software disponibile.
Avvia una finestra di terminale e inserisci quanto segue:
sudo apt-get update
Passaggio 2:installa il pacchetto Squid su Ubuntu
Per installare Squid, esegui il comando:
sudo apt-get install squid
Il sistema dovrebbe richiedere conferma:inserisci Y
e consenti al processo di completarsi.
Configurazione del server proxy Squid
Il file di configurazione di Squid si trova in /etc/squid/squid.conf.
1. Apri questo file nel tuo editor di testo con il comando:
sudo nano /etc/squid/squid.conf
2. Naviga per trovare l'opzione http_port . In genere, questo è impostato per l'ascolto sulla Porta 3218 . Questa porta di solito trasporta il traffico TCP. Se il tuo sistema è configurato per il traffico su un'altra porta, cambialo qui.
Puoi anche impostare la modalità proxy su trasparente se desideri impedire a Squid di modificare le tue richieste e risposte.
Modificalo come segue:
http_port 1234 transparent
3. Vai a http_access nega tutto opzione. Questo è attualmente configurato per bloccare tutto il traffico HTTP. Ciò significa che non è consentito il traffico web.
Modificalo come segue:
http_access allow all
4. Vai a nome_host_visibile opzione. Aggiungi qualsiasi nome desideri a questa voce. Ecco come apparirà il server a chiunque tenti di connettersi. Salva le modifiche ed esci.
5. Riavvia il servizio Squid inserendo:
sudo systemctl restart squid
Configura client Squid
Tutta questa configurazione è stata eseguita per configurare il tuo server proxy Squid. Ora passa al tuo computer client e apri il tuo browser web.
Se utilizzi Firefox, puoi trovare le impostazioni del proxy in:
Menu> Opzioni> Impostazioni di rete> Impostazioni
Seleziona il pulsante di opzione per Configurazione proxy manuale.
Se hai inserito un nome host nel passaggio 4, dovresti essere in grado di inserire quel nome più la porta che hai designato. Altrimenti, usa l'indirizzo IP del sistema che ospita il tuo proxy Squid.
Per testarlo, puoi visitare https://whatismyipaddress.com/ip-lookup:se il tuo proxy funziona, il tuo indirizzo IP dovrebbe essere visualizzato come indirizzo IP del server proxy.
Aggiungi Squid ACL
Nota: Dopo ognuno di questi passaggi, dovresti salvare ed uscire, quindi riavviare il servizio Squid per applicare la nuova configurazione.
Crea un elenco di controllo degli accessi modificando nuovamente il file squid.conf, come nel passaggio 4.
Aggiungi una nuova riga come segue:
acl localnet src 192.168.0.15
Questo creerà una regola che consente solo al sistema a questo indirizzo IP di connettersi. Si consiglia di commentare la riga per identificare la regola:
acl localnet src 192.168.0.15 # test computer
Qualsiasi cosa dopo il segno # viene ignorata da Squid.
È possibile specificare un intervallo di indirizzi IP come segue:
acl localnet src 192.168.0.15/30
Porte aperte
Per aprire una porta specifica, aggiungi quanto segue:
acl Safe_ports port 123 # Custom port
Configura autenticazione proxy
Ciò costringe gli utenti ad autenticarsi per utilizzare il proxy.
Inizia installando apache2-utils:
sudo apt-get install apache2-utils
Crea un file passwd e cambia la proprietà nel proxy utente Squid:
sudo touch /etc/squid/passwd
sudo chown proxy: etc/squid/passwd
Aggiungi un nuovo utente e password
1. Per aggiungere un nuovo utente a Squid, usa il comando:
sudo htpasswd /etc/squid/passwd newuser
Il sistema ti chiederà di inserire e confermare una password per il nuovo utente.
2. Modifica /etc/squid/squid.conf file e aggiungi le seguenti righe di comando:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Blocca siti Web su proxy Squid
1. Crea e modifica un nuovo file di testo /etc/squid/blocked.acl inserendo:
sudo nano /etc/squid/blocked.acl
2. In questo file, aggiungi i siti Web da bloccare, iniziando con un punto:
.facebook.com
.twitter.com
Nota:il punto specifica di bloccare tutti i siti secondari del sito principale.
3. Apri /etc/squid/squid.conf file di nuovo:
sudo nano /etc/squid/squid.conf
4. Aggiungi le seguenti righe appena sopra l'elenco ACL:
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
Comandi quando si lavora con il servizio Squid
Per controllare lo stato del tuo software Squid, inserisci:
sudo systemctl status squid
Questo ti dirà se il servizio è in esecuzione o meno.
Per avviare il servizio inserisci:
sudo systemctl start squid
Quindi imposta il servizio Squid da avviare all'avvio del sistema digitando:
sudo systemctl enable squid
Puoi eseguire nuovamente il comando di stato ora per verificare che il servizio sia attivo e funzionante.
Per interrompere il servizio, utilizzare il comando:
sudo systemctl stop squid
Per impedire l'avvio di Squid all'avvio, inserisci:
sudo systemctl disable squid