Workshop wiki · German

Beispiel-Dokumentation: Certbot- und Webserver-Modell

Ein Certbot-Renewal-Modell zeigt Webroot, Zertifikatspfad, Deploy-Hook und NGINX-Verweis ohne produktive Domains.

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 12 chapters read
Other language versionEnglish ↗Greek ↗

Beispiel-Dokumentation: Certbot- und Webserver-Modell

1. Ziel

Ein Certbot-Renewal-Modell zeigt Webroot, Zertifikatspfad, Deploy-Hook und NGINX-Verweis ohne produktive Domains.

Dieses Dokument ergänzt das Haupt-README um fachliche Einordnung, Reviewfragen und Betriebsbezug. Es ist keine öffentliche CA-Betriebsanleitung, sondern ein reproduzierbares Lern- und Analysebeispiel.

01 / 12

2. Was gemacht wird

Das Beispiel wird lokal ausgeführt, erzeugt nur temporäre Artefakte unter work/ und dokumentiert den Nachweis unter work/evidence/. Je nach Thema werden Root, Intermediate, CSR, Serverzertifikat, Clientzertifikat, CRL, Widerruf oder ein Automatisierungsmodell erstellt.

Die Arbeitsschritte sind bewusst klein gehalten:

  1. Konfigurationsdateien lesen.
  2. Skript ausführen.
  3. Evidence prüfen.
  4. OpenSSL-Ausgaben interpretieren.
  5. Fehlerfall oder Betriebsfrage diskutieren.
  6. Cleanup und Schutz privater Schlüssel bestätigen.
02 / 12

3. Warum es gemacht wird

PKI-Fehler sind selten reine Syntaxfehler. Häufig ist ein Zertifikat technisch erzeugt, aber fachlich falsch: falscher Issuer, falscher SAN, zu lange Gültigkeit, fehlende Key Usage, unklare Chain, fehlender Widerruf oder ungeschützter privater Schlüssel. Dieses Beispiel zwingt deshalb jede technische Aktion in eine Review-Struktur.

03 / 12

4. Typische Kommandos

bash
openssl version
openssl req -in work/csr/server.csr.pem -noout -subject -text 2>/dev/null || true
openssl x509 -in work/certs/server.crt.pem -noout -subject -issuer -serial -dates 2>/dev/null || true
openssl x509 -in work/certs/server.crt.pem -noout -text 2>/dev/null | sed -n '/X509v3 extensions:/,/Signature Algorithm/p' || true
openssl verify -CAfile work/root/certs/root.crt.pem -untrusted work/intermediate/certs/intermediate.crt.pem work/certs/server.crt.pem 2>/dev/null || true
find work/evidence -type f -maxdepth 2 -print 2>/dev/null | sort || true
04 / 12

5. Erfolg prüfen

  • Das Skript endet ohne unerwarteten Fehler.
  • Die Evidence-Dateien passen zum Thema des Beispiels.
  • End-Entity-Zertifikate haben CA:FALSE.
  • CA-Zertifikate haben CA:TRUE und passende Key Usage.
  • Serverzertifikate enthalten SANs.
  • Chain-Verifikation trennt Root als Trust Anchor und Intermediate als untrusted Chain-Zertifikat.
  • Widerruf, OCSP oder CRL werden nicht behauptet, ohne Nachweis oder klare Lab-Grenze.
05 / 12

6. Typische Fehler

Beobachtung Wahrscheinliche Ursache Korrektur
Zertifikat sieht gültig aus, Client lehnt es ab SAN fehlt oder passt nicht CSR-Konfiguration prüfen und neu signieren
openssl verify schlägt fehl Chain oder Trust Anchor falsch Root mit -CAfile, Intermediate mit -untrusted übergeben
CA kann nicht weiter signieren Basic Constraints oder Key Usage fehlen CA-Extensions korrigieren und Zertifikat neu erzeugen
Widerruf ist nicht sichtbar CRL wurde nicht neu veröffentlicht CRL neu erzeugen, Seriennummer prüfen, Clientverhalten testen
Evidence enthält private Daten falsche Dateien kopiert Evidence auf öffentliche Ausgaben, Fingerprints und Seriennummern begrenzen
06 / 12

7. Sicherheitsaspekte

In echten PKIs müssen Root- und Intermediate-Schlüssel stärker geschützt werden als in diesem Lab. Root-Schlüssel werden typischerweise offline gehalten, Intermediate-Schlüssel werden durch HSM, strenge Dateirechte, Audit-Logs und getrennte Rollen geschützt. Für öffentlich vertrauenswürdige Zertifikate gelten zusätzliche Anforderungen, die in diesem Workshop nur eingeordnet, aber nicht simuliert werden.

07 / 12

8. Realistischer Einsatz

Dieses Muster lässt sich auf interne TLS-Zertifikate, mTLS zwischen Services, Kubernetes Ingress, Vault PKI, cert-manager, Smallstep, SPIFFE/SPIRE und klassische Unternehmens-PKIs übertragen. Entscheidend ist nicht das Tool, sondern die Beweisführung: wer signiert, wofür gilt das Zertifikat, wie wird Vertrauen verteilt, wann wird erneuert und wie wird widerrufen.

08 / 12

9. Workshop-Durchführung

  1. Lernziel laut vorlesen und Scope begrenzen.
  2. Repository-Dateien von Laufzeitartefakten unterscheiden.
  3. OpenSSL-Konfiguration öffnen und relevante Sections markieren.
  4. Private-Key-Pfade identifizieren.
  5. CSR-Subject und SANs prüfen.
  6. CA-Extensions vor der Signatur erklären.
  7. Zertifikat erzeugen oder Modellartefakt validieren.
  8. Issuer und Subject vergleichen.
  9. Basic Constraints und Key Usage interpretieren.
  10. Chain-Verifikation ausführen.
  11. Fehlerfall absichtlich reproduzieren, falls das Beispiel ihn vorsieht.
  12. Evidence-Dateien öffnen und auf private Schlüssel prüfen.
  13. Betriebsfrage stellen: Wer besitzt dieses Zertifikat?
  14. Sicherheitsfrage stellen: Wie wäre Kompromittierung erkennbar?
  15. Renewal-Frage stellen: Wann muss gehandelt werden?
  16. Widerrufsfrage stellen: Welche Clients prüfen CRL oder OCSP?
  17. Audit-Frage stellen: Welche Entscheidung ist nachvollziehbar?
  18. Cleanup durchführen.
  19. Abweichungen dokumentieren.
  20. Ergebnis in ein kurzes Review-Fazit überführen.
09 / 12

10. Review-Matrix

Prüffeld Erwartete Aussage
Scope Lab, interne PKI oder öffentlich vertrauenswürdiger Kontext ist getrennt.
Subject Entität und Zweck sind eindeutig.
Issuer Signierende CA ist dokumentiert.
Chain Root und Intermediate werden korrekt verwendet.
SAN Hostidentität steht im SAN.
Basic Constraints CA- und Leaf-Rollen sind getrennt.
Key Usage Signatur, Key Encipherment, cRLSign oder keyCertSign passen zur Rolle.
EKU ServerAuth oder ClientAuth ist nur dort gesetzt, wo benötigt.
Laufzeit Gültigkeit und Renewal-Fenster sind plausibel.
Widerruf CRL, OCSP oder Lab-Grenze ist klar.
Schlüssel Private Keys werden nicht committet.
Evidence Nachweise enthalten keine Geheimnisse.
10 / 12

Offizielle Referenzen

  • RFC 5280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile: https://datatracker.ietf.org/doc/html/rfc5280
  • CA/Browser Forum Baseline Requirements: https://cabforum.org/working-groups/server/baseline-requirements/requirements/
  • NIST SP 800-57 Part 1 Revision 5: https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final
  • OpenSSL Manual Pages: https://www.openssl.org/docs/manpages/

11 / 12

Beispielanhang: Evidence, Transfer und Betrieb

Dieser Zusatzteil macht das Beispiel als Trainingsbaustein vollständiger. Er ist bewusst auf reale PKI-Fragen begrenzt: Zertifikatsinhalt, Vertrauenskette, Schlüsselmaterial, Widerruf, Erneuerung, Audit und Übergabe in einen Betriebsprozess.

Evidence-Checkliste

  • openssl version wurde notiert, damit Ausgaben einer konkreten Tool-Version zugeordnet werden können.
  • Subject, Issuer, Serial und Gültigkeit wurden über openssl x509 -noout geprüft.
  • SAN, Basic Constraints, Key Usage und EKU wurden aus dem Zertifikatstext extrahiert.
  • Die Chain wurde mit Root als Trust Anchor und Intermediate als Chain-Zertifikat geprüft.
  • Fehlerfälle wurden nicht nur beschrieben, sondern mit kontrolliertem Exit-Code oder Evidence-Datei sichtbar gemacht.
  • Private Schlüssel wurden nicht in Evidence-Dateien kopiert.
  • Laufzeitartefakte liegen unter work/ und sind vom Repository-Inhalt getrennt.
  • Cleanup ist möglich, indem work/ entfernt wird.

Transferfragen

  1. Wer ist Owner des Zertifikats und wer darf die Ausstellung freigeben?
  2. Welche CA signiert und wie wird diese CA selbst geschützt?
  3. Welche Clients oder Systeme müssen dem Trust Anchor vertrauen?
  4. Welche Laufzeit ist fachlich begründet und wann startet Renewal?
  5. Wie wird Widerruf verteilt und wie wird geprüft, ob Clients ihn auswerten?
  6. Welche Logs oder Tickets beweisen Antrag, Genehmigung, Ausstellung und Änderung?
  7. Welche Abweichung wäre in einer öffentlichen CA nicht zulässig?
  8. Welche Teile des Labs müssten durch HSM, Vault, cert-manager, ACME oder SPIFFE automatisiert werden?

Betriebsnotizen

Thema Erwartung
Rollen Antragsteller, Approver, CA-Operator und Auditor sind getrennt oder begründet kombiniert.
Schlüssel Private Keys sind geschützt, nicht versioniert und nur für die benötigte Rolle zugänglich.
Zertifikate Leaf-Zertifikate haben CA:FALSE; CA-Zertifikate haben CA:TRUE und passende Key Usage.
Namen DNS- und IP-Identitäten stehen im SAN, nicht nur im Common Name.
Chain Root, Intermediate und Leaf sind nachvollziehbar und korrekt verteilt.
Widerruf CRL oder OCSP ist als Prozess eingeordnet, auch wenn das Lab nur lokal arbeitet.
Renewal Ablaufüberwachung und Erneuerungsfenster sind dokumentiert.
Audit Evidence enthält nachvollziehbare Entscheidungen, aber keine Geheimnisse.

Review-Fazit

Ein Beispiel ist erst abgeschlossen, wenn die technische Ausführung, die fachliche Erklärung und der Sicherheitsnachweis zusammenpassen. Für CA-Workshops ist das wichtiger als die reine Befehlsfolge, weil ein Zertifikat auch dann gefährlich sein kann, wenn OpenSSL es erfolgreich erzeugt hat.

12 / 12

PKI · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.