Guida per SysAdmin · 1 min di lettura

Configurazione e impostazione del proxy Squid

Squid è il classico proxy di caching HTTP/HTTPS per Linux, che alimenta innumerevoli gateway aziendali. Ecco un'installazione pulita, un squid.conf controllato per accessi, autenticazione e la regola CONNECT che consente il passaggio di HTTPS.

A cosa serve Squid

Squid è un proxy di caching maturo e ricco di funzionalità per HTTP e HTTPS. A differenza del piccolo 3proxy o di un Dante solo SOCKS, Squid è costruito attorno al traffico web: può memorizzare nella cache le risposte, filtrare tramite liste di controllo accessi, autenticare gli utenti e registrare in dettaglio. Questo lo rende la scelta predefinita per un gateway outbound aziendale, uno strato di caching per una rete trafficata, o un proxy controllato HTTP CONNECT. Non supporta SOCKS — per quello utilizzeresti 3proxy o Dante (vedi costruisci il tuo proxy).

Le due cose su cui i neofiti inciampano sempre sono il controllo accessi (Squid nega tutto per impostazione predefinita) e HTTPS (che richiede il metodo CONNECT consentito). La configurazione qui sotto gestisce entrambi.

Un squid.conf sicuro

Proxy forward autenticato sulla porta 3128 con un ACL, CONNECT consentito per HTTPS e porte sicure ristrette. Regola i percorsi per la tua distribuzione.

bash
apt update && apt install -y squid apache2-utils
# create a password file for basic auth:
htpasswd -c /etc/squid/passwd USER   # prompts for password

cat > /etc/squid/squid.conf <<'CFG'
http_port 3128

# --- authentication ---
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm s4m-proxy
acl authenticated proxy_auth REQUIRED

# --- safe ports / CONNECT for HTTPS ---
acl SSL_ports port 443
acl Safe_ports port 80 443 21 1025-65535
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

# --- allow only authenticated users, deny the rest ---
http_access allow authenticated
http_access deny all

# --- small cache ---
cache_dir ufs /var/spool/squid 1000 16 256
coredump_dir /var/spool/squid
CFG

squid -k parse            # validate config
systemctl restart squid

# test:  curl -x http://USER:PASS@YOUR.VPS.IP:3128 https://api.ipify.org

ACL, HTTPS e limiti onesti

Il potere di Squid è il suo modello ACL: puoi consentire o negare in base all'IP sorgente, alla destinazione, alla porta, all'orario o all'utente autenticato, e le regole vengono valutate dall'alto verso il basso con la prima corrispondenza che vince. La linea http_access deny all alla fine è essenziale: senza un default-deny, un Squid mal configurato diventa un relay aperto. Per HTTPS, ricorda che Squid utilizza CONNECT per tunnelare il traffico crittografato che non può leggere; l'ACL SSL_ports limita quali porte quel tunnel può raggiungere. (Squid può anche fare l'intercettazione TLS con una CA locale, ma per un semplice proxy in avanti non vuoi questo.)

Eseguire Squid da solo ti dà un'uscita controllata dal datacenter e registrazioni dettagliate, a costo di mantenerlo. Se hai solo bisogno di un'uscita HTTP autenticata senza gestire un server, questo è esattamente ciò che il proxy HTTP s4m proxy su proxy.s4m.online:3128 fornisce, con un'opzione di IP dedicato e API. Se una richiesta restituisce 407, controlla le credenziali — vedi la guida 407.

Share this page
FAQ

Domande, risposte

Perché Squid blocca tutto il mio traffico dopo l'installazione?

Squid nega tutto per impostazione predefinita fino a quando non aggiungi regole http_access allow. Hai bisogno di un ACL che corrisponda ai tuoi utenti o agli IP sorgente e di una riga allow sopra il deny finale. Il default-deny è una funzione di sicurezza che impedisce a Squid di diventare un relay aperto.

Come gestisce HTTPS Squid?

Attraverso il metodo CONNECT: Squid apre un tunnel grezzo verso la destinazione sulla porta 443 e rilancia byte crittografati senza leggerli. Devi consentire CONNECT al tuo ACL SSL_ports. Squid può anche intercettare TLS con una CA locale, ma un proxy forward semplice non ha bisogno di questo.

Salta la manutenzione

Esegui Squid per un controllo completo, oppure punta il tuo client al proxy HTTP s4m autenticato sulla porta 3128 per un'uscita da datacenter gestita — con un IP dedicato e API quando ne hai bisogno.

Le persone hanno trovato questa pagina cercando

Frasi di ricerca reali a cui questa pagina risponde — i collegamenti aprono la pagina che le tratta in dettaglio.