# Was ist StartTLS? Funktionsweise, Einsatz &amp; Sicherheitsrisiken

Der Befehl StartTLS (auch bekannt als „Opportunistic TLS“) erweitert das Protokoll Transport Layer Security (TLS), um mithilfe des TLS-Protokolls die Kommunikation von Informationen zu verschlüsseln.

## Wie funktioniert StartTLS?

Als Protokollerweiterung für TLS bietet StartTLS den großen Vorteil, dass die Verschlüsselung nicht die Kommunikation mit Clients behindert, die die Methode nicht unterstützen. Mit StartTLS gibt es also weitaus **weniger Kompatibilitätsprobleme**. Verweigert ein Server jedoch TLS, muss ein Mailprogramm (Client) wissen, wie mit den Daten verfahren werden soll. Ein weiterer Vorteil besteht in der **beidseitigen Aushandlung der Verschlüsselung**, wodurch bei einem Kommunikationsfehlschlag automatisierte Prozesse das Eingreifen des Admins bzw. Nutzers überflüssig machen.

Beim StartTLS-Verfahren **startet eine Verbindung immer unverschlüsselt**, und zwar auf dem Port, auf dem Klartext vorgesehen ist. Erst nach Ausführung des StartTLS-Befehls handelt das Protokoll mit dem Client die Verschlüsselung aus, dabei wird auch keine neue Verbindung hergestellt. Dank der StartTLS muss bei einem Fehler in der Kommunikation kein Portwechsel erfolgen und der Client kann einfach auf das vom [E-Mail-Server](https://www.ionos.de/office-loesungen/email-server) bereitgestellte StartTLS-Verfahren zurückgreifen.

[![Bild: Übersichtsgrafik zur Funktionsweise von StartTLS](https://www.ionos.de/digitalguide/fileadmin/_processed_/7/4/csm_starttls_grafik_0089585a39.webp "Übersichtsgrafik zur Funktionsweise von StartTLS")](https://www.ionos.de/digitalguide/fileadmin/DigitalGuide/Schaubilder/starttls_grafik.png) Bei der Kommunikation zweier E-Mail-Server sorgt StartTLS für die Verschlüsselung, wenn beide Seiten StartTLS unterstützen. ### Beispiel: E-Mail

Eine E-Mail soll über das TLS-Verfahren verschlüsselt werden. Das Protokoll StartTLS wird gewählt, um die Verschlüsselungsmethode problemlos in den normalen Betrieb einzubinden. Die entsprechende Option finden Sie normalerweise in der Accountkonfiguration bzw. den Kontoeinstellungen Ihres E-Mail-Clients. Nach dem Senden der E-Mail startet die Kommunikation:

1. Der Client sendet einen EHLO-Request, um die Verschlüsselungsmethoden zu erfragen.
2. Der Mailserver antwortet mit „250-STARTTLS“ und teilt damit mit, dass er StartTLS akzeptiert.
3. Der Client sendet „STARTTLS“, um die Verschlüsselung zu starten.
4. Der Server antwortet mit dem Statuscode „220 OK“.

## Einsatzgebiete von StartTLS

StartTLS kommt als **Protokollerweiterung** hauptsächlich bei der Kommunikation über **E-Mail** für die Protokolle **[SMTP](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/smtp/), IMAP** und **POP** zum Einsatz. HTTP verfügt über ein eigenes Verfahren (spezifiziert in RFC 2817), das StartTLS allerdings sehr ähnelt. Heutzutage ist der Einsatz von HTTPS (RFC 2818) aber üblicher. StartTLS kann außer bei den genannten E-Mail-Protokollen bei folgenden Protokollen zumindest den Verschlüsselungsprozess einleiten:

- [LDAP](https://www.ionos.de/digitalguide/server/knowhow/ldap/) (RFC 4511)
- [FTP](https://www.ionos.de/digitalguide/server/knowhow/ftp-file-transfer-protocol/) (RFC 4217)
- [XMPP](https://www.ionos.de/digitalguide/server/knowhow/xmpp/) (RFC 6120)
- [NNTP](https://www.ionos.de/digitalguide/server/knowhow/nntp-network-news-transfer-protocol/) (RFC 4642)

Bei Internet-Providern ist StartTLS mittlerweile das mit Abstand beliebteste E-Mail-Verschlüsselungsverfahren, weil es viele unterschiedliche Domains und Zertifikate auf einem Server ermöglicht. Dabei ist das Verfahren nicht unumstritten, weil einige private Details wie die **IP-Adresse zunächst unverschlüsselt** übertragen werden und [**Man-in-the-Middle-Angriffe**](https://www.ionos.de/digitalguide/server/sicherheit/man-in-the-middle-attack-angriffsmuster-im-ueberblick/) möglich sind, indem StartTLS unbemerkt von Providerseite überschrieben werden kann.

## Vorteile und Nachteile von StartTLS

**Nachteile** werden beim StartTLS-Verfahren in Hinblick auf **Sicherheitssoftware** erkennbar. [Firewalls](https://www.ionos.de/digitalguide/server/sicherheit/was-ist-eine-firewall/) müssen das Verfahren auf Anwendungsschicht analysieren, um verschlüsselte von unverschlüsselten Daten zu unterscheiden. Ähnliches gilt für [Proxys](https://www.ionos.de/digitalguide/server/knowhow/was-ist-ein-proxy-server/), die am liebsten mit Port-Unterscheidung arbeiten – bei StartTLS allerdings werden die Ports nicht gewechselt. Dadurch wird das entsprechende [Caching](https://www.ionos.de/digitalguide/hosting/hosting-technik/was-ist-caching/) erschwert oder gar nicht ausgeführt.

In Sachen **Datenschutz** ist StartTLS nicht unbedenklich. Die meisten E-Mail-Programme nutzen die Option „TLS wenn möglich“, wodurch die Nutzenden nicht mitbekommen, ob die Verbindung zum Mailserver verschlüsselt ist oder nicht. Ebenso erhöht sich die **Gefahr einer Man-in-the-Middle-Attacke**, indem der Netzwerkbetreiber die StartTLS-Erweiterung einfach herausfiltert und so die Möglichkeit bekommt, den Datenaustausch mitzuprotokollieren. Denn wird der StartTLS-Befehl nicht ausgeführt, werden die Daten unverschlüsselt kommuniziert – und der User bekommt davon in der Regel nichts mit.

Daher empfiehlt sich zunächst ein sorgfältiger **Test**, der sicherstellen soll, dass der Server auch tatsächlich StartTLS beherrscht. Erst dann sollte man das Verfahren standardmäßig einsetzen. Schlägt die verschlüsselte Kommunikation dabei fehl, muss ein externes Problem vorliegen.

## Wie kann ich StartTLS testen?

TLS-Protokolle nutzen je nach Anbieter unterschiedliche Ports. Weil StartTLS aber einfach in die Verbindung eingebettet werden kann und dadurch ein Port-Switching unnötig wird, lässt sich das Verschlüsselungsverfahren einfach mit einer geeigneten Konsole testen. So wird ersichtlich, **welchen Port der jeweilige Anbieter für StartTLS verwendet**. Mit folgendem Befehl lässt sich (z. B. in [Netcat](https://www.ionos.de/digitalguide/server/tools/netcat/)) prüfen, ob ein Mailserver StartTLS als Verschlüsselungsmethode im normalen Betrieb akzeptiert:

```bash
$ nc smtp.ionos.de 587
220 kundenserver.de (mreue011) Nemesis ESMTP Service ready
ehlo test.local
250-kundenserver.de Hello test.local [80.187.86.70]
250-8BITMIME
250-SIZE 141557760
250 STARTTLS
STARTTLS
220 OK
```

Hier sollte der Befehl „STARTTLS“ vorkommen, um die Verschlüsselung zu aktivieren. Sie können auch sehen, dass private Daten wie die IP-Adresse dabei unverschlüsselt übertragen werden.

Für OpenSSL sieht der Befehl folgendermaßen aus:

```bash
$ openssl s_client -starttls smtp -connect smtp.ionos.de:587
CONNECTED(00000005)
[…]
SSL handshake has read 4650 bytes and written 1659 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3
Server public key is 3072 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
250 STARTTLS
```

Bei SMTP wiederum gestaltet sich die **Authentifizierung** nicht so einfach. Abhilfe verschafft in den meisten Fällen das „AUTH PLAIN“-Verfahren, bei dem die Zugangsdaten in Base64 kodiert sein müssen. Dabei erstellt man mit dem Perl-Befehl `$ perl -MMIME::Base64 -e 'print encode_base64("\000user-ju\000secret")` einen Code, den man anschließend an den [SMTP-Server](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/smtp-server/) weitergibt (`AUTH PLAIN [Code]`). Antwortet der Server anschließend mit `Authentication succeeded` (samt Code), war der Test auf StartTLS erfolgreich. Daraufhin lassen sich weitere Mailkommandos ausführen.

Tipp Möchten Sie StartTLS auf Servern oder Protokollen testen, die nicht kompatibel zu OpenSSL sind, kann das Tool gnuts-cli (aus dem Paket [gnuts-bin](https://packages.debian.org/de/sid/gnutls-bin "Paket: gnutls-bin")) Abhilfe schaffen.


This is a markdown version of: [https://www.ionos.de/digitalguide/e-mail/e-mail-technik/starttls/](https://www.ionos.de/digitalguide/e-mail/e-mail-technik/starttls/) for AI/LLM consumption.