DKIM einrichten — Allgemeine Anleitung
Schritt-für-Schritt-Anleitung: DKIM-Schlüssel generieren, DNS-Record veröffentlichen, Mailserver konfigurieren und DKIM verifizieren — unabhängig vom Provider.
DKIM — Allgemeine Einrichtung
DKIM (DomainKeys Identified Mail) signiert jede ausgehende E-Mail kryptografisch — empfangende Mailserver verifizieren die Signatur über einen öffentlichen Schlüssel im DNS und erkennen so Manipulationen am Nachrichteninhalt. Diese allgemeine Anleitung beschreibt die vier grundlegenden Schritte, die bei jedem E-Mail-Provider gleich sind. Für providerspezifische Konfigurationen finden Sie die passende Anleitung in der Übersicht unten.
Unabhängig vom Provider: DKIM-Signierung ist eine nach NIS2 Art. 21 und BSI TR-03108 geforderte Schutzmaßnahme für die Integrität ausgehender E-Mails. Prüfen Sie Ihre Konfiguration mit dem kostenlosen Wolf-Agents Email Security Check — dieser analysiert Schlüssellänge, Algorithmus und Selector-Konfiguration auf 22 DKIM-Kriterien.
Hardening-Pfad: Nach DKIM folgt DMARC provider-unabhängig — die Policy, die SPF- und DKIM-Ergebnisse für empfangende Server bindend macht.
Schlüssel generieren
Das DKIM-Schlüsselpaar besteht aus einem privaten Schlüssel, der auf dem Mailserver die Signatur erzeugt, und einem öffentlichen Schlüssel, der im DNS zur Verifikation bereitsteht. RSA mit 2048 Bit ist der aktuelle Standard — alle großen Provider und Empfangsserver unterstützen diese Schlüssellänge.
# Privaten RSA-2048-Schlüssel generieren
openssl genrsa -out dkim-private.pem 2048
# Öffentlichen Schlüssel extrahieren
openssl rsa -in dkim-private.pem -pubout -out dkim-public.pem
# Öffentlichen Schlüssel als eine Zeile ausgeben (für DNS-Record)
grep -v '^-' dkim-public.pem | tr -d '\n'
# Ausgabe: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... Bei Managed Providern generiert der Provider das Schlüsselpaar für Sie. Sie müssen nur den DNS-Record anlegen — den privaten Schlüssel verwaltet der Provider selbst. Die provider-spezifischen Anleitungen zeigen die genauen Schritte.
Schlüssel mit 1024 Bit gelten seit 2020 als unsicher. Verwenden Sie mindestens RSA-2048. RSA-4096 ist möglich, kann aber die DNS-TXT-Record-Grenze von 255 Zeichen pro String überschreiten und erfordert dann Multistring-Records.
DNS-Record anlegen
Der DKIM-DNS-Record wird als TXT-Record unter selector._domainkey.ihre-domain.de angelegt und enthält den öffentlichen Schlüssel im Base64-Format. Der Selector ist ein frei wählbarer Name — er identifiziert das Schlüsselpaar eindeutig und ermöglicht die parallele Nutzung mehrerer Schlüssel (z. B. bei Rotation).
default._domainkey.ihre-domain.de. IN TXT "v=DKIM1; k=rsa; p=OEFFENTLICHER_SCHLUESSEL_BASE64" Record-Bestandteile erklärt
- default._domainkey —
defaultist der Selector,_domainkeyist das feste DKIM-Präfix nach RFC 6376 - v=DKIM1 — Pflicht-Tag, identifiziert den Record als DKIM-Schlüssel
- k=rsa — Algorithmus-Tag,
rsaist Standard (alternatived25519) - p=... — der öffentliche Schlüssel im Base64-Format (ohne Header/Footer)
- Selector-Beispiele:
default,selector1,202604(Datum für Rotation)
Der TXT-Record muss beim aktiven DNS-Provider Ihrer Domain angelegt werden — nicht beim Domain-Registrar (falls verschieden). Prüfen Sie mit dig NS ihre-domain.de, welche Nameserver aktiv sind.
Mailserver konfigurieren
Der DNS-Record allein reicht nicht — der Mailserver muss ausgehende E-Mails aktiv mit dem privaten Schlüssel signieren, damit empfangende Server die DKIM-Signatur im Header verifizieren können. Die Konfiguration unterscheidet sich je nach Mailserver und Provider erheblich.
Konfigurationsschritte (allgemein)
- Privaten Schlüssel auf dem Server ablegen (sichere Berechtigungen setzen)
- Selector und Domain in der Mailserver-Konfiguration referenzieren
- Signierung für ausgehende E-Mails aktivieren
- Canonicalization auf
relaxed/relaxedsetzen (toleranter bei Leerzeichen-Änderungen) - Mailserver-Dienst neu starten oder laden
Für detaillierte Konfigurationsschritte nutzen Sie die provider-spezifischen Anleitungen: Postfix (OpenDKIM), Exim (nativ), oder die Anleitungen für Microsoft 365, Google Workspace und die großen deutschen Hoster.
DKIM verifizieren
Nach der Einrichtung prüfen Sie drei Dinge: den DNS-Record, die Signierung ausgehender E-Mails und die vollständige Validierung über den Wolf-Agents Email Security Check. DNS-Änderungen brauchen je nach Provider 5 Minuten bis 24 Stunden.
# DNS-Record abfragen (Selector + _domainkey + Domain)
dig TXT default._domainkey.ihre-domain.de +short
# Erwartete Ausgabe:
# "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
# Test-E-Mail an Gmail senden
echo "DKIM Test" | mail -s "DKIM Verification" test@gmail.com
# Im Gmail-Header prüfen (Originalnachricht anzeigen):
# dkim=pass header.d=ihre-domain.de header.s=default Validieren Sie zusätzlich mit dem Wolf-Agents Email Security Check — dieser prüft DKIM auf Schlüssellänge, Algorithmus, Selector-Konfiguration und DNS-Record-Konsistenz. Der Check erkennt auch veraltete RSA-1024-Schlüssel und fehlende DNS-Records.
Häufige Fehler bei der DKIM-Einrichtung
Die folgenden drei Fehler treten providerübergreifend am häufigsten auf. Jeder einzelne kann dazu führen, dass DKIM fehlschlägt und E-Mails bei strengen DMARC-Policies abgelehnt werden.
DNS-Record beim falschen Provider angelegt
Problem: Der TXT-Record wurde beim Domain-Registrar angelegt, aber die Domain nutzt externe Nameserver (z. B. Cloudflare, Hetzner DNS, Route 53). Der Record existiert zwar, wird aber nicht aufgelöst — weil empfangende Mailserver die aktiven Nameserver abfragen, nicht den Registrar.
Lösung: Prüfen Sie mit dig NS ihre-domain.de, welche Nameserver aktiv sind. Legen Sie den TXT-Record beim aktiven DNS-Provider an — nicht beim Registrar.
Selector in der DNS-Abfrage vergessen
Problem: Der DKIM-Record steht nicht unter ihre-domain.de, sondern unter selector._domainkey.ihre-domain.de. Wer mit dig TXT ihre-domain.de sucht, findet den SPF-Record — aber nicht den DKIM-Record. Der Selector-Name muss dem Mailserver-Konfiguration entsprechen.
Lösung: Den vollständigen Pfad abfragen: dig TXT default._domainkey.ihre-domain.de +short. Den Selector-Namen finden Sie in der Mailserver-Konfiguration oder beim Provider in den DKIM-Einstellungen.
DNS-Record vorhanden, aber Signierung nicht aktiviert
Problem: Der öffentliche Schlüssel steht im DNS, aber der Mailserver signiert ausgehende E-Mails nicht mit dem privaten Schlüssel. Empfangende Server finden keinen DKIM-Header in der E-Mail — der DNS-Record ist nutzlos ohne aktive Signierung. DMARC mit p=reject lehnt solche E-Mails ab.
Lösung: Die Mailserver-Konfiguration prüfen — der DNS-Record ist nur die halbe Einrichtung. Der private Schlüssel muss auf dem Server liegen und die Signierung muss aktiviert sein. Senden Sie eine Test-E-Mail an Gmail und prüfen Sie den DKIM-Header.
DKIM-Anleitung auch für:
Wie steht Ihre Domain bei DKIM?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 165 Prüfpunkte.