STARTTLS

Aus xinux.net
Zur Navigation springen Zur Suche springen

Grundsätzliches

  • STARTTLS bezeichnet ein Verfahren zum Einleiten der Verschlüsselung einer Netzwerkkommunikation mittels Transport Layer Security (TLS).
  • Falls keine zusätzlichen Schutzmaßnahmen gegen einen Downgrade-Angriff umgesetzt werden, handelt es sich dabei um eine opportunistische Verschlüsselung.
  • STARTTLS stammt von 1999 und sollte damals verschlüsselte Übertragungen forcieren.
  • Seit 2018 werden nur noch vollständig verschlüsselte Übertragungen empfohlen.
  • Bei STARTTLS erfolgt der Verbindungsaufbau immer im Klartext und es gibt zudem keine Vorteile mehr gegenüber TLS.
  • Darum wird generell die Einstellung „SSL/TLS“ in E-Mail-Clients empfohlen und somit von STARTTLS abgeraten.

Funktionsweise

  • Der Client baut zunächst eine unverschlüsselte Netzwerkverbindung zum Server auf und verwendet dabei den für Klartextkommunikation vorgesehenen Port.
  • Sofern der Server Unterstützung von STARTTLS signalisiert, sendet der Client den STARTTLS-Befehl.
  • Die beiden Kommunikationspartner beginnen mit dem TLS-Handshake und handeln eine Verschlüsselung aus.
  • Anschließend wird das Anwendungsprotokoll verschlüsselt fortgesetzt.

Unterscheidung zu TLS/SSL

  • STARTTLS unterscheidet sich vom impliziten TLS, bei dem der TLS-Handshake bereits unmittelbar nach Verbindungsaufbau einsetzt
  • Die Nutzung von TLS wird hierbei durch Verwendung eines dedizierten Ports impliziert, der ausschließlich für verschlüsselte Kommunikation verwendet wird.
  • Bei STARTTLS wird hingegen explizit ausgehandelt, ob TLS genutzt werden soll.
  • Der Hauptnachteil von STARTTLS ist, dass dieser Upgrade-Mechanismus gegen Man-in-the-Middle-Angriffe anfällig ist.
  • Durch Manipulation der Klartextbefehle kann der Angreifer die TLS-Verschlüsselung verhindern.
  • Zum Schutz vor einem solchen Downgrade-Angriff sind zusätzliche Maßnahmen erforderlich, beispielsweise DANE oder MTA-STS.

Bewertung

  • In den folgenden Jahren nahm die Verbreitung von TLS weiter zu.
  • Bei einer Neubewertung im Jahr 2018 bevorzugen die STARTTLS-Entwickler nunmehr implizites TLS.
  • Von einer Klartextübertragung wird gänzlich abgeraten.

E-Mail

  • STARTTLS ist seit 1999 als Erweiterung für das Simple Mail Transfer Protocol (SMTP) spezifiziert.
  • Der Client beginnt die Verbindung mit dem aus Extended SMTP bekannten Schlüsselwort EHLO.
  • Falls eine Unterstützung des Servers gegeben ist, listet er STARTTLS als Erweiterung auf.
  • Dem Client steht es anschließend frei mittels des Schlüsselworts STARTTLS den TLS-Handshake einzuleiten.
  • Das folgende Beispiel zeigt eine SMTP-Verbindung mit STARTTLS (Server blau, Client grün):
  • telnet ox.xinux.org 25
Trying 194.59.156.243...
Connected to ox.xinux.org.
Escape character is '^]'.
220 ox.xinux.org ESMTP Postfix
ehlo kali.secure.local
250-ox.xinux.org
250-PIPELINING
250-SIZE
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING
STARTTLS
220 2.0.0 Ready to start TLS

Ports

Protokoll (Port) Protokoll mit implizitem TLS (Port)
SMTP (25) SMTPS (465)
IMAP (143) (993)
POP3 (110) POP3S (995)
LDAP(389) LDAPS (636)

Unterschied

Quelle