Was ist TLS?
TLS (Transport Layer Security) ist ein kryptographisches Protokoll, das eine sichere Kommunikation über Computernetzwerke ermöglicht. TLS ist der Nachfolger von SSL (Secure Sockets Layer) und ist die Technologie hinter HTTPS-Verbindungen, sichere E-Mail-Übertragung (STARTTLS) und viele andere verschlüsselte Internet-Protokolle. Wenn Sie das Vorhängeschloss-Symbol in Ihrem Browser sehen, arbeitet TLS daran, Daten zwischen Ihrem Gerät und dem Server zu verschlüsseln.TLS Version Geschichte
| Version | Jahr | Status |
|---|---|---|
| SSL 2.0 | 1995 | Abgeschrieben, unsicher |
| SSL 3.0 | 1996 | Abgeschrieben, unsicher |
| TLS 1.0 | 1999 | Abschreibungen |
| TLS 1.1 | 2006 | Abschreibungen |
| TLS 1.2 | 2008 | Aktueller Standard |
| TLS 1.3 | 2018 | Spätester, empfohlen |
Wie TLS funktioniert
TLS Handshake (TLS 1.2)
Client Server
│ │
├──── ClientHello ─────────────────► │
│ (supported ciphers, random) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (selected cipher, cert) │
│ │
├──── Key Exchange ────────────────► │
│ (encrypted pre-master secret) │
│ │
│ ◄─── Finished ─────────────────────┤
│ │
└──── Encrypted Data ◄──────────────►┘
TLS 1.3 Verbesserungen
- Weniger Rundfahrten (schneller Handshake)
- Entfernte unsichere Chiffren
- Vorwärtsgeheimnis obligatorisch
- Verschlüsselte Handshake-Nachrichten
TLS Komponenten
Zertifikate
- Authenticate Server-Identität
- Ausgestellt von Zertifikatsbehörden
- Enthält den öffentlichen Schlüssel zur Verschlüsselung
Cipher Suites
Verschlüsselungsalgorithmen definieren:
TLS_AES_256_GCM_SHA384 (TLS 1.3)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)
│ │ │ │
│ │ │ └── Hash algorithm
│ │ └── Encryption algorithm
│ └── Key exchange
└── Protocol
TLS Anwendungsfälle
| Anwendungsbereich | Protokoll | Hafen |
|---|---|---|
| Web-Browsing | HTTPS | 443 |
| E-Mail (IMAP) | IMAPS | ANHANG |
| E-Mail (SMTP) | SMTPS | 465 |
| E-Mail senden | STARTTLS | 587 |
| FTP | FTP | 990 |
Serverkonfiguration
Nginx TLS Konfiguration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
Bewährte Praktiken
1. **Benutze TLS 1.2 oder 1.3*: ältere Versionen deaktivieren
2. **Strong cipher suites*: AEAD-Ziffern vorziehen
3. Enable HSTS: TLS-Verbindungen
4. Certificate Management: Automatische Erneuerung
5. Forward secrecy: Verwenden Sie ECDHE Schlüsselaustausch
6. Regulartest: SSL Labs, testsl.sh
Testen von TLS Konfiguration
# OpenSSL test
openssl s_client -connect example.com:443 -tls1_3
# Check certificate
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -text
TLS ist die Grundlage für eine sichere Internet-Kommunikation, verschlüsselt Daten im Transit, um gegen eavesdropping, tampering und Man-in-the-middle Angriffe zu schützen.