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:

openssl genrsa -out mail.private 2048 openssl rsa -in mail.private -pubout -out mail.public

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

mail._domainkey.deinedomain.de. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."

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, nicht rsa-sha1.
  • Signierte Header: Mindestens From, To, Subject und Date gehören in die h=-Liste. Der From-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:

  1. Neues Schlüsselpaar mit neuem Selektor erzeugen, etwa mail2
  2. Neuen Public Key im DNS veröffentlichen und Verbreitung abwarten
  3. Mailserver auf den neuen Selektor umstellen
  4. Alten Selektor mindestens eine Woche im DNS stehen lassen — Mails, die noch unterwegs sind, werden sonst nicht mehr verifizierbar
  5. 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 unter mail. 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.

Umsetzung kontrollieren

Nachdem du die Änderung im DNS gesetzt hast: Sende eine E-Mail an hello@analyzemy.email und prüfe im Report, ob sie greift.

Jetzt E-Mail analysieren

Zuletzt aktualisiert: · Alle Anleitungen