Wie DKIM funktioniert
Dein Mailserver bildet beim Versand einen Hash über den Body und eine Auswahl von Headern und signiert diesen mit einem privaten Schlüssel. Die Signatur landet als DKIM-Signature-Header in der Nachricht. Der öffentliche Gegenpart liegt im DNS. Jeder Empfänger kann damit prüfen, ob die Signatur passt.
Der Zugriffspunkt im DNS setzt sich aus einem frei wählbaren Selektor und der Domain zusammen: selektor._domainkey.deinedomain.de. Über den Selektor lassen sich mehrere Schlüssel parallel betreiben — pro Versandsystem einer, und für die Rotation vorübergehend zwei.
Schritt 1 — Schlüsselpaar erzeugen
Bei Google Workspace, Microsoft 365 und den meisten Hostern erledigt das die Administrationsoberfläche und liefert den fertigen DNS-Wert. Auf einem eigenen Server, etwa mit OpenDKIM oder Rspamd:
Verwende 2048 Bit. 1024 Bit gilt als zu schwach, 4096 Bit passt teilweise nicht mehr in einen einzelnen TXT-String und wird von manchen DNS-Providern schlecht unterstützt.
Schritt 2 — Public Key im DNS veröffentlichen
Der p=-Wert ist der Base64-Teil des Public Keys, ohne die BEGIN- und END-Zeilen und ohne Zeilenumbrüche. „mail“ ist hier der Selektor — er muss mit dem übereinstimmen, den dein Mailserver in die Signatur schreibt.
Schritt 3 — Signierung aktivieren
Trage den privaten Schlüssel in deinem Mailserver ein und aktiviere die Signierung für ausgehende Nachrichten. Achte dabei auf zwei Einstellungen:
- Algorithmus
rsa-sha256, nichtrsa-sha1. - Signierte Header: Mindestens
From,To,SubjectundDategehören in dieh=-Liste. DerFrom-Header ist zwingend — ohne ihn kommt kein DMARC-Alignment zustande.
Schritt 4 — Alignment sicherstellen
Für DMARC genügt es nicht, dass die Signatur gültig ist. Die signierende Domain im d=-Tag muss zur Domain im From-Header passen. Nutzt du einen Versanddienstleister, signiert dieser standardmäßig oft mit seiner eigenen Domain — die Signatur ist dann gültig, aber für DMARC wertlos. Richte in solchen Fällen die angebotene Möglichkeit ein, mit deiner eigenen Domain zu signieren (meist per CNAME auf den Anbieter).
Schlüsselrotation
Ein DKIM-Schlüssel sollte regelmäßig getauscht werden, mindestens jährlich. Der Ablauf ohne Ausfall:
- Neues Schlüsselpaar mit neuem Selektor erzeugen, etwa
mail2 - Neuen Public Key im DNS veröffentlichen und Verbreitung abwarten
- Mailserver auf den neuen Selektor umstellen
- Alten Selektor mindestens eine Woche im DNS stehen lassen — Mails, die noch unterwegs sind, werden sonst nicht mehr verifizierbar
- Erst danach den alten Record entfernen
Häufige Fehler
- Zeilenumbrüche im p=-Wert: Beim Kopieren aus einer PEM-Datei bleiben Umbrüche stehen. Der Record ist dann ungültig.
- Selektor stimmt nicht: Der Mailserver signiert mit
default, im DNS liegt der Schlüssel untermail. Ergebnis: permanentes fail. - Footer durch Zwischensysteme: Mailinglisten und manche Security-Gateways verändern den Body und brechen die Signatur. Dafür ist ARC gedacht.
- Nur ein Versandweg signiert: Rechnungssystem und Newsletter-Tool signieren häufig nicht mit. Jeder Versandweg braucht eine eigene Konfiguration.
Testen
Sende nach der Umstellung eine E-Mail an hello@analyzemy.email. Der Report zeigt jede gefundene Signatur einzeln mit Algorithmus, Schlüsselstärke, signierten Headern und Alignment-Status.