Sicurezza web · 4 min read · Jan 26, 2026

Navigazione Sicura e Privata con Squid

Versione 1.0

Autore: Joe Topjian

Navigare su un sito che supporta SSL è un modo certo per assicurarsi che nessuno possa spiare ciò che stai facendo – il che è una buona cosa quando stai facendo qualcosa di personale come controllare la posta elettronica sul web o acquistare qualcosa da amazon. Ma se stai solo facendo cose come leggere le notizie quotidiane o controllare gli orari dei film, è davvero così importante la privacy? Gli ultra-paranoici daranno una risposta decisiva “sì” a questa domanda, mentre la maggior parte delle persone si shruggerebbe. Io mi trovo a metà strada tra queste due parti. A casa, mentre leggo le notizie, non mi importa affatto se il traffico è crittografato o meno. Tuttavia, quando sono in un luogo pubblico con wi-fi, mi dà un po’ fastidio.

La maggior parte delle aree pubbliche che consentono l’accesso a Internet non hanno assolutamente alcuna sicurezza. Hai bisogno di un buon risveglio? La prossima volta che sei in un hotspot pubblico, prendi una copia degli strumenti dsniff.

Questo articolo ti mostrerà un modo per proteggerti da qualcosa del genere – in un certo senso. Questo articolo mostrerà solo come proteggere il tuo traffico web. Se decidi comunque di parlare con il tuo CEO su AIM riguardo a un prodotto ultra-segreto in uscita la prossima settimana mentre aspetti il tuo prossimo volo, questo non ti salverà. Squid può, ovviamente, fare proxy delle richieste per altre applicazioni oltre a HTTP, ma HTTP è tutto ciò di cui parlerò. Forse parlerò di altre applicazioni in un altro articolo.

OK, iniziamo. Ecco cosa ci servirà:

  • Un server che esegue Squid su un’altra rete.
  • Un laptop con supporto ssh e port-forwarding.

Cosa faremo è impostare un server Squid da qualche parte al di fuori della rete su cui ci troviamo attualmente. Squid accetterà solo connessioni dal server stesso – nessuna connessione esterna. Allora come lo usiamo? Creeremo un tunnel SSH per accedervi. Una volta creato il tunnel, impostiamo semplicemente il nostro browser web per utilizzare un server proxy con l’indirizzo del nostro tunnel SSH. Ora qualsiasi traffico web che esce dal nostro laptop verso il nostro server Squid sarà crittografato.

Ma cosa succede dal server Squid alla pagina web reale? Quella parte non sarà crittografata, sfortunatamente. Ma hey, almeno siamo usciti dalla LAN non protetta in modo sicuro.

Userò Debian Sarge per il server Squid, ma sei più che benvenuto a usare qualsiasi distribuzione tu voglia. Dopo che Squid è installato, la configurazione sarà esattamente la stessa. Per installare Squid su Debian, basta fare:

apt-get install squid

La configurazione predefinita per Debian (e forse anche altre distribuzioni – meglio controllare!) è di consentire solo connessioni dal localhost. Questo non danneggia nulla, quindi possiamo lasciarlo così com’è. Tuttavia, abbiamo ancora bisogno di un modo per connetterci esternamente. Per questo, aggiungeremo un acl che ci chiederà una password e, se siamo autenticati, ci lascerà entrare. Lo aggiungeremo subito prima della parte “nega tutto” in modo che assomigli a questo:

acl localhost src 127.0.0.1/255.255.255.255

http_access allow localhost

http_access allow password

http_access deny all

Per impostazione predefinita, Squid ascolta sulla porta 3128. Personalmente preferisco 8080, quindi lo cambieremo con:

http_port 8080

Ora dobbiamo impostare l’autenticazione per Squid. Ci sono diversi metodi di autenticazione che vengono forniti con il pacchetto Debian e possono essere visualizzati con:

ls /usr/lib/squid/*auth

Useremo il modulo pam_auth. Questo permetterà a chiunque abbia un account shell di poter utilizzare anche il server Squid. Cerca la sezione auth_param nella configurazione e aggiungi queste righe:

auth_param basic program /usr/lib/squid/pam_auth

auth_param basic children 5

auth_param basic realm Squid proxy-caching web server

auth_param basic credentialsttl 2 hours

Successivamente cerca questa riga e decommentala:

acl password proxy_auth REQUIRED

Ora crea un modulo pam chiamato /etc/pam.d/squid che contenga:

auth required /lib/security/pam_unix.so

account required /lib/security/pam_unix.so

Dovrai dare a questo file accesso SUID, quindi chmod it 4755. Sì, lo so che questo non è il modo migliore per farlo, ma è il meno complicato. Sei più che benvenuto a ricercare gli altri metodi da solo.

Squid dovrebbe essere tutto pronto per partire. Assicurati di avere accesso shell al server tramite SSH. Non importa se usi una password, una passphrase o una passphrase vuota. Per impostare il tunnel, esegui questo:

ssh -L 8080:squidhost:8080 username@squidhost

Ti verrà chiesta l’autenticazione e, se hai successo, sembrerà che ti sia connesso alla macchina remota. Se apri un’altra finestra e digiti

telnet localhost 8080

Vedrai che ora stai parlando con squid sul server remoto.

Infine, dì al tuo browser di utilizzare il tunnel SSH come proxy. Non passerò in rassegna ogni singolo browser qui, ma fondamentalmente sarà da qualche parte nelle preferenze. Per il nome host, digita semplicemente localhost e per la porta, digita 8080.

Ora ogni volta che navighi su una pagina web, ti verrà chiesta l’autenticazione. Digita le informazioni del tuo account shell e sarai pronto per partire. Il browser potrebbe dare un avviso riguardo all’autenticazione tramite testo in chiaro – ignoralo. Viaggerà attraverso il nostro tunnel SSH, quindi sarà crittografato.

Congratulazioni! Ora puoi navigare sul web senza preoccuparti che qualcuno ti spii. Se qualcuno ha commenti, correzioni o modi per migliorare questo metodo, per favore fammi sapere!Posizione originale di questo documento:

http://adminspotting.net/howtos/securesquid.html

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.