Modul 4 · 4.4
DKIM: die Unterschrift unter Ihrer Mail
Modul 4: Einträge für E-Mail · Lesezeit: 8 Minuten
Lernziel: Nach dieser Lektion können Sie erklären, wie DKIM funktioniert, einen DKIM-Eintrag finden und prüfen, und einen DKIM-Eintrag eines externen Dienstes (als TXT oder als CNAME) korrekt einrichten.
Kernbegriffe: DKIM, digitale Signatur, privater Schlüssel und öffentlicher Schlüssel, Selector, _domainkey, d= und s=, v=DKIM1; k=rsa; p=, DKIM über CNAME, Schlüsselrotation
Ein Siegel auf jeder Mail
SPF (Lektion 4.3) prüft, von welchem Server eine Mail kommt. DKIM (DomainKeys Identified Mail, RFC 6376) funktioniert anders: Es setzt eine digitale Signatur auf die Mail selbst.
So funktioniert es:
- Der versendende Mailserver besitzt einen geheimen privaten Schlüssel. Damit erstellt er für jede Mail eine Signatur über die wichtigsten Teile: den Absender, den Betreff, das Datum und den Inhalt.
- Diese Signatur wird in einer Kopfzeile der Mail mitgeschickt:
DKIM-Signature. - Der zugehörige öffentliche Schlüssel steht im DNS der Domain, in einem TXT-Eintrag.
- Der Empfänger ruft diesen öffentlichen Schlüssel ab und prüft die Signatur. Stimmt sie, weiß er zwei Dinge: Die Mail wurde tatsächlich von jemandem signiert, der das DNS dieser Domain verwaltet, und die Mail wurde unterwegs nicht verändert.
Das Schöne daran: DKIM funktioniert weiterhin, wenn eine Mail weitergeleitet wird, solange der Inhalt nicht angepasst wird. Damit tut sich SPF schwer.
Wo steht der Schlüssel? Der Selector
Eine Domain kann mehrere DKIM-Schlüssel haben: einen vom eigenen Mailserver, einen von Microsoft 365, einen vom Newsletter-Dienst. Um sie auseinanderzuhalten, hat jeder Schlüssel einen Namen, den Selector.
In der Signatur stehen zwei wichtige Felder:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: die Domain, die signiert.s=mail2026: der Selector.
Der Empfänger sucht den Schlüssel dann unter diesem Namen:
<selector>._domainkey.<domain>
mail2026._domainkey.example.comDer Teil _domainkey ist fest vorgegeben. Der Eintrag sieht beispielsweise so aus:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Bestandteil | Bedeutung |
|---|---|
v=DKIM1 | Dies ist ein DKIM-Schlüssel. |
k=rsa | Die Art des Schlüssels. RSA ist üblich; ed25519 gibt es auch (RFC 8463). |
p=... | Der öffentliche Schlüssel selbst, eine lange Reihe von Buchstaben und Zahlen. Ist p= leer, wurde der Schlüssel widerrufen. |
Ein RSA-Schlüssel mit 2048 Bit ist die übliche Wahl; 1024 Bit ist das Minimum (RFC 8301). Ein solcher Schlüssel ist länger als 255 Zeichen, daher besteht der Eintrag aus mehreren Textabschnitten (Lektion 4.2). Die meisten Panels erledigen das selbst.
Ihr eigenes DKIM, und das von Diensten
Ihr Hostingpaket oder Mailserver. Auf vielen Servern ist DKIM standardmäßig aktiviert, und das Panel setzt den Eintrag selbst im DNS. Sie sehen dann einen TXT-Eintrag mit einem Namen wie x._domainkey oder default._domainkey.
Liegt das DNS Ihrer Domain bei einem anderen Anbieter (zum Beispiel Cloudflare oder Ihrem Registrar), kann Ihr Mailserver den Eintrag dort nicht selbst setzen. Dann kopieren Sie den Namen und den vollständigen Wert aus Ihrem Hosting-Panel und legen bei Ihrem DNS-Anbieter einen TXT-Eintrag mit genau diesem Namen und Wert an. Das wird beim Wechsel der Nameserver häufig vergessen: Die Mail landet dann plötzlich öfter im Spam.
Externe Dienste. Microsoft 365, Google Workspace und Newsletter-Dienste signieren mit ihrem eigenen Schlüssel. Sie erhalten von ihnen einen oder mehrere Einträge:
- Als TXT, zum Beispiel Google Workspace: Name
google._domainkey, Wertv=DKIM1; k=rsa; p=gefolgt vom langen Schlüssel. - Als CNAME, zum Beispiel Microsoft 365 (
selector1._domainkeyundselector2._domainkey) oder Mailchimp (k2._domainkeyundk3._domainkey). Ein CNAME verweist auf einen Schlüssel, den der Dienst selbst verwaltet. Vorteil: Der Dienst kann seinen Schlüssel austauschen, ohne dass Sie etwas tun müssen.
All diese Einträge haben einen eigenen Selector und stehen sich daher nicht im Weg. Entfernen Sie den DKIM-Eintrag Ihres eigenen Mailservers nicht, wenn Sie einen Dienst hinzufügen.
Warum zwei Selectors?
Dienste wie Microsoft 365 verlangen zwei CNAME-Einträge, selector1 und selector2. Sie signieren jeweils mit einem Schlüssel und wechseln zu bestimmten Zeiten zum anderen (Schlüsselrotation). Setzen Sie nur selector1, funktioniert es bis zum ersten Wechsel, und danach schlägt DKIM auf einen Schlag fehl. Setzen Sie also immer alle Einträge, die der Dienst angibt.
Häufige Fehler
- Doppelter Domainname. Sie geben
k2._domainkey.example.comin einem Panel ein, das den Domainnamen selbst ergänzt. Ergebnis:k2._domainkey.example.com.example.com. Geben Sie nurk2._domainkeyein. - TXT statt CNAME (oder umgekehrt). Übernehmen Sie genau den Typ, den der Dienst angibt.
- Kein Punkt am Ende eines CNAME-Ziels. In Panels, die das verlangen:
dkim2.mcsv.net.mit Punkt. - Schlüssel abgeschnitten. Beim Kopieren fehlt das letzte Stück von
p=. Vergleichen Sie Anfang und Ende mit dem Original. - DKIM im Panel des Dienstes aktiviert, aber Einträge nicht gesetzt, oder umgekehrt. Bei den meisten Diensten müssen Sie zuerst die Einträge setzen und danach in deren Verwaltungsoberfläche DKIM aktivieren.
Prüfen, ob DKIM funktioniert
Senden Sie eine Mail an eine Adresse bei einem großen Anbieter (zum Beispiel Gmail) und betrachten Sie das Original (Original anzeigen oder Quelle anzeigen). Suchen Sie nach dkim=pass und schauen Sie, welche Domain dabeisteht. Oder senden Sie eine Mail an einen Testdienst wie mail-tester.com. Sie können den Eintrag auch selbst mit einem DNS-Tool abfragen: Fragen Sie den TXT-Eintrag von <selector>._domainkey.<domain> ab.
In der Praxis: So sieht es in einem Panel aus
In diesem Beispiel verwenden wir DirectAdmin. In der DNS-Verwaltung steht ein TXT-Eintrag mit dem Namen x._domainkey; der Wert beginnt mit v=DKIM1; k=rsa; p=. Unter E-Mail-Funktionen, E-Mail-Konten befindet sich eine Schaltfläche, um DKIM ein- oder auszuschalten. Einen CNAME eines Dienstes legen Sie über Eintrag hinzufügen an, Typ CNAME, Name k2._domainkey, Wert mit einem Punkt am Ende.
In anderen Panels steht DKIM manchmal unter „E-Mail-Authentifizierung“ oder „E-Mail-Sicherheit“, aber der Eintrag im DNS ist überall derselbe.
Zusammenfassung
- DKIM setzt eine digitale Signatur auf jede Mail; der öffentliche Schlüssel steht im DNS.
- Der Schlüssel steht unter
<selector>._domainkey.<domain>. Der Selector steht in der Signatur (s=), die Domain ebenfalls (d=). - Jeder Dienst hat einen eigenen Selector; Einträge verschiedener Dienste stehen nebeneinander.
- Dienste verwenden häufig CNAME-Einträge und mehrere Selectors. Setzen Sie alle, mit genau dem angegebenen Typ.
- Liegt Ihr DNS bei einem anderen Anbieter, müssen Sie den DKIM-Schlüssel Ihres eigenen Mailservers dort selbst setzen.
Quiz
Aufgabe
Aufgabe Z4.4: DKIM nachschlagen. Öffnen Sie eine Mail, die Sie von einem Unternehmen oder einer Organisation erhalten haben, und betrachten Sie das Original. Suchen Sie in der Kopfzeile DKIM-Signature die Domain (d=) und den Selector (s=). Geben Sie beides ein. Die Prüfung sucht den zugehörigen Schlüssel.
Aufgabe O4.4: Selbst einrichten in Ihrer Übungszone. In der Übungszone verwenden Sie einen fiktiven Dienst; bei Ihrer echten Domain übernehmen Sie den echten Schlüssel oder CNAME von Ihrem Mailserver oder Dienst. Sie erhalten bei der Aufgabe einen Übungsschlüssel (den Wert nach p=). Dieser Schlüssel ist lang: Fügen Sie ihn vollständig ein, ohne etwas wegzulassen. Legen Sie in Ihrer Übungszone an:<code>.dnspractice.eu
- einen TXT-Eintrag bei
cursus._domainkeymit dem Wertv=DKIM1; k=rsa; p=<oefensleutel>; - einen CNAME-Eintrag bei
k2._domainkey, der aufdkim.newsletter-demo.dnspractice.eu.verweist (mit dem Punkt am Ende, falls Ihr Panel danach fragt).
Aufgabe O4.4
Diese Aufgabe erledigen Sie in Ihrer eigenen Übungszone: einer echten DNS-Zone auf den Nameservern von WebOké, nur für Sie. Melden Sie sich mit Ihrer E-Mail-Adresse an. Sie erhalten einen Login-Link per E-Mail und kehren anschließend zu dieser Lektion zurück. Wir verwenden Ihre Adresse ausschließlich für den Kurs.
Weiterführende Informationen
Die Schritte in diesen Artikeln gelten für die Panels von WebOké; in anderen Panels funktioniert es ähnlich.
- DirectAdmin Anleitung 5.8: DKIM aktivieren und überprüfen
- DKIM einrichten, wenn das DNS über einen externen Server läuft
- DirectAdmin Anleitung 5.4: CNAME-Einträge und der Punkt am Ende
- WebOké Anleitung 6.7: Die Karte E-Mail einrichten (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (Schlüssellänge), RFC 8463 (Ed25519)
