Der Pentest lobt SSL Labs mit der Bewertung A+. Zwei Wochen später kann ein Bankkunde keine Verbindung mehr herstellen: TLS 1.2 wurde deaktiviert und sein ausgehender Proxy handelt immer noch eine Verschlüsselungssuite aus, die Ihr Nginx ablehnt. Das Infra-Team hat einen Konfigurationsblock eingefügt, der 2019 in einem Forum gefunden wurde. Niemand weiß, wie man ihn erneut liest – geschweige denn aktualisiert, wenn Mozilla oder Let's Encrypt neue Empfehlungen veröffentlichen.
Durch die Konfiguration von TLS wird ein Bericht nicht optimiert. Es hält zwei Versprechen gleichzeitig: robuster Austausch gegen Angriffe und echte Kompatibilität mit den Browsern, mobilen Anwendungen und Unternehmens-Proxys Ihrer Zielgruppe.
Mittelstufe vs. Modern: das richtige Profil, nicht das strengste
Mozilla unterhält drei Konfigurationsebenen. Für die Produktion sind nur zwei von Interesse:
| Profil | Wann sollte man es verwenden | Kompromiss |
|---|---|---|
| Mittelstufe | Öffentliche Websites, SaaS, E-Commerce | TLS 1.2 + 1.3, moderne Suiten, breite Kompatibilität |
| Modern | Interne APIs, von Ihnen kontrollierte Clients | Priorität TLS 1.3, weniger veraltet |
| Alt / Veraltet | — | Nicht mehr zu verwenden |
Für eine Website, die von einem europäischen Host mit einem vielfältigen Publikum gehostet wird, ist Intermediate fast immer der richtige Ausgangspunkt. Das Modern-Profil macht nur dann Sinn, wenn Sie Ihren Kundenstamm kennen – und niemand einen veralteten Enterprise-TLS-Proxy nutzt.
Der Mozilla SSL Configuration Generator erzeugt Blöcke, die für Nginx, Apache oder Caddy bereit sind. Kopieren Sie sie, aber dokumentieren Sie, wer sie wann und für welche Serverversion übernommen hat.
Eine TLS-Konfiguration, die nur ein externer Dienstanbieter versteht, wird beim nächsten OpenSSL-Vorfall nicht gepatcht.
TLS 1.2, TLS 1.3 und was man bedenkenlos schneiden kann
TLS 1.3 vereinfacht die Verhandlung und beseitigt viele schlechte historische Entscheidungen. Das ist ein Fortschritt – kein Grund, TLS 1.2 über Nacht abzuschaffen.
In der Praxis:
- Behalten Sie TLS 1.2 und 1.3 auf einer öffentlichen Website, solange Sie keine Kundenmetriken haben (Handshake-Protokolle, Support-Tickets, Browseranalysen).
- Gnadenlos schneiden SSLv3, TLS 1.0, TLS 1.1, RC4, 3DES und „Export“-Chiffren.
- Bevorzugen ECDHE für Perfect Forward Secrecy und AES-GCM oder ChaCha20 für symmetrische Verschlüsselung.
Testen Sie über SSL Labs hinaus: einen echten Browser, ein altes Android, wenn Ihr Datenverkehr dies rechtfertigt, und idealerweise einen Client hinter einem Unternehmens-Proxy, wenn Sie B2B verkaufen.
Zertifikate, vollständige Kette und Erneuerung
Eine perfekte Verschlüsselungskonfiguration gleicht kein schlecht bereitgestelltes Zertifikat aus. Häufige Fehler:
- Unvollständige Zeichenfolge – der Server sendet den Vermittler nicht; Einige Clients zeigen einen Fehler an, andere nicht.
- Stiller Ablauf – Let's Encrypt erneuert sich alle 90 Tage, jedoch nur, wenn die HTTP-01- oder DNS-01-Herausforderung erfolgreich ist und Nginx anschließend neu geladen wird. Siehe ACME: Erneuerung überwachen.
- Schlecht durchdachte Wildcard – praktisch für zehn Subdomains, aber ein gestohlener Schlüssel öffnet den gesamten Umfang. Die Wildcard-Erneuerung erfordert automatisiertes DNS-01.
Achten Sie auf den Ablauf drei Wochen vor der Frist – nicht am Vortag. SSL Labs ersetzt keine Prometheus-Warnung oder einen Cron, der „Certbot-Zertifikate“ liest.
Um je nach Kontext zwischen Let's Encrypt und einem kostenpflichtigen Zertifikat zu wählen, vervollständigt der Vergleich Let's Encrypt oder kostenpflichtiges Zertifikat diese Lektüre.
HSTS-, OCSP-Heftung und benachbarte Header
Diese Einstellungen ersetzen keine gute TLS-Konfiguration, sondern ergänzen sie:
OCSP-Stapling – Der Server hängt die OCSP-Antwort an den Handshake an, was die clientseitige Überprüfung beschleunigt. Auf nginx: ssl_stapling on; und überprüfen Sie, ob die Zeichenfolge korrekt ist.
HSTS („Strict-Transport-Security“) – der Browser versucht für die angegebene Dauer kein einfaches HTTP mehr. Aktivieren Sie „includeSubDomains“ und laden Sie nur vor, wenn HTTPS auf allen betroffenen Subdomains funktioniert. Vorzeitiges HSTS macht HTTP-Backtracking sehr schmerzhaft.
Die Header „X-Content-Type-Options“, „Referrer-Policy“ oder eine Content Security Policy sind Teil desselben Härtungsprojekts – unterscheiden sich jedoch weiterhin von der Verschlüsselungsauswahl. Verwechseln Sie sie nicht in einem einzigen kopierten „Sicherheits-Snippet“.
Shared, VPS oder CDN: Wer konfiguriert was?
| Kontext | TLS-Steuerung | Verantwortung | |
|---|---|---|---|
| Geteilt | Host-Panel, wenige benutzerdefinierte Chiffren | Überprüfen Sie, ob TLS aktiviert ist, ob das Zertifikat gültig ist und ob die HTTPS-Umleitung | erfolgt |
| VPS / Cloud | Nginx, Caddy, Apache – volle Kontrolle | Mozilla-Konfiguration + Erneuerung + Neuladen nach Erneuerung | |
| CDN vor Ursprung | Besucher-TLS bei CDN beendet | Separates Ursprungszeugnis; Lassen Sie den HTTP-Ursprung nicht im Klartext |
Wenn Cloudflare oder ein CDN TLS beendet, beschreibt der Public-Domain-SSL-Labs-Hinweis möglicherweise nicht, was Ihr Ursprung intern bereitstellt. Überprüfen Sie beide Enden der Kette.
Vergleichen Sie die Angebote, bei denen Sie die Kontrolle über Nginx behalten, über unser Verzeichnis und den Vergleich.
Der Höhepunkt: die A+-Bewertung, die die Produktion unterbricht
Hier ist, was die Checklisten für „maximale Sicherheit“ vergessen zu erwähnen.
Wartbarer Geheimtipp: Mozilla Intermediate-Profil, überwachte Erneuerung, Kompatibilitätstest vor der Kürzung von TLS 1.2.
Entscheide dich und gehe ohne blinden Fleck voran
Über einen halben Tag können Sie TLS wieder auf eine gesunde Grundlage stellen:
- Generieren Sie ein Zwischenprofil von Mozilla für Ihren genauen Webserver.
- Ersetzen Sie das alte Snippet – behalten Sie die alte Konfiguration eine Woche lang in den Kommentaren, während Sie testen.
- Überprüfen Sie SSL Labs und eine echte Benutzerreise (Anmeldung, API, Mobilgerät).
- Konfigurieren Sie eine Zertifikatablaufwarnung – nicht nur eine HTTP-Verfügbarkeitsprüfung.
- Dokumentieren, wer die Konfiguration wo ändert und wie der Server nach der ACME-Erneuerung neu geladen wird.
- Planen Sie eine jährliche Überprüfung – idealerweise nach einer größeren Chrome- oder Firefox-Version.
Für eine einfache Showcase-Site kann der Leitfaden SSL-Zertifikat für eine Showcase-Site vor dem Öffnen von Nginx ausreichend sein. Für einen schwereren Stack fahren Sie mit der ACME-Erneuerung fort, sobald Let's Encrypt installiert ist.
Häufig gestellte Fragen
Reicht TLS 1.3 allein in der Produktion aus?
Selten für eine öffentliche Website. TLS 1.2 + 1.3 mit Intermediate-Profil deckt die meisten Fälle ab. Vor dem Schneiden messen 1.2.
Wo finde ich eine aktuelle Konfiguration?
Mozilla SSL-Konfigurationsgenerator – Mittleres Profil für die allgemeine Produktion, Modern, wenn Sie alle Clients beherrschen.
Sollte HSTS- und OCSP-Heften aktiviert sein?
Heften ja, sofern unterstützt. HSTS nach HTTPS-Validierung auf allen betroffenen Hosts – nicht am ersten Tag der Migration.
Wildcard-Zertifikat oder ein Zertifikat pro Subdomain?
Platzhalter zur Vereinfachung von Operationen; Separate Zertifikate zur Isolierung des Perimeters. Automatisierter Platzhalter = ACME DNS-01.
Jedes Jahr wird die richtige TLS-Konfiguration aktualisiert – kein einziges Mal bleibt es für den Ruhm des SSL Labs-Berichts hängen.
