Einrichtung von SPF, DKIM und DMARC im MDaemon Email Server

Der Mail- und Groupware-Server MDaemon Email Server unterstützt Standardprotokolle für E-Mail-Signaturen: SPF, DKIM und DMARC. Diese drei Protokolle schützen vor verschiedenen Sicherheitsproblemen und müssen implementiert werden, um die bestmögliche Zustellbarkeit mit einer dedizierten IP-Adresse sicherzustellen.  

In diesem Artikel zeigen wir Ihnen, wie Sie die Leistungsmerkmale SPF, DKIM und DMARC im MDaemon Email Server einrichten und eingehende Verbindungen auf die genannten Leistungsmerkmale überprüfen. Nachfolgend finden Sie eine chronologische Auflistung der Leistungsmerkmale mit den jeweiligen Erläuterungen. 

SPF:
Das Sender Policy Framework – kurz SPF – ist ein Verfahren, mit dem das Fälschen der Absenderadresse einer E-Mail verhindert werden soll. Es schränkt dafür die legitimierten E-Mail-Server, die für den Versand von Nachrichten einer bestimmten Domäne autorisiert sind, entsprechend ein. Es dürfen also nur bestimmte E-Mail-Server im Namen der Domäne versenden. Im MDaemon finden Sie die Einstellungen zu der SPF-Prüfung unter Sicherheit → Sicherheits-Manager → Echtheitsbestätigung für Absender → SPF-Prüfung



Hier finden Sie nun verschiedene Optionen für die SPF-Prüfung, beispielsweise für die Ausnahme der Prüfung von echtheitsbestätigten Verbindungen oder von vertrauten IP-Adressen. Zudem kann definiert werden, was mit Nachrichten passieren soll, die durch die SPF-Prüfung fallen. Hier besteht die Möglichkeit, eine negative Bewertung zu der Spam-Bewertung zu addieren oder die Verbindung direkt zu trennen. Nachfolgend finden Sie ein Beispiel eines SPF-Eintrages, der als TXT-Record in den DNS-Einstellungen der Domäne eingetragen werden muss:

mdaemon-schulung.de IN TXT "v=spf1 ip4:40.118.82.164 -all"

In diesem Beispiel dürfen für die Domäne mdaemon-schulung.de nur die genannten IP-Adressbereiche/Adressen E-Mails versenden. 
Zu beachten sind vor allem die sogenannten Qualifikatoren, in diesem Fall der Bindestrich "-". Sie befinden sich am Ende der Regel. 
Diese Qualifikatoren geben an, wie bei einer zutreffenden SPF-Regel gehandelt werden soll. Es existieren die nachfolgenden Qualifikatoren:

  • + "Pass" 
  • - "Fail"
  • ~ "Softfail"
  • ? "Neutral"

Eine genaue Bedeutung der einzelnen Qualifikatoren können Sie hier nachlesen. 

Nach dem Qualifikator erfolgt immer der Mechanismus der SPF-Regel, dieser gibt den Geltungsbereich der Regel an – beispielsweise, ob dieser nur auf IPv4-Adressen angewandt werden soll. Es existieren die nachfolgenden gängigen Mechanismen:

  • all 
  • a
  • mx
  • ipv4
  • ipv6
  • include

Eine genaue Bedeutung der einzelnen Mechanismen finden Sie hier.

Die erfolgreiche Einrichtung des SPF-Eintrags können Sie hier prüfen lassen.  

Eine erfolgreiche Prüfung eines SPF-Eintrages können Sie im eingehenden SMTP-Log wiederfinden:

Tue 2020-05-11 09:46:25.193: Performing SPF lookup (smtp3.*******.de / IP-Adresse)
Tue 2020-05-11 09:46:25.196: *  Policy: v=spf1 a wlinclude:delivery.mtaroutes.com -all
Tue 2020-05-11 09:46:25.220: *  Evaluating a: match
Tue 2020-05-11 09:46:25.220: *  Result: pass
Tue 2020-05-11 09:46:25.220: ---- End SPF results
Tue 2020-05-11 09:46:25.220: Performing SPF lookup (******* / IP-Adresse)
Tue 2020-05-11 09:46:25.227: *  Policy: v=spf1 mx a:smtp-relay.ngnx.com wlinclude:delivery.mtaroutes.com ~all
Tue 2020-05-11 09:46:25.295: *  Evaluating mx: match
Tue 2020-05-11 09:46:25.295: *  Result: pass
Tue 2020-05-11 09:46:25.295: ---- End SPF results

Beispielhafter DNS-Eintrag für SPF:


Ein SPF-Record kann vermeiden, dass über Ihre E-Mail-Adressen unberechtigt Spam-Mails versendet werden. SPF (Sender Policy Framework) ist ein Spamschutz-Verfahren, das auf Autorisierung des E-Mail-Senders basiert. Der SPF-Record ist eine zusätzliche Information in den DNS-Einstellungen Ihrer Domain. Er definiert, welche Mailserver berechtigt sind, E-Mails zu versenden. Wir empfehlen daher dringend, dass Sie selber auch im DNS für Ihre Domains SPF-Einträge publizieren. Ein Wizard für die vereinfachte Konfiguration Ihres SPF-Records finden Sie hier.

DKIM:
DKIM oder auch Domain Keys Identified Mail ist ein Sicherheitsmechanismus zur Sicherstellung der Authentizität von E-Mail-Absendern. DKIM arbeitet mit einem asymmetrischen Verschlüsselungsalgorithmus: Die E-Mail wird mit einer digitalen Signatur versehen, die der empfangende Server anhand des öffentlichen Schlüssels, der als DNS-Eintrag hinterlegt wird, verifizieren kann. Wenn dies fehlschlägt, kann der MDaemon die Nachricht abweisen.
Im MDaemon finden Sie innerhalb von Sicherheit → Sicherheits-Manager  → Echtheitsbestätigung für Absender → DKIM-Prüfung die Möglichkeit, die Prüfung von Nachrichten auf eine valide DKIM-Signatur zu aktivieren:



Hier haben Sie wie bei der Prüfung von SPF die Möglichkeit, Nachrichten aus echtheitsbestätigten Verbindungen sowie Nachrichten von vertrauten IP's anzunehmen. Zudem kann eine Weiße Liste mit weiteren Ausnahmen gepflegt werden. 



Unter dem Punkt "DKIM-Signatur" können Sie einen für die DKIM-Signatur notwendigen Selektor erstellen sowie bestimmen, dass abgehende Nachrichten entsprechend signiert werden. Nach Erstellung eines neuen Selektors müssen Sie noch die öffentlichen und geheimen Schlüssel definieren. Dies funktioniert mit der Schaltfläche "Neue öffentliche und geheime Schlüssel erzeugen". Nach erfolgreicher Umsetzung öffnet sich das nachfolgende Fenster: 


Im rot markierten Bereich befindet sich der DNS-Eintrag, der als TXT-Ressource Record hinterlegt werden muss. Der Bereich "Selektor._domainkey.lahn-bergbau-mdaemon.de" zählt hierbei als Bezeichnung des TXT-Eintrages. Der Bereich ab "v=DKIM1;" bezeichnet die genutzte DKIM-Version und den öffentlichen Schlüssel, der hier als eigentlicher Inhalt des TXT-Eintrages gilt.   

Weitere Einstellungen zu DKIM finden Sie im MDaemon unter "DKIM-Einstellungen".



Hier befinden sich weitere Einstellungen zu der DKIM-Signatur sowie zur DKIM-Prüfung. Weitere Informationen stehen Ihnen hier zur Verfügung. 
Eine Prüfung Ihres DKIM-Eintrages können Sie zudem hier durchführen.

Eine erfolgreiche Prüfung eines DKIM-Eintrags können Sie im eingehenden SMTP-Log wiederfinden:

Tue 2020-05-11 09:46:25.407: Performing DKIM verification
Tue 2020-05-11 09:46:25.407: *  File: c:\mdaemon\queues\temp\md5001000000014.tmp
Tue 2020-05-11 09:46:25.407: *  Message-ID: <INX.1669643bffe8f9e6c00dc55334a.2f0db.fe80c0.508b.17033432d95ccc.bounce2@*******.de>
Tue 2020-05-11 09:46:26.626: * DKIM-Signature 1: v=1; a=rsa-sha256; c=simple/simple; d=security-insider.de; s=dkim; t=1581408604; b h=Date:From:Reply-To:To:Subject:List-Id:From; <some tags are not logged>
Tue 2020-05-11 09:46:26.626: *    Verification result: good signature
Tue 2020-05-11 09:46:26.626: *  Result: pass
Tue 2020-05-11 09:46:26.626: ---- End DKIM results

Beispielhafter Eintrag für DKIM:


DMARC:
Bei DMARC oder auch Domain-based Message Authentication, Reporting and Conformance handelt es sich um eine Sicherheitsspezifikation, die entwickelt wurde, um den Missbrauch von E-Mails zu reduzieren. Die Technik basiert dabei auf SPF und DKIM und setzt die beiden Verfahren voraus. Das bedeutet, dass es für eine Absender-Domain festlegt, wie der Empfänger die Authentifizierung von E-Mails durchführen soll und wie im Falle eines Fehlers zu verfahren ist. Im MDaemon sind die Einstellungen zu DMARC unter Sicherheit → Sicherheits-Einstellungen → Echtheitsbestätigungen für Absender zu finden. Wir beginnen hier mit dem Unterpunkt "DMARC-Prüfung".



Hier können Sie die Prüfung eingehender Nachrichten konfigurieren. Wie bei DKIM und SPF haben Sie auch bei DMARC die Möglichkeit, echtheitsbestätigte Verbindungen und vertraute IP-Adressen von der Prüfung auszuschließen. Im Menüpunkt "DMARC-Berichte" können Sie die Berichterstellung des DMARC-Features genauer einsehen: 



Hier können Sie einstellen, dass der Versand zusammengefasster DMARC-Berichte und DMARC-Fehlerberichte nach dem Auftritt eines Fehler verschickt werden. Die Organisation sowie der Standard-Empfänger sind bereits eingetragen und können beliebig verändert werden. Der Bericht wird in Form einer XML-Datei per E-Mail verschickt und stellt sich folgendermaßen dar: 

Der letzte Menüpunkt "DMARC-Einstellungen" bietet darüberhinaus erweiterte Einstellungen für Fehlerberichte sowie die Protokollierung an:



Zusätzliche Informationen zu den erweiterten Einstellungen finden Sie hier.

DMARC-Einträge müssen wie SPF- und DKIM-Einträge als TXT-Eintrag in der DNS-Verwaltung der entsprechenden Domäne hinterlegt werden. Nachfolgend finden Sie eine Beispielkonfiguration für die Domäne "mdaemon.com":

v=DMARC1;p=quarantine;pct=100;rua=mailto:postmaster@mdaemon.com;ruf=mailto:forensik@mdaemon.com;adkim=s;aspf=r        

Die einzelnen Bestandteile haben die folgende Bedeutung:

  • "v" - Protokollversion
  • "pct" - Prozentualer Anteil der zu filternden E-Mails
  • "ruf" - Versandt des forensischen Reports
  • "rua" - Versandt des aggregierten Reports
  • "p" - Anweisung, wie mit E-Mails verfahren wird
  • "adkim" - Abgleichmodus für DKIM
  • "aspf" - Abgleichmodus für SPF

Besondere Bedeutung haben die Abgleichmodi. Für SPF fordert die DMARC-Spezifikation, dass zum einen die Überprüfung positiv ausfällt und zum anderen die From-Kopfzeile der Mail dieselbe Domäne wie im SPF-Record aufweist. Für DKIM wird gefordert, dass die Signatur gültig ist und zusätzlich die dort genannte Domäne dieselbe wie in der From-Kopfzeile der Mail ist. Als Abgleichmodi sind s für 'strict' bzw. r für 'relaxed' vorgesehen. Bei 'strict' müssen die Domänen exakt übereinstimmen, bei 'relaxed' darf die From-Kopfzeile auch eine Subdomäne enthalten. Über die Auswertung erhält der Sender einen täglichen Report an die genannte Adresse.

Eine Prüfung Ihres DMARC-Eintrages können Sie hier durchführen.

Eine erfolgreiche Prüfung eines DMARC-Eintrages finden Sie im eingehenden SMTP-Log wieder:

Tue 2020-05-11 09:46:26.630: DMARC-Verarbeitung wird durchgeführt
Tue 2020-05-11 09:46:26.630: *  Datei: c:\mdaemon\queues\temp\md5001000000014.tmp
Tue 2020-05-11 09:46:26.630: *  Nachrichten-ID: <INX.1669643bffe8f9e6c00dc55334a.2f0db.fe80c0.508b.17033432d95ccc.bounce2@******.de>
Tue 2020-05-11 09:46:26.630: *  Domäne des Absenders: security-insider.de
Tue 2020-05-11 09:46:26.630: *  Organisations-Domäne: security-insider.de
Tue 2020-05-11 09:46:26.630: *  Abfrage für Domäne: _dmarc.security-insider.de
Tue 2020-05-11 09:46:26.654: *    Richtlinien-Eintrag: v=DMARC1;p=none
Tue 2020-05-11 09:46:26.654: *  Verfahren zur Echtheitsbestätigung werden auf DMARC-Angleichung geprüft
Tue 2020-05-11 09:46:26.657: *    SPF: Domäne "*******.de" hat SPF-Prüfung bestanden; aber DMARC-Angleichung für Domäne besteht nicht
Tue 2020-05-11 09:46:26.657: *    DKIM: Prüfung der Domäne "security-insider.de" (aus d= der Signatur #1) erfolgreich; und DMARC-Angleichung für Domäne besteht
Tue 2020-05-11 09:46:26.658: *  Ergebnis: pass
Tue 2020-05-11 09:46:26.658: ---- Ende der DMARC-Ergebnisse

Beispielhafter Eintrag für DMARC:


Einen Wizard für die einfache Erstellung eines DMARC-Records finden Sie hier.


Einen sehr guten Artikel zu dem Thema finden Sie auch bei Andy's Blog.

Video vom Hersteller: