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/02/03 17:17] Jürgen Brauckmannde:dfnpki:tcs:2025:acme [2026/09/18 08:51] (aktuell) – [Zertifikate mit IP-Adressen (IPv4/IPv6)] 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.)
 +
 +Zusätzlich gibt es [[https://www.harica.gr/en/guides/harica-flexible-acme/|HARICAs' Flexible ACME Guide]] für die Konfigurationen in HARICA's Certificate Manager.
  
 ===== ACME EAB Accounts ===== ===== ACME EAB Accounts =====
Zeile 73: Zeile 77:
     * Fähigkeit, dns-01-Challenges zu beantworten     * 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]] herangezogen werden.+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!)  
 + 
 +==== Zertifikate mit IP-Adressen (IPv4/IPv6) ==== 
 + 
 +HARICA kann via ACME mit Domain-Control-Validierungs-Methode (DCV) ''ACME-HTTP-01'' Serverzertifikate mit IP-Adressen ausstellen. Für diese IP-Adressen **wird immer** eine ''ACME-HTTP-01''-Domain-Control-Validierungs-Challenge an Port 80 der jeweiligen IP-Adresse durchgeführt. **Bei HARICA muss für/in ein Serverzertifikat mit einer IP-Adresse immer auch mindestens ein FQDN mit beantragt/aufgenommen werden.** Die aufzunehmenden IP-Adressen werden einfach beim Zertifikatsbezug über den verwendeten ACME-Client mit angefragt und müssen nicht vorab bei HARICA eingetragen werden. 
 + 
 +Es werden IPv4 und IPv6 Adressen unterstützt. Z.B. unterstützt ''certbot'' die Beantragung von IP-Adressen in Zertifikaten ab Version 5.3.0 und acme.sh ab Version 3.1.4. Beim acme.sh Aufruf ist die Reihenfolge der ''--domain'' Optionen relevant: Zuerst die IP-Adresse(n) dann der/die FQDN(s) angeben. 
 + 
 +In der Regel werden nur in seltenen technischen Spezialfällen Serverzertifikate mit IP-Adressen benötigt.
  
 ==== Werkzeuge und Beispielaufrufe ==== ==== Werkzeuge und Beispielaufrufe ====
Zeile 100: Zeile 112:
     .\wacs.exe --source manual --accepttos --eab-key-identifier <Key ID> --eab-key <HMAC Key> --baseuri <Server URL> --emailaddress <Mail> --host <FQDN>     .\wacs.exe --source manual --accepttos --eab-key-identifier <Key ID> --eab-key <HMAC Key> --baseuri <Server URL> --emailaddress <Mail> --host <FQDN>
  
 +=== acme.sh ===
 +
 +    acme.sh --register-account --eab-kid <Key ID> --eab-hmac-key <HMAC Key> --server <Server URL>
 +    acme.sh --issue --standalone --domain <FQDN> --server <Server URL>
  
 === cert-manager für Kubernetes === === cert-manager für Kubernetes ===
Zeile 141: Zeile 157:
  
  
 +=== 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> +
-   MDCertificateAgreement accepted    +
-   MDCertificateAuthority <Server-URL wie im ACME EAB Account angegeben> +
-   MDExternalAccountBinding /etc/apache2/<Datei mit EAB Details> +
-    +
-   <VirtualHost *:443> +
-      ServerName <fqdn> +
-      SSLEngine On +
-      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.+
  
 === ACME-Proxy tiny-acme-server === === ACME-Proxy tiny-acme-server ===
Zeile 200: Zeile 201:
 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 217: Zeile 227:
   - 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 8 Monaten