E-Mail Absender Fälschung mit SPF, DMARC & DKIM verhindern

Share

Verifizieren von eingehenden Mails und signieren von Ausgehenden

Einen Email-Absender zu fälschen, um z.B. Spam- oder  Phishing-Mails zu versenden ist
denkbar einfach und wird millionenfach jeden Tag gemacht. Als Gegenmaßnahme

stehen eine Reihe von Sicherungsmöglichkeiten zur Verfügung, die es einem Empfänger möglich machen, den Absender (sowohl die Person, als auch den Server/Smarthost) einer E-Mail zu verifizieren. Wenn jedoch ein Empfänger diese Möglichkeiten nicht nutzt und jede Email ungeprüft akzeptiert, kann man das als Versender nicht verhindern. Grundsätzlich sollte man jede Möglichkeit nutzen eingehende Mails auf Ihre Echtheit zu prüfen und auch jedem anderen die Möglichkeiten zur Verfügung stellen, die von Ihrem Server versendeten Mails einwandfrei verifizieren zu können. Lesen Sie auch den Artikel von Golem.de dazu.

Wenn man folgende Maßnahmen der Reihe nach umsetzt hat man nach heutigem Stand der Technik  alles an Möglichkeiten ausgeschöpft:

1. Ein vollständig konfigurierte MX DNS und Smarthost mit RDNS

2. Grundkonfiguration Email Protection Sophos UTM Astaro

3. SPF - Sender Policy Framework

4. DKIM -  DomainKeys Identified Mail

5. DMARC - Domain-based Message Authentication, Reporting and Conformance, basiert auf SPF und DKIM

6. Digitale Signatur S/MIME

DMARC wird u.a. von folgenden Mailhostern unterstützt:

Microsoft/Hotmail.com | dmarcrep@microsoft.com
Mail.ru | dmarc_support@corp.mail.ru
AOL.com | abuse_dmarc@abuse.aol.com
Google/Gmail.com | noreply-dmarc-support@google.com

 

Email Prüfung in der Sophos UTM

 

In der Sophos UTM werden eingehende Mail überprüft, unter

Email Protection -> SMTP |Antispam| "Advanced anti-spam Features",  man kann einzelnen Maßnahmen zur Überprüfung eingehender Mails aktivieren:

- 'Reject invalid HELO / missing RDNS' => Smarthost, SMTP Banner und RDNS Überprüfung

- 'Perform SPF check' => SPF und DKIM

mit  Greylisting und  BATV ( Bounce Address Tag Validation) sind nur optionale Maßnahmen, aber durchaus sinnvoll

 

 

DMARC - Domain-based Message Authentication, Reporting and Conformance, basierend auf SPF und DKIM

How Does DMARC Work?

A DMARC policy allows a sender to indicate that their emails are protected by SPF and/or DKIM, and tells a receiver what to do if neither of those authentication methods passes - such as junk or reject the message. DMARC removes guesswork from the receiver's handling of these failed messages, limiting or eliminating the user's exposure to potentially fraudulent & harmful messages. DMARC also provides a way for the email receiver to report back to the sender about messages that pass and/or fail DMARC evaluation.
From: dmarc.org

 

DMARC ist ein weiterer DNS TXT in dem man angeben kann, wie mit offensichtlich gefälschten Email der eigenen Domain verfahren werden soll. Voraussetzung für das DMARC Verfahren sind SPF und DKIM, beide müssen vorher eingerichtet werden. Viele größere Internetfirmen (u.a. AOL, Outlook.com, Google, Yahoo, PayPal & Facebook) halten sich daran. Wenn also jemand ihre Email-Domain benutzt um Spam zu versenden, und die Domain besitzt einen DMARC TXT DNS, wird die gefälschte Mail nicht zugestellt.
.

 

Um diese Funktion nutzen zu können, müssen sie sich strikt an die SPF und DKIM halten, d.h. keine Mails von Hosts versenden, die nicht im SPF angegeben sind und keine unsignierten Mails ohne DKIM versenden. Es müssen also alle Mails durch den SMTP Proxy der Sophos UTM Astaro gesendet werden. Jede Mail, die diese Anforderungen nicht erfüllt, wird von Mailservern, die DMARC nutzen,  abgewiesen oder gelöscht.

 

.
Folgende Parameter enthält ein DMARC DNS Eintrag:

WertBeschreibung 
vProtokollversion
pctProzentualer Anteil der zu filternden Mails optional
ruf E-Mail Empfänger forensischer Report
rfFormatierung forensischer Report
ruaE-Mail Empfänger kumulierter Report optional
ri Intervall Versendung kumulierter Report
p Policy für Emails von Haupt Maildomäne
sp Policy für Emails von Subdomänenoptional
adkim DKIM Prüfung
aspf SPF Prüfung
pct Sampling rate

Der Name des DMARC DNS lautet immer _dmarc.meineDomain.de, also z.B. _dmarc.google.com. Mit nslookup können Sie den DNS Record abfragen, hier am Beispiel von Facebook.com:

nslookup
set querytype=TXT
_dmarc.facebook.com

v=DMARC1; p=reject; pct=100; rua=mailto:d@rua.agari.com,mailto:postmaster@facebook.com; ruf=mailto:d@ruf.agari.com;

CMD nslookup DMARC Sophos UTM Astaro

.
.
Ein Eintrag, wie Facebook ihn hat, ist schon ausreichend, sie müssen nur Ihre Email Adressen einsetzten und diesen Eintrag als TXT DNS in Ihrer Maildomain veröffentlichen, also:

v=DMARC1; p=reject; pct=100; rua=mailto:postmaster@meineDomaine.de; ruf=mailto:postmaster@meineDomaine.de;

Hier finden Sie ein Tool um ihren DMARC DNS abzufragen und überprüfen zu lassen.

.
.
Wenn der DMARC richtig konfiguriert ist und z.B. von Ihrer Domain eine Mail an Gmail = Google Mail geht, bekommt man einen Report zugesandt von noreply-dmarc-support@google.com :

-<feedback>-
<report_metadata>
<org_name>google.com</org_name>
<email>noreply-dmarc-support@google.com</email>
<extra_contact_info>http://support.google.com/a/bin/answer.py?answer=2466580</extra_contact_info>
<report_id>10384245997473080880</report_id>- <date_range><begin>1386892800</begin><end>1386979199</end></date_range>
</report_metadata>-
<policy_published>
<domain>neise.de</domain>
<adkim>r</adkim>
<aspf>r</aspf>
<p>reject</p>
<sp>reject</sp>
<pct>100</pct>
</policy_published>-
<record>-<row>
<source_ip>92.50.88.102</source_ip>
<count>1</count>-
<policy_evaluated><disposition>none</disposition>
<dkim>pass</dkim>
<spf>pass</spf>
</policy_evaluated></row>-
<identifiers><header_from>neise.de</header_from></identifiers>-
<auth_results>-<dkim><domain>neise.de</domain>
<result>pass</result></dkim>-
<spf><domain>neise.de</domain>
<result>pass</result></spf></auth_results></record></feedback>

 

Falls jemand in Ihrem Namen eine Mail versendet, die Google dann als nicht valid erkennt, bekommen Sie darüber einen Report.

 

Münster AD 2013

Share