Cosa è Squid
Squid è un server proxy che può essere utilizzato per migliorare le prestazioni e la sicurezza della rete. Può essere utilizzato per memorizzare nella cache pagine Web e immagini, consentendo agli utenti di accedere a questi file più rapidamente. Squid può anche essere utilizzato per proteggere la tua rete da contenuti dannosi.
Se sei un amministratore di sistema esperto, sai che un server proxy può essere uno strumento prezioso per ottimizzare la tua rete.
In questo post del blog, ti mostreremo come installare un server proxy su Ubuntu usando il server proxy Squid.
Come installare Squid su Ubuntu e Debian
Per installare Squid su Ubuntu e Debian, usa i seguenti comandi:
sudo apt update
sudo apt install squid3
Il server proxy Squid verrà installato sul tuo sistema Ubuntu.
È possibile verificare lo stato del servizio eseguendo il comando seguente:
sudo systemctl status squid3
squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-06-17 11:13:54 IST; 45s ago
Docs: man:squid(8)
Process: 2267 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
Main PID: 2270 (squid)
Tasks: 4 (limit: 2271)
Memory: 15.7M
CPU: 187ms
CGroup: /system.slice/squid.service
├─2270 /usr/sbin/squid --foreground -sYC
├─2272 "(squid-1)" --kid squid-1 --foreground -sYC
├─2273 "(logfile-daemon)" /var/log/squid/access.log
└─2274 "(pinger)"
Jun 17 11:13:54 noviello squid[2272]: Using Least Load store dir selection
Jun 17 11:13:54 noviello squid[2272]: Set Current Directory to /var/spool/squid
Jun 17 11:13:54 noviello squid[2272]: Finished loading MIME types and icons.
Jun 17 11:13:54 noviello squid[2272]: HTCP Disabled.
Jun 17 11:13:54 noviello squid[2272]: Pinger socket opened on FD 14
Jun 17 11:13:54 noviello squid[2272]: Squid plugin modules loaded: 0
Jun 17 11:13:54 noviello squid[2272]: Adaptation support is off.
Jun 17 11:13:54 noviello squid[2272]: Accepting HTTP Socket connections at conn3 local=[::]:3128 remote=[::] FD 12 flags=9
Dopo aver installato Squid, dovrai configurarlo per soddisfare le tue esigenze. La configurazione predefinita dovrebbe essere adatta alla maggior parte degli utenti, ma potrebbe essere necessario apportare alcune modifiche a seconda delle esigenze specifiche.
Come configurare il server proxy Squid
Il file di configurazione principale di Squid si trova in /etc/squid3/squid.conf . Questo file contiene tutte le impostazioni per Squid. Puoi modificare questo file per cambiare la configurazione di Squid.
Configurare la porta
Per configurare la porta Squid, dovrai modificare il file squid.conf
. Questo file si trova nella directory /etc/squid
sulla maggior parte dei sistemi Linux. Dopo aver aperto il file in un editor di testo, dovrai individuare la seguente riga:
http_port 3128
Se hai bisogno di cambiare la porta di Squid, puoi semplicemente modificare questa riga e inserire il nuovo numero di porta. Ad esempio, se si desidera utilizzare la porta 8080, immettere:
http_port 8080
Dopo aver apportato la modifica, salva il file e riavvia Squid.
Nota: puoi anche configurare Squid come server proxy trasparente aggiungendo una parola chiave trasparente con la porta come http_port 8080 transparent
.
Configurare le regole del firewall
Per utilizzare Squid, dovrai abilitarlo nel firewall di Ubuntu. Puoi farlo eseguendo il seguente comando:
Utenti UFW:
sudo ufw allow 8080
Utenti FirewallD:
sudo firewall-cmd --permanent --zone=public --add-port=3128/tcp
sudo firewall-cmd –reload
Questo comando consentirà il traffico sulla porta 8080, che è la porta su cui Squid è in ascolto.
Configurare l'autenticazione proxy in Squid
Puoi anche chiedere agli utenti di autenticare il proxy da utilizzare. Questo ti aiuta a prevenire l'accesso non autorizzato al server proxy. Ciò costringe gli utenti ad autenticarsi per utilizzare il proxy.
Innanzitutto, installa il pacchetto apache2-utils, che fornisce il comando htpasswd:
sudo apt-get install apache2-utils -y
Crea un nuovo file che contenga nome utente e password. Cambia anche la proprietà del proxy utente Squid:
sudo touch /etc/squid/secure_passwd
sudo chown proxy: /etc/squid/secure_passwd
Crea un nuovo utente con il seguente comando:
sudo htpasswd /etc/squid/secure_passwd noviello
Il sistema chiederà di inserire e confermare una password per l'utente “noviello”.
Modifica il file /etc/squid/squid.conf e aggiungi la seguente configurazione:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/secure_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
Riavvia il servizio Squid.
Creare ACL per bloccare i siti web
Puoi bloccare qualsiasi sito Web in base al suo nome di dominio. Per fare quanto segue:
- Crea un nuovo file /etc/squid/blocked_websites.acl e modificalo in un editor di testo. Puoi scegliere qualsiasi nome a tua scelta:
sudo nano /etc/squid/blocked_websites.acl
- In questo file, aggiungi i nomi di dominio uno per riga da bloccare. Puoi iniziare il nome di dominio con un punto (.) anche per i sottodomini:
.yahoo.com
.facebook.com
- Modifica di nuovo il file /etc/squid/squid.conf:
sudo nano /etc/squid/squid.conf
- Aggiungi le seguenti righe appena prima dell'elenco ACL:
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
Conclusione
In questo articolo, esamineremo i passaggi su come installare un server proxy Squid su un server Ubuntu. Tratteremo anche alcune configurazioni di base che possono essere apportate a Squid una volta installato. Entro la fine di questo articolo, dovresti avere un'installazione funzionante del server proxy Squid sul tuo server Ubuntu.