PWS logo

Il Progetto Winston Smith

PWS logo

- scolleghiamo il Grande Fratello -

Navigazione
  
  Home page
  
  
  Chi siamo
  
  
  Partecipazione
  
  
  Documenti
  
  
  Sw Crypto
  
  
  Sw Freenet
  
  
  Mail List
  
  
  
  
  
  
  

Come realizzare un proxy anonimizzatore per il surfing anonimo

 

 

Copyright (c) 2002 del Progetto Winston Smith.

È garantito il permesso di copiare,

distribuire e/o modificare questo documento

seguendo i termini della GNU General Public

License, Versione 2.0, pubblicata

dalla Free Software Foundation.

 

 

1) Realizzare un proxy anonomizzatore con Anonweb

Una anon proxy molto facile da installare e configurare è costituita da "Anonweb", scritto in PHP e scaricabile dal sito: http://dividuum.de

Ovviamente il web server dovrà avere il supporto per PHP, e ad esempio per Apache nel file di configurazione httpd.conf dovranno esserci le seguenti righe:

DirectoryIndex index.phtml index.html index.php

(è importante index.php, in modo che carichi la pagina index.php se non esiste un index.html, come in questo caso)

AddType application/x-httpd-php .php3 .php .php4 .phtml

(è importante il .php, in modo che le pagine che terminano con l'estensione .php siano correttamente gestite dal web server).

Per l'installazione ho creato la sottodirectory proxy1 nella cartella htdocs dove risiedono le pagine web di apache, e ci ho copiato dentro l'archivio compresso (proxy1 sarà il virtualhost, quindi il proxy sarà raggiungibile ad un indirizzo come proxy1.mioserver.org)

Dopodiché ho decompresso il file con un

tar -xzvf anonweb-0.4.tar.gz

A questo punto ci si trova davanti a 6 files php.

Due di questi vanno leggermente modificati:

  • il primo è config.php alla riga 24, dove bisogna definire la variabile ANONWEBBASEURL in modo che punti all'indirizzo web del proxy, in questo caso https://proxy.mioserver.org
  • il secondo è index.php che si può modificare a piacimento per creare una pagina in cui si troverà presente il form in cui scrivere l'indirizzo web del sito che si vuole andare a visitare in modo anonimo.

L'installazione è completa, adesso bisogna solo creare il virtualhost nella configurazione di apache.

Bisogna forzare la connessione sulla porta 443 in modo che avvenga criptata, in caso di tentato accesso ad http://proxy.mioserver.org il proxy risulta inaccessibile in quanto la connessione tra l'utente e il proxy non è criptata e compare un messaggio di errore con un link alla pagina in https.

Questo proxy filtra le immagini, senza possibilità di configurazione.

 

2) Realizzare un proxy anonomizzatore con Squid

Installare squid normalmente e poi modificare il file /etc/squid.conf alle seguenti voci:

    • cache_store_log none #non loggare quello che finisce in cache
    • client_netmask 0.0.0.0 #per sicurezza tutti gli ip eventualmente(anche se gli abbiamo detto di non loggarli)loggati vengono messi a 0.0.0.0
    • http_access allow all #tutti possono accedere al proxy
    • forwarded_for off #disabilita la comunicazione al server richiesto dell'identità del richiedente. In pratica è l'anonymizer.
    • client_db off #ossia non fare statistiche sui client che si connettono

 

Squid, una volta impostato nelle preferenze del browser (vedi sotto) gestisce la comunicazione tra il client e il sito web che si va a visitare e con queste modifiche al file di configurazione nasconde l'indirizzo IP del client al server web.

Il problema è che la connessione avviene però in chiaro (non crittata) tra il client e il server su cui gira squid, e quindi se c'è qualcuno "in ascolto" in questo tratto di rete può intercettare le richieste del client e registrare quali sono i siti web visitati dall'utente. Quindi bisognerebbe crittare questo passaggio di dati dal client allo squid.

(Se qualcuno fosse in ascolto invece tra lo squid e il server visitato capirebbe solo che qualcuno si sta collegando ad un certo sito, ma non saprebbe chi).

Per fare in modo che la comunicazione tra il client e squid sia crittata si può usare il software stunnel (è incluso nella debian, oppure è scaricabile da www.stunnel.org).

Quindi innanzitutto installate stunnel sul server.

Se decidete di farlo partire da inetd questa è la riga di configurazione da inserire in /etc/inetd.conf per avviarlo in automatico al boot:

sproxy stream tcp nowait root /usr/sbin/stunnel stunnel -r proxy

In questo modo stunnel resta in attesa di connessioni sulla porta 3129.

 

La parte di installazione lato server a questo punto è completa.

 

Per quanto riguarda i client se volete collegarvi allo squid senza sfruttare la connessione criptata (magari perché non avete o non potete installare stunnel (che esiste anche per windows)), dovete impostare il vostro browser in modo che si connetta al proxy.

Impostazioni dei browser più comuni:

Come esempio ho indicato il sito fittizio server.org che andrà sostituito con il nome del server che intendete utilizzare e che fornisce questo servizio (un esempio è autistici.org):

  • Netscape: Menu Edit - Preferences, clicca su "Advanced" (2 volte) o sul triangolino che c'è prima della A. A questo punto clicca su "Proxies" e seleziona "Manual proxy configuration", poi clicca su "View" e nella voce HTTP proxy inserisci "server.org" (senza virgolette) e di fianco specifica come Port: "3128". Clicca su Ok in fondo e il gioco è fatto.
  • Lynx(2.8.4): cercate nel file lynx.cfg la riga contenente http_proxy, decommentatela e modificatela in questo modo:
    • http_proxy:http://server.org:3128/
  • Links (0.9.6): nel file ~/.links/links.cfg modificate la riga per il proxy in
    • http_proxy server.org:3128
  • Opera 5: Menu File - Preferences, clicca sulla sezione "Network", poi seleziona il menu "proxy server" in alto a destra, metti il segno di spunta prima di HTTP, inserisci "server.org" come nome del server e "3128" come porta.
  • Mozilla (0.8): Menu Edit - Preferences, nella colonna di sinistra clicca due volte su "Advanced", comparirà un altro menu, clicca su Proxies e ora guarda la sezione a destra. Devi cliccare su "Manual proxy configuration" e dove c'è "HTTP proxy" devi inserire "server.org" (senza virgolette) e di fianco dove dice "Port" inserisci 3128. Clicca su Ok in basso.
  • Galeon (0.10.6): Menu Settings - cliccare su enable proxy, poi sempre nel menu Settings cliccare su Preferences, nella finestra che si apre nella sezione di sinistra cliccare due volte su Advanced (l'ultima voce in fondo), poi su Network. A questo punto nella sezione a destra inserire come HTTP proxy server.org e come porta cambiare 8080 in 3128 e cliccare su Ok in basso.
  • Konqueror (2.1.1): Menu Settings - cliccare sull'ultima voce in fondo "Configure Konqueror". Nella finestra che si apre cliccare sulla voce Proxies nella sezione a sinistra, poi a destra in alto cliccare su "Use proxy" e inserire in "HTTP proxy" server.org e cambiare la porta da 8080 a 3128.
  • Explorer 4: Menu View, seleziona "Internet Options", seleziona "Connection", clicca su "Use a proxy server", inserisci "http://server.org" nella casella "Address", e inserisci "3128" nella casella "Port".
  • Explorer 5: Menu Tools, seleziona "Internet Options", seleziona "Connections", seleziona "LAN Settings", clicca su "Use a proxy server" e inserisci "http://server.org" nella casella "Address", e "3128" nella casella "Port".

 

Se invece volete usare lo stunnel dovete installarlo anche sul vostro PC, questo perché Stunnel, come dice il nome, crea un tunnel e quindi è necessario che il tunnel parta dal client e arrivi al server.

Quindi installatevi stunnel e in un file di configurazione dell'avvio (ad esempio /etc/rc.d/rc.local se avete una slackware) mettete:

stunnel -c -d 3128 -r server.org:3129

Se avete una connesisone dial-up questo comando non andrà messo al boot ma andrà specificato nel momento in cui entrate in rete, quindi o a mano ogni volta, oppure in uno script che avvia la connessione ppp.

 

In questo modo il tunnel partirà dalla vostra porta 3128 e andrà a finire sulla porta 3129 del server; lo stunnel in ascolto girerà la connessione alla porta 3128 del server da dove lo squid si occuperà di gestire la comunicazione col server web di destinazione.

Tutto chiaro ?

Manca solo una cosa, in questo caso dovete configurare il vostro browser in modo che nella sezione proxy della configurazione non vada a cercare server.org sulla porta 3128, bensì il vostro PC (localhost) sulla porta 3128 (dove ascolta lo stunnel).

Quindi per le configurazioni illustrate in precedenza basta sostituire server.org con localhost.

Questo sito ed i suoi contenuti sono distribuiti sotto la Gnu General Public License 2.0