84 lines
2.6 KiB
Markdown
84 lines
2.6 KiB
Markdown
Der Test [SSL Server Test: kbha.straso.com (Powered by Qualys SSL Labs)](https://www.ssllabs.com/ssltest/analyze.html?d=kbha.straso.com) lieferte Grade B, bei der Server nicht komplette Zertifikatskette ausgeliefert hatte.
|
||
|
||
Zertifikatsdateien liegen auf OneDrive: C:\Users\d-chrka\OneDrive\Backup\straso_certificate
|
||
|
||
### 🔧 Vorgehen zur Behebung auf OPNsense mit HAProxy
|
||
|
||
1. **Komplette Zertifikatskette beschaffen**
|
||
|
||
- Bei deiner Zertifizierungsstelle (z. B. Sectigo, DigiCert, GlobalSign, etc.) bekommst du **2 Dateien**:
|
||
|
||
- Dein Domain-Zertifikat (z. B. `example.com.crt`)
|
||
|
||
- Intermediate(s), z. B. `CA-Bundle.crt` oder mehrere einzelne `.crt`
|
||
|
||
- Falls du Let’s Encrypt nutzt:
|
||
|
||
- `fullchain.pem` enthält bereits **Domain-Zertifikat + Intermediate(s)**
|
||
|
||
- `cert.pem` enthält **nur** das Domain-Zertifikat
|
||
→ Du musst **immer** `fullchain.pem` **nehmen**, nicht `cert.pem`.
|
||
|
||
|
||
---
|
||
|
||
2. **Kette zusammensetzen (falls nötig)**
|
||
Falls dein Anbieter nur getrennte Dateien liefert:
|
||
|
||
```
|
||
cat example.com.crt intermediate1.crt intermediate2.crt > fullchain.pem
|
||
```
|
||
|
||
(Reihenfolge wichtig: **zuerst dein Domain-Zertifikat, dann die Intermediates**.)
|
||
|
||
|
||
---
|
||
|
||
3. **In OPNsense importieren**
|
||
|
||
- Gehe zu **System → Trust → Authorities**
|
||
→ Importiere die Intermediates, falls sie nicht schon da sind.
|
||
|
||
- Gehe zu **System → Trust → Certificates**
|
||
→ Lade dein Zertifikat **inklusive Kette (fullchain.pem)** hoch.
|
||
|
||
- Falls du den privaten Schlüssel separat hast: kombiniere beim Upload `privkey.pem` + `fullchain.pem`.
|
||
|
||
|
||
---
|
||
|
||
4. **HAProxy anpassen**
|
||
|
||
- In der OPNsense-HAProxy-Config **nicht** das einfache Zertifikat wählen, sondern die Variante, die **mit Chain** importiert wurde.
|
||
|
||
- Danach HAProxy neu starten.
|
||
|
||
|
||
---
|
||
|
||
5. **Testen**
|
||
|
||
- Prüfe lokal mit:
|
||
|
||
```
|
||
openssl s_client -connect deine-domain.de:443 -servername deine-domain.de
|
||
```
|
||
|
||
→ Am Ende sollte **"Verify return code: 0 (ok)"** stehen, und du solltest die **vollständige Zertifikatskette** sehen.
|
||
|
||
- Danach erneut mit SSL Labs Test checken.
|
||
|
||
|
||
---
|
||
|
||
### ✅ Für Grade A noch beachten
|
||
|
||
- TLS 1.0 und 1.1 abschalten (nur TLS 1.2 & 1.3 aktiv lassen).
|
||
|
||
- Sichere Ciphers wählen (z. B. Mozilla SSL Config Generator).
|
||
|
||
- HTTP → HTTPS Weiterleitung einrichten.
|
||
|
||
- OCSP-Stapling aktivieren (optional, aber bringt Punkte).
|
||
|
||
- HSTS-Header setzen (`Strict-Transport-Security`). |