Schleuder, GPG versleutelde maillijst: Installatie,onderhoud en gebruik

Document is geschreven op basis van Schleuder 2.1.1-2, Postfix en Debian Squeeze.
Laatste update, 29 september 2012.

Gerelateerde links:

Inleiding

GPG zorgt voor versleutelde communicatie tussen twee partijen. Wanneer er meer gebruikers in het spel komen, wordt dit een probleem. Schleuder biedt hier de oplossing voor. Verder biedt Schleuder anonieme reply’s aan, stript het de headers (inclusief het IP-adres van de verzender) en via een commando in de body van de mail kan zelfs de mail verstuurd worden naar niet-leden. Verwacht echter niet zoveel functies als Mailman en Sympa. Voor het gemak wordt ervan uitgegaan, dat basale kennis van Gnupg, Postfix en Debian aanwezig is.

Motivatie tot het schrijven van deze howto

De software werkt fantastisch en eenmaal goed getweaked en geïnstalleerd, vraagt het geen onderhoud. De documentatie laat de overzichterlijkheid te wensen over. Hierbij wordt een poging gedaan om daar korte metten mee te maken.

Installatie

We gaan uit van een server waarbij Postfix al geïnstalleerd is. Het pakketje heet Schleuder en kan worden geïntalleerd door:

$ apt-get install schleuder;

Debian zal zelf de groep Schleuder en de user Schleuder aanmaken. De installatie met betrekking tot de installatie van Schleuder is klaar.

Een aantal dingen verschillen van de documentatie van de Schleuder website.

  • 1. /var/lib/schleuder en niet /var/schleuder/lists
  • 2. /etc/schleuder/lists en niet /etc/schleuder
  • 3. /usr/share/doc/schleuder voor documentantie
  • 4. /usr/bin/schleuder
  • 5. /usr/bin/schleuder-newlist

Tweaken van Postfix

Op de website van Schleuder had ik niets gevonden hoe Postfix of een andere MTA* ingesteld moest worden voor Schleuder. Een letterlijke copy&paste, meer is er niet.

/etc/postfix/master.cf

# schleuder
schleuder  unix  -       n       n       -       -       pipe
    flags=DRhu user=schleuder argv=/usr/bin/schleuder ${user}

Herstart daarna postfix:

/etc/init.d/postfix force-reload;

Het aanmaken van een Schleuder lijst

Belangrijk: Voor je een lijst aanmaakt, moet er een leeg bestand gemaakt worden in /etc/schleuder/lists/.conf. Dit, omdat Schleuder onder de gebruiker Schleuder bestanden aanmaakt en geen lees- en schrijfrechten heeft in de directory /etc/schleuder/lists. Na het aanmaken van het lege bestand moeten de rechten aan de gebruiker Schleuder worden toegekend.Dit kwam nergens in de documentatie voor
Dus ter voorbeeld:

$ touch /etc/schleuder/lists/example.conf;
$ chown schleuder:schleuder /etc/schleuder/lists/example.conf;

Voor er een maillijst aangemaakt kan worden zijn er een aantal dingen die voorbereid dienen te worden.

Checklist

  • 1. is het config bestandje aangemaakt en gechown’ed?
  • 2. De sleutel van de administrator dient tijdens het aanmaken van de lijst bij de hand te zijn
  • 3. Het pad naar de sleutel van de administrator dient bekend te zijn
  • 4. Is het volledige adres bekend (en niet alleen een local alias)?

Maken van de lijst
De uitvoering zegt genoeg, van belang is dat alles gedaan wordt uit naam van de user Schleuder en dat er naar de juist directory gegaan wordt. We noemen de lijst list@example.org en de user heet alice.

$ cd /usr/bin/;
$ sudo -u schleuder schleuder-newlist example

Vervolgens worden er een aantal vragen gestelt:
The lists’s email address: list@example.org
‘Realname’ (for GPG-key and email-headers): Encrypted list of example.org
Admin email address: alice@example.org
Email address of the lists’ initial member: alice@example.org
Filepath for the public key of the lists’ initial member: /home/alice/alice.asc

Instellen van Postfix

Nadat de lijst gemaakt is, moet Postfix nog getweaked worden.
Voeg in /etc/aliases de volgde code toe, dit op basis van bovenstaand voorbeeld.

$ vi /etc/aliases;
list “|/usr/bin/schleuder list”
$ postalias /etc/aliases;

Als laatste moeten we /etc/postfix/transport nog inschieten.

$vi /etc/postfix/transport;
list@example.org schleuder:
$postmap /etc/postfix/transport;

Nu alles is ingeschoten, kunnen we Postfix reloaden:

$/etc/init.d/postfix reload;

Public-key verkrijgen

De maillijst is klaar. De public-key heb je nog niet gekregen, dus die halen wij op via:

$sudo -u schleuder gpg –homedir /var/lib/schleuder/list/ –export -a list >/tmp/list.asc

Zodoende staat de sleutel in ascii formaat in /tmp/list.asc
Een andere mogelijkheid is om een mail te sturen nu naar list@example.org met in het onderwerp: send key!, hoewel dat de ene keer wel werkte en de andere keer niet.
Gewone gebruikers, behalve de admin ervaren hier veel problemen mee.

Public-key’s en deelnemers toevoegen

Waarschijnlijk wil je meer gebruikers hebben dan de hoofdgebruiker alice. Twee dingen moeten nu aangepast worden:

  • 1. De keyring van de maillijst
  • 2. De gebruik toevoegen in members.conf

Publickey’s aan de keyring van de maillijst toevoegen
We gaan er vanuit dat Bob op de maillijst wil komen, zijn sleutel staat in /tmp/bob.asc. Door het volgende commando importeren wij zijn sleutel.

$sudo -u schleuder gpg –homedir /var/lib/schleuder/list/ –import /tmp/bob.asc

Publickey van de keyring van de maillijst verwijderen
We gaan er vanuit dat Bob van de keyring verwijderd moet worden:

$sudo -u schleuder gpg –homedir /var/lib/schleuder/list/ –delete-keys bob@secret.org

Meer uit GPG halen
Ondertussen is het vast opgevallen dat wat na /var/lib/schleuder/list variabel is. Dit zouden alle commando’s kunnen zijn van GPG. Zo is het niet moeilijk om te bedenken dat als wij de fingerprint van Bob willen controleren, dat kunnen doen door:

$sudo -u schleuder gpg –homedir /var/lib/schleuder/list/ –fingerprint bob@secret.org

Deelnemer aan de lijst toevoegen
Als laatste moeten wij het members.conf aanpassen in /var/lib/schleuder/list/ door Bob zijn adres onder aan het bestand te voegen:

$vi /var/lub/schleuder/list/members.conf;
– bob@secret.org

Controleren van de keyring
Je kan de keyring met haar public-key’s bekijken door het volgende commando.

$sudo -u schleuder gpg –homedir /var/lib/schleuder/list/ –list-keys

    Woordenlijst:

  • MTA=Mail Transfer Agent