ACME Wildcard-Zertifikate fuer *.ad.lanstyle.de¶
Stand: 2026-06-07
Diese Seite beschreibt den Betrieb des internen Wildcard-Zertifikats fuer ad.lanstyle.de und *.ad.lanstyle.de. Das Zertifikat wird automatisch per ACME DNS-01 ueber IPv64 erneuert und kontrolliert auf ausgewaehlte Serverdienste verteilt.
Keine Secrets im Wiki
API-Keys, ACME-Accountdaten und private Keys werden hier nicht dokumentiert. Der IPv64 Account-API-Key liegt in Vaultwarden. Auf dem Certmgr liegt er nur root-readable unter /etc/certmgr/ipv64.env.
Architektur¶
| Komponente | Wert |
|---|---|
| Certmgr LXC | 112 |
| DNS | certmgr.ad.lanstyle.de |
| IP | 10.222.40.51/24 |
| VLAN | 40 Server-Core |
| ACME Client | lego 4.24.0 |
| ACME Challenge | DNS-01 |
| DNS Provider | IPv64 Account API |
| Zertifikat | ad.lanstyle.de, *.ad.lanstyle.de |
| Zertifikatspfad | /etc/lego/production/certificates/ad.lanstyle.de.crt |
| Keypfad | /etc/lego/production/certificates/ad.lanstyle.de.key |
| Alert-Mail | m.eberhardt@lanstyle.de |
Die urspruenglich geplante IP 10.222.40.39 wurde nicht verwendet, weil sie bereits durch ConvertX belegt ist.
Warum ein eigener IPv64-Hook?¶
Der native lego Provider ipv64 wurde getestet, erzeugte bei dieser Subdomain-Struktur aber TXT-Records unter _acme-challenge.lanstyle.de statt exakt unter _acme-challenge.ad.lanstyle.de. Deshalb nutzt der Certmgr den lego Provider exec mit einem eigenen Hook:
| Datei | Zweck |
|---|---|
/opt/certmgr/ipv64-dns-hook.sh |
setzt/loescht ausschliesslich TXT fuer _acme-challenge.ad.lanstyle.de |
/opt/certmgr/certmgr-renew.sh |
Staging-/Production-Issue und Renewal |
/opt/certmgr/deploy-all.sh |
lokaler Deploy-Hook, aktuell bewusst ohne breite Zielaktivierung |
/opt/certmgr/alert.sh |
SMTP-Alarmierung |
Der Hook verweigert alle Prefixe ausser _acme-challenge.ad. Andere DNS-Records werden nicht geaendert.
Renewal¶
| Timer | Ort | Zweck |
|---|---|---|
certmgr-renew.timer |
CT 112 |
taeglicher Renewal-Check gegen Let's Encrypt |
certmgr-deploy-netbox.timer |
Proxmox Host | Pull des Zertifikats aus CT 112 und Deploy nach NetBox |
certmgr-deploy-start-pbs.timer |
Proxmox Host | Pull des Zertifikats aus CT 112 und Deploy nach Startseite/PBS |
Der Mailversand fuer Alerts laeuft ueber das SMTP Relay 10.222.40.25. Der FQDN bleibt smtp.ad.lanstyle.de; im Certmgr ist fuer msmtp bewusst die feste IP gesetzt, weil die lokale DNS-Suche im Test nicht zuverlaessig genutzt wurde.
Aktiv verteilte Ziele¶
| Ziel | Status | Zertifikat/Key | Reload |
|---|---|---|---|
NetBox CT 309 |
aktiv | /etc/ssl/certs/netbox.crt, /etc/ssl/private/netbox.key |
systemctl reload apache2 |
Startseite CT 127 |
aktiv | /etc/ssl/certs/ad.lanstyle.de.crt, /etc/ssl/private/ad.lanstyle.de.key |
systemctl reload nginx |
PBS CT 111 |
TLS aktiv, HTTP-Test noch 400 |
/etc/proxmox-backup/proxy.pem, /etc/proxmox-backup/proxy.key |
systemctl restart proxmox-backup-proxy |
Wichtige Tests¶
# Certmgr Status
pct exec 112 -- systemctl is-active certmgr-renew.timer
pct exec 112 -- openssl x509 -checkend 1814400 -noout \
-in /etc/lego/production/certificates/ad.lanstyle.de.crt
# Zertifikat anzeigen
pct exec 112 -- openssl x509 \
-in /etc/lego/production/certificates/ad.lanstyle.de.crt \
-noout -subject -issuer -dates -ext subjectAltName
# Startseite
curl -I https://start.ad.lanstyle.de/
# NetBox
curl -I https://netbox.ad.lanstyle.de/
# PBS TLS/SNI
openssl s_client -connect 10.222.30.33:8007 -servername pbs.ad.lanstyle.de </dev/null \
| openssl x509 -noout -subject -issuer -dates -ext subjectAltName
Erwartung:
- SAN enthaelt
DNS:*.ad.lanstyle.deundDNS:ad.lanstyle.de. certmgr-renew.timerist aktiv.- Startseite liefert
HTTP 200. - NetBox liefert
HTTP 302zur Login-Seite. - PBS liefert das Wildcard-Zertifikat; der HTTP-Status
400ist separat zu klaeren.
Rollback¶
NetBox¶
- Backup aus
/root/codex-backups/certmgr-netbox-*zurueckkopieren. apache2ctl configtestsystemctl reload apache2curl -I https://netbox.ad.lanstyle.de/
Startseite¶
- Backup aus
/root/codex-backups/certmgr-start-auto-*oder/root/codex-backups/wildcard-start-pbs-*zurueckkopieren. nginx -tsystemctl reload nginxcurl -I https://start.ad.lanstyle.de/
PBS¶
- Backup aus
/root/codex-backups/certmgr-pbs-auto-*oder/root/codex-backups/wildcard-pbs-retry-*zurueckkopieren. - Rechte pruefen:
chown root:backup /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key
chmod 0644 /etc/proxmox-backup/proxy.pem
chmod 0640 /etc/proxmox-backup/proxy.key
systemctl restart proxmox-backup-proxy
systemctl is-active proxmox-backup-proxy
Startseiten-Dienste und HTTPS¶
Viele Startseiten-Links sind Public-FQDNs hinter NPM und haben bereits gueltige Zertifikate fuer ihre jeweilige Domain. Interne HTTP-Direktlinks wie radarr.ad.lanstyle.de:7878, sabnzbd.ad.lanstyle.de:7777, paperless-*.ad.lanstyle.de:8000, prometheus.ad.lanstyle.de:9090 oder unpoller.ad.lanstyle.de:9130 duerfen nicht pauschal per DNS auf NPM geschwenkt werden, weil diese Namen auch fuer App-zu-App-API-Zugriffe mit festen Ports genutzt werden.
Sichere Folgestrategie:
- bestehende App-FQDNs unveraendert lassen;
- separate Web-Aliase wie
radarr-web.ad.lanstyle.de,sabnzbd-web.ad.lanstyle.deoderprometheus-web.ad.lanstyle.deauf NPM zeigen lassen; - NPM nutzt das Wildcard-Zertifikat fuer diese Web-Aliase;
- Startseite wird danach auf die
*-web.ad.lanstyle.deHTTPS-Ziele umgestellt.
Damit werden Browserzugriffe TLS-sauber, ohne interne API-/Port-Abhaengigkeiten zu brechen.
Bewusst nicht automatisch verteilen¶
Nicht mit diesem Wildcard-Zertifikat ausruesten:
- LANDC1/LANDC2 fuer LDAPS/Kerberos;
- Radius RadSec-Zertifikat;
- Drucker, Kameras, Hue, Wallboxen, Shelly, ETA, KNX, Sonos;
- beliebige IoT-/Appliance-Geraete ohne sicheren Key-Rollout.
Grund: Der Wildcard-Private-Key schuetzt alle *.ad.lanstyle.de-Namen. Je breiter er auf schwer wartbare Endgeraete verteilt wird, desto groesser ist das Kompromittierungsrisiko.
Betriebshinweise¶
- Keine Secrets in Git, Markdown oder Wiki.
- Keine anderen IPv64-DNS-Records anfassen.
- DNS-Rollback betrifft nur
_acme-challenge.ad.lanstyle.deTXT-Records. - Neue Deploy-Ziele immer einzeln mit Backup, Configtest, Reload und HTTPS-Test aktivieren.