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.Geschichte der TLS-Versionen
| 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 ◄──────────────►┘
Verbesserungen in TLS 1.3
- 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
Anwendungsfälle für TLS
| 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 Vorgehensweisen
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
TLS-Konfiguration testen
# 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.