DMARC - Interessante Anti-Spam Maßnahme

      ca. 2 Minuten Lesezeit  

Es ist jetzt 2 Wochen her, als ich einen DNS-Eintrag für viele meiner Domains hinzugefügt habe:

$ host -t txt _dmarc.mthie.com
_dmarc.mthie.com descriptive text "v=DMARC1\; p=reject\; rua=mailto:antispam@mthie.com"

Was macht dieser Eintrag genau?

Empfängt ein Mailserver mit DMARC-Unterstützung eine E-Mail von der Domain mthie.com, prüft es die SPF- und DKIM-DNS-Einträge der Domain und schaut, ob der sendende Server auf die SPF-Einträge passt und ob die DKIM-Signatur korrekt sind und verarbeitet die Mail dann entsprechend der DMARC-Regeln.

Reichen die SPF- und DKIM-Einträge nicht aus?

Nunja, mehr oder weniger. Hat man nur SPF und DKIM, werden Mail entsprechend mit Punkten im Spam-Ranking versehen und ab einem bestimmten Wert als Spam markiert und wegsortiert oder bei manchen Servern direkt abgelehnt. Mit DMARC widerum kann man als Domaininhaber selbst bestimmen, was passieren soll. Es geht ja nicht um Mails, die man selbst verschickt, sondern die andere im Namen der Domain versenden.

Ich kann selbst bestimmen, ob die invaliden Mails erstmal nur im Spam des Empfängers landen oder direkt auf SMTP-Ebene abgelehnt werden sollen. Dies kann man sogar anfangs prozentual festlegen, da man sich bei einer Migration nicht immer ganz sicher ist, ob man auch alle Server im SPF-Eintrag hat oder ob alle Server korrekte Signaturen mitgenerieren.

Schickt also ein Spammer im Namen meiner Domain Spam, bekomme ich bei invaliden Empfängern keine Fehlermail mehr, die eh im Spam-Folder landet, sondern der spammende Server wird seine Mail gar nicht erst los.

Woher weiss man jetzt, ob das alles so klappt?

Was ich ganz smart finde: unterstützende Server können einem Reports schicken, wieviele Mails von welchen Servern abgelehnt oder im Zweifel angenommen wurden und bisher hab ich von Microsoft- als auch Google-Servern reichlich Feedback bekommen. Das sieht dann so aus:

<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
  <report_metadata>
    <org_name>google.com</org_name>
    <email>noreply-dmarc-support@google.com</email>
    <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
    <report_id>12441399634249292487</report_id>
    <date_range>
      <begin>1455148800</begin>
      <end>1455235199</end>
    </date_range>
  </report_metadata>
  <policy_published>
    <domain>mthie.com</domain>
    <adkim>r</adkim>
    <aspf>r</aspf>
    <p>reject</p>
    <sp>reject</sp>
    <pct>100</pct>
  </policy_published>
  <record>
    <row>
      <source_ip>123.17.108.44</source_ip>
      <count>2</count>
      <policy_evaluated>
        <disposition>reject</disposition>
        <dkim>fail</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>mthie.com</header_from>
    </identifiers>
    <auth_results>
      <spf>
        <domain>mthie.com</domain>
        <result>none</result>
      </spf>
    </auth_results>
  </record>
</feedback>

Und nu?

Und nu wäre es voll schnafte, wenn diese DMARC-Sache sich verbreiten würde und es mehr Mailserver-Admins gäbe, die diese Unterstützung einbauen würden, vor allem die E-Mail-Made-In-Germany-Hansel, denn damit wären die großen in Deutschland vertretenen Mailer schon mal abgedeckt. Wie das Ganze funktioniert, kann man sich auf DMARC.org anschauen.