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 pinger Echolot per remailer anonimi (19/11/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: ==============================================
Alcuni link di questo documento portano direttamente ai siti
 di riferimento; se state leggendo questo documento da Freenet
 non seguiteli se desiderate mantenere la vostra privacy.
==============================================================

 

Un pinger è un software che ad intervalli di tempo prestabiliti invia dei messaggi opportunamente formati ad uno o più remailer anonimi per testarne la funzionalità e la disponibilità; in seguito calcola delle statistiche che possono essere rese disponibili attraverso delle pagine web, per permettere ai client di scegliere la catena di remailer con i requisiti ottimali per l'invio dei messaggi.

Prerequisiti:

  • Un sistema Gnu/Linux o Unix, con processore 486 o superiore e 32 Mbyte di ram;
  • Connessione ad internet di tipo permanente *DSL o superiore;
  • Perl, versione 5.8 o superiore;
  • GnuPG, versione 1.0.7 o superiore;
  • Mixmaster (se sulla macchina è già presente un remailer è possibile usare l'eseguibile di quest'ultimo);
  • Un MTA locale funzionante (nel nostro caso sarà Postfix);
  • Procmail;
  • ovviamente echolot, del quale al momento della scrittura di questo testo l'ultima versione era la 2,1.

Serviranno inoltre i seguenti moduli Perl:

  • HTML::Template;
  • GnuPG::Interface (versione 0.33 o superiore);
  • Data::Dumper;
  • Digest::MD5

INSTALLAZIONE:

Controllare se sul proprio sistema siano presenti i software elencati sopra e salvare una copia di Echolot.
Da root, creare l'utente pinger (ovviamente il nome può essere di vostra scelta) loggarsi con l'utente appena creato e scompattare echolot-21.tar.gz nella home directory (/home/pinger); rinominare la directory appena creata e contenente tutti i file di Echolot in /home/pinger/echolot. Spostarsi dentro quest'ultima e copiare il file pingd.conf.sample in pingd.conf e dopo editare questo file in modo che i percorsi e le directory rispecchino quelle del vostro sistema.

Se Mixmaster è già presente nel sistema, specificare il percorso dell'eseguibile mix in pingd.conf, tenendo presente che echolot non condivide il pool usato dal Mixmaster esistente né i suoi keyrings; controllare che l'utente pinger abbia i permessi di esecuzione sul binario mix. Se si preferisce, si può compilare ed installare mixmaster nella directory /home/pinger/Mix e lasciarlo ad uso esclusivo di Echolot.

Modificare, sempre in pingd.conf, my_localpart e my_domain con i valori adatti per la propria configurazione (riferirsi agli esempi riportati nel file pingd.conf originale, piuttosto chiari).
my_localpart descrive il nome utente a cui verranno recapitati i messaggi di test, e my_domain è il dominio del computer su cui verrà fatto funzionare Echolot.

Assicurarsi che il vostro MTA supporti le user defined mailbox; nel caso di postfix, aggiungere (da root) in /etc/postfix/main.cf questa opzione: recipient_delimiter = +
Con questa opzione tutti i messaggi inviati a pinger+quello_che_si_vuole@dominio verranno recapitati all'utente pinger.
Se il vostro MTA non supporta questa funzionalità, in pingd.conf alla voce recipient_delimiter lasciare "" (ovvero lasciare l'opzione vuota.. non è comunque raccomandabile per il buon funzionamento del pinger).

Echolot può usare i formati per le mailbox maildir (preferibile) oppure mbox: se viene usato il formato maildir, di default le mail in arrivo saranno cercate in /home/pinger/echolot/mail; altrimenti, usando mbox, si dovrà specificare nell'opzione mailin di pingd.conf il percorso /var/mail/pinger (o comunque il percorso dello spool dove verranno recapitate le mail in arrivo).

Passi da seguire se si usa il formato maildir (tralasciare se si vuole usare mbox):

  1. Creare la mailbox in ~/echolot:
    $ mkdir ~/echolot/mail
  2. Controllare in /etc/postfix/main.cf che Postfix usi procmail per lo smistamento della posta; se non fosse presente aggiungere, da root:
    mailbox_command = /usr/bin/procmail
    (o dove si trova l'eseguibile di procmail).
    Per rendere funzionanti le modifiche apportate, riavviare Postfix con:
    # postfix reload
  3. Infine, creare nella home directory dell'utente pinger, il file .procmailrc contenente queste istruzioni:
    :0
    $HOME/echolot/mail/
    In questo modo tutte le mail in arrivo saranno recapitate nella mailbox /home/pinger/echolot/mail. Tengo a ricordare che questi passi vanno eseguiti solo se si usa il formato maildir per la mailbox, che è quello preferibile.
  4. Infine, controllare nuovamente che tutti i file e le directory presenti in /home/pinger appartengano effettivamente all'utente pinger.

AVVIARE ECHOLOT LA PRIMA VOLTA:

Procurarsi degli indirizzi di remailer funzionanti (per esempio da http://stats.mixmaster.it/mlist2.txt) e dopo essersi loggati come utente pinger, aprire due terminali; sul primo eseguire questi comandi:

$ cd echolot
$ ./pingd --verbose start

In questo modo verrà avviato il pinger, in modalità verbose.

Dal secondo terminale, sempre come utente pinger, eseguire:

$ cd echolot
$ ./pingd add indirizzo_1 indirizzo_2 etc. etc.

Se si vuole aggiungere tutti gli indirizzi presenti nella lista mlist2.txt appena salvata, usare questa serie di comandi:

$ cd echolot
$ grep \$remailer mlist2.txt | cut -f 2 -d \< | cut -f 1 -d \> | xargs ./pingd add

Controllare sul primo terminale che non vi siano messaggi di errore e/o di malfunzionamento. Dopo aver aggiunto i remailer alla lista del pinger, far richiedere ad Echolot le chiavi e la configurazione dei remailer con:

$ ./pingd getkeyconf

I risultati, dopo qualche minuto di funzionamento, saranno visibili in ~/echolot/results in forma testuale ed html (la home page è echolot.html); per cambiare il nome della home page in index.html, si può modificare l'opzione "indexfilebasename" in pingd.conf mettendo come valore "index" (senza l'estensione .html) o più semplicemente creare un link:

$ cd echolot/results
$ ln -s echolot.html index.html

Per fermare echolot, basta impartire un:

$ ./pingd stop

oppure passando un CTRL-C sul terminale da dove è stato avviato.

A questo punto, se tutto è andato per il verso giusto, si può dare un'occhiata al file di log ~/echolot/pingd.log per ricontrollare che non vi siano errori, e non resta che rendere avviabile il pinger al boot della macchina usando lo script pingctl che si trova dentro la sottodirectory tools, e facendo gli opportuni collegamenti ai run level del sistema che si sta usando.

 

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