Was ist SSL/TLS?
SSL (Secure Sockets Layer) und TLS (Transport Layer Security) sind kryptografische Protokolle, die Kommunikation über Netzwerke sichern. TLS ist der moderne Nachfolger von SSL, aber "SSL" wird noch häufig verwendet, um beide zu bezeichnen. Diese Protokolle ermöglichen HTTPS, das Daten zwischen Browsern und Servern verschlüsselt.
SSL vs TLS: Eine kurze Geschichte
| Version | Jahr | Status |
|---|---|---|
| SSL 1.0 | 1994 | Niemals veröffentlicht (fehlerhaft) |
| SSL 2.0 | 1995 | Veraltet (unsicher) |
| SSL 3.0 | 1996 | Veraltet (POODLE Schwachstelle) |
| TLS 1.0 | 1999 | Veraltet |
| TLS 1.1 | 2006 | Veraltet |
| TLS 1.2 | 2008 | Aktueller Standard |
| TLS 1.3 | 2018 | Neueste, empfohlen |
Moderne Systeme sollten ausschließlich TLS 1.2 oder TLS 1.3 verwenden.
Wie TLS funktioniert
Der TLS Handshake
1. Client Hello: Browser sendet unterstützte TLS-Versionen und Cipher-Suites
2. Server Hello: Server wählt TLS-Version und Cipher-Suite
3. Certificate: Server sendet sein SSL-Zertifikat
4. Key Exchange: Sichere Schlüssel-Austausch (variiert nach Cipher-Suite)
5. Finished: Verschlüsselte Session etabliert
Client Server
|-- Client Hello -------------->|
|<-- Server Hello --------------|
|<-- Certificate ---------------|
|<-- Key Exchange --------------|
|-- Key Exchange -------------->|
|-- Finished ------------------>|
|<-- Finished ------------------|
|<======= Encrypted Session ===>|
TLS 1.3 reduziert das auf einen einzelnen Round-Trip und verbessert Performance.
SSL/TLS Zertifikate
Was ist in einem Zertifikat?
- Subject: Domain-Namen, die das Zertifikat abdeckt
- Issuer: Zertifikats-Autorität (CA), die es ausgestellt hat
- Validity Period: Start- und Ablauf-Daten
- Public Key: Zum Etablieren verschlüsselter Verbindungen
- Signature: CA's kryptografische Signatur
Zertifikats-Typen
Domain Validated (DV): Beweist nur Domain-Besitz- In Minuten ausgestellt
- Kostenlos (Let's Encrypt) oder günstig
- Zeigt Padlock, keine Organisations-Infos
- Erfordert Geschäfts-Verifikation
- Zeigt Organisations-Namen in Zertifikats-Details
- Höheres Vertrauen, moderat Kosten
- Strenge Identitäts-Verifikation
- Zeigt früher grüne Bar (Browser entfernt das)
- Höchste Kosten, höchstes Vertrauen
Zertifikats-Abdeckung
Single Domain: Abdeckt einen Domain (example.com) Wildcard: Abdeckt alle Subdomains (*.example.com) Multi-Domain (SAN): Abdeckt mehrere spezifische DomainsImplementierung von SSL/TLS
Kostenlose Zertifikate mit Let's Encrypt
# Using Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renewal
sudo certbot renew --dry-run
Cloud-Provider Zertifikate
Die meisten Cloud-Plattformen bieten kostenlose, automatisch erneuerte Zertifikate:
- Cloudflare: Automatisch für proxied Domains
- AWS: Certificate Manager (ACM)
- Google Cloud: Managed SSL Certificates
Zertifikats-Verifikation
Browser verifizieren Zertifikate durch:
1. Überprüfen der Zertifikats-Kette zu einer vertrauenswürdigen Root CA
2. Verifizieren, dass das Zertifikat nicht abgelaufen ist
3. Bestätigung, dass der Domain passt
4. Überprüfung des Revokations-Status (CRL/OCSP)
SSL/TLS Best Practices
Server-Konfiguration
Verwenden Sie TLS 1.2+: Deaktivieren Sie SSL 3.0, TLS 1.0, TLS 1.1ssl_protocols TLSv1.2 TLSv1.3;
Starke Cipher Suites: Bevorzugen Sie moderne, sichere Ciphers
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: Force HTTPS (siehe HSTS Glossar-Eintrag)
Zertifikats-Verwaltung
- Automatisieren Sie Erneuerung: Zertifikate verfallen (90 Tage für Let's Encrypt)
- Überwachen Sie Ablauf: Stellen Sie Alerts vor Zertifikat-Ablauf ein
- Verwenden Sie CAA-Einträge: Beschränken Sie, welche CAs Zertifikate ausstellen können
SSL/TLS überprüfen
Using DomScan:curl "https://domscan.net/v1/health?domain=example.com"
# Gibt SSL-Gültigkeit, Issuer, Ablauf zurück
Using OpenSSL:
openssl s_client -connect example.com:443 -servername example.com
Online Tools: SSL Labs (ssllabs.com/ssltest) bietet umfassende Analyse.
Allgemeine SSL Probleme
Mixed Content: HTTPS-Seite lädt HTTP-Ressourcen (Browser blockiert) Zertifikats-Mismatch: Zertifikat passt nicht zum Domain Abgelaufenes Zertifikat: Zertifikats-Gültigkeits-Periode endete Unvollständige Kette: Fehlende Zwischen-ZertifikateSSL/TLS ist nicht länger optional – alle Websites sollten HTTPS für Sicherheit und SEO-Vorteile verwenden.