Oct 132011
 

squidIn articoli precedenti ho parlato di Tor e SSH per navigare in rete in maniera più sicura, o almeno più anonima.
Ma a volte è più facile fare la configurazione solo una volta su un server e impostare un proxy lì, e poi utilizzarlo come proxy per tutti i propri computer,o forse tutti i computer dell’ufficio o amici.

E con i VPS questo è un modo economico per navigare in rete partendo da un’altra parte del mondo.

Quindi, in questo articolo vedremo come fare una configurazione di base di Squid.


Farò il setup su un sistema Debian 6, quindi alcuni comandi per l’installazione di file, o la posizione del file di configurazione potrebbero cambiare nella vostra distribuzione.

Come prima cosa, una piccola descrizione di Squid:

Squid è un caching proxy per il Web con supporto a HTTP, HTTPS, FTP, e altro ancora. Si riduce la banda di rete utilizzata e migliora i tempi di risposta tramite una cache e riutilizzando le pagine web richieste più di frequente. Squid ha un esteso controllo degli accessi e funziona molto bene come server per accelerare la navigazione. Funziona sulla maggior parte dei sistemi operativi disponibili, tra cui Windows ed è autorizzato sotto la licenza GNU GPL.

Installazione

Squid è disponibile su Debian, quindi possiamo installare la versione 3 con il comando:

aptitude install squid3 squid3-common

Questo installerà automaticamente anche tutti i requisiti di cui abbiamo bisogno.

Configurazione

Ora abbiamo solo bisogno di cambiare qualche parametro per consentire solo al nostro IP o LAN di usare Squid e modificheremo alcuni parametri.

Consentire l’accesso a Squid solo dal tuo IP

Probabilmente non si desidera creare un proxy Squid pubblico che tutti possono usare .. ed abusare.
Quindi faremo una regola in modo che solo il vostrouo IP sia in grado di connettersi a Squid.

Individuare la riga seguente nel file /etc/squid3/squid.conf:

#acl localnet src 10.0.0.0/8

Questa linea crea un ACL (Access Control List) con il nome localnet, dichiarando come ip appartenenti a questa regola tutti quelli nella lan 10.0.0.0/8
Ora avete due scelte:

1) Se avete un IP pubblico si può semplicemente usarlo, se il vostro IP è 1.2.3.4 modificare la configurazione sopra riportata in:

acl localnet src 1.2.3.4

2) Se avete un IP dinamico la migliore soluzione è di aprire una gamma di IP, questo sarà più insicuro di una semplice apertura di 1 ip, ma molto meglio che lasciare Squid completamente aperto. per aprire il range da 1.2.3.0 a 1.2.3.254 fare la seguente modifica:

acl localnet src 1.2.3.0/24

Ora è necessario aggiungere un altro parametro per abbinarlo a questo, cercare la stringa:

http_access allow localhost

ed AGGIUNGERE anche la linea

http_access allow localnet

Cambiare la porta standard

Per motivi di sicurezza preferisco non usare le porte defualt quando possibile, quindi suggerisco di cercare questa riga:

http_port 3128

E cambiare il 3128 in qualsiasi altra porta > 1024.

navigazione anonima

Di default Squid utilizza l’IP del client che si connette e lo trasmette al sito internet che si vuole visitare, ma se vogliamo un proxy anonimo dobbiamo disabilitare questa opzione per nascondere gli IP client e inviare solo gli indirizzi IP che sono configurati sul server Squid. Trova la seguente riga nel file /etc/squid3/squid.conf:

forwarded_for on

E cambiarla in :

forwarded_for off

Ed aggiungere alla fine del file squid.conf le seguenti istruzioni:

request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Tutto fatto, salvare il file e riavviare squid con il comando:

/etc/init.d/squid restart

Sul Browser

Ora dovete solo cambiare la configurazione proxy sul vostro browser, per esempio su firefox si trova in Modifica -> Preferenze -> Avanzate -> Rete -> Impostazioni qui selezionate “Configurazione manuale dei proxy” e inserire l’IP e la porta del server Squid come proxy HTTP.

Visitate ora http://www.whatismyip.com/ e si dovrebbe vedere l’IP del vostro server Linux.

NOTA: i siti HTTPS non funzioneranno in questa configurazione Anonima.

Popular Posts:

Flattr this!

  12 Responses to “Come configurare un Proxy Squid sulla vostra Debian Linux”

  1. Ciao, innanzitutto complimenti per l’articolo. Ho seguito passo passo le istruzioni e sono riuscito ad installare e configurare squid sul mio pc con ubunu 10.04, però non ho capito molto come funzionerebbe il discorso dell’anonimato, dovrei installarlo su una vps per nascondere l’ip del client (e quindi visualizzare l’ip del server) oppure è possibile in qualche modo farlo anche dal mio pc?

  2. ma se al posto di usare una gamma di ip mettessimo l‘accesso a solo utenti preconfigurati funzionerebbe = e avremmo meno problemi con gli ip( se è possibile mi illustreresti come fare)

    altrimenti se come ip client ne settassi uno letterale rindirizzato da noip funzionerebbe? ciao e grazie

    ho la necessuta di accere via proxy all connessione di un utente però con adsl l’ip mi cambia tantissimo e non vorrei lasciarlo tutto aperto

  3. ubuntu
    /etc/init.d/squid restart

    Debian 6
    /etc/init.d/squid3 restart

  4. How can we add authenticated users to our squid cache ?
    I want to add existing users for authentication privileges to squid.

    Thanks

  5. Is there a way to setup the proxy so that I can visit HTTPS sites? Thanks

  6. Salut,

    pour l’install, un simple aptitude install squid3 suffit.
    Le aptitude squid3-common est une dépendance de squid3 🙂
    Comme ca, le jour ou tu vire squid3, le common suivra avec, ce sera plus propre comme désinstall.

    Merci pour le tuto sinon 🙂

  7. The localnet part doesn’t seem to work in squid3 for Debain 6

    Restarting Squid HTTP Proxy 3.x: squid3Creating Squid HTTP Proxy 3.x cache structure ... (warning).
    2013/09/01 14:10:17| aclParseAclList: ACL name 'localnet' not found.
    FATAL: Bungled squid.conf line 788: http_access allow localnet
    Squid Cache (Version 3.1.6): Terminated abnormally.
    CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
    Maximum Resident Size: 17312 KB
    Page faults with physical i/o: 0
    2013/09/01 14:10:17| aclParseAclList: ACL name 'localnet' not found.
    FATAL: Bungled squid.conf line 788: http_access allow localnet
    Squid Cache (Version 3.1.6): Terminated abnormally.
    CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
    Maximum Resident Size: 17312 KB
    Page faults with physical i/o: 0

  8. Ciao.
    Io voglio renedere il mio proxy aperto a tutti, senza che venga richiesto nulla, come posso fare?
    Grazie in anticipo.

    Hello.
    I want my proxy renedere open to all , without requiring anything , how can I do ?
    Thank you in advance.

Leave a Reply to luca Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*