|
|
Come realizzare un remailer tipo III (Mixminion)
(26/10/2003)
Copyright (c) 2003 del Progetto Winston Smith.
E' 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.
=== ATTENZIONE === Come il software stesso non manchera' di ri-
cordarvi in continuazione, i remailer di tipo III sono ancora in
fase di sviluppo e non possono garantire la stessa immunita' da
bachi ed attacchi che hanno per esempio i remailer di tipo II.
Devono essere quindi utilizzati per test, ricerca e collabo-
razione alle attivita' di sviluppo; *NON* devono invece essere
utilizzati nei casi in cui la difesa della privacy sia essen-
ziale. ==================
Un remailer anonimo è un programma che riceve posta opportuna-
mente crittografata tramite appositi programmi client, la decrit-
tografa per la parte di sua competenza, e la inoltra ad un altro
remailer od al destinatario finale.
La storia dei remailer ha vissuto una evoluzione inizialmente
rapida, volta sia ad aumentare il grado di anonimato che i re-
mailer offrono, sia a rendere piu' difficili i vari tipi di at-
tacchi che ad essi possono essere portati.
Si e' quindi passati dai remailer pseudo-anonimi (anon.penet.fi)
ai remailer tipo I (cypherpunk) a quelli tipo II (mixmaster).
Per alcuni anni non ci sono state evoluzioni significative; i re-
mailer mixmaster si sono diffusi ed il software e' stato ritocca-
to per aumentarne la sicurezza, ma le caratteristiche di base
sono rimaste invariate.
Il funzionamento della rete dei remailer (che ha attualmente di-
mensioni variabili dalle 30 alle 60 unita'), la maggioranza dei
quali di tipo II ma che includono anche il supporto tipo I, ne ha
rivelato i limiti.
I problemi principali risiedono nella complessita' di gestione
della rete, che richiede l'utilizzo di sistemi ausiliari come i
pinger, che si poggia su un protollo di trasporto relativamente
lento (posta elettronica) e che' e' suscettibile ad attacchi DoS
di vario tipo.
A questo si aggiunga che per poter realizzare un flusso anonimo
bidirezionale di informazioni occorre aggiungere un ulteriore
tipo di server, gli pseudonym server, che aumentano ancora la
complessita' e quindi l'inaffidabilita' (intesa come perdita di
messaggi, non come perdita di privacy) della attuale rete dei re-
mailer.
Per superare questi problemi e' iniziato lo sviluppo di un nuovo
tipo di remailer, i remailer Mixminion (tipo III).
Non e' questa la sede adatta per illustrare funzionamento e
potenzialita' di questo tipo di remailer; per approfondimenti
dopo una lettura propedeutica della documentazione del Progetto
sui remailer mixmaster e sui nym, si rimanda all'ottima documen-
tazione disponibile sul sito dedicato http://www.mixminion.net.
Ci limiteremo percio' ad illustrare le caratteristiche principali
del protocollo mixminion che non sono gia' presenti nei remailer
mixmaster
- la comunicazione tra i remailer avviene direttamente via tcp/ip
con l'utilizzo di una porta dedicata, tipicamente la 48099, senza
necessita' di usare la posta elettronica come trasporto;
- il protocollo prevede un sistema di directory e di statistiche
incorporato;
- la posta elettronica puo' essere utilizzata come protocollo di
"uscita" dalla rete dei remailer
- il protocollo include tutte le funzionalita' di anonimizzazione
proprie dei remailer mixmaster, e quelle degli pseudonym server,
L'implementazione di riferimento (attualmente la 0.0.5.1) e' re-
alizzata per sistemi *nix, e comprende, analogamente al software
di Mixmaster, nello stesso pacchetto sia le funzionalita' di
server che di client.
L'installazione richiede una macchina Intel,PowerPC od altro
equivalente ad almeno un 486, dotata di GNU/Linux od altre veri-
oni di *nix con almeno 32 mb ram (senza X) ed almeno 50 mb di
spazio su disco.
Il carico della cpu e la banda passante utilizzata per il traffi-
co dipendono fortemente da quanto il remailer sarà utilizzato, ma
saranno tipicamente basse, essendo la rete in fase sperimentale;
con un collegamento ADSL il traffico dovrebbe essere im-
percettibile, comunque ben al di sotto dei 5 kb/sec.
L'installazione richiede Python 2.0 o superiore, le relative li-
brerie bade di sviluppo ed OpenSSL versione 0.9.7beta3 o superi-
ore; non e' comunque indispensabile aggiornare le OpenSSL se sono
piu' vecchie perche' l'installazione e' in grado di scaricare ed
installare una versione adeguata localmente all'utente sotto cui
girera' il processo.
Creiamo quindi un utente generico mixminion, che sia in grado di
mettersi in ascolto sulla porta 48099/tcp (od altra porta a
scelta), controlliamo che il nostro eventuale firewall ne perme-
tta l'accesso dall'esterno, e scarichiamo il software dal sito
Supponiamo di installare la versione 0.0.5.1
scarichiamo il software
prompt> wget http://www.mixminion.net/dist/Mixminion-0.0.5.1.tar.gz
scompattiamo il file nella home directory dell'utente mixminion
prompt> tar zxvf Mixminion-0.0.5.1.tar.gz
verra' creata una directory in cui entreremo
prompt> cd Mixminion-0.0.5.1
controlliamo la versione di OpenSSL
prompt> openssl version
se e' troppo vecchia, scarichiamo e compiliamo una versione lo-
cale
prompt> make download-openssl prompt> make build-openssl
compiliamo il pacchetto
prompt> make
eseguiamo i test di unita'
prompt> make test
- infine installiamo (eseguiremo una installazione locale)
prompt> make install PREFIX=~
A questo punto client e server sono installati
Proviamo ad utilizzare il client, che non necessita di configu-
razione.
prompt> ~/bin/mixminion send -t il@vostro.indirizzo.di.posta
-i filechecontieneilmessaggio
il client dovrebbe collegarsi automaticamente al directory serv-
er, scaricare e verificare la directory dei remailer tipo III in
linea, e poi inviare il messaggio attraverso una catena di 4 re-
mailer casuali. Se dopo un paio d'ore non vi e' arrivato niente,
provate ad usare solo due remailer
prompt> ~/bin/mixminion send -t il@vostro.indirizzo.di.posta
-i filechecontieneilmessaggio -H 2
ed inviate piu' messaggi, nel caso la rete non fosse in questo
momento molto affidabile.
ovviamente potete omettere l'indicazione del file e battere il
messaggio dallo standard input, od avere un help dando il comando
prompt> ~/bin/mixminion send help
Quando un messaggio sara' tornato, dimostrando che tutto fun-
ziona, potrete cimentarvi nella configurazione del server.
Copiate il template del file di configurazione nella home
dell'utente
prompt> cp ~/Mixminion-0.0.5.1/etc/mixminiond.conf
~/.mixminiond.conf
Editatelo, modificando la riga
Nickname: <Insert nickname here>
ed aggiungendo (o scommentando e modificando) le righe
LogFile: mixminionfiles/log
Homedir: mixminionfiles
StatsFile: mixminionfiles/stats
sostituite il nickname preferito, eliminando anche le parentesi
angolate
Modificate le permission della home dell'utente mixminion
prompt> cd prompt> chmod 0700 .
Mixminion determina automaticamente l'IP del vostro host ed apre
la porta 48099 per le connessioni dall'esterno. Se aveste prob-
lemi di connettivita' piu' complessa, ad esempio perche' avete
piu' schede di rete e/o connessioni PPP, specificate esplicita-
mente l'IP nell'apposita riga (ricordatevi di scommentarla).
Lanciate il server in background
prompt> ~/bin/mixminion server-start &
Per motivi a me incomprensibili, il software si autoaccusera' di
essere obsoleto, e vi chiedera' di aggiornarlo; voi fatelo senza
porvi domande (io l'ho gia' segnalato all'autore)
prompt> ~/bin/mixminion server-upgrade prompt> ~/bin/mixminion
server-start &
aggiornate la directory e listatela (vi e' chiaro che dovete es-
sere connessi ad Internet ?)
prompt> ~/bin/mixminion update-servers prompt> ~/bin/mixminion
list-servers
Ora dovreste essere in grado di far passare una mail dal vostro
server
prompt> ~/bin/mixminion send -t il@vostro.indirizzo.di posta
-i filechecontieneilmessaggio
-P "ilnicknamedelvostroserver,?"
e di vedere le statistiche, per ora quasi zero, del vostro server
prompt> ~/bin/mixminion server-stats
Se potete lasciare il server running per diversi giorni (e quindi
non dovete spegnere il vostro sistema), rendetelo pubblico
prompt> ~/bin/mixminion server-stop
editate il file di configurazione, e scommentate la riga
#Publish: yes
rilanciate il server
prompt> ~/bin/mixminion server-start & prompt> ~/bin/mixminion
server-republish
dopo circa 24-48 ore dovreste apparire il vostro server nella
pagina delle statistiche del pinger mixminion che trovate su
http://www.mixminion.net/
Ricordate che l'atto di pubblicare un remailer in rete equivale
anche ad una presa di impegno nei confronti di coloro che usano e
sviluppano la rete stessa.
Non lo fate se non avete intenzione di contribuire positivamente
allo sforzo, tenendo almeno attivo per un periodo il vostro serv-
er; tenendolo in piedi per poche ore fareste solo danni.
Per finire, con Mixminion si possono creare e gestire dinamica-
mente pseudonimi, generando e trasmettendo reply block appositi,
che possono anche essere usa-e-getta o scadere dopo un certo tem-
po. Per questo rimandiamo alla documentazione reperibile sul
sito.
|
|