Zertifikat über Certbot DNS-API erstellen.
Die Zertifikatslaufzeiten werden weltweit aus Sicherheitsgründen kleiner.
Eine jeweilige manuelle Ausstellung wird daher in Zukunft schwierig.
Unser DNS-Manager bietet eine API an, mit dem auf dem Zielsystem die Zertifikate automatisch über den Certbot erstellt werden können.
API aktivieren
- Kundenportal https://my.barinformatik.ch > DNS Manager
- Klick auf "API"
- Klick auf "API Token erstellen"
- Einen Namen für den Token eingeben, die gewünschten Zonen auswählen
Nun kann der Token auf dem Zielsystem benutzt werden, um die notwendigen DNS-Einträge zur Authentifizierung automatisch zu erstellen.
In den API Logs sieht man Details zur Benutzung der API
Das Verzeichnis „certbot/“ enthält ein Certbot-Plugin für die DNS-01-Challenge.
Certbot erstellt über die DNS-Manager-API einen temporären TXT-Eintrag und löscht diesen nach Abschluss der Challenge.
Dies ist die einzige Challenge-Art, die Wildcard-Zertifikate ( *.deine-domain.ch ) unterstützt.
Führen Sie alle Schritte als Root aus, damit Certbot seine Standardpfade ( /etc/letsencrypt , /var/log/letsencrypt ) verwendet.
Linux
Installieren von Certbot
Falls Certbot noch nicht auf Ihrem Server installiert ist:
# Debian / Ubuntu
apt-get update && apt-get install certbot python3-pip
# anywhere else
python3 -m pip install certbot
Download des BAR Informatik AG Plugins
curl -l -o dns_mgdns.sh https://my.barinformatik.ch/dl.php?type=d&id=59
oder
wget -O dns_mgdns.sh https://my.barinformatik.ch/dl.php?type=d&id=59
Installieren des BAR Informatik AG Plugins
Zip entpacken und Installation im Verzeichnis integrations/certbot starten:
cd /integrations/certbot
python3 -m pip install .
Angaben konfigurieren
cp mgdns.ini.example /etc/letsencrypt/mgdns.ini
chmod 600 /etc/letsencrypt/mgdns.ini
Öffnen Sie die Datei /etc/letsencrypt/mgdns.ini und geben Sie Ihre Daten ein.
dns_mgdns_host = my.barinformatik.ch
dns_mgdns_email = konto@deine-domain.com
dns_mgdns_token = DEIN-API-TOKEN
Verwendungs-Beispiel
Ersetzen Sie „deine-domain.ch“ durch Ihre eigene Domain (bei Wildcard-Zertifikaten verwenden Sie „*.deine-domain.ch“).
./certbot-mgdns.sh -d deine-domain.ch -d '*.deine-domain.ch'
Zertifikate landen in /etc/letsencrypt/live/<domain>/
Optional DANE
DANE TSLA-Einträge dienen der unabhängigen Überprüfung von Zertifikaten und werden vor allem im Email-Bereich benutzt.
Um TSLA DNS-Einträge (Hash des erstellten Zertifikats zu erstellen) vom erstellten Zertifikat automatisch zu setzen:
Es ist kein separater Schritt erforderlich.
certbot-mgdns.sh richtet den DANE-Hook für Sie ein, sobald MGDNS_DANE_PORTS gesetzt ist.
TLSA-Einträge werden dann bei der Ausstellung erstellt und bei jeder certbot-Verlängerung automatisch aktualisiert:
MGDNS_DANE_PORTS="25 465 587" ./certbot-mgdns.sh -d deine-domain.ch
Weitere Informationen
Erforderliche Umgebungsvariablen
| Variabel | Beschreibung | Beispiel |
| MGDNS_HOST | URL zu Kundenportal API | my.barinformatik.ch |
| MGDNS_EMAIL | Login (Owner) E-Mail-Adresse des Kundenportals wird als API-Benutzername verwendet | konto@deine-domain.ch |
| MGDNS_TOKEN | Raw-API-Schlüssel (das Skript erstellt das Authentifizierungstoken automatisch) | DEIN-API-TOKEN |
| MGDNS_DANE_HOOK |
Liste von Ports getrennt durch ein Leerzeichen, für welche DANE DNS-Einträge erstellt werden sollen | 25 465 587 |
Optionale Umgebungsvariablen
| Variable | Beschreibung | Default |
| MGDNS_TTL | TTL-Wert des TXT-Eintrags | 60 |
| MGDNS_INSECURE | Auf 1 setzen, um die TLS-Überprüfung zu deaktivieren | - |
Zusätzliche DANE Angaben
| Variabel | Beschreibung | Default |
| MGDNS_DANE_HOOK | Pfad zum DANE-Hook-Skript | certbot-mgdns-dane.sh neben dem Wrapper |
| MGDNS_DANE_DEBUG |
MGDNS_DANE_DEBUG — Auf 1 setzen, um eine ausführliche Debug-Ausgabe zu erhalten |
- |
Optionale DANE Angaben
| Variabel | Beschreibung | Beispiel |
| MGDNS_DANE_PORTS | Leerzeichengetrennte Port-Liste (z.B. "25 465 587"). Aktiviert DANE. | - |
| MGDNS_DANE_USAGE | TLSA Zertifikat Usage (3 = DANE-EE) | 3 |
| MGDNS_DANE_SELECTOR | TLSA Selector (1 = SubjectPublicKeyInfo) | 1 |
| MGDNS_DANE_MATCHING | TLSA Type (1 = SHA-256, 2 = SHA-512) | 1 |
| MGDNS_DANE_TTL | TTL für die TLSA Einträge in Sekunden | 3600 |
| MGDNS_INSECURE | 1 um TLS Prüfung zu deaktivieren | - |
Links
https://certbot.eff.org/instructions
https://letsencrypt.org/de/getting-started/