Zum Inhalt springen

TLS-Automatisierung mit regfish certbro

Mit dem Release von regfish certbro gibt es für Linux jetzt eine Open-Source-CLI, die Zertifikatsbestellung, DNS-DCV, Zertifikatsdownload, Schlüsselrotation und Deployment in einem Werkzeug bündelt. Dieses Rezept ist der schnellste produktionsnahe Einstieg: aktuelle Binary installieren, API-Zugang hinterlegen, Zertifikat ausrollen und unbeaufsichtigte Verlängerungen aktivieren.

certbro nutzt unter der Haube die regfish TLS API und DNS API, legt benötigte dns-cname-token-Records selbst an, deployt stabile PEM-Pfade unter live/ und hält versionierte Stände unter archive/ vor.

Den Quellcode und die Releases findest du im GitHub-Repository regfish/certbro. Falls du tiefer einsteigen oder beitragen willst: certbro ist ein Open-Source-Projekt der regfish GmbH.

  • Linux
  • ein regfish API-Key mit Zugriff auf TLS und DNS
  • eine DNS-Zone, die über regfish DNS verwaltet wird
  • systemd, wenn certbro install genutzt werden soll

API-Keys können in der regfish Console erstellt und verwaltet werden.

Für den schnellsten Einstieg installierst du den aktuellen Linux-Release direkt über den Installer:

Terminal-Fenster
curl -fsSL https://regfish.com/certbro/install.sh | sh

Wenn du einen Rollout reproduzierbar auf eine feste Version pinnen willst, setzt du CERTBRO_VERSION explizit. Die aktuelle Version steht unter github.com/regfish/certbro/releases:

Terminal-Fenster
curl -fsSL https://regfish.com/certbro/install.sh | CERTBRO_VERSION=v0.1.10 sh

Die Einstiegsbefehle unten bleiben bewusst bei den Defaults. certbro nutzt /etc/certbro/state.json bereits als State-Datei und /etc/certbro als Root für verwaltete Zertifikate und leitet das Zertifikatsverzeichnis daraus zusammen mit dem Common Name ab. --state-file, --certificates-dir und --output-dir ergänzt du nur dann, wenn du bewusst andere Pfade verwenden willst.

Terminal-Fenster
sudo mkdir -p /etc/certbro
sudo certbro configure \
--api-key YOUR_REGFISH_API_KEY

Schritt 3: Erstes Zertifikat bestellen und deployen

Abschnitt betitelt „Schritt 3: Erstes Zertifikat bestellen und deployen“

Jetzt bestellst du das Zertifikat, lässt die DNS-Validierung automatisch über regfish DNS umsetzen und deployst das Ergebnis direkt in ein stabiles Zielverzeichnis.

Terminal-Fenster
sudo certbro issue \
--name example-com \
--common-name example.com \
--dns-name www.example.com \
--webserver nginx

Der Lauf legt neues Schlüsselmaterial an, bestellt das Zertifikat, erstellt die nötigen DCV-CNAME-Records über regfish DNS und schreibt das Deployment an den Default-Pfad /etc/certbro/example.com. Dort hält certbro stabile PEM-Pfade unter live/ und versionierte Snapshots unter archive/ vor.

Auch das erste Issue-Beispiel lässt Default-Flags wie das Default-DV-Produkt oder die Default-Key-Einstellungen bewusst weg. --product, --key-type oder --ecdsa-curve ergänzt du erst dann, wenn du gezielt ein nicht-defaultiges Setup willst.

Mit --webserver nginx nutzt du die eingebaute Validierungs- und Reload-Unterstützung. Für apache und caddy funktioniert derselbe Ansatz analog.

Schritt 4: Verlängerungslauf einmal manuell prüfen

Abschnitt betitelt „Schritt 4: Verlängerungslauf einmal manuell prüfen“

Nach dem ersten erfolgreichen Issue solltest du den Verlängerungslauf einmal manuell testen, bevor du ihn vollständig unbeaufsichtigt laufen lässt.

Terminal-Fenster
sudo certbro renew

Wenn eine Ausstellung nach einem Timeout noch auf pending steht, führst du denselben Befehl einfach erneut aus. certbro beobachtet dann denselben Request weiter.

Schritt 5: Stündlichen Verlängerungs-Timer installieren

Abschnitt betitelt „Schritt 5: Stündlichen Verlängerungs-Timer installieren“

Für den Dauerbetrieb installierst du den mitgelieferten systemd-Timer:

Terminal-Fenster
sudo certbro install

Damit laufen Verlängerungen stündlich unbeaufsichtigt über denselben lokalen Zustand und dasselbe Zertifikatsverzeichnis.

  • Multi-Domain-Zertifikate: --dns-name für jede SAN wiederholen
  • organisationsvalidierte Produkte: --org-id hdl_... aus /tls/organization mitgeben oder den gestuften OV-Flow mit Console-Abschluss nutzen
  • paralleler RSA- und ECDSA-Betrieb: certbro issue-pair
  • bereits bestehende regfish-Bestellungen: Import per certificate_id
  • sofortiger Ersatz: certbro renew --name example-com --force
  • einmaliger Laufzeit-Override: certbro renew --name example-com --force --validity-days 30
  • ruhige Ausgabe für Automatisierung: --quiet bei issue oder renew
  • ohne --validity-days verwendet certbro einen datumsabhängigen Default gemäß CA/B-Forum-Zeitplan: 199 Tage ab 2026-03-14, 99 Tage ab 2027-03-14 und 46 Tage ab 2029-03-14

Mit diesem Ablauf bringst du regfish certbro direkt in einen produktiven Linux-Workflow: Bestellung, DNS-DCV, Schlüsselrotation, Deployment und Verlängerung laufen über ein Werkzeug statt über getrennte Scripts oder rohe API-Aufrufe.

Alle Befehle, Flags, Standardwerte und Grenzen im Überblick: certbro.