DKIM ist ein E-Mail-Authentifizierungsstandard, der die Kryptographie mit öffentlichem/privatem Schlüssel nutzt, um E-Mail-Nachrichten zu signieren. Mithilfe von DKIM-Einträgen können Sie überprüfen, ob eine eingehende E-Mail tatsächlich von der Domäne gesendet wurde, mit der der DKIM-Schlüssel verknüpft ist. Anhand eines DKIM-Datensatzes können Sie also feststellen, ob eine E-Mail während der Übertragung manipuliert wurde und ob sie sicher zu öffnen ist.
DKIM existiert in Ihrem DNS als TXT- (Text) oder CNAME- (kanonischer Name) DNS-Eintrag. Ob Sie TXT oder CNAME verwenden sollten, hängt von einer Reihe von Faktoren ab, die im Folgenden erläutert werden.
Wichtigste Erkenntnisse
- DKIM ist ein E-Mail-Authentifizierungsstandard, der gefälschte E-Mail-Absenderadressen erkennen soll.
- DKIM-Einträge sind immer TXT-Einträge. Einige Anbieter verwenden jedoch die CNAME-Delegation, um Ihre Domäne auf einen TXT-Eintrag zu verweisen, der auf ihren Servern gehostet wird.
- Jede dieser Methoden hat ihre eigenen Vorteile und Grenzen.
- Ob Sie sich für das eine oder das andere entscheiden sollten, hängt davon ab, was für Sie wichtiger ist: Kontrolle und Sicherheit oder Bequemlichkeit und Komfort.
- Zu den häufigen Fallstricken gehören ein falsches Selektorformat, die Vermischung von TXT/CNAME für denselben Selektor und TTL-Verzögerungen während der Tastenrotation.
Verstehen der Veröffentlichung von DKIM-Datensätzen
Schauen wir uns an, woraus ein DKIM-Datensatz besteht.
Was steht in einem DKIM-Datensatz?
Ein DKIM-Eintrag umfasst einen Selektor, einen öffentlichen Schlüssel und einen Algorithmus. Sie können Ihren DKIM-Eintrag erstellen mit dem Online-Tool von PowerDMARC erstellen.
DKIM-Selektoren
DKIM-Selektoren ermöglichen es dem E-Mail-Server des Empfängers, den öffentlichen Schlüssel des Absenders zu finden und zu verifizieren. Er hilft bei der Identifizierung des öffentlichen DKIM-Schlüssels, der für die Verifizierung verwendet werden soll, unter mehreren Schlüsseln. Sie finden ihn in der Kopfzeile DKIM-Signatur jeder signierten E-Mail. Es ist der Parameter "s=".
Öffentlicher Schlüssel
Der öffentliche DKIM-Schlüssel wird im DNS Ihrer Domäne als TXT-Eintrag (oder manchmal als CNAME, der auf den Schlüssel Ihres Providers verweist) veröffentlicht. Er wird von den empfangenden Servern verwendet, um den Hash der Nachricht zu überprüfen, der mit dem privaten Schlüssel des Absenders erstellt wurde, um die Integrität und Authentizität der E-Mail zu gewährleisten.
Der Schlüssel, der von der Organisation, die Ihre E-Mail versendet, zur Verfügung gestellt wird, wird direkt als TXT-Eintrag in Ihre DNS-Zone eingefügt. Alternativ kann es sich auch um einen CNAME handeln, der auf den Schlüssel im DNS Ihres Providers verweist.
Algorithmus
Der für das Hashing verwendete Algorithmus ist in der Datei a= Tag des DKIM-Signatur-Headers definiert (nicht im DNS-Eintrag). Unterstützte DKIM-Signaturalgorithmen sind:
- rsa-sha256 (empfohlen und am häufigsten verwendet)
- rsa-sha1 (veraltet aufgrund der geringeren Sicherheit)
DNS-Standort und -Syntax
Der DKIM-Datensatz ist ein TXT-Datensatz, der mehrere Tag-Wert-Paare enthält, die normalerweise durch Semikolons getrennt sind:
v=DKIM1; k=rsa; p=PUBLIC_KEY
- v=DKIM1 gibt die DKIM-Version an.
- k=rsa, wobei sich "k" auf den Schlüsseltyp bezieht (RSA ist der einzige derzeit unterstützte)
- p=PUBLIC_KEY Der tatsächliche öffentliche Schlüssel, der zur Überprüfung der Signatur verwendet wird
Hier ist ein Beispiel: selector._domainkey.beispiel.com
Hier ist "selector" ein eindeutiger Bezeichner für den DKIM-Schlüssel, und example.com ist Ihre Domain.
Methode 1 - DKIM als TXT-Eintrag
Bei dieser Methode wird Ihr öffentlicher DKIM-Schlüssel als DNS-TXT-Eintrag unter der Adresse selector._domainkey.example.com veröffentlicht. Ausgehende E-Mails werden mit dem privaten Schlüssel signiert, und die Empfangsserver verwenden den öffentlichen Schlüssel in Ihrem DNS, um die Signatur zu überprüfen.
Profis
- Vollständige Kontrolle: Die Verwendung von DKIM als TXT-Eintrag gibt Ihnen die volle Kontrolle über Ihre DKIM-Schlüssel und DNS.
- Keine Abhängigkeit von Dritten: Bei dieser Methode sind Sie nicht auf Drittanbieter angewiesen. Da Sie der Eigentümer Ihrer Daten sind, haben Sie ein besseres Gefühl von Privatsphäre und Sicherheit.
Nachteile
- Manuelle Schlüsselrotation: Sie sind selbst für die Aktualisierung der Schlüssel verantwortlich, was für technisch nicht versierte Benutzer schwierig sein kann.
- Höheres Risiko einer Fehlkonfiguration: Bei einer selbst vorgenommenen Einrichtung besteht die Gefahr von Fehlern, die die E-Mail-Sicherheit beeinträchtigen können. Verwenden Sie unseren kostenlosen DKIM-Prüfer um Fehler zu vermeiden.
Methode 2 - DKIM über CNAME-Delegation
Diese Methode funktioniert ganz anders als die erste Methode. Anstatt Ihren öffentlichen DKIM-Schlüssel direkt zu veröffentlichen, erstellen Sie einen CNAME-Eintrag unter selector._domainkey.example.com, der auf den DKIM-Eintrag Ihres E-Mail-Dienstanbieters (ESP) verweist.
Sobald ein Empfangsserver Ihren DKIM-Schlüssel nachschlägt, folgt die DNS-Abfrage dem CNAME zum DNS des ESP. Dort wird der eigentliche TXT-Eintrag mit dem öffentlichen Schlüssel gehostet. Große Anbieter wie SendGrid, Mailchimp und Amazon SES verwenden dies.
Profis
- Automatische Tastendrehung: Bei dieser Methode sind keine manuellen Aktualisierungen erforderlich, und die Schlüsselrotation erfolgt automatisch.
- Einfache Einrichtung: Diese Methode ist eher für Anfänger oder die Verwaltung mehrerer Domains geeignet. Sie ermöglicht eine nahtlose fortlaufende Verwaltung ohne schweres Heben.
Nachteile
- Weniger Transparenz: Die einfachere Einrichtung geht auf Kosten einer begrenzten Kontrolle und Einsicht in Ihre DKIM-Schlüssel und DNS.
- CNAME-Einschränkungen: Tief verschachtelte oder verkettete CNAMEs können an die Grenzen der DNS-Auflösung stoßen oder Leistungsprobleme verursachen. Einige Anbieter verlangen bestimmte Formate oder unterstützen keine CNAME-Delegation, was bei Nichtbeachtung DKIM beeinträchtigen kann.
TXT vs. CNAME - was sollten Sie verwenden?
Bei der Entscheidung, ob DKIM in TXT oder CNAME verwendet werden soll, sollten Sie einige allgemeine Hinweise beachten.
TXT verwenden, wenn...
- Sie hosten Ihre E-Mails selbst und verfügen über technisches Know-how
- Sie wollen volle Kontrolle über DKIM und DNS.
- Sie ziehen es vor, die Schlüssel selbst zu verwalten und zu drehen.
Hinweis: In einigen Fällen kann Ihr Anbieter eine direkte TXT-Eingabe verlangen, so dass diese Methode nicht optional ist.
CNAME verwenden, wenn...
- Sie verwenden einen ESP wie Mailchimp, SES oder SendGrid.
- Sie bevorzugen eine automatische DKIM-Verwaltung.
- Ihnen fehlt die Zeit oder das technische Know-how für die manuelle Einrichtung.
Vermischung von TXT/CNAME für denselben Selektor
DNS lässt nicht zu, dass sowohl ein TXT- als auch ein CNAME-Eintrag für denselben Domänennamen (d. h. denselben DKIM-Selektor) verwendet wird. Verwenden Sie nur einen Eintragstyp (TXT oder CNAME) pro Selektor. Wählen Sie TXT für die manuelle Kontrolle oder CNAME, wenn Sie an einen ESP delegieren.
Beispiele aus der Praxis
Wenn Sie nach Beispielen für DKIM in TXT vs. CNAME suchen, finden Sie hier jeweils ein Beispiel mit einer kurzen Beschreibung.
DKIM TXT Beispiel
google._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG..."
Dieser Eintrag speichert den öffentlichen DKIM-Schlüssel direkt in Ihrem DNS unter dem angegebenen Selektor und der Domäne.
DKIM CNAME Beispiel
em1234._domainkey.example.com. IN CNAME em1234.example.dkim.emailsvc.com.
Dieser Eintrag delegiert die DKIM-Schlüsselabfrage an einen Drittanbieter, indem er auf dessen gehosteten DKIM-Eintrag verweist.
Resümee
Die Entscheidung zwischen DKIM in TXT und CNAME mag schwierig erscheinen. Beide Methoden funktionieren gut, und beide werden häufig verwendet, so dass die Entscheidung meist bei Ihnen liegt. Ihre Wahl wird oft davon abhängen, ob Sie die volle, direkte Kontrolle über die Bequemlichkeit stellen oder umgekehrt.
Unabhängig davon, wofür Sie sich letztendlich entscheiden, sollten Sie die aktuelle DKIM-Einrichtung stets auf ihre Konformität hin überprüfen. Dies kann Ihnen helfen, Sicherheitslücken zu vermeiden und ein Höchstmaß an Sicherheit für Ihre Kommunikation zu gewährleisten!