DKIM-Record im DNS verständlich erklärt: E-Mail-Signaturen
DomainKeys Identified Mail (DKIM) ist ein kryptografisches E-Mail-Authentifizierungsverfahren. Im Gegensatz zu SPF, das lediglich die IP-Adresse des absendenden Servers überprüft, versieht DKIM jede ausgehende E-Mail mit einer digitalen Signatur im E-Mail-Header. Der empfangende Server kann diese Signatur mithilfe des öffentlichen Schlüssels, der als TXT-Record im DNS der Absenderdomain hinterlegt ist, verifizieren. Dies beweist, dass die E-Mail tatsächlich von dieser Domain stammt und auf dem Transportweg nicht manipuliert wurde.
DKIM ist eine der drei Säulen der E-Mail-Authentifizierung. Erst im Zusammenspiel mit SPF und DMARC entsteht ein wirksamer Schutz vor Spoofing und Phishing. Wie diese Records ineinandergreifen, zeigt der übergeordnete DNS-Leitfaden.
SPF, DKIM und DMARC im Vergleich
Die drei Verfahren ergänzen sich, prüfen aber unterschiedliche Aspekte einer E-Mail:
| Verfahren | Prüft | Schwäche allein |
|---|---|---|
| SPF | Ist die sendende IP autorisiert? | Bricht beim Weiterleiten von Mails |
| DKIM | Ist der Inhalt unverändert und authentisch? | Sagt nichts über den Umgang mit Fälschungen |
| DMARC | Wie behandeln Empfänger nicht authentifizierte Mails? | Braucht SPF oder DKIM als Basis |
Gerade weil SPF beim Weiterleiten versagt, ist DKIM unverzichtbar: Die Signatur bleibt auch nach mehreren Zwischenstationen gültig.
Wie funktioniert DKIM?
Der DKIM-Prozess basiert auf asymmetrischer Kryptografie:
- Das Signieren (beim Absender): Wenn eine E-Mail den Mailserver des Absenders verlässt, berechnet dieser einen Hashwert über den Inhalt und wichtige Header-Zeilen (wie From, To, Subject). Dieser Hashwert wird mit dem geheimen Private Key des Absenders verschlüsselt und als
DKIM-Signature-Header in die E-Mail eingebettet. - Das Verifizieren (beim Empfänger): Der empfangende Mailserver liest die Signatur und sucht im DNS des Absenders nach dem öffentlichen Public Key.
- Der Abgleich: Mit dem Public Key entschlüsselt der Empfänger den Hashwert und vergleicht ihn mit einem selbst berechneten Hashwert der E-Mail. Stimmen beide überein, ist die Prüfung erfolgreich (DKIM Pass).
Der DKIM-Selektor: Namenskonvention im DNS
Da ein Unternehmen oft verschiedene E-Mail-Dienste parallel nutzt, muss für jeden Dienst ein eigener Schlüssel hinterlegt werden. Dies wird über den DKIM-Selektor gelöst. Der DNS-Record für den Schlüssel wird nicht auf der Hauptdomain konfiguriert, sondern auf einer spezifischen Subdomain nach dem Muster:
[selektor]._domainkey.[domain.com]
Ein realer Eintrag in der Zonendatei sieht wie folgt aus:
google._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG..."
google: Der Selektor (wird vom Mail-Provider vorgegeben)._domainkey: Ein fester, vom Standard vorgeschriebener String.v=DKIM1: Die verwendete DKIM-Version.k=rsa: Der verwendete Verschlüsselungsalgorithmus.p=...: Der öffentliche Schlüssel (Base64-codiert).
2048-Bit-Schlüssel und das DNS-Längenlimit
Bei der Konfiguration moderner 2048-Bit-Schlüssel stossen Administratoren häufig auf das Limit von 255 Zeichen pro DNS-String. Da ein 2048-Bit-Schlüssel etwa 390 Zeichen lang ist, kann er nicht in einem Stück gespeichert werden.
- Die Lösung: Der Schlüssel muss im DNS-TXT-Eintrag in zwei separate, durch Anführungszeichen umschlossene Strings aufgeteilt werden, wie:
"v=DKIM1; k=rsa; p=MIIB...IDAQAB" "MIIB...[Rest des Schlüssels]" - Der Nameserver verkettet diese Fragmente bei der Auslieferung automatisch.
Typische DKIM-Fehler und ihre Ursachen
In der Praxis scheitert DKIM oft an Kleinigkeiten in der Konfiguration:
| Fehler | Ursache | Lösung |
|---|---|---|
| DKIM: none | Kein Selektor im DNS gefunden | Selektor-Record gemäss Provider-Vorgabe anlegen |
| DKIM: fail | Inhalt nach dem Signieren verändert | Footer/Disclaimer-Tools prüfen, die Mails umschreiben |
| Schlüssel unvollständig | 255-Zeichen-Limit nicht beachtet | Public Key in mehrere Strings aufteilen |
| Alignment-Fehler | d=-Domain weicht von From-Domain ab | Signierende Domain an Absenderdomain angleichen |
Ein häufiges Praxisproblem: Mailinglisten oder Antivirus-Gateways hängen Texte an die E-Mail an und verändern dadurch den signierten Inhalt – die Signatur wird ungültig. In solchen Fällen hilft eine Kombination aus DKIM und korrekt konfiguriertem SPF.
DKIM richtig einführen – Schritt für Schritt
- Schlüsselpaar erzeugen: Der Mail-Provider oder der eigene Server generiert Private und Public Key (mind. 2048 Bit).
- Public Key im DNS hinterlegen: Als TXT-Record unter
selektor._domainkey.example.com. - Signierung aktivieren: Der ausgehende Mailserver signiert ab jetzt jede Nachricht.
- Testen: Eine Test-Mail an einen Prüfdienst senden und das
DKIM=passim Header kontrollieren. - DMARC ergänzen: Erst mit DMARC wird festgelegt, was bei einer fehlgeschlagenen Prüfung passiert.
[!TIP] Ein fehlender oder ungültig signierter DKIM-Eintrag führt bei strengen Empfängern (wie Gmail oder Yahoo) oft zur sofortigen Abweisung der E-Mails. Prüfen Sie die Gültigkeit Ihrer Signaturen und Selektoren mit dem SPF & DKIM Check auf balou.tools.
Häufig gestellte Fragen (FAQ)
Was ist ein DKIM-Selektor?
Ein Selektor ist eine frei wählbare Zeichenkette, die es einem Unternehmen erlaubt, mehrere DKIM-Schlüssel gleichzeitig für dieselbe Domain zu betreiben (z. B. einen für Google Workspace und einen für einen Newsletter-Dienst).
Warum sind 2048-Bit-DKIM-Schlüssel besser als 1024-Bit-Schlüssel?
1024-Bit-RSA-Schlüssel gelten aufgrund der gestiegenen Rechenleistung moderner Systeme langfristig als mathematisch unsicher. 2048-Bit-Schlüssel bieten eine deutlich höhere kryptografische Härtung und sind B2B-Standard.
Was bedeutet DKIM-Alignment bei DMARC?
Alignment bedeutet, dass die in der DKIM-Signatur verwendete Domain (`d=`) mit der sichtbaren Absenderdomain im From-Header übereinstimmt. Nur bei Übereinstimmung gilt die Prüfung im Sinne von DMARC als bestanden – ein gültiges DKIM allein reicht nicht.
Sollte man DKIM-Schlüssel regelmässig wechseln?
Ja, eine Schlüsselrotation (Key Rotation) alle 6 bis 12 Monate gilt als Best Practice. Dank Selektoren lässt sich ein neuer Schlüssel parallel einführen und der alte erst nach einer Übergangszeit entfernen, ohne dass Signaturen brechen.