Technik · belegte Antwort
STARTTLS: SMTP-Kommunikation absichern mit Opportunistic TLS
STARTTLS ist eine SMTP-Service-Erweiterung, mit der sich eine unsichere Verbindung per TLS zu einer sicheren aufwerten lässt. Client und Server handeln damit über einen einzigen Port einen gesicherten Kanal aus, sodass E-Mail-Inhalt und Zugangsdaten während der Übertragung verschlüsselt sind.
Funktionsweise
Der Ablauf beginnt mit einem normalen, unverschlüsselten SMTP-Handshake. Der Server meldet die STARTTLS-Fähigkeit in seiner EHLO-Antwort. Der Client sendet daraufhin den Befehl STARTTLS. Akzeptiert der Server, führen beide Seiten einen TLS-Handshake durch, um die Verschlüsselung aufzubauen. Sobald die gesicherte Schicht aktiv ist, läuft die Sitzung mit normalen SMTP-Befehlen weiter, alle folgenden Daten sind jedoch verschlüsselt.
Bedeutung für Absender
STARTTLS verhindert Abhören und Man-in-the-Middle-Angriffe, indem es den Kommunikationsweg zwischen Mailservern verschlüsselt. Ohne STARTTLS läuft SMTP-Verkehr im Klartext. Nachrichteninhalte und Zugangsdaten sind dann für jeden sichtbar, der den Netzwerkpfad mitliest. Die meisten modernen empfangenden Server bevorzugen verschlüsselte Verbindungen oder verlangen sie, um E-Mails anzunehmen.
Betriebliche Aspekte
Ein kritisches Risiko ist der Downgrade-Angriff: Ein Angreifer entfernt den Befehl STARTTLS aus der Serverantwort und zwingt den Client so, E-Mails im Klartext zu senden. Um das zu verhindern, können Administratoren MTA-STS einsetzen oder verpflichtendes TLS konfigurieren. Mit den kostenlosen Tools von SendHQ (https://sendhq.cc/tools) können Sie Ihre allgemeine Domainkonfiguration für eine bessere Zustellung prüfen.
Häufige Implementierungsfehler
Ein häufiger Fehler ist die Verwechslung von STARTTLS mit Implicit TLS. STARTTLS beginnt auf einem unverschlüsselten Port (etwa 587) und wertet die Verbindung auf. Implicit TLS (Port 465) verlangt dagegen einen sicheren Handshake, bevor überhaupt SMTP-Befehle gesendet werden. Ein falsch konfigurierter Port oder ein fehlendes gültiges SSL-Zertifikat führt zu Verbindungsfehlern oder zum Rückfall auf unsichere Übertragung.
Konkretes Beispiel
Ein Client verbindet sich mit Port 587 und sendet EHLO. Der Server antwortet mit 250-STARTTLS. Der Client sendet STARTTLS. Der Server antwortet mit 220 Ready to start TLS. Client und Server handeln Schlüssel aus und verschlüsseln die Sitzung. Danach sendet der Client AUTH LOGIN, um seine Zugangsdaten sicher zu übermitteln, ohne sie im Netzwerk offenzulegen.
Häufige Fragen von Teams
Ist STARTTLS dasselbe wie SSL/TLS?
STARTTLS ist ein Befehl, der eine TLS-Sitzung auf einer bestehenden unverschlüsselten Verbindung startet. SSL/TLS bezeichnet dagegen die zugrunde liegenden Verschlüsselungsprotokolle selbst.
Was passiert, wenn STARTTLS fehlschlägt?
Standardmäßig verwenden die meisten Server Opportunistic TLS. Schlägt der Handshake fehl, fallen sie also auf Klartext zurück, sofern nicht ausdrücklich verpflichtendes TLS konfiguriert ist.
Welcher Port wird üblicherweise für STARTTLS verwendet?
Port 587 ist der Standard-Submission-Port für STARTTLS. Häufig wird STARTTLS aber auch auf Port 25 für das Relay zwischen Servern genutzt.