6.4Mail-Grundlagen
Aus Anwendersicht ist das Senden und Empfangen von E-Mails eine einfache Angelegenheit. Hinter den Kulissen sind die Vorgänge, die dabei stattfinden, aber nicht so trivial. Dieser Abschnitt gibt Ihnen daher einige Hintergrundinformationen zum Thema E-Mail. Noch mehr in die Tiefe geht Kapitel 35, »Postfix und Dovecot«, wo es um die Konfiguration eines eigenen Mail-Servers geht.
Wenn in diesem Kapitel von E-Mail-Clients die Rede ist, dann gehe ich davon, dass Sie Ihre E-Mails mit einem eigenen E-Mail-Programm bearbeiten möchten und nicht mit einer Weboberfläche (wie https://gmx.net oder https://mail.google.com). Beide Verfahren haben Vorteile, die sich sogar kombinieren lassen: Die Weboberfläche kann ja parallel zu einem Mail-Client verwendet werden, z.B. im Urlaub.
In diesem Kapitel stelle ich Ihnen fünf E-Mail-Clients näher vor – Thunderbird, Evolution (Gnome), Kontact bzw. KMail (KDE), Geary (Elementary OS) und Mutt. Daneben gibt es eine Reihe weiterer Programme. Für Rechner mit begrenzten Ressourcen bieten sich beispielsweise Claws Mail oder Slypheed an: Beide Programme haben ansprechende Benutzeroberflächen, kommen aber mit vergleichsweise wenig RAM aus.
Im riesigen Mail-Client-Angebot unter Linux klafft eine offensichtliche Lücke: Es gibt kaum Programme, die für IT-Laien optimiert sind. Am ehesten ist Geary für diese Zielgruppe geeignet – aber leider ist dieses Programm noch nicht ganz ausgereift.
Wenn Ihnen ein Mail-Anbieter eine E-Mail-Adresse zur Verfügung stellt, wird dieser Service auch als E-Mail-Konto oder -Account bezeichnet. Viele Leute besitzen mehrere E-Mail-Adressen, daher können die meisten E-Mail-Programme mehrere Konten verwalten. Damit Sie E-Mails von Ihrem Account lesen und neue Nachrichten versenden können, stellt Ihnen Ihr E-Mail-Provider Zugangsdaten zur Verfügung, die so ähnlich wie in Tabelle 6.3 aussehen:
Parameter |
Beispiel |
---|---|
E-Mail-Adresse |
kathrin.hofer@mailxxx.de |
Postfach-Adresse für eingehende E-Mail (IMAP/POP) |
imap.mailxxx.de oder pop.mailxxx.de |
Server-Adresse für ausgehende E-Mail (SMTP) |
smtp.mailxxx.de |
Login-/Benutzername für das Postfach |
khofer oder 12345678 |
Passwort |
xxxxxxxx |
Tabelle 6.3Account-Zugangsdaten mit Beispielen
Mitunter wird als Login-Name für das Postfach die gesamte E-Mail-Adresse verwendet. Bei vorwiegend für die Benutzung über einen Webbrowser konzipierten E-Mail-Accounts (z.B. GMX, Google Mail) müssen Sie möglicherweise zuerst in der Weboberfläche einige Optionen ändern, bevor eine POP- oder IMAP-Nutzung möglich ist.
Die drei Abkürzungen POP, SMTP und IMAP bezeichnen verschiedene Protokolle zur Übertragung von E-Mails zwischen Ihrem Rechner und dem E-Mail-Provider:
-
POP: Zur Übertragung von E-Mails vom Provider auf Ihren Rechner kommt häufig das Post Office Protocol (POP) zum Einsatz. Das Protokoll ist perfekt, wenn Sie nur ein E-Mail-Programm verwenden und die heruntergeladenen E-Mails auf Ihrem eigenen Rechner speichern. POP ist hingegen ungeeignet, wenn Sie parallel mehrere Mail-Clients benutzen.
-
IMAP: Eine Alternative zu POP ist das Internet Message Access Protocol (IMAP). Der Hauptunterschied zu POP besteht darin, dass bei IMAP die E-Mails üblicherweise auf dem IMAP-Server bleiben und dort in mehreren Verzeichnissen (»Postfächern«) organisiert werden. Das E-Mail-Programm dient in diesem Fall also nur zur Kommunikation mit dem Server. IMAP ist dann optimal, wenn Sie Ihre E-Mails von unterschiedlichen Rechnern, Smartphones, Tablets etc. aus bearbeiten möchten.
Wenn Sie auf der Suche nach einem neuen Mail-Account sind, sollten Sie unbedingt auf IMAP bestehen. Leider unterstützen manche kostenlosen Mail-Provider nur POP.
-
SMTP: Zum Versenden eigener E-Mails wird das Simple Mail Transfer Protocol (SMTP) verwendet. Zur Kommunikation mit dem SMTP-Server des Providers benötigt das E-Mail-Programm meist nur die Adresse des SMTP-Servers. Ob auch beim SMTP-Server eine Authentifizierung erforderlich ist, hängt vom Provider ab. Bei einigen Providern gilt eine vorherige POP-Authentifizierung automatisch auch für SMTP. Andere Provider verlangen eine eigene SMTP-Authentifizierung.
Während der Account-Konfiguration können Sie bei einigen E-Mail-Programmen Port-Nummern für POP, IMAP und SMTP angeben. Üblich sind die folgenden Ports:
POP: IMAP: SMTP: |
110 (STARTTLS oder unverschlüsselt) bzw. 995 (SSL/TLS-verschlüsselt) 143 (STARTTLS oder unverschlüsselt) bzw. 993 (SSL/TLS-verschlüsselt) 25 (STARTTLS oder unverschlüsselt) bzw. 465 (SSL/TLS-verschlüsselt) |
Die meisten Mail-Clients und Mail-Server unterstützen STARTTLS: Dabei beginnt die Kommunikation unverschlüsselt. Client und Server vereinbaren dann das bestmögliche Verschlüsselungsverfahren und setzen die Kommunikation am selben Port (also z.B. 25 bei SMTP) verschlüsselt fort.
Microsoft kocht bei E-Mails mit dem Exchange-Server sein eigenes Süppchen. Der Exchange-Server verwendet standardmäßig eigene Protokolle zur Kommunikation mit dem E-Mail-Client, weswegen die meisten Benutzer wohl oder übel Outlook verwenden. POP, IMAP und SMTP werden nur bei spezieller Konfiguration bzw. mit Zusatz-Software unterstützt. Das einzige Linux-Mail-Programm, das gut mit dem Exchange-Server kooperiert, ist Evolution.
Traditionell verwendet Unix bzw. Linux E-Mails auch als lokales Kommunikationsmedium. Manche Netzwerkdienste protokollieren Fehler daher nicht nur in einer Logging-Datei, sondern versenden auch eine E-Mail an root.
Derartige E-Mails werden dann in einer lokalen Datei auf dem Rechner gespeichert, häufig in /var/spool/mail/root. Die Gefahr ist groß, dass Sie derartige E-Mails nie zu sehen bekommen – und das gleich aus zweierlei Gründen: Erstens ignorieren die meisten grafischen E-Mail-Clients /var/spool/mail/loginname, und zweitens sind System-Mails meist an root adressiert, während Sie als gewöhnlicher Benutzer arbeiten.
Die Lösung für das erste Problem besteht darin, zum Lesen der lokalen E-Mails ein Programm zu verwenden, das /var/spool/mail/loginname berücksichtigt. Für diese Zwecke besonders gut geeignet ist das textbasierte Programm Mutt. Um die E-Mails zu lesen, loggen Sie sich vorübergehend als root ein (su -l oder sudo -s) und führen dann in einem Terminalfenster das Kommando mutt aus.
Noch eleganter ist es, alle an root adressierten E-Mails mit /etc/aliases in die Inbox des Benutzers umzuleiten, der normalerweise für die Administration des Rechners verantwortlich ist:
Die geänderte Einstellung wird erst wirksam, wenn Sie das Kommando newaliases ausführen. Sie müssen aber weiterhin ein Programm verwenden, das die lokale Mailbox auswertet. Neben textbasierten Programmen wie mutt kommen hierfür auch Evolution und KMail infrage, wenn ein zusätzlicher Account entsprechend eingerichtet wird.
Alle E-Mail-Programme bieten die Möglichkeit, eingetroffene oder selbst verfasste E-Mails in Verzeichnissen zu speichern. Dabei kommt oft das mbox-Format zur Anwendung: Alle E-Mails eines Verzeichnisses werden einfach zu einer langen Textdatei verbunden. Zur Trennung zwischen den E-Mails dienen Zeilen, die mit From beginnen. Das Format ist im Internet dokumentiert, z.B. unter:
http://www.qmail.org/qmail-manual-html/man5/mbox.html
Die meisten E-Mail-Clients erzeugen neben den mbox-Dateien zusätzliche Indexdateien. Diese beschleunigen den Zugriff auf einzelne E-Mails, sind aber nicht zwischen den E-Mail-Programmen kompatibel.
Neben dem mbox-Format unterstützen manche E-Mail-Programme und die meisten E-Mail-Server auch das maildir-Format. Dabei wird jede einzelne E-Mail in einer eigenen Datei gespeichert. Eine Mailbox besteht aus allen Dateien innerhalb eines Verzeichnisses. Der offensichtliche Vorteil besteht darin, dass einzelne Nachrichten einfacher gelöscht werden können.
Lokale Mails von Windows zu Linux bringen
Unter Windows verwenden die meisten E-Mail-Clients jeweils ihr eigenes Format. Wenn Sie bisher unter Windows mit Microsoft Mail gearbeitet haben und nun unter Linux auf Thunderbird umsteigen möchten, sollten Sie einen Zwischenschritt einlegen und zuerst die Windows-Version von Thunderbird installieren. Damit können Sie nämlich Outlook-Express-E-Mails importieren. Anschließend kopieren Sie das gesamte E-Mail-Verzeichnis nach Linux. Alternativ können Sie Ihre lokalen E-Mails auch über ein ausreichend großes IMAP-Konto transferieren. Bei großen E-Mail-Archiven ist das aber ein recht zeitaufwendiger Prozess.
Viele E-Mail-Programme enthalten auch Funktionen zur Adress- und Terminverwaltung. Das ist insbesondere praktisch, um E-Mail-Adressen und andere Kontaktdaten einheitlich zu erfassen und zu verwalten. Wenn diese Daten über mehrere Programme hinweg synchronisiert werden sollen, bieten sich hierfür Google oder eine eigene ownCloud-Installation an (siehe Kapitel 36).
Signierung und Verschlüsselung von E-Mails
Für technisch versierte Personen ist es relativ einfach, E-Mails mit falschen Absenderadressen zu versenden oder von Ihnen an andere Personen versandte E-Mails zu lesen oder gar zu manipulieren. Noch immer sind viele Mail-Server so konfiguriert, dass eine unverschlüsselte Nachrichtenübertragung erlaubt ist. Aus diesem Grund sollten Sie niemals wirklich vertrauliche Daten in einer nicht verschlüsselten E-Mail versenden (z.B. eine Kreditkartennummer).
Durch die Signierung und Verschlüsselung können Sie Ihre E-Mail-Kommunikation wesentlich sicherer machen. Alle in diesem Kapitel vorgestellten E-Mail-Programme sind in der Lage, E-Mails zu signieren und zu verschlüsseln und können natürlich auch mit derart behandelten E-Mails umgehen.
Trotz der unbestrittenen Vorteile signierter bzw. verschlüsselter E-Mails werden Sie in der Praxis nur selten auf derartige E-Mails stoßen. Bequemlichkeit, die relativ komplexe Schlüsselverwaltung und zwei zueinander inkompatible Standards (PGP und S/MIME) stehen einer weiten Verbreitung im Wege.
Zum Signieren bzw. Verschlüsseln werden sogenannte Schlüssel verwendet. Ein elektronischer Schlüssel ist einfach ein langer Zahlencode.
Zum Signieren und Verschlüsseln von E-Mails werden die sogenannten asymmetrischen Verfahren eingesetzt. Jeder Schlüssel besteht daher aus zwei Teilen: aus einem geheimen Schlüssel, der normalerweise nur auf der Festplatte des Besitzers gespeichert ist, und aus einem öffentlichen Schlüssel, der z.B. im Internet publiziert wird. Das Besondere an den asymmetrischen Verfahren besteht darin, dass zum Signieren oder Verschlüsseln der eine Teil des Schlüssels verwendet wird, zur Kontrolle der Signatur bzw. zum Entschlüsseln dagegen der andere Teil des Schlüssels.
Das Signieren einer E-Mail bedeutet, dass vor dem Versenden einer Nachricht eine Prüfsumme errechnet wird. Diese Prüfsumme wird verschlüsselt. Der Empfänger kann anhand der Prüfsumme sicherstellen, dass die E-Mail tatsächlich vom angegebenen Empfänger stammt und dass sie nach dem Versenden nicht manipuliert wurde.
Wenn Sie eine E-Mail signieren, verwendet das E-Mail-Programm dazu Ihren geheimen Schlüssel. Zur Kontrolle der Signatur reicht aber der öffentliche Schlüssel aus. Das bedeutet: Nur Sie selbst können Ihre E-Mails signieren (weil nur Sie Ihren geheimen Schlüssel besitzen). Es kann aber jeder Ihre signierte E-Mail kontrollieren, weil jeder über das Internet Zugang zu Ihrem öffentlichen Schlüssel hat.
Ihre signierte E-Mail kann jeder lesen, auch wenn der Empfänger Ihren öffentlichen Schlüssel nicht kennt oder ein E-Mail-Programm ohne Signaturfunktionen verwendet (z.B. ein Webmail-Interface). In solchen Fällen wird unterhalb der E-Mail der Signaturcode angezeigt. Dieser Code behindert das Lesen der eigentlichen Nachricht nicht. Ein Empfänger ohne Signaturmöglichkeiten kann aber nicht kontrollieren, ob die E-Mail tatsächlich von Ihnen stammt.
Das Verschlüsseln einer E-Mail bedeutet, dass die E-Mail nicht im Klartext versendet wird, sondern in einer verschlüsselten Form. Niemand kann den Inhalt dieser E-Mail lesen, wenn er nicht den richtigen Schlüssel kennt, um die Verschlüsselung wieder aufzuheben.
Zum Verschlüsseln wird der öffentliche Schlüssel des Empfängers (!) verwendet. (Wenn Sie also eine verschlüsselte E-Mail an Gabi versenden möchten, müssen Sie sich zuerst den öffentlichen Schlüssel von Gabi besorgen.) Die verschlüsselte E-Mail kann anschließend nur noch durch den geheimen Schlüssel des Empfängers entschlüsselt werden. (Diesen Schlüssel hat nur Gabi.) Ihre verschlüsselte E-Mail kann nur der Empfänger lesen, der den geheimen Teil des Schlüssels besitzt, dessen öffentlicher Teil zur Verschlüsselung eingesetzt wurde. Wenn der Empfänger seinen geheimen Schlüssel verloren oder irrtümlich gelöscht hat oder wenn er ein E-Mail-Programm ohne Verschlüsselungsfunktionen verwendet, sieht er nur eine lange Liste von Zahlen und Zeichen. Die Nachricht ist dann vollkommen wertlos.
Es wäre zu einfach, wenn es zum Signieren, Verschlüsseln und zur Schlüsselverwaltung nur ein Verfahren gäbe! Etabliert haben sich vielmehr zwei Verfahren, die beide als sicher gelten:
-
PGP bzw. GPG bzw. OpenPGP: Vorreiter in Sachen E-Mail-Verschlüsselung war das Software-Projekt PGP (Pretty Good Privacy). Als PGP zu einem kommerziellen Produkt wurde, schuf die Open-Source-Gemeinde das dazu weitgehend kompatible Projekt GPG (GNU Privacy Guard). OpenPGP ist schließlich ein öffentlicher Internet-Standard, dem sowohl PGP als auch GPG entsprechen.
Standardmäßig wird durch PGP nur die eigentliche Nachricht signiert bzw. verschlüsselt. Wenn Sie auch Anhänge signieren bzw. verschlüsseln möchten, müssen Sie die Variante PGP/MIME nutzen.
Das aus Anwendersicht vielleicht wichtigste Merkmal von PGP besteht darin, dass es sehr einfach ist, die erforderlichen Schlüssel selbst zu erzeugen. Damit eignet sich PGP nicht nur für große Unternehmen, sondern auch für kleine Betriebe. Auch in der Linux- und Open-Source-Szene dominiert PGP. Sowohl Gnome als auch KDE bieten ausgereifte Werkzeuge zur Schlüsselverwaltung an. Leider unterstützen manche Windows-E-Mail-Clients PGP nicht bzw. erst nach der Installation von Erweiterungen oder Plugins.
-
S/MIME: S/MIME (Secure Multipurpose Internet Mail Extensions) basiert auf anderen Verschlüsselungsalgorithmen. Als S/MIME-Schlüssel müssen sogenannte X.509-Zertifikate verwendet werden.
S/MIME-signierte bzw. -verschlüsselte Dokumente haben bei manchen öffentlichen Behörden denselben Wert wie eigenhändig unterschriebene Schriftstücke. Das gilt allerdings nur, wenn die eingesetzten X.509-Zertifikate von autorisierten Trustcentern (CA = Certificate Authority) nach der Kontrolle von Persönlichkeitsdaten (z.B. des Personalausweises) herausgegeben wurden. Derartige Zertifikate kosten aufgrund des hohen administrativen Aufwands relativ viel Geld, sind dafür aber vertrauenswürdiger als selbst erzeugte Schlüssel.
S/MIME ist in der Windows-Welt weit verbreitet und wird auch unter Linux von den meisten E-Mail-Clients unterstützt – wenn auch zum Teil weniger gut als PGP. Die größte Hürde für Privatanwender besteht darin, sich einen S/MIME-Schlüssel zu beschaffen.
Leider sind die beiden Verfahren zueinander inkompatibel. Eine PGP-verschlüsselte E-Mail kann nicht mit den Mitteln von S/MIME gelesen werden und umgekehrt. Es gibt zwar E-Mail-Programme, die mit beiden Verschlüsselungsmechanismen zurechtkommen, aber in diesem Fall benötigen Sie für beide Verfahren jeweils eigene Schlüssel. Außerdem kann eine E-Mail immer nur mit einem Verfahren verschlüsselt werden, nicht mit beiden. Kurz und gut: PGP bietet nach dem aktuellen Wissensstand alles, um sicher und ohne zusätzliche Kosten miteinander zu kommunizieren. Der wesentliche Vorteil von S/MIME besteht darin, dass es bei der Verwendung von qualifizierten X.509-Zertifikaten einen verbindlicheren rechtlichen Charakter hat.
Die meisten E-Mail-Clients können die zum Senden und Empfangen erforderlichen Schlüssel selbst verwalten bzw. bei Bedarf einen neuen Schlüssel erzeugen. Da die Schlüssel aber oft auch für andere Aufgaben benötigt werden, ist es zweckmäßig, die Schlüsselverwaltung losgelöst vom E-Mail-Programm durchzuführen. Gnome unterstützt Sie bei dieser Aufgabe durch das Programm Seahorse, KDE durch KGpg und Kleopatra (für S/MIME).
Die primäre Aufgabe der Schlüsselverwaltung besteht darin, die öffentlichen Teile der Schlüssel Ihrer Kommunikationspartner in einem sogenannten Schlüsselbund zu sammeln. Beim Import neuer Schlüssel müssen Sie diese »signieren«. Das bedeutet, dass Sie davon überzeugt sind, dass der importierte Schlüssel tatsächlich von der richtigen Person stammt. Sofern Sie mit PGP-Schlüsseln arbeiten, befinden sich alle Verwaltungsdateien im Verzeichnis .gnupg.