DMARC

DMARC steht für Domain-based Message Authentication, Reporting and Conformance und nutzte DNS-Einträge, die in Verbindung mit SPF und DKIM arbeiten.

Es mehren sich die Hinweise, dass Domains mit einem DMARC-Eintrag seltener zum Phishing missbraucht werden, dass viele große Provider dank SPF bzw. DKIM solche Fälschungen nicht nur erkennen, sondern anhand DMARC den Inhaber auch informieren und diese durchaus über den Provider dagegen vorgehen.

Microsoft sendet nur DMARC-Report an Absender, wenn die Mail für "outlook.com"-Ziele bestimmt ist. Exchange Online wertet eingehend zwar DMARC und DKIM/SPF aus, aber sendet noch keine Reports (Stand Dez 2021).

13.7.23: MC640228 Microsoft Defender for Office 365: DMARC Policy Handling
https://admin.microsoft.com/Adminportal/Home#/MessageCenter/:/messages/MC640228
Standard: Rollout will begin on July 13th, 2023, and policies will take effect by August 10, 2023. Customers will have 25 days to opt out.
For enterprise customers, the Anti-Phishing policy will have a new default setting to honor DMARC policy. The default actions for 'p=reject' and 'p=quarantine' will be set to 'reject' and 'quarantine,' respectively.

Der Ausgangspunkt von DMARC ist der Schutz der eigenen Domäne gegen Missbrauch von anderen Absendern, indem Sie als Inhaber die entsprechenden Vorarbeiten leisten, damit die Empfänger prüfen können, ob der Absender für diese Domäne auch senden darf. Es gibt mit SPF oder RMX schon ein Verfahren, um die "Source-IP" von Systemen zu veröffentlichen, die für eine Domäne als Absenderhost agieren. Allerdings limitiert dies die Möglichkeiten Mails z.B. über Relays oder Provider zu versenden, bei denen Sie Mailserver-Adressen ändern oder erweitern. Mit DKIM gibt es daher einen Weg, wie eine Mail selbst signiert werden kann. Es ist keine klassische digitale Signatur mit SMime oder PGP aber sehr ähnlich. Die Integrität der Mail wird damit sichergestellt, d.h. der Inhalt gegen Veränderungen geschützt und der Absender bestätigt.

DMARC geht aber weiter und veröffentlich Informationen, wie die Empfänger Sie als Domaininhaber über missbrauch informieren sollen. Die Empfänger prüfen also nicht nur die eingehenden Mails gegen SPF und DKIM-Parameter, sondern über DMARC senden Sie auch Statusmeldungen und Zusammenfassungen an die hinterlegten Rückantwortadressen.

Als Domaininhaber mit einer passenden Verarbeitung erhalten Sie also direkt ein Feedback, wir stark ihre Domäne von fremden Personen unberechtigt genutzt wird. Es dient also primär dem Schutz ihrer Marke. Interessant wird das natürlich, wenn die großen Mailempfänger und Hoster nicht nur SFP und DKIM als Spamfilter nutzen, sondern auch die Daten aus dem DMARC-Eintrag verwenden. Es ist also kein neuer Spamfilter sondern primär addiert DMARC einen Weg, wie Missbrauch auch bekannt werden kann. Aber wenn man DMARC glauben kann, sind das zumindest in den USA schon sehr viele Postfächer.

As of early 2013 DMARC had been deployed to protect roughly 2 billion email accounts - over 60% of consumer mailboxes globally, and over 80% of consumer mailboxes in the united States.
During the first 45 days of initial monitoring, Twitter saw nearly 2.5 billion messages spoofing its domains.
Twitter reports ~110 million messages/day were spoofing its domains prior to deploying DMARC, reduced to only 1,000/day after publishing a "reject" policy.
Quelle: http://www.dmarc.org/

Achtung:
Ein DMARC-Eintrag auf einer Domäne gilt auch für Subdomains! DMARC-Prüfer haben dazu eine Liste der "Root-Domains", um z.B. "<firma>.de" von "<firma.co.uk>" zu unterscheiden.

Achtung:
Ein gesetzter DMARC Eintrag erfordert für die Domäne und alle Subdomains auch einen SPF-Eintrag. Fehlt dieser, dann lehnen viele Firmen die Mails ab, wenn die SPF-Prüfung bei gesetztem DMARC-Eintrag nicht möglich ist.

Bitte nutzen Sie DMARC nur, wenn sie ihre Mals auch mittels DKIM signieren. DMARC bricht SPF bei SRS und dann ist eine gültige DKIM-Signatur ihr Türöffner zum Zielpostfach.

Die Zahlen sind beeindruckend, aber DMARC ist nur die Einstellung, dass die Empfänger mit DMARC-Support an die Domaininhaber auch die Zahlen melden. Der Filter solche "Phishing-Mails" basiert auf SPF und/oder DKIM und gibt es schon länger.

Gutachten zur Vereinbarkeit von DMARC mit der EU-DSGVO
https://certified-senders.org/wp-content/uploads/2018/08/Gutachten_DMARC_und_DSGVO.pdf

NoSpamProxy: SPF, DKIM und DMARC verständlich erklärt
https://www.youtube.com/watch?v=ruah4Xfc3Fg

M3AAWG Email Authentication Recommended Best Practices
https://www.m3aawg.org/sites/default/files/m3aawg-email-authentication-recommended-best-practices-09-2020.pdf

DMARC mit SPF/DKIM

DMARC funktioniert nicht alleine, sondern weist einen kompatiblen Empfängerserver nur an, wie er SPF und DKIM-Prüfungen bewerten soll. Jede Mail, die an einen Server übertragen wird, sollte der Empfänger sowohl per SPF als auch DKIM verifizieren und dann die Ergebnisse bewerten. Das Bild ist sehr vereinfacht. Es passiert viel mehr und gilt auch nur für eine mögliche DMARC-Vorgabe. Sie sollten aber mitnehmen, dass es kein Entweder/Oder ist, sondern der Empfänger SPF und DKIM parallel prüft und dann die Ergebnisse der DMARC-Vorgabe unterwirft.

Mit DMARC kommt aber noch ein Alignment dazu, damit nicht jeder alles einfach signiert. Schützenswert ist die FROM-Adresse und theoretisch könnte ein Mailserver der Domain1 ja auch einfach eine Mail der Domain2 signieren. Erst mit DMARC wird hier eine Kopplung erzwungen.

   (SPF=PASS or DKIM=PASS)
AND
  (
     header-from and envelope-from is aligned
  OR DKIM domain d= aligned with header-from
)

Dadurch, dass der Header-From und Envelope-From gleich sein müssen, wird auch der SPF-Check "wertvoll", den bislang konnte auch ein Spammer mit einem passenden "Envelope-From" den SPF-Check überstehen und trotzdem den Header-From und damit den Absender täuschen.

Der DMARC Eintrag

Dazu ist ein DMARC-Eintrag erforderlich. Aus Sicht von DNS ist es einfach ein TXT-Record, der den Namen "_dmarc" trägt. Ein Eintrag für die MSXFAQ könnte also lauten: (alles ohne Umbrüche und bitte eine gültige Mailadresse verwenden):

Warnung:
Dies ist ein Beispiel damit ich für meine Domäne die Reports bekomme. Bitte nutzen Sie als Mailadresse für ihre Domains bitte ihre eigene Adresse oder einen Dienstleister.

_dmarc.msxfaq.de TXT ="
   v=DMARC1;
   p=none;
   pct=100;
   rua=mailto:dmarc-aggregate@msxfaq.de.net;
   ruf=mailto:dmarc-forensik@msxfaq.de.net;
   adkim=s;
   aspf=r
   "

Die Felder können unterschiedliche Bedeutung haben:

Feld Bedeutung der Werte

v=DMARC1

Kennzeichnet die Version. Aktuell ist Version 1 gültig.

p=
sp=

Policy oder "Subdomain Policy"
Der Wer hinter "p=" kennzeichnet, wie der Empfänger mit Mails umgehen soll, die nicht korrekt mit SPF oder DKIM überprüft werden konnten. Der Eintrag "sp=" beschreibt das Vorgehen für Sub-Domains. mögliche Werte sind:

  • none
    Der Empfänger soll die Mail trotzdem weiter senden
  • quarantine
    Der Empfänger soll die Mail annehmen aber in Quarantäne legen
  • reject
    Der Empfänger soll die Mail direkt auf SMTP-Level ablehnen. Der Absenderserver muss sich um die Benachrichtigung kümmern.

pct=

Prozentsatz der Mails, die entsprechend von "p" gefiltert werden sollen. Wenn jemand aber mit DMARC einen Eintrag addiert und korrekt alle Mails gemäß SPF und DKIM versendet, sollte kein Problem mit einer "100" hier haben

rua

Receive or aggregated Report
Der Empfänger sendet an diese Adresse oder Adressen einen "Summenbericht". Das passiert in der Regel einmal am Tag

Achtung: Wenn der Empfänger in einer anderen SMTP-Domäne ist, dann senden die DMARC-Aggregatoren die Mail in der Regel erst dann, wenn die Empfängerdomäne ihr Einverständnis gegeben hat. Das macht diese ebenfalls per DNS-Eintrag.

msxfaq.de._report._dmarc.netatwork.de   TXT "v=DMARC1"

So gibt die Domäne "netatwork.de" bescheid, dass die DMARC-Report für msxfaq.de annehmen wird.

ruf

receiver of forensic report
An diese Mailadresse sendet der Empfänger einen forensischen Report über die fehlerhafte Mail. Als Betreiber können Sie dann gut erkennen, welcher angebliche Absender an das Ziel versucht hat, eine Mail mit ihrer Domain zu senden. So können Sie "vergessene" Versender erkennen und korrigieren oder versuchen gegen Missbrauch vorzugehen.

Auch für hier verwendete Adressen anderer Domänen muss der Empfänger seine Bereitschaft signalisieren.

Achten Sie darauf, dass der RUF-Eintrag nicht mit der DSGVO in Konflikt steht.

Gutachten zur Vereinbarkeit von DMARC mit der EU-DSGVO
https://certified-senders.org/wp-content/uploads/2018/08/Gutachten_DMARC_und_DSGVO.pdf

adkim

Abgleicheinstellung für DKIM.
Hiermit können Sie vorgeben, wie streng die Prüfung bezüglich DKIM sein soll.

  • s=Strict
    Die Domäne muss  exakt übereinstimmen, z.B. "newsletter@msxfaq.de" wäre korrekt
  • r=Relaxed
    Die Kopfzeile im SMTP-Header darf auch eine Subdomain sein, z.B. "newsletter@news.msxfaq.de"

aspf

Dieser Parameter steuert analog die SPF-Auswertung.

  • s=Strict
    Die Domäne muss exakt übereinstimmen
  • r=Relaxed
    Die Kopfzeile im SMTP-Header darf auch eine Subdomain sein, z.B. "newsletter@msxfaq.de"

fo

Mit diesem "jungen" Parameter kann ich steuern, ob ich z.B. nur Fehler erhalten möchte.

  • fo=0 (Default)
    Erzeuge einen Fehlerbericht, wenn SPF und DKIM auf "failed" gehen
  • fo=1
    Erzeuge einen Fehlerbericht, wenn SPF oder DKIM auf "failed" gehen, also einer reicht
  • fo=d
    Melde, wenn eine Mail eine fehlerhafte Signatur hat, unabhängig vom SPF/DKIM Ergebnis
  • fo=s
    Melde einen SFP=Fail-Fehler, unabhängig von DKIM u.a.

Mehrere Werte können per "colon" getrennt addiert werden. In der Regel nutzt man aber 1

fo=1:d:s

Für eine erfolgreiche DMARC-Validierung reicht es, wenn eines der beiden Checks, SPF oder DKIM erfolgreich war. DKIM wird überwiegend genutzt, wenn die Authentizität der Mail auch über Relaisstationen gewährleistet werden soll, aber erlaubt kein Umschreiben der Absender (Stichwort Mailingliste). Hier ist dann SPF besser, wenngleich dann die ausgehenden IP-Adressen gepflegt sein müssen.

Wer mit DMARC anfängt, kann also erst einmal den Eintrag setzen aber stellt also Aktion z.B. "p=none" und schaut sich die Meldungen einige Zeit an.

Beispieleinträge von Firmen

Ob eine Firma DMARC einsetzt, können Sie einfach per NSLOOKUP ermitteln.

C:\>nslookup -q=TXT _dmarc.microsoft.com
Server:  dns.netatwork.de
Address:  192.168.100.1

Nicht autorisierende Antwort:
_dmarc.microsoft.com    text = 
        "v=DMARC1; p=none; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com; fo=1"

Wenn man ein paar bekannte Firmen anfragt, dann sieht man durchaus einige interessante Einträge:

_dmarc.microsoft.com  text = "v=DMARC1; p=none; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com; fo=1"
_dmarc.outlook.com    text = "v=DMARC1; p=none; pct=100; rua=mailto:d@rua.agari.com,mailto:dmarc_agg@auth.returnpath.net; 
                                                         ruf=mailto:d@ruf.agari.com,mailto:dmarc_afrf@auth.returnpath.net; fo=1"
_dmarc.mail.ru        text = "v=DMARC1;p=none;rua=mailto:d@rua.agari.com,mailto:dmarc_rua@corp.mail.ru,mailto:dmarc_agg@auth.returnpath.net;
                                              ruf=mailto:d@ruf.agari.com,mailto:dmarc_afrf@auth.returnpath.net;fo=1;"

_dmarc.yahoo.com      text = "v=DMARC1; p=reject; sp=none; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com, mailto:dmarc_y_rua@yahoo.com;"
_dmarc.google.com     text = "v=DMARC1; p=quarantine; rua=mailto:mailauth-reports@google.com"
_dmarc.aol.com        text = "v=DMARC1; p=reject; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com;"
_dmarc.bahn.de        text = "v=DMARC1; p=none; rua=mailto:dmarc.reporting@deutschebahn.com;"
_dmarc.dell.com       text = "v=DMARC1; p=none; rua=mailto:dmarc-dell-rua@sonicwall.com; ruf=mailto:dmarc-dell-ruf@sonicwall.com"
_dmarc.amazon.com     text = "v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@bounces.amazon.com; 
                                                               ruf=mailto:dmarc-reports@bounces.amazon.com"
_dmarc.dhl.de         text = "v=DMARC1;p=none;rua=mailto:dhl@rua.agari.com;ruf=mailto:dhl@ruf.agari.com"
_dmarc.ups.de         cname = _dmarcmonitor.ups.com
_dmarcmonitor.ups.com text = "v=DMARC1; p=none; rua=mailto:ups@rua.agari.com; ruf=mailto:ups@ruf.agari.com; fo=1"
_dmarc.ups.com        text = "v=DMARC1; p=reject; rua=mailto:ups@rua.agari.com; ruf=mailto:ups@ruf.agari.com; fo=1"
_dmarc.ing-diba.de    text = "v=DMARC1; p=none; rua=mailto:SecurityServices@ing-diba.de" 
_dmarc.ebay.de        text = "v=DMARC1; p=none; rua=mailto:dmarc_agg@auth.returnpath.net; 
                                                ruf=mailto:dmarc_afrf@auth.returnpath.net; rf=afrf; pct=100"
_dmarc.paypal.com     text    "v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:dk@bounce.paypal.com,mailto:d@ruf.agari.com"

Es ist gut zu sehen, dass die großen Versender und Logistiker, aber auch die Internet-Firmen hier Vorreiter spielen. Interessant sind hier natürlich insbesondere die Einträge zum RUF und RUA´. Scheinbar nutzen sehr viele die Dienste von agari.com, um die Ergebnisse von "Domainmissbrauch" zentral zu erkennen. Auf deren Webseite finden sich Daten wie:

In fact, we get data from 85% of all email inboxes in the US and 60% of email inboxes globally.
Quelle: http://agari.com/what-we-do/

Auf der anderen Seite haben gerade deutsche Domains hier noch Nachholbedarf. (Stand Okt 2014). Ich habe einfach ein paar Namen einmal durch probiert. Gerade die großen Provider scheinen hier eher auf ihr "E-Mail Made in Germany" zu setzen.

_dmarc.t-online.de            text = nicht vorhanden
_dmarc.telekom.de             text = nicht vorhanden
_dmarc.gmx.de                 text = nicht vorhanden
_dmarc.web.de                 text = nicht vorhanden
_dmarc.basf.com               text = nicht vorhanden
_dmarc.siemens.de             text = nicht vorhanden
_dmarc.rwe.de                 text = nicht vorhanden
_dmarc.bsi.de                 text = nicht vorhanden
_dmarc.ccc.de                 text = nicht vorhanden
_dmarc.deutsche-bank.de       text = nicht vorhanden
_dmarc.netbank.de             text = nicht vorhanden
_dmarc.allianz.de             text = nicht vorhanden
_dmarc.aldi.de                text = nicht vorhanden
_dmarc.tchibo.de              text = nicht vorhanden
_dmarc.ebay-kleinanzeigen.de  text = nicht vorhanden

Interessant ist auch, dass die Banken noch nicht dabei sind. Es ist, wie schon geschrieben, nicht schlimm, wenn eine Domain DMARC nicht unterstützt. Letztlich muss jede Firma selbst entscheiden, ob ihr Mailsystem die Mails per DKIM signieren kann und dann per DMARC dies den Empfängern mitgeteilt wird. Ich persönlich würde ja eh viel mehr auf eine echte S/MIME-Signatur setzen aber es ist durchaus eine Option den eigenen Namen und die Marke zu schützen.

Reporting

Die Rückmeldungen der entfernten Server, an die Mails mit ihrer Domain gesendet werden, kommen ganz klassisch per Mail und nicht "modern" über Webservices. Entsprechend muss die im DMARC-Record hinterlegte Mailadresse natürlich einem Postfach zugeordnet sein. Das muss aber kein Postfach in ihrer Domäne sein und wenn Sie sich die DMARC-Records der oben genannten Firmen anschauen, dann erkennen Sie eine Häufung der Firmen "agari.com" und "returnpath.net". Beide sind Dienstleister die solche Rückläufer einsammeln und die Auswertung als "Hosted Service" ihren Kunden anbieten. Sie können die Mails aber natürlich auch in ein eigenes Postfach ablegen.

Achtung:
Als deutsche Firma sollten Sie überlegen ob sie selbst DMARC-Reports an andere Firmen senden oder in welcher Weise Sie die Reports aus Datenschutzgründen verwässern.
https://www.eco.de/2015/pressemeldungen/phishing-abwehr-datenschutzrechtliche-bedenken-gutachten-empfiehlt-redacting.html 

Ich habe dazu bei einer meiner Spiel-Domains einfach mal einen _DMARC-Eintrag addiert und als RUF/RUA-Adresse meine normale Mailbox angegeben. Hier der Mustereintrag

C:\>nslookup -q=TXT _dmarc.frankcarius.de
Server:  fritz.box
Address:  192.168.178.1

Nicht autorisierende Antwort:
_dmarc.frankcarius.de   text =

        "v=DMARC1;p=none;pct=100;rua=mailto:frank.carius@netatwork.de;ruf=mailto:frank.carius@netatwork.de;adkim=s;aspf=r"

Dann habe ich eine Testmail an eine outlook.com-Adresse gesendet. Die kam durch, weil im DMARC-Eintrag ein "p=none" steht.

Aber nun habe ich gespannt auf die Mail in dem angegeben Postfach gewartet. Die kam dann auch kurz nach Mitternacht:

Der Body der Mail war leer und als Anlage war eine ZIP-Datei angehängt. In der war wiederum genau eine XML-Datei, in der z.B.: die vom Empfänger gesehenen Einstellungen wieder gegeben sind und die Detaildaten der Verbindung. Hier war es genau eine von der Source-IP "80.66.20.28".

<?xml version="1.0" encoding="utf-8"?>
<feedback>
   <report_metadata>
      <org_name>Microsoft Corp.</org_name>
      <email>dmarcrep@microsoft.com</email>
      <report_id>e7c320ad9ac24ac9a153ac17065a2db9@hotmail.com</report_id>
      <date_range>
         <begin>1414015200</begin>
         <end>1414101600</end>
      </date_range>
   </report_metadata>
   <policy_published>
      <domain>frankcarius.de</domain>
      <adkim>s</adkim>
      <aspf>r</aspf>
      <p>none</p>
      <sp>none</sp>
      <pct>100</pct>
   </policy_published>
   <record>
      <row>
         <source_ip>80.66.20.28</source_ip>
         <count>1</count>
         <policy_evaluated>
            <disposition>none</disposition>
            <dkim>fail</dkim>
            <spf>fail</spf>
         </policy_evaluated>
      </row>
      <identifiers>
         <header_from>frankcarius.de</header_from>
      </identifiers>
      <auth_results>
         <spf>
            <domain>frankcarius.de</domain>
            <result>none</result>
         </spf>
         <dkim>
            <domain>frankcarius.de</domain>
            <result>none</result>
         </dkim>
      </auth_results>
   </record>
</feedback>

Man sieht auch, dass sowohl die SFP- als auch die DKIM-Abfrage fehlgeschlagen sind. Leider konnte ich im Header der Mail keine Hinweise darauf sehen, dass diese Stausmail per DKIM gesichert war. So kann ich nicht sicher sein, dass nicht jemand anderes mit einen StatusBericht sendet und damit die daraus generierten Statistiken verändert.

Ein kleiner PowerShell-Einzeiler liefert eine Tabelle der Statusmeldungen:

[xml]$report=Get-Content C:\temp\temp\report.xml
$report.feedback.record | select {$_.row.source_ip}, {$_.identifiers.header_from}, {$_.auth_results.spf.result}, {$_.row.policy_evaluated.spf}
 
$_.row.source_ip    $_.identifiers.head $_.auth_results.spf $_.row.policy_evalu
                    er_from             .result             ated.spf
----------------    ------------------- ------------------- -------------------
117.111.120.11      msxfaq.com          pass                pass
117.111.120.11      de.msxfaq.com       none                fail
93.199.90.91        msxfaq.com          pass                pass
93.199.90.91        de.msxfaq.com       none                fail
93.199.90.94        msxfaq.com          pass                pass
93.199.90.94        de.msxfaq.com       none                fail
62.242.148.41       de.msxfaq.com       none                fail

Wer also mag, kann z.B. alle Anlagen aus dem DMARC-Sammelpostfach abfischen und verarbeiten.

Störpotential beim Reportpostfach

Für Spammer sind diese Adressen zwar leicht per DNS "einzusammeln" aber natürlich kein lohnendes Ziel. Diese Mails wird wohl nie ein unbedarfter Anwender lesen. Damit niemand gefälschte Reports darunter mischt, werden natürlich auch diese Mails per SPF/DKIM gesichert, so dass Fälschungen früh aussortiert werden können. Und selbst dann wird der verarbeitende Prozess eine Mail nur dann verstehen, wenn Sie sich an das Format hält. Dennoch scheint es Spammer zu geben, die entweder die Mailadresse hier auf der Webseite eingesammelt haben oder tatsächlich den DNS-Eintrag parsen. Auf jeden Fall kommt tatsächlich Spam an diese Adresse.

Es gibt aber dennoch ein Störpotential. Es ist heute sehr einfach eine Domäne im Internet zu registrieren und einen DMARC-Eintrag zu addieren, in dem eine Mailadresse einer anderen Person hinterlegt wird, die ich stören möchte. Wenn der Mailserver dieses Ziels nicht SPF/DKIM prüft und gefälschte Report-Mails verwirft, dann wird er die Mails in das Postfach zustellen.

Wenn ich dann absichtlich eine Mail mit dieser Absenderdomäne z.B. an einen Server sende, der SFP/DKIM prüft und die Reports anhand des DMARC-Eintrags erstellt, dann sendet dieser Server eine Mail an die hinterlegte Adresse. Das kann schon störend sein, wenn ich von einem PC eben tausende "kleine" Mails an viele Mailserver mit SPF/DKIM-Support sende und diese dann eine deutlich größere "Statusmail" an die DMARC-Reportadresse sende. Ob das schon für einen DDoS per SMTP reicht?

RFC 7489: DMARC External Validation

Wenn die "Report-Adresse" in einer anderen Domäne liegt, dann können Sie den Eintrag zwar anlegen aber erwarten Sie nicht, dass etwas ankommt. Dies hier ist ein gültiger DMARC-Eintrag

_dmarc.msxfaq.de TXT v=DMARC1; p=reject; rua=mailto:dmarctest@carius.de; ruf=mailto:dmarctest@carius.de"

Als Besitzer der Domain "msxfaq.de kann ich so einen Eintrag einfach addieren und damit das Internet anweisen, Reports an die "dmarctest@carius.de" zu senden. Wie kann ich aber sicherstellen, dass der Empfänger überhaupt diese Mails annehmen kann und will?. Als Inhaber von "dmarctest@carius.de" kann ich mich nicht dagegen wehren, wenn eine von mir nicht verwaltete Domäne so einen Eintrag macht.

Daher habe die DMARC-Sender den Standard etwas erweitert. Der Betreiber von "carius.de" muss ebenfalls einen DNS-Eintrag addieren, mit dem er seine Empfangsbereitschaft anzeigt. Das sieht dann so aus:

msxfaq.de._report._dmarc.carius.de TXT "v=DMARC1"

Damit veröffentliche ich als Inhaber von "carius.de" die Bereitschaft, DMARC-Mails mit Reports über die Domäne "msxfaq.de" anzunehmen.

DMARC und Microsoft

Achtung: Microsoft macht Ernst und wertet DMARC aus und erzwingt es.

13.7.23: MC640228 Microsoft Defender for Office 365: DMARC Policy Handling
https://admin.microsoft.com/Adminportal/Home#/MessageCenter/:/messages/MC640228
Standard: Rollout will begin on July 13th, 2023, and policies will take effect by August 10, 2023. Customers will have 25 days to opt out.
For enterprise customers, the Anti-Phishing policy will have a new default setting to honor DMARC policy. The default actions for 'p=reject' and 'p=quarantine' will be set to 'reject' and 'quarantine,' respectively.

Nicht immer gehört Microsoft zu den "ersten" einer neue Technologie und so hat es bis Dezember 2021 gedauert, bis ich das erste Mal von Microsoft einen Report bekommen haben.

Ich habe einmal die angehängte GNUZip (gz)-Datei ausgepackt. Sie enthält genau eine XML-Datei, deren Dateiname wie folgt zusammengesetzt ist:

protection.outlook.com!msxfaq.com!1638403200!1638489600.xml.gz
<hostname, der den Report erstellt>!<Domain für den Report>!<Startzeitpunkt>!<Endezeitpunkt>

Der Zeitstempel sind die Sekunden seit 1.1.1970 00:00, was per PowerShell einfach geprüft werden kann

PS C:\> (get-date 1.1.1970).addseconds(1638403200)

Donnerstag, 2. Dezember 2021 00:00:00

Die XML-Datei enthält hier dann die Information, dass der Server mit der IP-Adresse 20.88.13.161 (Gehört zu Microsoft!) versucht, eine Mail an eine Hotmail-Adresse zu senden und dabei meine durch DMARC/DKIM/SPF-geschützte Domain "msxfaq.com" als "Header From" zu missbrauchen

Wegen einer Mail schlage ich nun nicht Alarm. Es hat ja alles funktioniert, Für eine Firma wäre es nur interessant, wenn hier ein System erscheint, welches legitim die Domain verwenden dürfte.

DMARC bei 1&1

Seit Anfang 2016 hat die 1und1-Gruppe den Schutz gegen Spam mittels SPF noch etwas verstärkt. Der Versuch aber einen DMARC-Eintrag zu addieren, schlägt leider fehlt. Technisch musste man dazu bei 1und1 früher eine "Subdomain" anlegen aber im neuen Control-Center können Sie auf der Domäne direkt einen TXT-Record addieren. Allerdings ist die aktuell (Jun 2016) nicht möglich, da die Eingabe eine Validierung macht und ein einfaches _dmarc.<domain> nicht erlaubt ist.

Leider kann ich auch keine "Subdomain" mit einem "_" ersatzweise anlegen. Hier muss 1und1 wohl noch etwas korrigieren, damit auch DMARC-Einträge möglich werden

DMARC Auswertungen

Die Rückmeldungen von Firmen, die DMARC-Einträge auswerten, kommen in dem angegebenen Postfach als XML-Datei an. Sicher könnten Sie nun das Postfach lesen und auswerten, sei es per Outlook oder mit einem PowerShell-Skript. Aber dann steht immer noch die grafische Auswertung an. Im Zeichen der Cloud gibt es einige Anbieter, die ihnen die Arbeit hier abnehmen. Sie lassen die Reports einfach an diesen Anbieter senden oder leiten ihre Reports weiter. Per Browser können Sie dann entsprechend aufbereitet Reports betrachten. hier ein Beispiel

Die Ergebnisse speisen sich aus den Zurückgelieferten DMARC-Reports von Google, Yahoo und anderen entsprechend prüfenden Gegenstellen. Sie erkennen gut die verifizierten Mails, die per DKIM/SPF auch "pass" haben. Es gibt aber auch einige Systeme, die anscheinend Mails weiterleiten, d.h. ein Empfänger leitet die Mail an ein drittes System. Häufiger Fall sind hier Weiterleitungen von Firmenkonten auf ein privates GMail-Konto, was die Firma sicher nicht gut findet. Hier ist dann SPF=Fail. Ganz am ende sehen Sie unter "Unknown" dann die Systeme, die Mails "spoofen".

Die folgende Liste von DMARC-Auswertestellen ist keine repräsentative Marktübersicht und darf nicht als Empfehlung meinerseits missverstanden werden.

Weitere Links