E-Mail-Check: SPF, DKIM und DMARC prüfen
Zeigt nach dem Eintragen, ob SPF, DKIM und DMARC öffentlich stehen und wirken, mit Klartext je Ampel.
Kostenloser DKIM-Generator
Der Generator erzeugt ein RSA-Schlüsselpaar mit 2048 Bit und daraus den TXT-Eintrag unter
selector._domainkey.deine-domain.at, der mit v=DKIM1; k=rsa; p= beginnt. Den
privaten Schlüssel bekommst du als PEM-Datei für deinen Mailserver.
Das Schlüsselpaar entsteht in deinem Browser. Der private Schlüssel verlässt deinen Rechner nicht, wird nicht übertragen und nicht gespeichert. Für Microsoft 365, Google Workspace und die meisten Hoster brauchst du den Generator nicht: dort erzeugt der Anbieter den Schlüssel.
In drei Schritten zu DKIM
Erzeugen
Domain und Selector eingeben, Schlüsselpaar erzeugen. Der private Schlüssel kommt auf den Mailserver.
Eintragen
Den öffentlichen Schlüssel als TXT-Eintrag selector._domainkey in der DNS-Verwaltung anlegen.
Prüfen
Mit dem E-Mail-Check nachsehen, ob der Schlüssel öffentlich steht.
Der Generator braucht JavaScript. Ohne läuft er nicht; das Schlüsselpaar lässt sich genauso mit OpenSSL auf dem eigenen Server erzeugen, die zwei Befehle stehen weiter unten.
Dein DKIM-Eintrag
TXTmail._domainkey
Vollständig: mail._domainkey.deine-domain.at
v=DKIM1; k=rsa; p=… (erscheint nach dem Erzeugen)
Eingetragen und der E-Mail-Check findet den Schlüssel nicht, oder senden mehrere Dienste in deinem Namen? Lieber einrichten lassen: E-Mail-Schutz für 390 €, mit SPF, DKIM und DMARC für alle Versandwege.
Prüfung:
Privater Schlüssel
Nur für deinen Mailserver. Nicht per Mail verschicken, nicht ins DNS. Wer ihn hat, kann in deinem Namen gültig signieren. Er ist nirgends gespeichert: Lädst du die Seite neu, ist er weg.
Für BIND-Zonendateien und DNS-Oberflächen, die lange Werte ablehnen. Die Stücke setzt der Empfänger ohne Zwischenraum wieder zusammen (RFC 6376, Abschnitt 3.6.2.2).
Eingetragen? Mit dem E-Mail-Check prüfen, ob der Schlüssel öffentlich steht.
DKIM braucht zwei Schlüssel: Der private signiert jede ausgehende Mail, der öffentliche steht im DNS, damit Empfänger die Signatur prüfen können. Den privaten muss der Server haben, der die Mails verschickt. Daraus folgt, wer ihn erzeugt.
selector1._domainkey und selector2._domainkey setzen.google._domainkey übernehmen.Ein selbst erzeugter Schlüssel hilft hier nicht, weil der Anbieter mit seinem eigenen signiert. Wie das bei den Anbietern konkret aussieht: Microsoft 365: SPF, DKIM und DMARC und DKIM und DMARC beim Hoster.
Für genau diese Fälle ist der Generator gebaut. Weißt du nicht, ob deine Domain schon einen Schlüssel hat und unter welchem Selector: DKIM-Selector finden und Schlüssel prüfen.
mail._domainkey (mit deinem Selector). Steht die Domain neben dem Feld schon
da, nicht noch einmal anhängen, sonst entsteht mail._domainkey.deine-domain.at.deine-domain.at.
dkim=pass.
DKIM allein schützt noch nicht vor gefälschten Absendern. Das tut erst DMARC, das SPF und DKIM zusammenführt: Die Reihenfolge steht in DMARC einrichten: SPF, DKIM und der _dmarc-Eintrag, die beiden anderen Einträge bauen der SPF-Generator und der DMARC-Generator.
Den Wert aus der DNS-Verwaltung oder aus dig TXT mail._domainkey.deine-domain.at einfügen, auch in
mehreren Zeichenketten mit Anführungszeichen. Der Prüfer liest Tags, Schlüsseltyp und Schlüssellänge, im Browser.
Ein DKIM-Eintrag ist eine Reihe von Tags, getrennt durch Semikolon (RFC 6376, Abschnitt 3.6.1):
v=DKIM1 ist die Version. Steht sie da, muss sie der erste Tag sein.k=rsa ist der Schlüsseltyp. rsa ist die Vorgabe; ed25519 gibt es seit RFC 8463, wird aber nicht von allen Empfängern geprüft.p= ist der öffentliche Schlüssel in Base64. Ein leeres p= heißt: Dieser Schlüssel ist widerrufen.t=y markiert den Testmodus, t=s erlaubt keine Subdomains in der Absenderadresse.h= schränkt die Hash-Verfahren ein. Steht dort nur sha1, ist der Eintrag veraltet.
Zur Schlüssellänge sagt RFC 8301: Signierer
müssen mindestens 1024 Bit verwenden und sollen 2048 Bit verwenden. Mit rsa-sha1 darf nicht mehr
signiert werden. Ein Schlüssel mit 2048 Bit ergibt einen Wert von rund 400 Zeichen. Weil eine einzelne
Zeichenkette im DNS höchstens 255 Zeichen lang sein darf, steht er dort in zwei Stücken
(RFC 6376, Abschnitt 3.6.2.2).
Den Selector wählst du frei. Mehrere Selectoren nebeneinander sind erlaubt und üblich: einer je Dienst, oder ein neuer beim Schlüsselwechsel, während der alte noch ein paar Tage stehen bleibt, bis keine damit signierten Mails mehr unterwegs sind.
Wer den privaten Schlüssel gar nicht erst außerhalb des Servers haben will, erzeugt ihn direkt dort. Das Ergebnis ist dasselbe wie oben:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out mail.private.pem
openssl pkey -in mail.private.pem -pubout -outform DER | openssl base64 -A
Die zweite Zeile gibt den Wert für p= aus. Davor kommt v=DKIM1; k=rsa; , fertig ist der
Eintrag. Den kannst du oben im Prüfer gegenlesen.
Der Generator und der erste Befehl liefern den privaten Schlüssel im Format PKCS#8 (BEGIN PRIVATE KEY).
Verlangt deine Software das ältere Format (BEGIN RSA PRIVATE KEY), wandelt
openssl pkey -in mail.private.pem -traditional -out mail.rsa.pem ihn um.
Zeigt nach dem Eintragen, ob SPF, DKIM und DMARC öffentlich stehen und wirken, mit Klartext je Ampel.
Den SPF-Eintrag aus Mailanbieter, Newsletter-Dienst und eigenen Servern zusammensetzen, mit Zählung der DNS-Abfragen.
Wenn DKIM steht: Richtlinie und Berichtsadresse wählen und den DMARC-Eintrag kopieren.
SPF, DKIM und DMARC beim bestehenden Anbieter eingerichtet, für alle Versandwege, schrittweise bis reject, mit Auswertung der Berichte.
Nein. Das Schlüsselpaar entsteht mit der Kryptografie-Schnittstelle deines Browsers (WebCrypto) auf deinem Rechner. Es gibt keine Abfrage an einen Server, und gespeichert wird nichts: Lädst du die Seite neu, ist der Schlüssel weg. Gezählt wird nur, dass ein Schlüssel erzeugt oder kopiert wurde, ohne Inhalt.
Nein. Beide erzeugen den Schlüssel selbst und signieren damit. Bei Microsoft 365 setzt du zwei CNAME-Einträge, bei Google Workspace den TXT-Eintrag, den die Admin-Konsole anzeigt. Ein selbst erzeugter Schlüssel würde dort nie benutzt.
2048 Bit. RFC 8301 verlangt mindestens 1024 und empfiehlt 2048. 1024 Bit nur dann, wenn die DNS-Oberfläche deines Hosters den längeren Wert nicht annimmt und auch keine Zonenzeile mit mehreren Zeichenketten erlaubt.
Ein frei gewählter Name, unter dem der öffentliche Schlüssel im DNS steht: selector._domainkey.deine-domain.at. Er steht in jeder Signatur als s=, damit der Empfänger weiß, welchen Schlüssel er abfragen muss. So können mehrere Dienste mit eigenen Schlüsseln für dieselbe Domain signieren.
Eine feste Pflicht gibt es nicht. Spätestens wenn der private Schlüssel jemandem in die Hände gefallen sein könnte, etwa nach einem Einbruch in den Server: neuen Selector anlegen, darauf umstellen, und beim alten nach ein paar Tagen p= leeren.
Viele Oberflächen teilen lange TXT-Werte selbst auf. Wenn nicht: die Zonenzeile aus dem Generator nehmen, in der der Wert in Stücken zu höchstens 255 Zeichen steht, oder den Schlüssel mit 1024 Bit neu erzeugen.