Kmail, GnuPG, Thunderbird, enigmail und kryptierte HTML-Mails zwischen Linux und Windows Usern

Man kann sich nicht immer aussuchen, mit wem man in Projekten wie kommuniziert. So bin ich als Linuxer natürlich oft mit Kunden konfrontiert, die ein MS Betriebssystem nutzen. Einige dieser Kunden setzen in der Kommunikation mit mir inzwischen vernünftigerweise folgene Mittel ein:

  • Sie stellen entweder kryptierte Verbindungen zu speziellen ihrer Mail-Server zur Verfügung
  • oder aber sie verwenden die Kombination Thunderbird/GnuPGP/enigmail, um Mails zu verschlüsseln und an mich zu versenden, in denen schützenswerte geschäftsrelevante Informationen hinterlegt sind. Hierzu haben wir unsere Public OpenPGP Keys ausgetauscht.

Generell hat die Bereitschaft von Kunden, Mails (Ende zu Ende) zu verschlüsseln, seit den publizierten Ereignissen im IT-Security-Umfeld der letzten zwei Jahre zugenommen.

Manchmal taucht nun das Thema auf, dass Kunden in der Mail Dinge farblich oder fett markieren wollen. Das sind sie aus der firmeninternen Kommunikation so gewohnt. Damit steht dann der Wunsch nach etwas auf der Tagesordnung, das eine Quelle von viel Unheil darstellt - nämlich der Wunsch nach HTML-formatierten Mails. Aus Security-Perspektive stellt das etwas dar, was man aus meiner Sicht unbedingt vermeiden sollte. Formatierte Information gehört in Anhänge, nicht in den Body einer Mail. Aber ist dieser Anspruch praxisnah und vermittelbar? Mein Erfahrung ist: Nicht jeder Kunden kann und will mit dieser Einschränkung leben und arbeiten - auch bei aller vorhandener Bereitschaft zur Verschlüsselung nicht.

Potentielles Problem unter Kmail beim Öffnen von HTML-Mails, die mit Thunderbird/enigmail kryptiert wurden

Will der Kunde unbedingt HTML-Mails austauschen, so ergibt sich u.U. das Problem,

  • dass der Kunde (unter MS Win 7) mit Hilfe von Thunderbird/enigmil zwar eine von mir unter Linux mit Hilfe von Kmail erstellte und mit GnuPG/GPG kryptierte HTML Mail empfangen und ansehen kann,
  • aber ich selbst eine unter Thunderbird verfasste, mit "enigmail" kryptierte HTML Mail nur in Plain Text Form erhalte und der HTML-Anhang der Mail beim Öffnen nur krypierte Anweisungen enthält.

Der Grund liegt in einer speziellen unter Thunderbird/enigmail standardmäßig eingestellten Variante der Verschlüsselung - nämlich "Inline PGP". Siehe hierzu:
http://de.wikipedia.org/wiki/PGP/INLINE
https://www.enigmail.net/forum/viewtopic.php?f=3&t=134

Ein Grund für den standardmäßigen Einsatz von "Inline PGP" ist u.a. der, dass etliche (u.a. MS-lastige) Mail Clients mit der normierten Verschlüsselungsvariante "PGP/Mime" nicht richtig umgehen können. Siehe z.B.:
http://www.phildev.net/pgp/pgp_clear_vs_mime.html

Leider führt "Inline PGP" dazu, dass HTML Mails im Rahmen der Verschlüsselung nicht korrekt als Attachment-Streams kryptiert werden. Letzteres zieht bei meinem Kunden dann konsistenterweise Warnungen beim Versuch der Verschlüsselung einer erstellten HTML-Mail nach sich - nämlich dass vorgenommene Formatierungen beim Verschlüsseln und Signieren verloren gehen werden.

Gibt es einen Ausweg? Zumindest im Prinzip: ja. Man muss "enigmail" so einstellen, dass es den definierten Standard "PGP/MIME" zur Kryptierung anstelle von Inline PGP verwendet. Dann ist für eine standardkonforme Verschlüsselung von Mail-Attachments und damit - bei Wahl einer entsprechenden Versandart - auch für eine ordnungsgemäße Behandlung von HTML-Mails gesorgt.

Linux Mail Clients, die GnuPG/GPG einbinden, können i.d.R. mit Mails und Attachments umgehen, die gemäß der "PGP/MIME"-Regeln kryptiert wurden. Siehe zu "PGP/MIME" etwa :
http://de.wikipedia.org/wiki/PGP/MIME
http://de.wikipedia.org/wiki/OpenPGP

Dies trifft natürlich auch auf Kmail zu. So ist also der Einsatz von "PGP/Mime" durch den Kunden (mit MS Win, Thunderbird) zumindest in der Kommunikation mit mir kein Problem. Die entsprechenden Einstellungen können unter "Thunderbird/enigmail" zudem spezifisch für einen Mail Account vorgenommen werden. Hat der Kunde die Möglichkeit, einen spezifischen Mail-Account für die Kommunikation mit mir zu nutzen, so ist man als Linux-Kmail-Nutzer aus dem Schneider - nicht jedoch zwangsläufig als Security-Berater; s.hierzu einen speziellen Absatz weiter unten.

Erforderliche Einstellungen unter Thunderbird/enigmail

Zwei Schritte sind erforderlich, damit mit Thunderbird erstellte und mittels "enigmail" kryptierte HTML Mails auf einem Linux-System mit Kmail-Client nach Dekryptierung als HTML Mails geöffent werden können und danach alle vom Absender vorgenommenen Formatierungen auch angezeigt werden:

  • Schritt 1: Aktivierung von "PGP/MIME"
    Das entsprechende mit Häkchen zu versehende Feld findet man unter Thunderbird für Windows unter
    Extras >> Konten-Einstellungen >> dein relevanter Mail Account >> OpenPGP-Sicherheit >> PGP/MIME standardmäßig verwenden.
  • Schritt 2: Versand im Format "Reintext und HTML"
    Vor dem Versenden der E-Mail aus dem E-Mail-Erstellungsdialog von Thunderbird muss der Anwender explizit die Einstellung "Reintext und HTML" unter dem Menüpunkt "Optionen >> E-Mail Format" vornehmen.

Letzteres könnte man zwar auch als globale bzw. empfängerspezifische Option festlegen. Ich persönlich würde das aber nicht tun, sondern als Standard "Reintext" wählen. Es gilt ja nach wie vor die Maxime, dass HTML-Mails in der Mail-Kommunikation mit mir nur im Ausnahmefall zum Zuge kommen sollen.

Eine ausführlichere Beschreibung zu den vorzunehmenden Einstellungen von Thunderbird findet man z.B. unter:
https://micahflee.com/2013/09/html-email-attachments-and-flowed-text-in-enigmail/

Sicherheitsaspekte

Nun ein paar Worte zu einigen potentiellen und interessanten Sicherheitsproblem von "enigmail" im Zusammenhang mit PGP/MIME, nämlich u.a. dem atomatischen Öffnen und Dekryptieren von Mails im Hintergrund. Siehe hierzu im Besonderen den Kommentar von Alan Eliasen zu dem eben zitierten Artikel
https://micahflee.com/2013/09/html-email-attachments-and-flowed-text-in-enigmail/
und weitere entsprechende Hinweise unter
https://futureboy.us/pgp.html
Letzterer Artikel enthält übrigens auch grundsätzliche und interessante Hinweise zum Einsatz von OpenPGP/GnuPG.

Besonders interessant und lehrreich im Zusammenhang mit "enigmail" ist die Diskussion zu dem besonders kritisierten Punkt im Zshg. mit PGP/MIME, der den enigmail-Entwicklern als Bug gemeldet und danach heftig diskutiert wurde. Siehe hierzu:
http://sourceforge.net/p/enigmail/bugs/226/
und die dortigen Kommentare.

Was ist nun meine Meinung zu deser Debatte ? Grob Folgendes :

Ich verstehe die Kritik und die Bedenken von Hrn. Eliasen gut; inbesondere den von ihm geäußerte Kritik an der durch Thunderbird (mit Hilfe von enigmail) automatisch in Gang gesetzten Dekryptierung von PGP/MIME-verschlüsselten Mails samt Anhängen im Hintergund. Auch die grundsätzlich in Betracht gezogenen Angriffsmethoden auf akustischer Ebene waren bis zu Gegenmaßnahmen auf der GnuPG-Seite relevante Punkte.

Aber: 100%-ige Sicherheit gibt es nicht - und in der Praxis werden nach Abwägung von Risiken immer wieder Kompromisse zu schließen sein. Dabei muss auch die sichere und bequeme Handhabung einer SW durch den Anwender einbezogen werden. Das ist hier durchaus relevant.

Nehmen wir mal an, nur autorisierte User haben Zugang zum PC/Laptop des Kunden: Wenn dann - also im Normalbetrieb - im Hintergrund dekryptierte Mails von einem Angreifer mitgeschnitten werden sollten, dann bestünde bereits ein grundsätzliches, über Thunderbird weit hinausgehendes Problem auf dem attackierten Computer bzw. im umgebenden Netzwerk. Auch akustische Attaken würden ein hohes Maß an krimineller Energie am Standort des empfangenden Computers voraussetzen.

Ferner geht es ja zunächst vor allem darum, dass der Kunde Mails überhaupt verschlüsselt über das Internet transportiert. Man muss ja (leider) schon dankbar sein, wenn man einen Nicht-IT-Fachmann dazu bewegen konnte, die für entsprechende Verschlüsselungsmaßnahmen notwendige Energie aufzuwenden. Bequem und einfach ist das für den Normalverbraucher eher nicht. Als wenig praxistauglich bis realitätsfern muss man gar Eliasen's Aufruf zu einer manuellen Verschlüsselung des Mail-Bodies durch den Windows-Anwender einstufen.

In einer Hochsicherheitskommunikation ist die "Ende zu Ende"-Verschlüsselung auf dem Transportweg natürlich nur ein Teil der erforderlichen Maßnahmen. Die sichere kryptierte Ablage der Mails auf dem sendenden wie auf dem empfangenden System gehört mit in ein umfassendes Maßnahmenpaket. Aber sobald ein funktionierender Transfer mit einer "Ende zu Ende"-Verschlüsselung etabliert wurde, hat man immerhin einen wichtigen Schritt in Richtung einer verbesserten Sicherheit im Informationsaustausch hinter sich gebracht.

Alles weitere betrifft dann die Sicherheit der Informationsablage und Informationssnutzung auf den sendenden bzw. empfangenden Systemen. U.a. will man ja bei kryptierten Mails eine gewisse Grundsicherheit auch dann noch aufrecht erhalten, wenn ein physikalischer Zugriff (z.B. auf einen gestohlenen oder unbewachten Laptop) durch unautorisierte User erfolgt und ggf. nach Einsatz von Passwort-Crackernein Login durch den ungebetenen Gast gelingt. Hier zieht dann das Argument von Eliasen bzgl. der automatischen Dekryptierung wirklich:

Ohne explizit geforderte Dekryptierung durch einen autorisierten User sollte kein System eine Dekryptierung von Mails in Gang setzen. Der potentielle nicht-autorisierte Angreifer erhielte hier ggf. Zugang zu den geheim zu haltenden Informationen, ohne das Passwort für den privaten Schlüssel überhaupt benutzen zu müssen. Letzteres wäre z.B. dann gegeben, wenn der Angreifer Thunderbird nutzen kann und enigmail das erforderliche Passwort noch aus einem meist stadardmäßif vorkonfigurierten Zwischenspeicher bezieht.

Dieser Bedrohung kann man aber bei Bedarf dadurch begegnen, dass man den Schlüssel mit einem sicheren Passwort versieht und enigmail/GnuPG anweist, das Passwort für den privaten Schlüssel nicht - auch nicht für einen kurzen Zeitraum - zwischenzuspeichern. Bequemer wird der Einsatz von Thunderbird/enigmal dadurch aber nicht. (Steht Sicherheit wirklich über allem, so wird man ferner die Harddisks verschlüsseln, um im Verlustfall grundsätzlich mehr Sicherheit zu haben.)

Ferner möchte ich anmerken, dass die enigmail-Entwickler ja schließlich gerade aufgrund der geführten Debatte (dankenswerterweise) Schritte in Richtung einer besseren und kontrollierteren Handhabung der Dekryptierung vorgenommen haben.

Bleibt das Restrisiko, dass größere mit PGP/Mime verschlüsselte HTML-Anhänge eine Menge an bekannten Textfragmenten wie etwa Tags enthalten. Dies kann gut ausgestatteten Angreifern mindestens theoretisch eine Grundlage für statistik-basierte Dekryptierungsversuche verschaffen. Sollte dieses Problem wirklich bestehen, dann würde ich darin insgesamt aber eher eine Schwäche des Kryptierungsverfahrens (also von GnuPG) sehen als von "enigmail".

Habe ich die Wahl zwischen weiter bestehenden Rest-Risiken und einem total unverschlüsselten Email-Verkehr, so ziehe ich - nach entsprechender Unterweisung des Kunden - immer noch den Einsatz einer Verschlüsselung vor.

Abschließend gilt grundsätzlich :

Mit HTML-Mails sind jenseits von Wechselwirkungen mit Verschlüsselungsprogrammen weitere schwerwiegende Risiken verbunden, denen man sich im Rahmen einer sicheren Kommunikation (bei allem gegenseitigen Vertrauen der Kommunikationspartner) erst gar nicht aussetzen sollte. Der Kunde sollte also dahingehend beraten werden, HTML-Mails im Normalfall auch in der Kommunikation mit vertrauenswürdigen Kommunikationspartnern (in diesem Falle u.a. mit mir) zu vermeiden.

Selbst sollte man seinen E-Mail Client so einstellen, dass er HTML-Mails zunächst nur im Plain Text Format öffnet. Im Falle, dass HTML-Formatierungen wirklich eine wichtige Rolle spielen, kann man den PGP/MIME HTML-Anhang immer noch öffnen. Als Paranoiker auch bei vertrauenswürdigen Quellen ggf. zunächst in einem Standard-Editor, um den HTML-Code vor einer Ausführung zu analysieren. 🙂

Kmail 4.9 – Datenverlust durch Spamfilterung

Bin letzte Woche unter Opensuse 12.1 auf KDE 4.9 umgestiegen, was mir generell ganz gut gefällt. Besonderes Augenmerk habe ich jedoch wieder mal auf KMail im Zusammenspiel mit IMAP-Servern und (OX-) Adressbüchern gelegt.

Hierzu erste Eindrücke:

Zuerst das Positive:

Mit etwas Mühe und viel Geduld kann man Kmail 4.9 im Gegensatz zu Kmail 4.8.2 - 4.8.4 x nun sogar davon überzeugen, dass die automatische Adress-Suche und -Vervollständigung beim Erstellen neuer Mails halbwegs funktioniert. (Als Linux Fan einen solchen Satz schreiben zu müssen, ist eigentlich peinlich!) Zur "address autocompletion" etwas mehr in einem späteren, separaten Beitrag.

An die Mängel bei der Adress-Autocompletion hatte man sich als Anwender ja schon seit einiger Zeit gewöhnt (siehe https://bugs.kde.org/show_bug.cgi?id=259949 ). Damit und zugehörigen Workarounds kann man leben

Nun aber das Negative:

Der Suchdialog funktioniert nach wie vor nicht:
Der Kmail-Suchdialog zum Suchen von Mails ist nach wie vor nicht benutzbar. Bei mir werden nun gar keine Treffer mehr angezeigt. Das ist fast besser als das, was früher am Schirm erschien. Also: Das Einzige, was bzgl. der Suche von Mails wirklich funktioniert, ist unter Kmail die Schnellsuchleiste oberhalb der Anzeige der Mailliste. Alles andere funktioniert nicht oder nicht richtig. Dieser Punkt allein disqualifiziert Kmail im Moment für den professionellen Einsatz.

Leider, leider, leider ... Viel schlimmer ist aber noch Folgendes: Im Moment besteht die Gefahr eines (ggf. umfänglichen) Datenverlustes durch Spamfilterung an KDE's E-Mail-Client.

Spamfilter eliminieren Mailinhalte:
Meine Frau hat gestern Abend Bogofilter für die Spam-Elimination auf ihrem Kmail eingerichtet. Hauptgrund ist, dass sie auch Mailkonten auf externen IMAP-Servern und nicht nur unserem eigenen benutzt. (Auf unserem eigenen Server werkelt Spamassassin und macht dort einen guten Job). Der Einsatz von Bogofilter unter Kmail sah anfänglich auch gut aus. Mails, die bereits als gelesen markiert waren und danach der Spamfilterung unterzogen wurden, wurden richtig und wie in den Filtereinstellungen vorgesehen behandelt. Die große Überraschung kam jedoch am nächsten Morgen:

Aus allen neuen Mails, die von Bogofilter als Spam eingestuft wurden, wurde der Mail-Body entfernt. Sprich: Diese Mails waren danach leer!

Dies betraf alle neuen ungelesen Mails - egal aus welcher IMAP-Quelle. Das ist keineswegs nur ein Darstellungsproblem am (K-)Mail-Client: Die Mails werden über Akonadi als leere Mails mit den jeweiligen IMAP-Server "abgeglichen". Ein kurzer Test zeigte übrigens, dass das gleiche Problem unter Kmail auch bei Einsatz des Perl-basierten Spamassassin auftritt.

Irgendwie führt die Modifikation des Mailheaders durch Bogofilter/Spamassassin am Kmail-Client dazu, dass im Zusammenspiel von KMail - Akonadi - IMAP-Server die Mailinhalte von Mails gelöscht werden, die noch nicht als gelesen markiert wurden.

Nebenbei: Ein weiterer Bug ist der, dass diese derart malträtierten Mails nicht - wie in den Filterregeln vorgesehen - in einen SPAM-Ordner verschoben wurden. Und Spamassassin braucht beim Durchkämmen von größeren Verzeichnissen unglaublich viel CPU. Aber was solls ... ich rege mich nicht mehr auf - sonst kommt gleich wieder ein Entwickler und macht mich mit Nachdruck darauf aufmerksam, dass seine Arbeit freiwillig ist und nicht bezahlt wird. (Das finde ich auch schlimm, meine aber trotzdem, dass SW-Qualität primär etwas mit vernünftigen Change Management und Release-Prozessen zu tun hat ...)

Jedenfalls finde ich: Das Entfernen des Mailinhalts macht nicht nur keinen Spaß - das ist ein echtes Problem ! Und es ist keineswegs neu - wie ich nach ein wenig Recherche lesen musste:
https://bugs.kde.org/show_bug.cgi?id=295484

Ich habe die Spamfilterung bei meiner Frau jedenfalls vorläufig abgestellt. Sie hofft jetzt auf bessere Zeiten und sucht mal wieder nach Alternativen ...

Um böse Überraschungen zu vermeiden, kann ich jedem Kmail-Anwender im Moment nur raten, Spam-Filter vor einem Einsatz wirklich ausführlich zu testen und auf umfängliche Trainingsläufe mit produktiven Mailfoldern zu verzichten - bis man sicher ist, dass nichts passiert.

Fazit:
Seit der Einführung von Akonadi, Nepomuk, Strigi reißen die Probleme mit Kmail für die Anwender leider immer noch nicht ab.

Kmail 4.8.4 – Probleme/Crash plus Workaround

Installiert man KDE 4.8.4 und Kmail oder Kontact aus dem Opensuse KDE 4.8 Release Repository, so ist man ggf. mit ernsthaften Problemen konfrontiert. U.a.: :

  • Mails lassen sich unter Kontact nicht länger beantworten oder weiterleiten.
    Kontact schließt sich dann einfach.
  • Kmail stürzt beim Starten von der Command Line ab (Kmail Crash).
  • Kmail stürzt beim Wechsel zwischen Foldern ab.

Jeder, der diese Probleme hat, sollte sich den Workaround von "Peter" (UNIX-Pete) aus folgendem Beitrag eines Opensuse Forums zu Gemüte führen :

http://forums.opensuse.org/english/get-technical-help-here/applications/476040-re-kmail.html

Die Installation der Soprano RPMs aus Opensuse's "KDE Unstable Repository" hilft tatsächlich und beseitigt die Schwierigkeiten! Die Probleme liegen also wohl an der Kombination von Kmail 4.8.4 und seinen Helferdiensten mit dem Soprano RPM in der Version 2.7.6.

Statt der Version 2.7.6 sollte man also die Versionen 2.7.56 aus dem KDE Unstable Repository
[http://download.opensuse.org/repositories/KDE:/Unstable:/SC/openSUSE_12.1]
für folgende Pakete verwenden:

  • libsoprano4
  • soprano
  • soprano-backend-virtuoso
  • soprano-backend-redland

Einen erneuten längeren Kommentar hinsichtlich der mangelnden Qualitätssicherung von KDE-Kernkomponenten, die von Distributoren wie Opensuse in sog. "Release"-Repositories angeboten werden, erspare ich mir. Als Endverbraucher ist es mir dabei auch egal, ob nun das KDE Release Repository von Opensuse fehlerhaft erstellt wurde oder ob die Fehler schon im KDE 4.8.4 - Release bzw. in den ausgelieferten Soprano-Bibliotheken lagen.

Gott sei Dank gibt es experimentierfreudige Menschen wie "Peter (UNIX-Pete)", die auch dann noch einen Ausweg finden.
Auch das ist Linux ! Danke "Peter" !