Es gibt oft eine Verwirrung über die verschiedenen Begriffe: SSL, TLS, STARTTLS und STLS.
SSL und TLS
SSL und TLS sind kryptografische Protokolle, beide bieten eine Möglichkeit, den Kommunikationskanal zwischen zwei Computern über das Internet (z. B. Clientcomputer und Server) zu verschlüsseln. SSL steht für Secure Sockets Layer und aktuelle Version ist 3.0. TLS steht für Transport Layer Security und die aktuelle version ist 1.2. TLS ist der Nachfolger von SSL., Die Begriffe SSL und TLS können austauschbar verwendet werden, es sei denn, Sie beziehen sich auf eine bestimmte Protokollversion.
Versionsnummerierung ist inkonsistent zwischen SSL und TLSs. Als TLS SSL als bevorzugten Protokollnamen übernahm, begann es mit einer neuen Versionsnummer. Die Reihenfolge der Protokolle in Bezug auf älteste bis neueste ist: SSLv2, SSLv3, TLSv1. 0, TLSv1.1, TLSv1.2.
STARTTLS und STLS
STARTTLS ist ein Protokollbefehl, der von einem E-Mail-Client ausgegeben wird. Es zeigt an,dass der Client vorhandene, unsichere Verbindung zu einer sicheren Verbindung aktualisieren möchte SSL/TLS kryptographisches Protokoll., Der STARTTLS-Befehlsname wird von SMTP-und IMAP-Protokollen verwendet, während das POP3-Protokoll STLS als Befehlsname verwendet.
Klartext / Klartext
Es wird überhaupt kein Sicherheitsprotokoll verwendet. Alle Befehle, Antworten und Daten werden im Klartext übertragen.
client.Connect("mail.example.com");
Implict SSL-Modus
Implict SSL-Modus bedeutet, dass Sie die Verbindung zu SSL – /TLS-verschlüsselten port.,
client.ConnectSSL("mail.example.com");
Explicit SSL-Modus
Explicit SSL-Modus bedeutet, dass Sie die Verbindung zur Klage, text-Anschluss und sichern die Verbindung durch die Ausgabe der STARTTLS (oder STLS) den Befehl danach (Sie explizit die Sicherung der Verbindung).
client.Connect("mail.example.com");client.StartTLS();
Sicherung der Verbindung
Unabhängig davon, ob Sie den Implict-Modus (Verbindung zu einem SSL/TLS-verschlüsselten Port) oder den Explicit-Modus (Verwendung von STARTTLS zum Aktualisieren einer vorhandenen Verbindung) verwenden, verhandeln beide Seiten, welches Protokoll und welche Version verwendet werden soll., Diese Verhandlung basiert darauf, wie Client und Server konfiguriert wurden und was jede Seite unterstützt.
SSL / TLS-Unterstützung
Die Unterstützung für SSL / TLS ist praktisch universell, jedoch ist variabel, welche Versionen unterstützt werden. So ziemlich alles unterstützt SSLv3. Die meisten Maschinen unterstützen TLSv1.0.
TLS vs STARTTLS Namensproblem
Ein wesentlicher komplizierender Faktor ist, dass einige E-Mail-Software den Begriff TLS falsch verwendet, wenn sie „STARTTLS“ oder „explizites SSL / TLS“verwendet haben sollten., Ältere Versionen von Thunderbird verwendeten „TLS“, um“ die Verwendung von STARTTLS erzwingen, um die Verbindung zu aktualisieren, und fehlschlagen, wenn STARTTLS nicht unterstützt wird „und“ TLS, falls verfügbar“, um“ STARTTLS verwenden, um die Verbindung zu aktualisieren, wenn der Server dafür Unterstützung wirbt, andernfalls verwenden Sie einfach eine unsichere Verbindung “ (sehr problematisch, wie wir unten sehen werden).
Portnummern
Um einigen vorhandenen Protokollen (IMAP, POP3, SMTP) Sicherheit zu verleihen, wurde beschlossen, nur die SSL / TLS-Verschlüsselung als Schicht unter dem vorhandenen Protokoll hinzuzufügen., Um jedoch zu unterscheiden, dass die Software die SSL/TLS-verschlüsselte Version des Protokolls anstelle der Klartext-Version verwenden sollte, wurde für jedes Protokoll eine andere Portnummer verwendet:
Protokoll | Klartext | SSL | |
---|---|---|---|
IMAP | 143 | 993 | |
POP3 | 110 | 995 | |
SMTP | 587 oder 25 | 465 |
Zu viele Ports?, Lösung: Klartext + STARTTLS
Irgendwann wurde entschieden, dass es verschwenderisch war, 2 Ports für jedes Protokoll zu haben, und stattdessen ist es besser, 1 Port zu haben, der als Klartext beginnt, aber Clients können die Verbindung mit dem Befehl STARTTLS (oder STLS für POP3-Protokoll) auf einen SSL/TLS-verschlüsselten aktualisieren.
STARTTLS Probleme
Es gab einige Probleme damit. Es gibt viele Software, die die alternativen Portnummern mit reinen SSL/TLS-Verbindungen verwendet., Client-Software kann sehr langlebig sein, sodass Sie die verschlüsselten Ports nicht einfach deaktivieren können, bis die gesamte Software aktualisiert wurde.
Jedes Protokoll erhielt Mechanismen, um Clients mitzuteilen, dass der Server ein Upgrade auf SSL/TLS unterstützt (z. B. STARTTLS in der Fähigkeitsantwort von IMAP) und dass sie nicht versuchen sollten, sich anzumelden, ohne das STARTTLS-Upgrade durchzuführen (LOGINDISABLED in der Fähigkeitsantwort von IMAP)., Dies führte zu zwei unglücklichen Situationen:
- Einige Software ignorierte einfach die Ankündigung „Anmeldung bis zum Upgrade deaktiviert“ (LOGINDISABLED, STARTTLS) und versuchte sich trotzdem anzumelden, indem sie den Benutzernamen und das Kennwort über den Klartextkanal sendeten. Der Server lehnte die Anmeldung und das Passwort ab, die Details wurden jedoch bereits im Klartext über das Internet gesendet.
- Andere Software sah die“ login disabled until upgraded “ Ankündigung, aber dann würde die Verbindung nicht automatisch aktualisieren, und meldete somit Anmeldefehler zurück an den Benutzer, was zu Verwirrung darüber führte, was falsch war.,
Beide Probleme führten zu erheblichen Kompatibilitätsproblemen mit vorhandenen Clients, und so verwendeten die meisten Systemadministratoren weiterhin nur Klartext-Verbindungen an einem Port und verschlüsselte Verbindungen an einer separaten Portnummer.
Deaktivieren Sie Klartext für IMAP und POP3
Viele Unternehmen (z. B. Google Mail, Outlook.com) deaktivierte Plain IMAP (Port 143) und Plain POP3 (Port 110), sodass Benutzer eine SSL/TLS – verschlüsselte Verbindung verwenden müssen-dies macht den STARTTLS-Befehl vollständig überflüssig.
SMTP STARTTLS bleibt
Die einzige wirkliche Ausnahme ist SMTP., Die meisten E-Mail-Software verwendet SMTP auf Port 25, um Nachrichten an den E-Mail-Server für die Weiterübertragung an das Ziel zu senden. Allerdings wurde SMTP ursprünglich für die Übertragung konzipiert, nicht für die Einreichung. So wurde noch ein weiterer Port (587) für die Nachrichtenübermittlung definiert.
Port 587 erfordert kein STARTTLS, jedoch wurde die Verwendung von Port 587 ungefähr zur gleichen Zeit populär wie die Erkenntnis, dass die SSL/TLS-Verschlüsselung der Kommunikation zwischen Clients und Servern ein wichtiges Problem war., Das Ergebnis ist, dass die meisten Systeme, die Nachrichtenübermittlung über Port 5 anbieten, erfordern, dass Clients STARTLS verwenden, um die Verbindung zu aktualisieren. Login und Passwort zur Authentifizierung sind ebenfalls erforderlich.
Auch dieser Ansatz hat einen zusätzlichen Vorteil. Durch das Entfernen von Benutzern von der Verwendung von Port 25 für die E-Mail-Übermittlung können ISPs ausgehende Port 25-Verbindungen von den Computern der Benutzer blockieren, die aufgrund von Benutzercomputern, die mit Spam-sendenden Viren infiziert waren, eine bedeutende Quelle für Spam waren.,
Weitere Messwerte
Verwendung von SSL / TLS mit IMAP
Verwendung von SSL / TLS mit SMTP
Verwendung von SSL/TLS mit POP3
Tags: IMAP, POP3, SMTP, SSL, TLS