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):
- Creare la mailbox in
~/echolot
:
$ mkdir ~/echolot/mail - 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 - 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. - 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 getkeyconfI 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:
$ ln -s echolot.html index.html
Per fermare echolot, basta impartire un:
$ ./pingd stopoppure 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.