SPF, DKIM und DMARC

  • Liebe Freunde der seriösen Mailserver,

    nachdem ich ganz schön lange rumtesten musste bis ich es geschafft habe, die richtigen SPF, DKIM und DMARC - Einträge hinzubekommen, wollte ich mein diesbezügliches Wissen hier mit Euch teilen:


    #####

    SPF #

    #####


    Ziemlich straightforward:

    Hostname: @

    Type: TXT

    Destination: v=spf1 a mx ip4:x.x.x.x ~all


    (keine Anführungszeichen um die Destination nötig!)

    Zum Anzeigen des SPF-Eintrags z.B. dig TXT example.com eingeben, dann steht die Destination in der Answer Section.


    ######

    DKIM #

    ######


    War schon etwas schwieriger: Das größte Problem ist, dass in allen Tutorials die man dazu findet, als Hostname immer mail._domainkey.example.com  als Destination eingetragen wird.


    Man tut dies, und versucht dann verzweifelt, mit dig TXT mail._domainkey.example.com eine Antwort zu bekommen, und bekommt auch nach 48 Std nichts vernünftiges. Wenn man jedoch versucht, mal dig TXT mail._domainkey.example.com.example.com einzugeben, bekommt man plötzlich den richtigen Record: der Hostname ist bei Netcup anscheinend schon automatisch vorhanden, der richtige Eintrag ist also nur mail._domainkey! Zusammengefasst:


    Hostname: identifier._domainkey

    Type: TXT

    Destination: v=DKIM1; k=rsa; p=myPublicKey



    ########

    DMARC #

    ########


    Hier dasselbe Spielchen wie schon bei DKIM: Den Hostname darf man nicht mit angegeben. Debugging möglich mitdig TXT _dmarc.example.com, und wenn das lange kein Ergebnis liefert habt Ihr vielleicht den gleichen Fehler gemacht, und aufgrund von fehlleitenden Tutorials den Hostname als _dmarc.example.com eingegeben. Dann testet einfach nochmal, ob dig TXT _dmarc.example.com.example.com vielleicht eine Ausgabe ergibt. und wenn ja korrigiert den Hostname-Eintrag. Zusammengefasst:


    Hostname: _dmarc

    Type: TXT

    Destination: v=DMARC1;p=quarantine;pct=25;rua=mailto:my+spam+address@example.com



    Viele Grüße und fröhliches Hacken,


    <3 squedda <3

  • 1000 DANK endlich habe ich die DKIM und DMARC zum laufen bekommen, das ich den Hostteil einfach mal weglassen muss, da kommt doch keiner drauf!!!



    1000 DANK für deine Hilfe!!!!!

  • Hinweis: dieser Eintrag sollte ins Wiki, wenn das mal ein Wiki Admin hier ließt nehmt diese Infos bitte unbedingt mit ins Wiki auf.

  • Man tut dies, und versucht dann verzweifelt, mit dig TXT mail._domainkey.example.com eine Antwort zu bekommen

    Ist für Tutorials auch die richtige Schreibweise. Es gibt Anbieter die die Eingabe der kompletten Domain erwarten. Auch kann es sein das Du die komplette Domain eingeben musst, wenn du "oldschool" mit Zonefiles oder nsupdate und einem eigenen bind9 arbeitest.

  • Ich bin ein wenig verwirrt, nachdem ich heute meine erste IDN registriert habe.


    Konkret geht es um den _dmarc-Eintrag für eine Domain mit einem "ä" im Domainnamen.

    ein dig txt _dmarc.kabinett-konträr.de


    Liefert für diese zwei Varianten kein Ergebnis:


    1. _dmarc

    2. _dmarc.xn--kabinett-kontrr-elb.de



    Das CCP verweigert mir an der Stelle des hosts ein "ä" zu verwenden. Daher wird folgende Variante gar nicht erst ins Zonefile eingetragen:

    _dmarc.kabinett-konträr.de


    Ein dmarc-Lookup bei z.B. http://www.mxtoolbox.com zeigt mir auch an, dass es keinen passenden Eintrag gibt:

    https://mxtoolbox.com/SuperToo…tr%c3%a4r.de&run=toolpage

    Sorry, we couldn't find any name servers for '_dmarc.kabinett-konträr.de'


    Wie man hierbei unschwer erkennen kann, wird ein Hosteintrag mit Umlaut erwartet. Und selbiges kann ich nicht im Zonefile eintragen, weil das CCP das verweigert.


    Wie soll ich nun damit umgehen?

  • Im CCP wird nur der Teil der Subdomain eingetragen. Willst Du einen Record für _dmarc.example.net, kommt ins Host-Feld nur _dmarc, wenn Deine Domain example.net ist.


    Oder habe ich Dein Problem falsch verstanden? In diesem Fall bitte einmal einen Screenshot der DNS-Einstellungen aus dem CCP anhängen.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Mir scheint, dass Problem löst sich von selbst. Da mir gerade auffällt wie umständlich und komplex die Nutzung von IDN zu sein scheint (auch z.B. Probleme bei der Verwendung in Mailclienten etc.) wird das ganze Projekt wohl doch auf der alternativen Domain mit ae statt ä laufen müssen.


    Harte Nummer, dass IDN im Jahr 2018 noch immer nicht vernünftig nutzbar sind.

  • Falls du auf die ttl anspielst:

    Auch jetzt wird der dmarc Eintrag nicht gefunden. Und das sind jetzt 3 Stunden.


    Kannst du ja ganz einfach selber nachvollziehen über den Link oben oder über dig +short txt _dmarc.kabinett-konträr.de gibt es kein Ergebnis.


    dig mit punycode liefert allerdings schon ein Ergebnis:
    dig +short txt _dmarc.xn--kabinett-kontrr-elb.de


    Ich würde aber vermuten, dass nicht alle Mailserver da draußen, die eine dmarc-Abfrage starten, automatisch mit punycode abfragen. Dementsprechend ist da schon irgendwie der Wurm drin, wenn es um Umlaute bzw. IDN zusammen mit dmarc geht.

  • Hallo squedda,


    wo finde ich meinen PublicKey in der Netcup -Umgebung?

    Destination: v=DKIM1; k=rsa; p=myPublicKey


    myPublicKey == ?


    Danke schon einmal für die Hilfe.


    LG

    Martin

  • wo finde ich meinen PublicKey in der Netcup -Umgebung?

    Moin Martin!


    Also, um einen kleinen Hintergrund zu geben: Ein PublicKey ist Teil eines Schlüsselpaares das aus privatem und öffentlichem Schlüssel besteht. Dein privater Schlüssel bleibt jederzeit auf Deinem Rechner, den öffentlichen kannst Du nach Herzenslust veröffentlichen. Privater und öffentlicher Schlüssel werden zur gleichen Zeit generiert wenn Du zum Beispiel den folgenden Befehl eingibst:

    Code
    sudo opendkim-genkey -s mail -d example.com

    Der Hintergrund ist deswegen wichtig, weil Du den PublicKey nicht einfach irgendwo findest, sondern gleichzeitig mit dem privaten Schlüssel generierst! :)


    Ich hatte mich beim Einrichten von SPF und DKIM an diesem Tutorial orientiert. Im Grunde genommen musst Du einfach im Ordner /etc/opendkim/keys die Schlüssel generieren und dann Owner und Group auf opendkim:opendkim setzen. Wenn der private Schlüssel im richtigen Ordner ist wird er von opendkim genutzt um alle Deine Nachrichten zu signieren. Mithilfe des öffentlichen Schlüssels kann diese Signatur dann von allen, die die Nachricht erhalten, überprüft werden. Das ist dann quasi ein Beweis, dass die Person, in deren DNS-Record der PublicKey steht, auch tatsächlich diese Nachricht verfasst hat, weil sie auch Zugriff auf den zugehörigen privaten Schlüssel hat :)

  • Guten Tag,


    ich habe es eben schon an einer anderen Stelle hier gepostet. Auf der Seite https://www.linuxbabe.com/mail-server/create-dmarc-record gibt es eine recht umfangreiche Anleitung zum Thema DMARC, SPF und DKIM. MxToolBox wurde bereits genannt. Als weiteres Tool kann ich noch die Seite https://www.mail-tester.com/ zum Testen von Mails empfehlen.

    Mit freundlichen Grüßen


    D. Bachmann


    mtwb | make the web better

    magento | typo3 | webdevelopment | seo | hosting

  • was auch geht eine mail an check-auth@verifier.port25.com senden

    body und suject leer lasen.

    hm. Bei denen krieg ich als ergebnis das mein dkim „failed“. Andere Websites wie mail-tester geben mir 10/10 und meckern nicht über meine dkim records. Hat vielleicht jemand hier einen eigenen mailserver dem ich mal ne Test-Mail schicken könnte? Gerne per PN melden :)

    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com