GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare Squid Proxy su Ubuntu 20.04

Squid è un proxy di memorizzazione nella cache completo che supporta i protocolli di rete più diffusi come HTTP, HTTPS, FTP e altri. Può essere utilizzato per migliorare le prestazioni del server Web memorizzando nella cache le richieste ripetute, filtrando il traffico Web e accedendo a contenuti con restrizioni geografiche.

Questo tutorial spiega come configurare un proxy Squid su Ubuntu 20.04 e configurare i browser Web Firefox e Google Chrome per utilizzarlo.

Installazione di Squid su Ubuntu #

Il pacchetto squid è incluso nei repository standard di Ubuntu 20.04. Per installarlo, esegui i seguenti comandi come utente sudo:

sudo apt updatesudo apt install squid

Una volta completata l'installazione, il servizio Squid si avvierà automaticamente. Per verificarlo, controlla lo stato del servizio:

sudo systemctl status squid

L'output sarà simile a questo:

● squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago
       Docs: man:squid(8)
...

Configurazione di Squid #

Il servizio squid può essere configurato modificando il /etc/squid/squid.conf file. Il file di configurazione contiene commenti che descrivono cosa fa ciascuna opzione di configurazione. Puoi anche inserire le tue impostazioni di configurazione in file separati, che possono essere inclusi nel file di configurazione principale utilizzando la direttiva "include".

Prima di apportare modifiche, si consiglia di eseguire il backup del file di configurazione originale:

sudo cp /etc/squid/squid.conf{,.orginal}

Per iniziare a configurare la tua istanza squid, apri il file nel tuo editor di testo:

sudo nano /etc/squid/squid.conf

Per impostazione predefinita, squid è impostato in ascolto sulla porta 3128 su tutte le interfacce di rete sul server.

Se vuoi cambiare la porta e impostare un'interfaccia di ascolto, individua la riga che inizia con http_port e specificare l'indirizzo IP dell'interfaccia e la nuova porta. Se non viene specificata alcuna interfaccia, Squid ascolterà su tutte le interfacce.

/etc/squid/squid.conf
# Squid normally listens to port 3128
http_port IP_ADDR:PORT

L'esecuzione di Squid su tutte le interfacce e sulla porta predefinita dovrebbe andare bene per la maggior parte degli utenti.

Squid consente di controllare il modo in cui i client possono accedere alle risorse Web utilizzando gli elenchi di controllo di accesso (ACL). Per impostazione predefinita, l'accesso è consentito solo dall'host locale.

Se tutti i client che utilizzano il proxy hanno un indirizzo IP statico, l'opzione più semplice per limitare l'accesso al server proxy consiste nel creare un ACL che includa gli IP consentiti. Altrimenti, puoi impostare squid per utilizzare l'autenticazione.

Invece di aggiungere gli indirizzi IP nel file di configurazione principale, crea un nuovo file dedicato che conterrà gli IP consentiti:

/etc/squid/allowed_ips.txt
192.168.33.1
# All other allowed IPs

Al termine, apri il file di configurazione principale e crea una nuova ACL denominata allowed_ips (prima riga evidenziata) e consenti l'accesso a tale ACL utilizzando il http_access direttiva (seconda riga evidenziata):

/etc/squid/squid.conf
# ...
acl allowed_ips src "/etc/squid/allowed_ips.txt"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

L'ordine di http_access le regole sono importanti. Assicurati di aggiungere la riga prima di http_access deny all .

Il http_access La direttiva funziona in modo simile alle regole del firewall. Squid legge le regole dall'alto verso il basso e, quando una regola corrisponde, le regole seguenti non vengono elaborate.

Ogni volta che apporti modifiche al file di configurazione, devi riavviare il servizio Squid affinché le modifiche abbiano effetto:

sudo systemctl restart squid

Autenticazione calamaro #

Se la limitazione dell'accesso in base all'IP non funziona per il tuo caso d'uso, puoi configurare squid per utilizzare un back-end per autenticare gli utenti. Squid supporta l'autenticazione di base Samba, LDAP e HTTP.

In questa guida utilizzeremo l'autenticazione di base. È un semplice metodo di autenticazione integrato nel protocollo HTTP.

Per generare una password criptata, usa il openssl attrezzo. Il comando seguente aggiunge il USERNAME:PASSWORD accoppiare a /etc/squid/htpasswd file:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Ad esempio, per creare un utente “josh” con password “P@ssvv0rT ”, eseguiresti:

printf "josh:$(openssl passwd -crypt 'P@ssvv0rd')\n" | sudo tee -a /etc/squid/htpasswd
josh:QMxVjdyPchJl6

Il passaggio successivo è abilitare l'autenticazione di base HTTP e includere il file contenente le credenziali dell'utente nel file di configurazione di squid.

Apri la configurazione principale e aggiungi quanto segue:

sudo nano /etc/squid/squid.conf
/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

Le prime tre righe evidenziate stanno creando una nuova ACL denominata authenticated e l'ultima riga evidenziata consente l'accesso agli utenti autenticati.

Riavvia il servizio Squid:

sudo systemctl restart squid

Configurazione del firewall #

Per aprire le porte Squid, abilita il UFW Profilo 'Squid':

sudo ufw allow 'Squid'

Se Squid è in esecuzione su un'altra porta non predefinita, ad esempio 8888 puoi consentire il traffico su quella porta con:sudo ufw allow 8888/tcp .

Configurazione del browser per l'utilizzo del proxy #

Ora che hai impostato Squid, l'ultimo passaggio è configurare il tuo browser preferito per usarlo.

Firefox #

I passaggi seguenti sono gli stessi per Windows, macOS e Linux.

  1. Nell'angolo in alto a destra, fai clic sull'icona dell'hamburger per aprire il menu di Firefox:

  2. Fai clic su ⚙ Preferences collegamento.

  3. Scorri verso il basso fino a Network Settings sezione e fai clic su Settings... pulsante.

  4. Si aprirà una nuova finestra.

    • Seleziona Manual proxy configuration pulsante di opzione.
    • Inserisci l'indirizzo IP del tuo server Squid nel HTTP Host campo e 3128 nel Port campo.
    • Seleziona Use this proxy server for all protocols casella di controllo.
    • Fai clic su OK pulsante per salvare le impostazioni.

A questo punto, il tuo Firefox è configurato e puoi navigare in Internet tramite il proxy Squid. Per verificarlo, apri google.com , digita "qual è il mio ip" e dovresti vedere l'indirizzo IP del tuo server Squid.

Per ripristinare le impostazioni predefinite, vai su Network Settings , seleziona Use system proxy settings pulsante di opzione e salva le impostazioni.

Esistono diversi plugin che possono anche aiutarti a configurare le impostazioni proxy di Firefox, come FoxyProxy.

Google Chrome #

Google Chrome utilizza le impostazioni proxy di sistema predefinite. Invece di modificare le impostazioni del proxy del sistema operativo, puoi utilizzare un componente aggiuntivo come SwitchyOmega o avviare il browser Web Chrome dalla riga di comando.

Per avviare Chrome utilizzando un nuovo profilo e connetterti al server Squid, utilizza il seguente comando:

Linux :

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

macOS :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

Finestre :

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="http://SQUID_IP:3128"

Il profilo verrà creato automaticamente se non esiste. In questo modo puoi eseguire più istanze di Chrome contemporaneamente.

Per verificare che il server proxy funzioni correttamente, apri google.com e digita "qual è il mio ip". L'IP mostrato nel tuo browser dovrebbe essere l'indirizzo IP del tuo server.


Ubuntu
  1. Come installare e configurare Redis su Ubuntu 18.04

  2. Come installare e configurare Redmine su Ubuntu 18.04

  3. Come installare e configurare Squid Proxy su Ubuntu 20.04

  4. Come installare e configurare Squid 3 su Ubuntu

  5. Come installare e configurare Tinyproxy su Ubuntu 14.04

Come installare e configurare Solr 6 su Ubuntu 16.04

Come installare e configurare GitLab su Ubuntu 16.04

Come installare il server proxy Squid su Ubuntu 20.04

Come installare e configurare Cacti su Ubuntu 20.04

Come installare e configurare Squid Proxy in Ubuntu, Linux Mint

Come installare e configurare Samba su Ubuntu