Workshop: Automatische E-Mail-Verschlüsselung mit Djigzo

Stille Post

Djigzo verschlüsselt E-Mails. Der Clou ist jedoch der Arbeitsplatz des kleinen Helfers erfährt: Mitten in einem Postfix Mailserver. Dort ver- beziehungsweise entschlüsselt er vollautomatisch alle ein- und ausgehenden Nachrichten, ohne dass die Anwender etwas davon merken.

Kein seriöses Unternehmen würde auf die Idee kommen, wichtige Geschäftsinformationen per Postkarte zu verschicken. Ganz anders im elektronischen Nachrichtenverkehr: Trotz zunehmender Wirtschaftsspionage wandern nach wie vor zahlreiche brisante E-Mails im Klartext durch das Internet. Offenbar siegt hier in vielen Fällen die Bequemlichkeit über das Sicherheitsdenken. Bis der Text verschlüsselt und gegen Manipulationen mit einer elektronischen Signatur versehen ist, vergehen zwangsweise ein paar Mausklicks. Damit nicht genug, muss der Empfänger die Daten auch irgendwie wieder auspacken können, was einen umständlichen Schlüsselaustausch nötig macht. Jedoch bekommt der technikunerfahrene Buchhalter bei diesem Prozedere eine Gänsehaut und verzichtet lieber auf die Verschlüsselung. Besser wäre es also, wenn die Ver- und Entschlüsselung automatisch und vom Anwender unsichtbar im Hintergrund geschehen würden. Dieser Artikel verrät, wie Sie Djigzo selbst in Betrieb nehmen.

Fließbandarbeit

Genau das ermöglicht der niederländische Sicherheitsexperte Martijn Brinkers mit Djigzo [1]. Das noch recht junge Open-Source-Programm nimmt die zu versendende Post seiner Nutzer entgegen, verschlüsselt sie, stattet sie auf Wunsch noch mit einer digitalen Signatur aus und leitet sie anschließend via Postfix an die Postfächer der Empfänger weiter ("Store and forward"). Nach außen hin arbeitet das Duo wie ein normaler Mail Server (Mail Transfer Agent, MTA), der sich in jede bestehende IT-Infrastruktur einbinden lässt. Man darf das Gebilde sogar mit einem bestehenden Kollegen koppeln. Die Mitarbeiter in der Buchhaltung bekommen so gar nicht mehr mit, dass ihre Post nur noch chiffriert durch den Äther braust.

Als Grundlage dient Djigzo der S/MIME-Standard (Secure / Multipurpose Internet Mail Extensions), den auch die meisten modernen E-Mailprogramme beherrschen. In Fällen, in denen kein S/MIME-taugliches Zertifikat zur Verfügung steht, verpackt Dijgzo auf Wunsch die Nachricht samt Anhang in eine PDF-Datei, verschlüsselt diese und sendet sie Richtung Empfänger. Der muss die Nachricht allerdings erst speichern und beispielsweise im Adobe Reader öffnen. Darüber hinaus arbeitet die PDF-Verschlüsselung nicht wie S/MIME mit Schlüsselpaaren, sondern nur mit einem Passwort, das der Empfänger kennen muss (symmetrisches Verschlüsselungsverfahren). Würde man es per E-Mail über das Internet (mit-)senden, könnte man das PDF auch gleich ohne Verschlüsselung verschicken. Aus diesem Grund bietet Djigzo an, für jede E-Mail ein zufälliges Passwort zu generieren und dieses dann dem Empfänger per SMS mitzuteilen.

Schlüsselfrage

Der S/MIME-Standard beschreibt den Aufbau von verschlüsselten und signierten E-Mails. Der Empfänger einer solchen Nachricht kann also sicher sein, dass sie zum einen tatsächlich vom angegebenen Absender stammt und zum anderen auf ihrem Weg durch das Internet weder manipuliert noch von einem Angreifer mitgelesen wurde. Die Echtheit der Signatur bestätigen Zertifikate, die im Fall von Djigzo dem X.509-Standard folgen müssen. Man ist daher gezwungen, noch vor der Inbetriebnahme des Mailservers ein solches bei einer entsprechenden Zertifizierungsstelle zu beantragen.

Als Verschlüsselungsalgorithmus verwendet Djigzo durchgehend AES mit 128 Bit langen Schlüsseln. Es gehört zu den asymmetrischen Kryptographieverfahren, bei dem jede beteiligte Partei zwei Schlüssel besitzt: Einen öffentlichen, den die ganze Welt kennen darf, und einen privaten. Eine mit dem öffentlichen (nicht geheimen) Schlüssel verschlüsselte Nachricht kann nur der Besitzer des privaten (geheimen) Gegenstücks wieder entschlüsseln. Umgekehrt lässt sich mit dem privaten Schlüssel eine Nachricht signieren: Da sie nur der passende öffentliche Schlüssel wieder in Klartext verwandelt, muss sie zwangsweise von dessen Inhaber stammen.

Helfershelfer

Djigzo ist ein Java-Programm, das sich als Filter in Postfix einklinkt. Alle persistenten Daten wandern in eine PostgreSQL-Datenbank (Abbildung 1). Die Einrichtung des entstandenen Gespanns erfolgt entweder umständlich über mehr oder weniger kryptische Konfigurationsdateien oder ein separat erhältliches, komfortables Web-Interface. Letzteres verlangt allerdings nach einem Servlet-Container. Martijn Brinkers empfiehlt hier das Leichtgewicht Jetty, die Djigzo-Oberfläche soll aber auch mit Tomcat harmonieren. Austauschen lassen sich übrigens prinzipiell auch Postfix (gegen einen anderen MTA, der Mailfilter unterstützt) und PostgreSQL (gegen eine Datenbank die Hibernate versteht), was jedoch mit etwas Fummelei verbunden ist. Verständlicherweise verschlingt das komplette Gespann einigen Hauptspeicher, bereits Djigzo alleine verlangt nach üppigen 512 MByte.

Abbildung 1: Eine vereinfachte Darstellung der Djigzo-Architektur.

Aufgrund der genannten Abhängigkeiten läuft die Installation von Djigzo etwas komplizierter ab. Ohne fundierte Kenntnisse um Postfix, Public Key Infrastrukturen (PKI) und Zertifikate wird man spätestens an den zahlreichen Einstellungen scheitern. Am schnellsten zum Ziel gelangen Sie auf Debian-basierten Systemen, für die fertige Pakete bereit stehen. Der Entwickler selbst empfiehlt Ubuntu, das auch alle Anleitungen bevorzugen [2]. Auf einer anderen, RPM-basierten Distribution sind hingegen weitere Schritte und mitunter etwas Bastelgeschick erforderlich. Generell sollte man Djigzo möglichst auf einem separaten, frischen Linux-System installieren und dann in die vorhandene Infrastruktur integrieren, produktive Email-Systeme bleiben schon aus Sicherheitsgründen tabu.

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite