Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:dfnpki:tcs:2025:acme [2026/01/23 15:56] Juergen Brauckmannde:dfnpki:tcs:2025:acme [2026/04/30 11:41] (aktuell) – [Fallstricke und Fehlermeldungen] Reimer Karlsen-Masur
Zeile 4: Zeile 4:
  
 Viele einführende Informationen finden sich in dem folgenden Foliensatz: {{ :de:dfnpki:harica:2026-01-22-automatisierung.pdf |Webinar "Automatisierung mit ACME"}} Viele einführende Informationen finden sich in dem folgenden Foliensatz: {{ :de:dfnpki:harica:2026-01-22-automatisierung.pdf |Webinar "Automatisierung mit ACME"}}
 +
 +(Der verlinkte Foliensatz wurde am 12.02.2026 mit Hinweisen auf die derzeitige Inkompatibilität von ''mod_md'' ergänzt)
  
 ===== ACME EAB Accounts ===== ===== ACME EAB Accounts =====
Zeile 63: Zeile 65:
 HARICA unterstützt die Challenge-Typen ''http-01'' und ''dns-01''. HARICA unterstützt die Challenge-Typen ''http-01'' und ''dns-01''.
  
-==== Beispielaufrufe ====+==== Wildcard-Zertifikate ==== 
 + 
 +Wildcard-Zertifikate können ausgestellt werden, wenn die folgenden Bedingungen zutreffen: 
 +  * Enterprise EAB Account 
 +    * Mit Domainregeln, die Subdomains einschließt 
 +    * und vorvalidierten Domains 
 +    * **oder** beim Account-Typ SSL DV der Fähigkeit, dns-01-Challenges zu beantworten. 
 +  * Personal EAB Account 
 +    * Fähigkeit, dns-01-Challenges zu beantworten 
 + 
 +Es gibt keine Möglichkeit, in der HARICA-Oberfläche die Ausstellung von Wildcard-Zertifikaten einzuschränken. Gegebenenfalls können hierfür [[https://doku.tid.dfn.de/de:dfnpki:tcs:2025:caa|CAA-Records]] verwendet werden (Achtung: Nur eingeschränkte Möglichkeiten bei Schreibzugriff aufs DNS von Subdomains, da CAA-Records von Subdomains die darüberliegende Domain überschreiben können!)  
 + 
 +==== Werkzeuge und Beispielaufrufe ==== 
 + 
 +=== Allgemein === 
 + 
 +Unter https://acmeclients.com/ findet sich eine Liste von aktuell verfügbaren ACME Clients.
  
 === certbot === === certbot ===
Zeile 76: Zeile 94:
     certbot certonly --webroot --webroot-path /var/www --non-interactive --agree-tos --email <eigene Mailadresse> --eab-kid <Key ID> --eab-hmac-key <HMAC Key> --server <Server URL> --domain <FQDN>     certbot certonly --webroot --webroot-path /var/www --non-interactive --agree-tos --email <eigene Mailadresse> --eab-kid <Key ID> --eab-hmac-key <HMAC Key> --server <Server URL> --domain <FQDN>
  
 +''certbot'' installiert unter Umständen bereits direkt einen ''cron''-Job und einen ''systemd''-Timer zu Erneuerung des Zertifikats. Bitte unbedingt kontrollieren!
 +
 +    systemctl show certbot.timer
  
 === simple-acme === === simple-acme ===
Zeile 122: Zeile 143:
  
  
 +=== Nicht nutzbar: Apache Modul mod_md ===
  
-=== Apache Modul mod_md ===+Neuere Versionen von ''mod_md'' sind derzeit nicht mit HARICA kompatibel. Das erste Ausstellen eines Zertifikats funktioniert, allerdings scheitert die Erneuerung aufgund eines Bugs in der ARI-Implementierung von ''mod_md''. Teilweise wurde auch beobachtet, dass ''mod_md'' soviele Anfragen an die ACME-Directory-URL des HARICA-Systems schickt, dass dort eine IP-Sperre greift.
  
-Apache-Modul mod_md aktivieren: +Der Fehler ist nach unserem Kenntnisstand mindestens ab ''mod_md'' v2.6.0 enthalten (AchtungVersionssnummern von ''mod_md'' sind unabhängig von den Apache-Versionen). 
-   a2enmod md ssl +  
-    + 
-Konfiguration des Apache: Es sind nur wenige Zeilen in den Server-Context einzutragen (und nicht den Virtualhost!). Im VirtualHost muss lediglich SSL angeschaltet werden. Es sind keine Pfade zu Zertifikaten oder Keys zu konfiguieren+''mod_md'' ist damit derzeit nicht nutzbar
-   MDomain <fqdn> + 
-   MDContactEmail <mailadresse> +=== ACME-Proxy tiny-acme-server === 
-   MDCertificateAgreement accepted    + 
-   MDCertificateAuthority <Server-URL wie im ACME EAB Account angegeben> +Von der Friedrich-Alexander-Universität Erlangen-Nürnberg gibt es den ''tiny-acme-server'', der nach innen zur Einrichtung hin ACME mit http-01-Challenge anbietet, und in Richtung des PKI-Anbieters mit dessen spezifischen API kommuniziert: https://gitos.rrze.fau.de/noc/tiny-acme-server/-/tree/master?ref_type=heads 
-   MDExternalAccountBinding /etc/apache2/<Datei mit EAB Details> + 
-    + 
-   <VirtualHost *:443> +=== ACME-Proxy PKI Self Service Portal HM.edu === 
-      ServerName <fqdn> + 
-      SSLEngine On +Die Hochschule München veröffentlicht ihr PKI Self-Service-Portal unterhttps://github.com/hm-edu/pki-portal-deployment/tree/main
-      DocumentRoot /var/www/html +
-   </VirtualHost> +
-    +
-Inhalt der Datei mit EAB-Details: +
-    {"kid""<Key ID aus HARICA", "hmac""<HMAC Key aus HARICA"+
-     +
-In Experimenten war nach der initialen Konfiguration ein zweifacher Neustart des Apache notwendig.+
  
 ==== Fallstricke und Fehlermeldungen ==== ==== Fallstricke und Fehlermeldungen ====
Zeile 172: Zeile 187:
 Bitte unbedingt bei der Account-Erzeugung eine Email-Adresse übergeben (z.B. ''certbot''-Parameter ''--email'' oder entsprechende Konfigurationsparameter bei caddy, Traefik, ...). Das HARICA-System lehnt die Account-Erzeugung sonst ab. Bitte unbedingt bei der Account-Erzeugung eine Email-Adresse übergeben (z.B. ''certbot''-Parameter ''--email'' oder entsprechende Konfigurationsparameter bei caddy, Traefik, ...). Das HARICA-System lehnt die Account-Erzeugung sonst ab.
  
 +=== Ansible ===
 +
 +Bei den ''community.crypto''-Module von Ansible muss der Parameter  ''modify_account: false'' angegeben werden, damit die Zertifikaterstellung funktioniert.
 +
 +=== certbot mit --dry-run oder --test-cert Option ===
 +
 +Sofern die ''certbot''-Software mit einer der Optionen ''--dry-run'' oder ''--test-cert'' genutzt wird, gibt es Fehlermeldungen und Fehlfunktionen, weil ''certbot'' bei diesen Testfunktionalitäten hart verdrahtete ACME-Endpunkte von Let'sEncrypt verwendet, die naturgemäß mit ACME-Accounts, die im HARICA-System angelegt wurden, nicht funktionieren.
 +
 +Um z.B. eine Zertifikaterneuerung vorab zu "testen", kann ''certbot renew --force-renewal'' verwendet werden.
  
 === Prüfpunkte === === Prüfpunkte ===
Zeile 189: Zeile 213:
   - Ist es dem ACME Client möglich, eine HTTP- oder DNS-Challenge zu beantworten? Sind hierbei evtl. Fehler aufgetreten (prüfen im Log des ACME Clients)?   - Ist es dem ACME Client möglich, eine HTTP- oder DNS-Challenge zu beantworten? Sind hierbei evtl. Fehler aufgetreten (prüfen im Log des ACME Clients)?
  
-=== Ansible === 
  
-Bei den ''community.crypto''-Module von Ansible muss der Parameter  ''modify_account: false'' angegeben werden, damit die Zertifikaterstellung funktioniert. 
  • Zuletzt geändert: vor 5 Monaten