sichere-email.txt
changeset 2 ddbc7cbd83f7
parent 1 81355bae626f
child 3 6511175a8e60
equal deleted inserted replaced
1:81355bae626f 2:ddbc7cbd83f7
    12 technisch Umsetzbare.
    12 technisch Umsetzbare.
    13 
    13 
    14 == E-Mail-Übertragung
    14 == E-Mail-Übertragung
    15 
    15 
    16 Die E-Mail-Übertragung beginnt beim MUA des Absenders. Dieser sendet die
    16 Die E-Mail-Übertragung beginnt beim MUA des Absenders. Dieser sendet die
    17 Mail per SMTP zu seinem _Submission-Server_. Häufig ist dafür eine
    17 Mail per SMTP zum ersten MTA (Submission-Server). Häufig ist dafür eine
    18 Anmeldung am Server notwendig. Dieser Server befindet sich entweder beim
    18 Anmeldung am Server notwendig. Dieser Server befindet sich entweder beim
    19 Internet-Provider oder, meistens bei größeren Firmen, in einer internen
    19 Internet-Provider oder, meistens bei größeren Firmen, in einer internen
    20 Infrastruktur.  Die Adresse bzw. der Name des Submission-Servers sind im
    20 Infrastruktur.  Die Adresse bzw. der Name des Submission-Servers sind im
    21 MUA per Konfiguration fest hinterlegt.
    21 MUA per Konfiguration fest hinterlegt.
    22 
    22 
    26 
    26 
    27 Diese Mailbox liegt meistens auf einem Server im Internet. Auf diesen
    27 Diese Mailbox liegt meistens auf einem Server im Internet. Auf diesen
    28 greift dann der MUA des Empfängers per IMAP oder POP3 oder über einen
    28 greift dann der MUA des Empfängers per IMAP oder POP3 oder über einen
    29 Webmail-Client zu.
    29 Webmail-Client zu.
    30 
    30 
       
    31 image::dia/transport.png[Transport der Mail]
       
    32 
    31 == Angriffspunkte
    33 == Angriffspunkte
    32 
    34 
    33 Alle Übertragungskanäle sollten als unsicher betrachtet werden. Das gilt
    35 Alle Übertragungskanäle sollten als unsicher betrachtet werden. Das gilt
    34 für die Anmeldung am Submission-Server, für den Transport der Mails, für
    36 für die Anmeldung am Submission-Server, für den Transport der Mails, für
    35 die DNS-Information und auch für das Abrufen der Nachrichten.
    37 die DNS-Information und auch für das Abrufen der Nachrichten.
    36 
    38 
       
    39 Für Angriffe ist nicht zwingend ein krimineller Hintergrund notwendig,
       
    40 auch Überwachungsmaßnahmen werden schnell zu Angriffen.
       
    41 
       
    42 === Übertragung der Mails
       
    43 
    37 Um an den Inhalt der übertragenen Nachrichten zu kommen, müsste der
    44 Um an den Inhalt der übertragenen Nachrichten zu kommen, müsste der
    38 Angreifer auf die Verbindungen zwischen den einzelnen Servern zugreifen
    45 Angreifer auf die Verbindungen zwischen den einzelnen Servern zugreifen
    39 können. Eine andere Möglichkeit ist, die Antwort des DNS so zu
    46 können.  
    40 verfälschen, dass die Verbindung zum Zielserver zu einem anderen Server 
       
    41 entführt wird. Von dort kann die Nachricht dann weitergeleitet werden,
       
    42 so dass die Entführung nicht auffällt.
       
    43 
    47 
    44 Werden verschlüsselte (TLS/SSL) Verbindungen verwendet, gelingt das
    48 Werden verschlüsselte (TLS/SSL) Verbindungen verwendet, gelingt das
    45 Mitschneiden auf den Verbindungen nicht mehr. Wenn es aber wieder
    49 Mitschneiden auf den Verbindungen nicht mehr. Aber es ist möglich, die
    46 gelingt, die Verbindung zu entführen, dann kann die Mail mitgeschnitten
    50 Verbindung zu entführen und sich für das Zielsystem auszugeben.
    47 werden, da TLS/SSL lediglich eine Verschlüsslung des Transportkanals
    51 
    48 zwischen zwei Servern darstellt.
    52 === Namensauflösung
       
    53 
       
    54 Die Entführung der Verbindung ist möglich durch einen Eingriff ins IP-Routing,
       
    55 oder durch die Manipulation der DNS-Daten, aus denen der Client die
       
    56 IP-Adresse des Zielsystems erfährt.  
       
    57 
    49 
    58 
    50 == Stand der Technik
    59 == Stand der Technik
       
    60 
       
    61 Aktuell werden etwa 80% der Mails auf dem Transportweg verschlüsselt
       
    62 übertragen.
       
    63 
       
    64 === Übertragung der Mails
       
    65 
       
    66 TLS ist schon sehr lange Stand der Technik für verschlüsselte
       
    67 Datenübertragung. Die Authentizität der Kommunikationspartner wird über
       
    68 X509-Zertifikaten (SSL-Zertifikate) festgestellt.  Üblicherweise weist
       
    69 sich der Server in einer Verbindung mit seinem Zertifikat aus. Der
       
    70 Client prüft dises Zertifikat, um sicher zu sein, dass er mit dem
       
    71 richtigen Server verbunden ist.
       
    72 
       
    73 Bei HTTPS geht der Browser davon aus, dass der Name des Zertifikats mit
       
    74 dem Hostnamen aus der URL übereinstimmt. Um die Echtheit des Zertifikats
       
    75 zu bestimmen, prüft der Browser, ob das Zertifikat von einer ihm
       
    76 bekannten und vertrauenswürdigen CA unterschrieben ist.
       
    77 
       
    78 Auch die Mailprotokolle SMTP, IMAP, POP3 können eine Verschlüsselung des
       
    79 Übertragungsweges aushandeln. Jeoch werden hier sehr oft
       
    80 Server-Zertifikate verwendet, die sich nicht verifizieren lassen. Diese
       
    81 Zertifikate sind entweder selbst signiert oder von lokalen CAs
       
    82 bestätigt. 
       
    83 
       
    84 Dort wo ein Client immer mit dem selben Server kommuniziert (z.B. MUA
       
    85 mit Smarthost) ist es möglich, die Information über das
       
    86 Server-Zertifikat auf dem Client als vertrauenswürdig zu hinterlegen.
       
    87 Dieses Verfahren skaliert aber nicht, wenn die Menge der Zielhosts groß
       
    88 ist.
       
    89 
       
    90 === Namensauflösung
       
    91 
       
    92 DNS verwendet für die meisten Anfragen das UDP-Prokoll. Diese Protokoll
       
    93 ist sehr anfällig für Angriffe. 
       
    94 
       
    95 Bei DNS-Informationen geht es *immer* um öffentlich verfügbare
       
    96 Information, hier geht es also nicht die Vertraulichkeit, sondern die
       
    97 Authentizität der Daten. 
       
    98 
       
    99 Wenn zwei DNS-Server miteinander kommunizieren (Abgleich der
       
   100 Domaindaten), können die Daten mit TSIG geschützt werden. Dieses
       
   101 Verfahren beruhg auf einem von beiden Seiten gemeinsam genutzten
       
   102 Schlüssel. Es skaliert nicht für eine große Zahl von DNS-Clients die
       
   103 eine große Zahl von DNS-Servern fragen.
       
   104 
       
   105 Seit gut 15 Jahren gibt es DNSSec, eine Erweiterung des DNS-Protokolls
       
   106 und der DNS-Datensätze um die Möglichkeit, die Antworten zu signieren.
       
   107 Damit kann der Client die erhaltene Antwort validieren. 
       
   108 
       
   109 == Das technisch Machbare - Absicherung
       
   110 
       
   111 Der oben beschriebene Stand der Technik ist gut, aber nicht ausreichend.
       
   112 Verbindungen können entführt werden, DNS-Antworten sind nur selten mit
       
   113 DNSSec geschützt.
       
   114 
       
   115 === Übertragung der Mails
       
   116 
       
   117 Jeder sendender MTA bzw. Client muss das Server-Zertifikat seines
       
   118 Kommunikationspartners prüfen!  Jedoch ist die Konvention von HTTPS
       
   119 (Zertifikatsname == Hostname der URL) nicht auf die Mail-Kommunikation
       
   120 übertragbar.
       
   121 
       
   122 Der Client benötigt also einen zweiten Kanal, über den er die
       
   123 Information erhält, die er zum Validieren des Server-Zertifikats
       
   124 benötigt.  DNS bietet sich dafür an. Aber es muss gesichert sein, also DNSSec.
       
   125 
       
   126 === Namensauflösung
       
   127 
       
   128 Seit ca. 2010 können die größen DNS-Domains über DNSSec gesichert
       
   129 werden. Das bedeutet, dass die Nameserver die Antworten signieren. Das
       
   130 gibt dem DNS-Client die Möglichkeit, die Antwort auf seine Frage zu
       
   131 validieren. Wenn die DNS-Antworten validierbar sind, dann ist damit
       
   132 auch die Informationen über die Adresse des nächsten Mailhosts
       
   133 validierbar und auch die Information zum Überprüfen des
       
   134 Server-Zertifikats des nächsten Mailhosts.
       
   135 
       
   136 == Umsetzung
       
   137 
       
   138 Die beschriebenen Maßnahmen zum Schutz der Mailübertragung müssen
       
   139 kombiniert werden - TLS, Zertifikate und Überprüfung von
       
   140 DNS-Informationen.
       
   141 
       
   142 Mit DANE ist ein Standard entwickelt worden, der beschreibt, wie
       
   143 Zertifikatsinformation unabhängig von einer vertrauenswürdigen Instanz
       
   144 (CA) geprüft werden kann: die notwendige Information wird im DNS
       
   145 (gesichert über DNSSec) abgelegt.
       
   146 
       
   147 Aktuelle MTAs unter Linux sind in der Lage, diesen Standard zu
       
   148 unterstützen.
       
   149 
       
   150 === Übertragung
       
   151 
       
   152 ==== Client
       
   153 
       
   154 Mailclients müssen versuchen, verschlüsselte Verbindungen aufzubauen.
       
   155 Mailclients *müssen* Zertifate der Server prüfen. MTA können das am 
       
   156 einfachsten mit DANE.
       
   157 
       
   158 ==== Server
       
   159 
       
   160 Für alle Serverdienste, die mit Mail im Zusammenhang stehen, müssen
       
   161 Zertifikate erzeugt werden, dabei spielt es keine Rolle, ob diese
       
   162 Zertifikate von einer zentralen CA unterzeichnet werden, oder ob sie
       
   163 selbstsigniert sind. Die Serverdienste müssen den Clients die
       
   164 Möglichkeit der Verschlüsselung anzeigen.
       
   165 
       
   166 === Namensauflösung
       
   167 
       
   168 Der Nameserver für die Zieldomain muss DNSSec unterstützen, die DNS-Zone
       
   169 muss signiert sein und die Schlüssel müssen an die Elternzone
       
   170 weitergegeben werden. Normalerweise ist dafür der Registrar der Domain
       
   171 verantwortlich. Nur eine kleine Zahl der Domain-Registrare verfügt
       
   172 bisher über die erforderlichen Schnittstellen.
       
   173 
       
   174 Im DNS muss für die Zielserver ein Datensatz eingetragen sein,
       
   175 dieser enthält die Information über das Server-Zertifikat.
       
   176 
       
   177 == Schlussfolgerung
       
   178 
       
   179 Eine sichere Mailübertragung wird es nur geben, wenn beide Maßnamen (TLS
       
   180 *und* DNSSec) gemeinsam verwendet werden. Zum aktuellen Zeitpunkt ist
       
   181 bei den jeweils Verantwortlichen leider relativ wenig Problembewußtseind
       
   182 und Fachwissen über diese Bereiche vorhanden.
       
   183 
       
   184 Wirklich sichere Mailübertragung ist nur mit End-To-End-Verschlüsselung
       
   185 (S/MIME, GPG, PGP) möglich. TLS und DANE können nur die Sicherheit
       
   186 zwischen den einzelnen Mailhosts gewährleisten.
       
   187 
    51 
   188 
    52 == Disclaimer
   189 == Disclaimer
    53 
   190 
    54 Einige Dinge wurden nur vereinfacht dargestellt. Ich habe versucht,
   191 Einige Dinge wurden nur vereinfacht dargestellt. Ich habe versucht,
    55 nur unwesentliche Details zu übergehen, bin mir jedoch im Klaran
   192 nur unwesentliche Details zu übergehen, bin mir jedoch im Klaran
    59 [glossary]
   196 [glossary]
    60 == Glossary
   197 == Glossary
    61 
   198 
    62 [glossary]
   199 [glossary]
    63 
   200 
       
   201 CA::
       
   202    Certificate Authority - eine vertrauenswürdige Organisation, die
       
   203    sicherstellt, dass nur authorisierte Zertifikate ausgesetllt werden.
       
   204    Dazu überprüft sie die Identität des Antragsstellers.
       
   205 
    64 DNS::
   206 DNS::
    65    Domain Name System - eine verteilte Datenbank, die Informationen über
   207    Domain Name System - eine verteilte Datenbank, die Informationen über
    66    Domains, IP-Adressen, verantwortliche Mailserver bereitstellt.
   208    Domains, IP-Adressen, verantwortliche Mailserver bereitstellt.
       
   209 
       
   210 IMAP::
       
   211     Internet Message Access Protocol - mit diesem Protokoll können MUAs auf
       
   212     Mails zugreifen. Die Mails bleiben dabei auf dem Server. (RFC 3501
       
   213     u.a.)
    67 
   214 
    68 MDA::
   215 MDA::
    69     Mail Delivery Agent heisst die Software, die die Mail vom letzten MTA übernimmt und
   216     Mail Delivery Agent heisst die Software, die die Mail vom letzten MTA übernimmt und
    70     in die Mailbox des Nutzers legt. (Protokolle: LMTP, Pipeline)
   217     in die Mailbox des Nutzers legt. (Protokolle: LMTP, Pipeline)
    71 
   218 
    77     Der Mail User Agent ist das, was wir normalerweise „Mailprogramm“ nennen, das
   224     Der Mail User Agent ist das, was wir normalerweise „Mailprogramm“ nennen, das
    78     ist also für viele das Outlook, der Thunderbird, Mutt, Evolution,…
   225     ist also für viele das Outlook, der Thunderbird, Mutt, Evolution,…
    79     Es ist im strengen Sinne nicht der Webbrowser, auch wenn wir Webmail
   226     Es ist im strengen Sinne nicht der Webbrowser, auch wenn wir Webmail
    80     damit machen können. (Protokolle: SMTP, IMAP, POP3)
   227     damit machen können. (Protokolle: SMTP, IMAP, POP3)
    81 
   228 
       
   229 POP3::
       
   230     Post Office Protocol - mit diesem Protokoll können MUAs auf Mails
       
   231     zugreifen. Die Mails werden lokal auf dem Client gespeichert. (RFC
       
   232     1939)
       
   233 
    82 SMTP::
   234 SMTP::
    83     Simple Mail Transfer Protocol - mit diesem Protokoll werden Mails
   235     Simple Mail Transfer Protocol - mit diesem Protokoll werden Mails
    84     übertragen, vom MUA zum Submission Server und von MTA zu MTA. (RFC
   236     übertragen, vom MUA zum Submission Server und von MTA zu MTA. (RFC
    85     5321)
   237     5321)
    86 
   238 
    87 IMAP::
       
    88     Internet Message Access Protocol - mit diesem Protokoll können MUAs auf
       
    89     Mails zugreifen. Die Mails bleiben dabei auf dem Server. (RFC 3501
       
    90     u.a.)
       
    91 
       
    92 POP3::
       
    93     Post Office Protocol - mit diesem Protokoll können MUAs auf Mails
       
    94     zugreifen. Die Mails werden lokal auf dem Client gespeichert. (RFC
       
    95     1939)
       
    96 
       
    97 TLS/SSL::
   239 TLS/SSL::
    98     Transport Layer Security, Secure Socket Layer - ein Protokoll, mit
   240     Transport Layer Security, Secure Socket Layer - ein Protokoll, mit
    99     dessen Hilfe es möglich ist, den Übetragungskanal zwischen zwei
   241     dessen Hilfe es möglich ist, den Übetragungskanal zwischen zwei
   100     Endpunkten gegen Dritte zu schützen.
   242     Endpunkten gegen Dritte zu schützen. Neuere Versionen heissen TLS,
       
   243     ältere Versionen heißen SSL. (SSLv3.1 entpricht TLSv1.0)
       
   244 
       
   245 TSIG::
       
   246     Transaction Signature - bei der Übertragung von DNS-Information ein
       
   247     Verfahren zur Authentifizierung und Integritätsprüfung
       
   248 
       
   249 Zertifikat | X509-Zertifikat::
       
   250     Ein elektronisches Dokument, das den Besitz z.B. eines bestimmten
       
   251     Domainnamens bestätigt. Dieses Dokument ist in der Regel von einer
       
   252     CA unterzeichnet, die damit bestätigt, die im Zertifikat
       
   253     festgehaltenen Eigenschaften überprüft zu haben.
   101 
   254 
   102 [index]
   255 [index]
   103 
   256