Zum Inhalt

ACME im Detail · 18.5

Multi-Perspective Validation

Dieser Abschnitt ist Hintergrund. TLSPilot kann nicht ändern, wie die CA validiert, aber die Einstellungen Ihres DNS, Ihrer Firewall und Ihres Netzwerks entscheiden, ob die Validierung gelingt. Mit Multi-Perspective Issuance Corroboration (MPIC) prüft die CA die Challenge und die CAA-Records nicht nur aus ihrem eigenen Rechenzentrum, der primären Netzwerkperspektive, sondern auch aus mehreren entfernten Netzwerkperspektiven in anderen Teilen des Internets. Die CA stellt das Zertifikat nur aus, wenn genügend entfernte Perspektiven dasselbe Ergebnis sehen. Das erschwert es, durch lokales Umleiten von Datenverkehr ein Zertifikat zu erhalten, zum Beispiel mit einem BGP-Hijack. Die Baseline Requirements des CA/Browser Forums verlangen MPIC unter anderem für die ACME-Methoden DNS-01, HTTP-01 und TLS-ALPN-01.

MPIC-Anforderungen (CA/Browser Forum, Ballot SC-067, Baseline Requirements Abschnitt 3.2.2.9)
AbAnforderung an öffentliche CAs
15.06.2026Mindestens vier entfernte Netzwerkperspektiven. Die bestätigenden Perspektiven müssen in den Servicegebieten von mindestens zwei verschiedenen Regional Internet Registries (RIRs) liegen. Wird das Quorum nicht erreicht, darf die CA nicht ausstellen.
15.12.2026Mindestens fünf entfernte Netzwerkperspektiven.

Quorum: Bei zwei bis fünf entfernten Perspektiven darf eine abweichen, bei sechs oder mehr zwei. Perspektiven gelten als verschieden, wenn sie mindestens 500 km auseinanderliegen, und sie dürfen keinen DNS-Cache teilen. Let’s Encrypt sendet pro Name fünf Validierungsanfragen: eine aus dem primären Rechenzentrum und vier aus entfernten Perspektiven. Let’s Encrypt veröffentlicht die IP-Adressen, von denen aus validiert wird, nicht, und sie können sich jederzeit ändern.

Folgen für DNS-01

  • Alle autoritativen Nameserver: Jede Perspektive löst den TXT-Record selbst auf und kann jeden autoritativen Nameserver der Zone fragen. Alle müssen denselben TXT-Record liefern, auch sekundäre Nameserver, die später aktualisiert werden.
  • Geo-DNS und Traffic Steering: Antwortet der DNS-Provider abhängig vom Standort der Abfrage, müssen _acme-challenge-Namen und die CAA-Records überall dieselbe Antwort haben.
  • Split DNS: Nur die öffentliche Zone zählt. Ein interner Resolver, zum Beispiel auf dem Management-Host, kann den Record zeigen, obwohl die öffentlichen Nameserver ihn noch nicht haben.
  • Propagation: TLSPilot wartet DNS-01 propagation wait (seconds, 15-300) ab, fragt dann den TXT-Record bei den öffentlichen Resolvern von Cloudflare und Google alle 5 Sekunden bis zu etwa einer Minute ab, bis einer von ihnen ihn sieht, und wartet schliesslich weitere 20 Sekunden, oder 35 Sekunden, wenn der Record nicht gesehen wurde, bevor es die Validierung startet. Die Prüfung ist nur ein Hinweis. Sieht eine Perspektive den Record nicht, erhöhen Sie die Wartezeit.

Folgen für HTTP-01 und TLS-ALPN-01

  • Geoblocking und Allowlists: Die Perspektiven verbinden sich aus verschiedenen Netzen und Ländern. Geoblocking, Firewall-Allowlists mit IP-Adressen der CA oder WAF-Regeln gegen ausländischen Datenverkehr lassen die Validierung scheitern, auch wenn die primäre Perspektive erfolgreich ist. Erlauben Sie Port 80 bzw. 443 aus dem ganzen Internet, mindestens für die Validierung.
  • Überall dieselbe Antwort: Bei mehreren Servern hinter einem Load Balancer oder mit Anycast muss jeder Server, den eine Perspektive erreichen kann, die Challenge beantworten.

Nameserver prüfen

dig NS example.com +short
dig @ns1.example.net TXT _acme-challenge.www.example.com +short

Fragen Sie den TXT-Record bei jedem Nameserver der Liste ab. Alle müssen denselben Wert liefern. Fehler und ihre Lösungen finden Sie in den Kapiteln Fehlerbehebung: ACME, Fehlerbehebung: DNS-01 und Fehlerbehebung: HTTP-01 und TLS-ALPN-01.

Quellen

  • CA/Browser Forum, Ballot SC-067 v3 “Require domain validation and CAA checks to be performed from multiple Network Perspectives”, Abstimmung beendet am 22.07.2024: cabforum.org/2024/08/05/ballot-sc067v3-require-domain-validation-and-caa-checks-to-be-performed-from-multiple-network-perspectives-corroboration/
  • CA/Browser Forum, Baseline Requirements for TLS Server Certificates, Version 2.3.1, Abschnitt 3.2.2.9 “Multi-Perspective Issuance Corroboration”: github.com/cabforum/servercert, docs/BR.md
  • Let’s Encrypt, “Multi-Perspective Validation Improves Domain Validation Security”, 19.02.2020, und “Let’s Encrypt Continues Partnership with Princeton to Bolster Internet Security”, 30.05.2024: letsencrypt.org
  • Dokumentation von Let’s Encrypt: FAQ (IP-Adressen für die Validierung), Challenge Types und IPv6 Support: letsencrypt.org/docs
  • RFC 8555, Abschnitt 8.3 (HTTP-01 auf Port 80), und RFC 8737 (TLS-ALPN-01 auf Port 443)

Während die CA validiert, zeigt die Statusleiste von TLSPilot jede Phase: die Propagationswartezeit, das Warten auf die Multi-Perspective Validation, die Validierung selbst und den Abschluss der Bestellung, siehe Abbildung Statusleiste, während TLSPilot auf Propagation und Multi-Perspective Validation wartet.

Statusleiste, während TLSPilot auf Propagation und Multi-Perspective Validation wartet
Statusleiste, während TLSPilot auf Propagation und Multi-Perspective Validation wartet