# OPNsense Certificate Management: PKI & ACME Automation
TL;DR / Management Summary Ein korrektes Zertifikats-Management ist die Basis für sicheres VPN (Artikel 567) und verschlüsseltes Web-Management. OPNsense bietet einen integrierten Trust Store, der sowohl als lokale Zertifizierungsstelle (CA) fungieren kann als auch externe Zertifikate (z.B. von Let’s Encrypt) via ACME-Client verwaltet. Ein Senior Admin automatisiert den Zertifikats-Lifecycle, um “Expired Certificate” Warnungen und damit verbundene Downtimes der VPN-Infrastruktur zu vermeiden.
# 1. Einführung & Trust-Struktur
Die Hierarchie der Sicherheit.
In OPNsense unterteilen wir in:
- Authorities (CAs): Die Wurzel des Vertrauens. Kann intern erstellt oder importiert werden.
- Certificates: Die eigentlichen End-Zertifikate für Server oder User.
- Revocation (CRL): Listen für gesperrte Zertifikate.
# 2. OPNsense als interne CA
Identität für das LAN.
Wenn Sie Zertifikate für interne Dienste (z.B. ein Proxmox-Cluster im LAN) benötigen:
System -> Trust -> Authorities: Neue CA erstellen.System -> Trust -> Certificates: Zertifikat von dieser CA signieren lassen.- Wichtig: Exportieren Sie das CA-Zertifikat und installieren Sie es auf allen Firmen-PCs (Artikel 490), damit diese den internen Zertifikaten vertrauen.
# 3. Deep Dive: ACME & Let’s Encrypt
Kostenlose Zertifikate vollautomatisch.
Das Plugin os-acme-client ist ein Pflicht-Install für jede Firewall.
- Accounts: Registrieren Sie sich bei Let’s Encrypt (mit Ihrer Email).
- Validation: Wählen Sie zwischen:
- HTTP-01: Einfach, erfordert Port 80 am WAN.
- DNS-01 (Empfohlen): OPNsense erstellt via API (Cloudflare, AWS) temporär einen TXT-Record. Kein offener Port nötig!
- Certificates: Definieren Sie Ihre Domain (z.B.
vpn.firma.de). - Automation: Verknüpfen Sie das Zertifikat mit dem Web-GUI oder HAProxy (Artikel 564).
# 4. Day-2 Operations: Zertifikats-Export
Zertifikate sicher verteilen.
# VPN User Zertifikate
Exportieren Sie Zertifikate für User immer im PKCS#12 (.p12) Format.
- Sicherheit: Schützen Sie die Datei mit einem starken Export-Passwort.
- Inhalt: Die
.p12enthält den privaten Schlüssel, das User-Zertifikat und die CA-Kette.
# 5. Troubleshooting & “War Stories”
Wenn das Vertrauen bricht.
# Top 3 Fehlerbilder
-
Symptom: “Certificate Expired” Warnung, obwohl ACME aktiv ist.
- Ursache: Die DNS-API Validierung schlug fehl (z.B. API-Key bei Cloudflare abgelaufen).
- Lösung:
Services -> ACME Client -> Log Fileprüfen.
-
Symptom: VPN-Einwahl schlägt fehl nach Zertifikats-Tausch.
- Ursache: Der VPN-Server nutzt noch das alte Zertifikat.
- Fix: In den VPN-Settings das neue Zertifikat in der Dropdown-Liste auswählen.
-
Symptom: “Self-signed certificate” Warnung im Browser trotz Let’s Encrypt.
- Ursache: OPNsense nutzt für die eigene GUI noch das Standard-Zertifikat.
- Lösung:
System -> Settings -> Administration -> SSL Certificateauf das ACME-Zertifikat umstellen.
# “War Story”: Die “Stumme” Root-CA
Ein Admin erstellte eine interne Root-CA mit einer Gültigkeit von nur 1 Jahr. Das Ergebnis: Ein Jahr später fielen alle VPN-Verbindungen gleichzeitig aus. Da die Root-CA abgelaufen war, waren alle davon signierten User-Zertifikate sofort ungültig. Eine Erneuerung der Root-CA erforderte den manuellen Re-Import des neuen CA-Zertifikats auf 500 Home-Office Laptops. Lehre: Root-CAs sollten eine lange Gültigkeit haben (10-20 Jahre). Nutzen Sie für kurzlebige Zertifikate eine Intermediate CA.
# 6. Monitoring & Reporting
Ablaufdaten im Blick.
# Expiration Dashboard
Das Lobby-Dashboard Widget “Certificates” zeigt alle Zertifikate und deren Restlaufzeit.
- Alerting: Nutzen Sie das Monit Plugin (Artikel 585), um eine Nachricht zu senden, wenn ein Zertifikat < 14 Tage Gültigkeit hat.
# 7. Fazit & Empfehlung
Zertifikatsmanagement ist kein “Einmal-Setup”.
- Empfehlung: Nutzen Sie DNS-01 Validierung für Let’s Encrypt. Es ist die sicherste Methode, da keine Firewall-Ports geöffnet werden müssen.
- Wichtig: Verwenden Sie niemals den gleichen privaten Schlüssel für mehrere Dienste. Ein Zertifikat pro FQDN ist Best Practice.
# Anhang: Cheatsheet
| Aufgabe | Pfad |
|---|---|
| CA erstellen | System -> Trust -> Authorities |
| Let’s Encrypt | Services -> ACME Client |
| Zertifikat löschen | System -> Trust -> Certificates |
| CRL erstellen | System -> Trust -> Revocation |