Installare un PGP keyserver: Installazione Next Previous Contents

1. Installazione

1.1 Scaricare e compilare

Il pacchetto usato sara' il PKS v0.9.4, sviluppato al MIT e scaricabile all'indirizzo:

http://www.mit.edu/people/marc/pks/pks-0.9.4.tar.gz

Bisogna scaricare anche una patch da applicare che corregge alcuni problemi:

http://www.mit.edu/people/marc/pks/pks094-patch2

Copiamo il pacchetto e la patch in /usr/src/ e scompattiamo con

# tar xzvf pks-0.9.4.tar.gz

rinominiamo la directory da pks-0.9.4 a pks per applicare la patch

# mv pks-0.9.4 pks

a questo punto applichiamo la patch:

# patch -p0 < pks094-patch2

dovrebbero comparire sullo schermo le scritte riguardanti il patching di alcuni files

Dopo aver decompresso il pacchetto e applicato la patch, procediamo alla compilazione: se si vuole installare anche il supporto per l'e-mail bisogna fare l'installazione come root, altrimenti come utente normale va bene.

# ./configure && make && make install

se non ci sono problemi il keyserver sara' installato in /usr/local

/bin per l'eseguibile

/etc per il file di configurazione

/var per il database e una directory di incoming

La directory /usr/local/var/incoming deve avere i permessi tali per cui il mailer deve poterci scrivere dentro, cosi' come l'utente con i cui privilegi gira il pks.

Poi va inizializzato il db delle chiavi con

# pksclient /usr/local/var/db create

Va editato il file /usr/local/etc/pksd.conf per specificare l'indirizzo e-mail del mantainer del servizio

Bisogna inserire nel file /usr/local/share/pks_help.en una guida sui comandi che e' possibile specificare nel subject di una mail che spedita all'indirizzo pgp@autistici.org viene gestita dal keyserver, la guida non e' fornita assieme al keyserver, un file di esempio lo trovate qua' sotto:

pks_help.en

infine in un file di inizializzazione del sistema va inserito:

/usr/local/bin/pksd /usr/local/etc/pksd.conf & sleep 5; /usr/local/bin/pks-queue-run.sh /usr/local/etc/pksd.conf

Il keyserver sara' in ascolto sulla porta 11371

Imposto il crontab in questo modo per salvare tutte le chiavi presenti nel server in un file ascii:

13 0/12 * * * /usr/local/bin/pksclient /usr/local/var/db get tutte a > /usr/local/var/db/allkeys.asc

1.2 INTERFACCIA MAIL

per far funzionare l'interfaccia mail bastano poche operazioni:

nel file che definisce gli alias di posta, diverso a seconda dell'MTA usato, nel nostro caso con postfix e' /etc/postfix/maps/aliases/, bisogna indicare che i messaggi spediti a pgp-public-keys vanno passati tramite una pipe allo script pks-mail.sh.

Esempio di righe da aggiungere al file aliases:

    
pgp-public-keys: "|/usr/local/bin/pks-mail.sh /usr/local/etc/pksd.conf" 
pgp: pgp-public-keys 

Fatto questo bisogna ricostruire il db degli alias e dire a postfix di rileggere la sua configurazione con

# postalias /etc/postfix/aliases

# postfix reload

1.3 fine tuning

Bisogna anche sistemare i permessi di qualche directory/file, in particolare le directory /usr/local/etc /usr/local/bin e /usr/local/var devono essere disponibili per l'accesso in lettura da parte dell'utente con i cui privilegi gira l'MTA (postfix). La directory /usr/local/var/incoming invece deve essere disponibile anche in scrittura, cosi' come il socket, la cosa migliore e' fare un

# chown nobody.nogroup /usr/local/var/incoming

# chown nobody.nogroup /usr/local/var/pksd_socket

anche se postfix gira come utente postfix, in realta' i file vengono scritti in incoming come nobody.nogroup, quindi sono questi i permessi che servono a postfix affinche' il tutto funzioni. Questa operazione va ripetuta ogni volta che il server viene fatto ripartire perche' il socket viene ricreato ogni volta, e quindi bisogna poi cambiargli l'ownership.

Poi conviene anche mettere

# chmod 700 /usr/local/var/incoming

L'ultimo passo consiste nell'importazione delle chiavi presenti sugli altri keyserver, se fate una ricerca in rete ci sono diversi siti ftp che ospitano questi databases, l'archivio completo sono circa 30Gb, da prelevare, spezzare in files piu' piccoli con la utility pgpsplit compresa nel pacchetto e poi aggiungere al server con:

pksclient /usr/local/var/db add nomefile

N.B. Questa operazione non e' stata fatta perche' il keyserver al momento e' solo locale e non linkato con gli altri.


Next Previous Contents