FAQ - Was ist ein TLSA-Record (DANE) und wie wird er erstellt?
Mit TLSA-Records wird festgelegt welche SSL/TLS Zertifikate von Clients mit DANE Unterstützung zugelassen werden. Zudem weiß der Client durch vorhanden sein eines TLSA-Records, dass die Verbindung verschlüsselt erfolgen muss. Somit kann ein Downgrade-Angriff verhindert werden.
Wenn Sie Ihre Domain bei uns registriert haben, oder unsere Nameserver-Produkte für deren DNS-Verwaltung benutzen, können Sie unseren TLSA-Assistenten nutzen. Sie finden ihn in der Übersicht der DNS-Records.
Wenn Sie den Record komplett selbst erstellen möchten, hilft Ihnen die nachfolgende Anleitung:
Das Feld Record
Im Feld Record muss nicht nur die Subdomain angegeben werden sondern auch das Protokoll und der Port für welchen das Zertifikat gültig ist.
Für einen Standard HTTPS Server wäre das z.B. das TCP Protokoll und Port 443. Im Feld Record wird daher folgendes eingegeben: _443._tcp
Wenn das Zertifikat für einen Host einer Subdomain gültig ist muss der Record z.B. für die bekannte www Subdomain wie folgt aussehen: _443._tcp.www
Das Feld Daten
Das Daten Feld enthält 4 Informationen getrennt von Leerzeichen und optional von einer Klammer umschlossen: (<Zahl> <Zahl> <Zahl> <Hash>)
Die erste Zahl ist ein Wert von 0 bis 3:
0: Der Hash gehört der Zertifizierungsstelle die Zertifikate für diesen Host ausstellen darf. Der Client muss die Zertifizierungsstelle kennen oder diese muss von einer vertrauten Zertifizierungsstelle unterschrieben sein.
1: Der Hash gehört dem Serverzertifikat. Es muss von einer Zertifizierungsstelle unterschrieben sein der vom Client vertraut wird.
2: Der Hash gehört einer Zertifizierungsstelle die Zertifikate für diesen Host ausstellen darf. Der Client soll Ihr Vertrauen auch wenn sie ihm Unbekannt und von keiner bekannten Zertifizierungsstelle unterschrieben ist.
3: Der Hash gehört dem Serverzertifikat und der Client soll diesem ohne weitere Prüfung der Vertrauenskette trauen.
Die Zweite Zahl kann 0 oder 1 sein und gibt an wie der Hash überprüft wird:
0: Es wird ein Hash vom kompletten Zertifikat erstellt.
1: Es wird nur ein Hash vom Public Key und des Algorithmus erstellt.
Die Dritte Zahl enthält einen wert von 0 bis 2:
0: Der Hash enthält das komplette Zertifikat (nicht empfohlen).
1: Der Hash enthält einen SHA-256 Hash.
2: Der Hash enthält einen SHA-512 Hash.
Der Hash
Wir verwenden zur Erstellung des Hash das Kommandozeilen Programm openssl, das auf den meisten *nix Systemen bereits vorhanden ist.
Der Hash des kompletten Zertifikats kann mit folgendem Befehl erstellt werden:
openssl x509 -in <Zertifikatsdatei> -outform DER | openssl <sha256|sha512>
Wenn nur ein Hash das Public Key erstellt werden soll, eignet sich dieser Befehl:
openssl x509 -in <Zertifikatsdatei> -pubkey -noout | openssl pkey -pubin -outform DER | openssl <sha256|sha512>
Ein fertiges Datenfeld sieht dann z.B. so aus:
(3 0 1 221C1A9866C32A45E44F55F611303242082A01C1B5C3027C8C7AD1324DE0AC38)
Deutscher Wikipedia Artikel zu DANE