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
  
  
  
  
  
  
  

Installazione di un Nymserver di tipo 2 (Newnym2 - Alias.net)

 

Copyright (c) 2004 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.

 

Introduzione

Un remailer correttamente utilizzato permette di spedire un messaggio ad un destinatario 
senza che nessuno, destinatario o nemico, possa risalire al mittente.
Il destinatario non puo` pero` rispondere al mittente senza che quest'ultimo gli riveli
la sua identita`, ed inoltre il mittente deve fidarsi del destinatario per quanto riguarda
il corretto uso dei remailer; un errore nell'inoltrare la risposta da parte del destinatario
potrebbe compromettere la anonimita` del mittente nei confronti del nemico. Per risolvere
il problema della risposta sono stati realizzati i nym server. 
Un nym server e` un programma che permette di crearsi una identita` anonima, che consente
al destinatario di rispondere senza dover conoscere l'indirizzo del mittente.
Se l'invio del messaggio viene realizzato utilizzando, sempre tramite un apposito client,
sia una catena di remailer che un nym server, e` possibile realizzare una comunicazione
completamente anonima, in cui le parti non possono risalire alla reciproca identita`, e che
il nemico non puo` rintracciare.
L'installazione di un remailer e di un nym server richiede una macchina 486 o superiore,
dotata di GNU/Linux con almeno 32 mb ram (senza X11) ed almeno 512 mb di spazio su disco.
Il carico della cpu e la banda passante utilizzata per il traffico dipendono fortemente da
quanto il nymserver sara` utilizzato, e saranno inizialmente quasi zero.
Avere CPU pentium, clock maggiori e piu` ram non infastidisce di certo, ed un pentium 133,
64 Mb di ram e 1 Gb di disco sono una configurazione piu` che adeguata. Per smaltire un
traffico alto serve comunque una banda passante adeguata; anche se il traffico di un nym
 e' di solito molto inferiore rispetto a quello di un tipico remailer, lo spam colpisce
 anche qui. Newnym2 ha un meccanismo di disabilitazione di account spammati che li disabilita
 se hanno un traffico superiore ad una certa soglia, ma non esiste un meccanismo che 
 limiti uno spam piu basso ma diretto contro tutti gli account den nym.

Prerequisiti:
- Sistema GNU/Linux: il sistema di riferimento per questo howto e` Debian GNU Linux
  versione 3.0, architettura i386, kernel 2.4.26 e glibc 2.2.5;
- Nymserv, versione CVS, reperibile su
    http://sourceforge.net/projects/nymserv
      eventualmente cercandolo direttamente nel cvs (fate click sul numero di versione) 
    http://cvs.sourceforge.net/viewcvs.py/nymserv/nymserv/
- Perl 5.6.1 o superiore;
- I seguenti moduli perl: libgnupg-interface-perl (v0.31), libgnupg-perl (v0.9),
  libdigest-md5-perl (v2.13).
- GnuPG 1.2.5* (http://www.gnupg.org)
- MTA Postfix (http://www.postfix.org)

Per il remailing serve inoltre Mixmaster 2.9.0 o superiore (http://mixmaster.sourceforge.net)

*Nota sulla versione di GnuPG: il pacchetto fornito con la distribuzione usata, ovvero
GnuPG 1.0.6 ha un comportamento erratico (errori di cifratura random) e non ha il
supporto per l'algoritmo IDEA. Pertanto e` necessario compilarlo dai sorgenti scaricabili
dal sito http://www.gnupg.org. Per abilitare il supporto seguire le indicazioni riportate
su http://www.gnupg.org/(it)/documentation/faqs.html#q3.3. Usando un gestore di pacchetti
(nel nostro caso apt) puo` nascere un problema di dipendenze, in quanto i moduli di
interfaccia gpg di perl richiedono il pacchetto gpg della distribuzione, che non funziona;
il mio consiglio, anche se puo` sembrare un lavoro "sporco", e` di installare comunque
tale pacchetto, e di rinominare poi l'eseguibile. I moduli perl useranno il GnuPG da
noi compilato, a patto di averlo installato in un PATH standard (di default viene installato
in /usr/local/bin).

ATTENZIONE: in questo howto si fa riferimento a nym.pippo.net come hostname del nymserver.
Chiaramente si tratta di un nome di fantasia preso come esempio e dovrete cambiarlo
con nome reale del nym che vorrete installare.

Installazione:

Creare un utente non privilegiato sotto cui girera` il nymserver, che chiameremo nym:

# adduser nym

Diventiamo utente nym e mettiamo a punto la directory del nymserver:

# su - nym
$ cd /home/nym
$ mkdir Nym
$ chmod 700 Nym
$ cd Nym
$ mkdir pgp users queue

Preleviamo lo script nymserv.pl, copiamolo dentro /home/nym/Nym e rendiamolo eseguibile:
$ chmod +x nymserver.pl

Creare le chiavi per il nostro nym:

$ cd /home/nym/Nym/pgp
$ gpg --homedir ~/Nym/pgp --s2k-cipher-algo BLOWFISH --cipher-algo TWOFISH --no-secmem-warning \
--no-default-keyring  --keyring ~/Nym/pgp/pubring.pgp --secret-keyring ~/Nym/pgp/secring.pgp \
--gen-key

Mettere come nome qualcosa tipo "pippo nym configuration address" e come indirizzo e-mail config@nym.pippo.net.
Ovviamente sostituite questi nomi con quelli reali del vostro nymserver; nym.pippo.net deve
essere un record A che punti all'ip del vostro server.

Ora aggiungete l'altro indirizzo del nymserver, send@nym.pippo.net che servira` per l'invio
dei messaggi:

$ gpg --no-default-keyring --keyring ~/Nym/pgp/pubring.pgp --secret-keyring ~/Nym/pgp/secring.pgp \
--edit-key config@nym.pippo.net

adduid
pippo nym send address
send@nym.pippo.net

o
la vostra passphrase
q
y

Adesso esportate la chiave pubblica in formato ascii. Sempre in /home/nym/Nym/pgp dare:

$ gpg --homedir ~/Nym/pgp --no-default-keyring  --keyring ~/Nym/pgp/pubring.pgp \
--armor --export > ~/Nym/pgp/pubring.asc

copiate il pubring.pgp come /home/nym/Nym/ring-proto.pgp

$ cp pubring.pgp ../ring-proto.pgp

in /home/nym/Nym/pgp create un file di nome "passphrase" che contenga la passphrase delle
chiavi appena create. Adesso spostatevi dentro /home/nym/Nym/users e create i file
"admin.forward" e "postmaster.forward" con dentro l'indirizzo e-mail dell'amministratore
del nym. Inoltre va creato il messaggio che il nym inviera` a chiunque richieda la chiave:

$ cd /home/nym/Nym/users
$ echo "From: nobody@nym.pippo.net" > remailer-key.reply
$ echo "Subject: PGP key for nym.pippo.net" >> remailer-key.reply
$ echo " " >> remailer-key.reply
$ cat ../pgp/pubring.asc >> remailer-key.reply

Installazione del remailer Mixmaster:

il nym per poter funzionare, ha bisogno di Mixmaster installato e funzionante; anche se
sul vostro computer e` gia` attivo un anonymous remailer, non e` buona cosa utilizzare
il pool di quest'ultimo per il remailing da parte del nym. Conviene installare una copia
di Mixmaster nella home directory dell'utente nym e dedicarlo esclusivamente al nymserver.

Prelevare una copia dei sorgenti della versione 2.9.0, scompattarla e spostarsi all'interno
della directory appena creata.
Se non disponete di una versione decente di OpenSSL gia` installata, lo script di
configurazione potrebbe lamentarsi; scaricate il tar.gz dell'ultima release da
http://www.openssl.org, compilate ed installate. Se preferite utilizzare il nuovo
OpenSSL solo per Mixmaster, potete scompattare i sorgenti nella sottodirectory "Src" di
Mixmaster e verra` automaticamente compilato insieme al Mixmaster stesso.

Adesso eseguite lo script "Install"; lo script vi chiedera` alcune cose: accettate le
risposte di default ad eccezione di "Do you want to set up a remailer? [y]" dove
risponderete "no".
Al termine della compilazione avrete la directory Mix dentro /home/nym.
Non resta che modificare il file di configurazione mix.cfg in modo che rispecchi
questo:

=========================================================================
SENDMAIL        /usr/sbin/sendmail -t
######################## Client configuration: ##########################
REMAIL          y

SENDPOOLTIME    0h
NUMCOPIES       1
DISTANCE        2
MINREL          98
RELFINAL        99
MAXLAT          36h

MIX             y
PGP             y
UNENCRYPTED     y
=========================================================================

Il lavoro su Mixmaster e` finito. Se avete dei dubbi o volete altre informazioni
a riguardo, consultate la parte dedicata a Mixmaster nella documentazione del PWS.
Ora possiamo ritornare al nym, configurando il nymserver.pl vero e proprio.
Apritelo con un editor di testo e modificate le seguenti righe nella prima parte
del file:

=========================================================================
# Configuration:

my $HOMEDIR = '/home/nym/Nym'; #directory di lavoro del nym
my $HOSTNAME = 'nym.pippo.net'; #sostituitelo con il vero hostname del nym
my $SENDMAIL = '/usr/sbin/sendmail';
my $QMAIL_CODES = 0; # Use qmail rather than sendmail exit codes
my $REMAIL = '/home/nym/Mix/mix -SR'; #directory di Mixmaster

# Specify your nymserver key ID right here.
# Warning : this must be the longkeyid !
my $NYMKEYID = 'C0F7C28AC7A31815'; #id della chiave del nym
=========================================================================

Per ottenere il longkeyid della chiave del nym usate questo comando:

$ gpg --homedir ~/Nym/pgp --no-default-keyring --keyring ~/Nym/pgp/pubring.pgp \
--with-colons --list-keys

otterrete qualcosa tipo:
tru::0:1093349939:0
pub:-:1024:17:C0F7C28AC7A31815:2004-07-26:::-:Pippo Nym Server ::scESC:
              ^^^^^^^^^^^^^^^^
uid:-::::::::Pippo Nym Server :
sub:-:1024:16:F3469C93B2582FCC:2004-07-26::::::e:

il longkeyid da riportare e` la parte di 16 cifre evidenziata.
Altra modifica da apportare e` nella linea n104 del nymserver.pl che dovrete sostituire
con questa:

$ENV{'PATH'}    = '/usr/local/bin';

in modo da utilizzare l'eseguibile gpg da noi compilato.

Configurazione MTA Postfix:

per il delivery dei messaggi al nymserver possiamo utilizzare o procmail debitamente
istruito oppure usare il transport di Postfix. Noi useremo quest'ultima soluzione.
Da root editate il file "transport", tipicamente in /etc/postfix ed aggiungete la
seguente riga:

========================================================================
nym.pippo.net       nymserver:
========================================================================

in questa maniera tutti i messaggi @nym.pippo.net verranno dirottati verso il
transport nymserver. Create il database con:

# postmap transport

ora aggiungete questa riga a master.cf, sempre in /etc/postfix:

========================================================================
nymserver          unix  -       n       n       -       -       pipe
 flags=FR user=nym argv=/home/nym/Nym/nymserver.pl -d $recipient
========================================================================

controllate anche che in /etc/postfix/main.cf ci sia:

========================================================================
transport_maps = hash:/etc/postfix/transport
========================================================================

Riavviate postfix:

# postfix reload

Il lavoro e` finito. Se tutto va come si deve, inviando un messaggio a
remailer-key@nym.pippo.net vi dovrebbe arrivare la chiave del nymserver.
L'ultimo passo e` cercare di creare un reply-block e testarne il
funzionamento.
Se avete dei problemi e non riuscite ad uscirne, scrivete alla lista
del PWS e-privacy@firenze.linux.it, iscrivendovi prima a questo url

http://lists.firenze.linux.it/mailman/listinfo/e-privacy

 e qualcuno vi dara` certamente una mano.

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