Certification Authority Authorization - CAA-Nameservereinträge für Domains - Certification Authority-Unternehmen müssen sich daran halten

11.09.2017 22:35:51, Jürgen Auer, keine Kommentare

Das auf SSL-Zertifikaten basierende Zertifikatssystem im Internet soll sicherstellen, daß Nutzer mit der Domain kommunizieren, die sie auch tatsächlich aufrufen wollten.

Dazu muß der Domaininhaber bzw. der technische Betreuer ein Zertifikat bei einer Certification Authority (CA) beantragen. Diese muß sicherstellen, daß der Anfragende tatsächlich Inhaber bzw. Verwalter dieser Domain ist. Etwa, indem ein anklickbarer Link an eine Mailadresse hostmaster@namederanfragendendomain.de geschickt wird, der aufgerufen werden muß. Dies ist eine Domainvalidierung.

Nur: Innerhalb dieser Logik kann eine CA - gänzlich eigenmächtig - ohne Aufforderung durch den Domaininhaber ein Zertifikat für eine Domain ausstellen. Bei mehreren hundert weltweit verstreuten CAs ist so etwas denkbar. Solche Fälle gab es auch schon. Daß bsp. für die Google-Domain eigenmächtig ein Zertifikat ausgestellt wurde, ohne daß Google dies beantragt hatte (2015 - https://security.googleblog.com/2015/09/improved-digital-certificate-security.html ).

Mit einem CAA-Nameservereintrag läßt sich dieses Risiko etwas einschränken. Seit dem 08.09.2017 müssen sich CAs an entsprechende Nameserver-Einträge halten.

Die beiden Nameserver-Einträge für server-daten.de:

0 issue "symantec.com"
0 iodef "mailto:info@sql-und-xml.de"

Der erste Eintrag besagt, daß nur Symantec berechtigt ist, ein Zertifikat auszustellen. Das gilt sowohl für einzelne Subdomain-Zertifikate als auch für Wildcard-Zertifikate wie das hier genutzte *.server-daten.de - Zertifikat.

Das ließe sich auch noch trennen:

0 issuewild "symantec.com"

hieße, daß nur Symantec berechtigt ist, Wildcard-Zertifikate auszustellen. Mit dem zusätzlichen Eintrag

0 issue ";"

wäre es allen CAs untersagt, einzelne Subdomain-Zertifikate für die Domain auszustellen.

Der iodef-Eintrag besagt, daß bei Versuchen, ein Zertifikat auszustellen, das der Regel drüber nicht entspricht, eine Mail an die angegebene Mailadresse geschickt werden soll.

Wenn also eine Zertifizierungsstelle außer symantec.com einen Antrag für ein Zertifikat für *.server-daten.de erhält, muß sie - seit dem 08.09.2017 - diesen Antrag ablehnen. Und kann per Mail benachrichtigen.

Allerdings: Das gilt nicht für Browser. Wenn also eine Zertifizierungsstelle trotzdem ein solches Zertifikat ausstellt und der Antragsteller dieses Zertifikat installiert, dann würden Nutzer dieser falschen Website nicht gewarnt werden.

Bei SSLMate

https://sslmate.com/caa/

gibt es einen Generator für solche CAA-Einträge. Wenn bereits ein Zertifikat installiert ist, geht das leicht über die Option "Auto-Generate Policy". Dann wird der Eintrag aus dem Certificate Transparency - Log genutzt, um den Aussteller des letzten Zertifikats zu ermitteln. Per https://crt.sh/ kann man prüfen, welche Zertifikate bereits für eine Domain ausgestellt wurden, sofern diese in einem der öffentlichen Certificate Transparency - Logs eingetragen wurden.

Wichtig dabei: Man kann auch mehrere Einträge angeben. Wenn ich bsp. mit dem Server-Daten-Zertifikat zu Letsencrypt umziehen möchte, könnte ich auch

0 issue "symantec.com"
0 issue "letsencrypt.org"

also zwei Einträge nutzen.

Wenn man die Domain nicht roh selbst verwaltet, sondern einen Dienstleister dazu nutzt, dann muß es dieser ermöglichen, solche CAA-Einträge zu erstellen. Bei dem für server-daten.de und sql-und-xml.de genutzten Dienstleister INWX geht das seit kurzem. Dort genügt es, im entsprechenden Menü den Subdomaineintrag links leer zu lassen, CAA als Typ auszuwählen und rechts die komplette Zeichenfolge (0 issue "symantec.com") einzutragen.

Witzigerweise kann man auf Windows-Ebene mit nslookup solche Nameservereinträge noch gar nicht überprüfen.

Der SSL-Test bei SSLLabs

https://www.ssllabs.com/ssltest/

weist diese CAA-Einträge inzwischen gesondert aus.

Fazit: Wer ein SSL-Zertifikat nutzt, sollte bei seinem Nameserver-Verwalter prüfen, ob er dort einen entsprechenden CAA - Eintrag erstellen kann.

*
* (wird nicht angezeigt)
Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.