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 consentire un accesso più semplice.
Un proxy inverso in genere fornisce un ulteriore livello di controllo per smussare il flusso del traffico di rete in entrata tra i tuoi 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.
Articoli correlati:
- Come installare e configurare Squid Proxy su Ubuntu 20.04
- Come installare e configurare Squid Proxy su Debian 11
Prerequisiti
- Un server OpenSUSE Leap 15.3 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 zypper refresh
sudo zypper update -y
2. Installazione del server proxy Squid
I pacchetti che forniscono il server proxy squid sono disponibili nei repository OpenSUSE predefiniti. Installalo usando questo comando:
sudo zypper install -y squid
Conferma che il pacchetto è stato installato come previsto
~> rpm -qi squid
Name : squid
Version : 4.17
Release : 5.29.1
Architecture: x86_64
Install Date: Wed Jan 12 19:42:41 2022
Group : Productivity/Networking/Web/Proxy
Size : 12194949
License : GPL-2.0-or-later
Signature : RSA/SHA256, Fri Oct 8 12:37:03 2021, Key ID 70af9e8139db7c82
Source RPM : squid-4.17-5.29.1.src.rpm
Build Date : Fri Oct 8 12:35:34 2021
Build Host : goat18
Relocations : (not relocatable)
Packager : https://www.suse.com/
Vendor : SUSE LLC <https://www.suse.com/>
URL : http://www.squid-cache.org
Summary : Caching and forwarding HTTP web proxy
Description :
Squid is a caching proxy for the Web supporting HTTP(S), FTP, and
some others. It reduces bandwidth and improves response times by
caching and reusing frequently-requested web pages. Squid has
extensive access controls and can also be used as a server
accelerator.
Distribution: SUSE Linux Enterprise 15
3. Avvio e abilitazione del servizio calamari
Il server proxy squid non verrà avviato per impostazione predefinita nel nostro sistema OpenSUSE. Avvialo con questo comando:
sudo systemctl start squid
Per verificare lo stato, emettere questo comando:
~> sudo systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2022-01-12 19:50:59 UTC; 12s ago
Docs: man:squid(8)
Process: 16568 ExecStartPre=/usr/lib/squid/initialize_cache_if_needed.sh (code=exited, status=0/SUCCESS)
Process: 16572 ExecStart=/usr/sbin/squid -FC (code=exited, status=0/SUCCESS)
Main PID: 16573 (squid)
Tasks: 4 (limit: 4587)
CGroup: /system.slice/squid.service
├─16573 /usr/sbin/squid -FC
├─16575 (squid-1) --kid squid-1 -FC
├─16576 (logfile-daemon) /var/log/squid/access.log
└─16577 (pinger)
Jan 12 19:50:59 dev-susesrv.inv.re systemd[1]: Starting Squid caching proxy...
Jan 12 19:50:59 dev-susesrv.inv.re squid[16573]: Squid Parent: will start 1 kids
Jan 12 19:50:59 dev-susesrv.inv.re squid[16573]: Squid Parent: (squid-1) process 16575 started
Jan 12 19:50:59 dev-susesrv.inv.re systemd[1]: Started Squid caching proxy.
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 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:
#cache_dir ufs /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.
cache_dir ufs /var/cache/squid 100 16 256
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.