Verschlüsselte Mailbox bei Uberspace

Hallo und Hurra,
dank der nahezu unendlichen Freiheiten bei Uberspace, können wir uns dort alle einkommenden Mails mit Pretty Good Privacy (PGP) verschlüsseln lassen.

Als Basis dient uns dazu die Fähigkeiten von Maildrop, ein kleines Perl Skript und ein paar Minuten Arbeit.

Vorbereitungen

Wir benötigen leider ein Perl-Modul, welches (momentan) nicht global durch die ubernauten bereitgestellt wird. Ich möchte hier nicht die Anleitung aus dem Wiki kopieren, deswegen einmal ins Wiki gehen und die Anleitung zur Einrichtung der local::lib folgen.

Nach der Installation von local::lib können wir mit den beiden Befehlen:

cpan -f GnuPG:Interface
cpan Mail:GnuPG

die Abhängigkeiten des Perl-Skriptes installieren. Während der Installtion muss man ein paar Abfragen zur weiteren Auflösung der Unter-Abhängigkeiten mit yes bestätigen. Für Perl ist dann soweit alles erledigt.

Ihr müsst in gpg den Public-Key importieren, mit dem ihr die Mails verschlüsseln wollt. Je nachdem, ob sich dieser auf einem Key-Server befindet könnt Ihr den über gpg --search-keys "$email" suchen und importieren oder müsst den via sftp hochladen und dann mit gpg --import $file importieren.

Installation

Wir laden im ersten Schritt das Perl-Skript herunter, welches die E-Mail in ihre Bestandteile aufteilt und dann den E-Mail-Body verschlüsselt. Da wir lokal installierete CPAN Module nutzen wollen, müssen wir direkt im Anschluss noch die Zeile use local::lib vor die anderen Imports anfügen:

wget https://gitlab.com/mikecardwell/gpgit/raw/master/gpgit.pl -O ~/bin/gpgit.pl
sed -i '/^use\ warnings;/a\use\ local::lib;' bin/gpgit.pl 

Konfiguration

Nun zur Einstellung für die einkommenden Mails. Die Methode ist hier nur für eine Mail-Adresse angegeben, die "safe" heißt. Es lässt sich natürlich auch auf andere Adressen übertragen.

Die ~/.qmail-safe:

|maildrop $HOME/.mailfilter-safe

Die entsprechende $HOME/.mailfilter-safe. Die Idee ist, die Mails erst zu verschlüsseln und dann in mein reguläres Postfach zuzustellen.

# Ich nutze hier mein vmailmgr Konto
MAILDIR="$HOME/users/peer:beckmann"

# Hier die Mail-Adresse angeben, für die verschlüsselt werden soll. Dies schlägt fehl, 
# wenn der Schlüssel nicht importiert ist.
xfilter "perl $HOME/bin/gpgit.pl --encrypt-mode prefer-inline peer.beckmann@netzmail.org"

to "$MAILDIR"

WICHTIG: Die Rechte der ~/.mailfilter-safe müssen zwangsweise 0600 sein.

Fertig

Nun werden alle an diese Adresse eingehenden Mails mit dem PGP-Key verschlüsselt und dann im Postfach abgelegt. Wenn man dies erweitern möchte, so muss man beachten, dass DSPAM zwar initial filtern könnte, aber nicht in der Lage ist, an den verschlüsselten E-Mails zu lernen. Und auch SpamAssassin dürfte so seine Probleme haben, wenn der E-Mail Body verschlüsselt ist. Also wenn Spam-Filter sein soll, muss die Mail zuerst an SpamAssassin übergeben und dann das Resultat verschlüsselt werden. DSPAM ist ungeeignet für die Filterung in Kombination mit PGP.