Squid è un proxy di memorizzazione nella cache per il Web che supporta HTTP, HTTPS, FTP e altro. Riduce la larghezza di banda e migliora i tempi di risposta memorizzando nella cache e riutilizzando le pagine Web richieste di frequente. Squid ha ampi controlli di accesso e costituisce un ottimo acceleratore di server. Funziona sulla maggior parte dei sistemi operativi disponibili.
Il proxy inverso di Squids è un servizio che si trova tra Internet e il server web (di solito all'interno di una rete privata) che reindirizza le richieste dei client in entrata a un server in cui sono archiviati i dati per un più facile recupero. Se il server di memorizzazione nella cache (proxy) non dispone dei dati memorizzati nella cache, inoltra la richiesta al server Web in cui i dati sono effettivamente archiviati. Questo tipo di memorizzazione nella cache consente la raccolta di dati e la riproduzione dei valori dei dati originali archiviati in una posizione diversa per facilitare l'accesso.
Un proxy inverso in genere fornisce un ulteriore livello di controllo per smussare il flusso del traffico di rete in entrata tra i client e il server Web.
Quando si seleziona un sistema informatico da utilizzare come server proxy di memorizzazione nella cache Squid dedicato, molti utenti si assicurano che sia configurato con una grande quantità di memoria fisica (RAM) poiché Squid mantiene una cache in memoria per migliorare le prestazioni.
Contenuti correlati:
- Come installare e configurare Squid Proxy su Debian 11
Prerequisiti
- Un server Ubuntu 20.04 aggiornato con almeno 1 GB di RAM
- Accesso root al server o utente con accesso sudo
- Accesso a Internet dal server
Indice dei contenuti
- Assicurarsi che il server sia aggiornato
- Installazione del server proxy squid
- Avvio e abilitazione del servizio calamari
- Configurazione del browser web
- Configurazione di calamari
- Utilizzo di squid proxy Access Control List (ACL)
- Utilizzo di Squid per memorizzare nella cache le pagine Web
1. Garantire che il server sia aggiornato
Prima di procedere, assicuriamoci che il nostro server abbia i pacchetti aggiornati. Usa questo comando per ottenere ciò:
sudo apt update
sudo apt upgrade -y
2. Installazione del server proxy Squid
I pacchetti che forniscono il server proxy squid sono disponibili nei repository Ubuntu predefiniti. Installalo usando questo comando:
sudo apt install -y squid
Conferma che il pacchetto è stato installato come previsto
$ apt-cache policy squid
squid:
Installed: 4.10-1ubuntu1.5
Candidate: 4.10-1ubuntu1.5
Version table:
*** 4.10-1ubuntu1.5 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
100 /var/lib/dpkg/status
4.10-1ubuntu1 500
500 http://us-west-2.ec2.archive.ubuntu.com/ubuntu focal/main amd64 Packages
3. Avvio e abilitazione del servizio calamari
Il server proxy squid verrà avviato per impostazione predefinita nel nostro sistema Ubuntu. Per verificare lo stato, emettere questo comando:
$ sudo systemctl status squid
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2022-01-03 06:44:10 UTC; 15s ago
Docs: man:squid(8)
Process: 48771 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
Process: 48774 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
Main PID: 48776 (squid)
Tasks: 4 (limit: 4631)
Memory: 15.5M
CGroup: /system.slice/squid.service
├─48776 /usr/sbin/squid -sYC
├─48778 (squid-1) --kid squid-1 -sYC
├─48779 (logfile-daemon) /var/log/squid/access.log
└─48780 (pinger)
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Max Swap size: 0 KB
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Using Least Load store dir selection
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Set Current Directory to /var/spool/squid
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Finished loading MIME types and icons.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: HTCP Disabled.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Pinger socket opened on FD 14
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Squid plugin modules loaded: 0
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Adaptation support is off.
Jan 03 06:44:10 ubuntusrv.citizix.com squid[48778]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 12 flags=9
Jan 03 06:44:11 ubuntusrv.citizix.com squid[48778]: storeLateRelease: released 0 objects
Possiamo confermare che il servizio è in esecuzione dal comando precedente. Per assicurarti che il servizio si avvii all'avvio, usa il comando enable:
sudo systemctl enable squid
4. Configurazione per il tuo browser web
Prima di apportare modifiche al file di configurazione di squid, devi modificare alcune impostazioni nel tuo browser web. Quindi, apri il tuo browser web e apri "impostazioni di rete", quindi procedi alle "impostazioni proxy". Fai clic sulla configurazione del "proxy manuale", quindi scrivi il Indirizzo_IP del tuo server proxy squid nella barra proxy HTTP e porta n. (per impostazione predefinita, la porta proxy squid è 3128). Ora, il proxy squid passerà attraverso il tuo indirizzo IP. Puoi verificarlo digitando qualsiasi URL nel tuo browser web; ti darà un errore che dice accesso negato e per consentire l'accesso, dobbiamo apportare modifiche al file di configurazione di squid.
5. Configurazione del calamaro
Il file di configurazione predefinito di Squid si trova in /etc/squid/
directory e il file di configurazione principale si chiama squid.conf
. Questo file contiene la maggior parte delle direttive di configurazione che possono essere modificate per cambiare il comportamento di Squid. Le righe che iniziano con un #
, sono commentati o non letti dal file. Questi commenti vengono forniti per spiegare cosa significano le relative impostazioni di configurazione.
Per modificare il file di configurazione, iniziamo eseguendo un backup del file originale, nel caso sia necessario annullare eventuali modifiche se qualcosa va storto o utilizzarlo per confrontare le nuove configurazioni del file.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
Ora che è stata eseguita una copia come file di backup, possiamo apportare modifiche al file "squid.conf".
Per aprire il file “squid.conf” in vim, digita questo comando:
sudo vim /etc/squid/squid.conf
Vai alla riga
http_access deny all
Cambialo in:
http_access allow all
Dovrai riavviare il server proxy squid per applicare le modifiche. Usa questo comando:
sudo systemctl restart squid
Ora controlla di nuovo il tuo browser web, digita qualsiasi URL e dovrebbe funzionare.
6. Utilizzo del proxy squid ACL (elenco di controllo degli accessi)
Possiamo anche utilizzare Squid per controllare l'accesso a diversi siti Web (traffico web) consentendoli o bloccandoli. Per farlo, vai alla riga acl CONNECT method CONNECT
.
E sotto questa riga, scrivi l'ACL (access control list) per bloccare i siti web che desideri.
acl block_websites dstdomain .facebook.com .youtube.com .instagram.com
Quindi nega l'affermazione.
http_access deny block_websites
Salva le modifiche e per verificare se i tuoi siti web bloccati sono bloccati o meno, riavvia il tuo servizio squid e verifica l'URL nel tuo browser web.
Puoi anche impedire a un utente di scaricare file specifici come file audio e video utilizzando ACL .
acl media_files urlpath_regex -i \.(mp3|mp4|FLV|AVI|MKV)
Impedisce all'utente di scaricare file audio o video con estensioni come mp3, mp4, FLV, ecc. Aggiungi qualsiasi estensione di file di cui desideri impedire il download. Ora, sotto questa riga, scrivi la dichiarazione di negazione.
http_access deny media_files
Il download dei file multimediali verrà quindi bloccato.
7. Utilizzo di Squid per memorizzare nella cache le pagine web
I server proxy vengono utilizzati anche per migliorare le prestazioni della rete caricando la pagina Web più velocemente memorizzando nella cache i dati del sito Web. È inoltre possibile modificare la posizione della directory in cui devono essere archiviati i dati memorizzati nella cache. Inoltre, puoi anche modificare la dimensione del file della cache e no. di directory in cui verrebbero salvati i dati.
Per apportare modifiche, apri squid.conf
file e vai alla riga seguente:
#chache_dir ufs /opt/squid/var/cache/squid 100 16 256
Questa riga sarà commentata per impostazione predefinita, quindi decommenta questa riga rimuovendo il #
firmare.
Nella riga sopra, c'è una frase "100 16 256 ”. Il 100 mostra la dimensione del file della cache e puoi cambiarla in qualsiasi dimensione, ad esempio 300. 16 mostra il numero di directory in cui è salvato il file di cache. 256 mostra il n. di sottodirectory.
chache_dir ufs /opt/squid/var/cache/squid 300 20 260
Puoi anche modificare la dimensione del file di cache aggiungendo la seguente riga nel file “squid.conf”:
cache_mem 300 MB
Se vuoi cambiare il percorso della directory del file della cache, crea una nuova struttura di directory usando questo comando:
sudo mkdir -p /path/where/you/want/to/place/file
Per cambiare la proprietà della directory della cache in squid proxy, devi eseguire questo comando:
sudo chown -R proxy:proxy /path/where/you/want/to/place/file
Ora, interrompi il servizio di calamari usando questo comando:
sudo systemctl stop squid
E quindi esegui il comando con questo comando per creare le directory della cache mancanti nella nuova directory della cache:
sudo squid -z
Ora, avvia nuovamente il servizio di calamari utilizzando il comando seguente:
sudo systemctl start squid
Conclusione
Siamo riusciti a installare e configurare il server proxy squid in questa guida. Il proxy Squid è un ottimo strumento che può essere utilizzato nelle organizzazioni o da piccoli fornitori di servizi Internet per controllare il traffico web e l'accesso a Internet. Aumenta la velocità di navigazione web e fornisce meccanismi di sicurezza per il traffico web.