Dies ist eine alte Version des Dokuments!
Artikel befindet sich gerade in der Planung/Vorbereitung!
DMARC - Domain-based Message Authentication, Reporting & Conformance unter CentOS 7.x
DMARC1) ist an sich kein eigenständiger Prozess in der eMail-Verarbeitung, vielmehr erweitert DMARC auf die beiden Techniken SPF2) und DKIM3). DMARC ergänzt somit DKIM und SPF, ohne die DMARC nicht funktionieren kann. Hinweise zu DMARC findet man bei auch auf der Webseite von DMARC.org, oder im Entwurf der Network Working Group, die der ITF4) Anfang 2012 zur Prüfung vorgelegt wurde.
Obwohl DMARC aktuell noch als Entwurf gilt, wird laut den Angaben der aktuellen DMARC-Präsentation aus 2014 bereits mehr als 60% der weltweiten eMail-Postfächer mit Hilfe von DMARC geschützt.
Die weltgößten eMail-Provider setzen auf DMARC, wie z.B.:
- GMail, Yahoo, AOL, Comcast, oder Outlook.com
- Mail.ru (größter eMail-Provider in Russland)
- NetEase (größter eMail-Provider in China)
- XS4All (größter eMail-Provider in den Niederlanden)
Alles gute Gründe, sich dem Thema DMARC dennoch intensiver zu widmen!
Bei DMARC kann definiert werden, wie ein empfangender Mailserver Nachrichten behandeln und verarbeiten soll, insbesondere mit Hinblick auf die Bewertung der Versandberechtigung des einliefernden Mailservers (SPF) und der nicht veränderten Nachricht (DKIM). Fällt eine oder beide Überprüfungen negativ aus, definiert DMARC, ob die eMail in Quarantäne gestellt, die Annahme der eMail abgelehnt (reject) oder eben dennoch zugestellt werden soll.
Das nachfolgende Schaubild zeigt den Bearbeitungsverlauf einer eMail mit Berücksichtigung auf DMARC auf.
<uml width=900 title=„DMARC - Verarbeitungsschritte einer eMail“> skinparam defaultFontName Courier state „Absender Klaus generiert eMail“ as sender sender : ——————————————- sender : From: klaus@tachtler.net sender : To: michael@nausch.org sender : Subject: Gratulation! sender : Date: Thu, 20 Mar 2014 18:40:18 +0100 sender : ——————————————- sender : Nachrichtentext
state Mailserver_des_Absenders {
state "Mail-Eingang" as smtpd_a smtpd_a : Annahme der eMail smtpd_a : nach SPAM- und smtpd_a : Viren-Überprüfung
state "DKIM-Signatur" as dkim_sig dkim_sig : Einfügen der DKIM dkim_sig : Signatur (Mailheader dkim_sig : und Mailbody) im dkim_sig : Header der eMail
state "Mail-Ausgang" as smtp_a smtp_a : Versand der eMail smtp_a : zum eMail-Server (MTA) smtp_a : des Empfängers
}
state Mailserver_des_Empfängers {
state "Mail-Eingang" as smtpd_b smtpd_b : Bewertung der eMail smtpd_b : mit Hilfe von Blacklists smtpd_b : und greylisting
state "SPAM- und Virenüberprüfung" as amavis1 amavis1 : Bewertung der eingehenden Nachricht amavis1 : durch SPAM- und/oder Virenfilter
state "SPAM- und Virenüberprüfung" as amavis2 amavis2 : Bewertung der eingehenden Nachricht amavis2 : durch SPAM- und/oder Virenfilter
state "Mail-Quarantäne" as quarantäne quarantäne : Bestätigung (250) der Annahme an den quarantäne : sendenen Mailserver und Einstellung quarantäne : der Nachricht in die MAIL-Quarantäne
state "Annahme der eingehenden Nachricht" as imap imap : Bestätigung (250) der Annahme an den imap : sendenen Mailserver und Zustellung imap : der Nachricht in die INBOX des Empfängers
state "REJECT der eMail" as reject reject : Annahme der eMail verweigern reject : Rückmeldecode 500 an den reject : einliefernden Mailserver
state DMARC_Überprüfungen { state "DKIM-Signatur" as dkim_val dkim_val : Überprüfen der vorhandenen dkim_val : DKIM-Signatur im Mailheader dkim_val : der eingehenden Nachricht
state "SPF-Validierung" as spf_check spf_check : Überprüfung ob der spf_check : Versendene Mailserver spf_check : zum Mailversand der spf_check : Maildomäne berechtigt ist
state "Anwenden der DMARC-Policy" as dmarc_check dmarc_check : Bewertung der Legitimität dmarc_check : der eingehenden Nachricht dmarc_check : an Hand der DMARC-Policy dmarc_check : des absendenden Mailservers }
state DMARC_Ergebnis_Reports { state Report_aggregat { state "DMARC Check" as ok ok : Test O.K. ok : DMARC-policy -> Zustellung }
state Report_forensic { state "DMARC Check" as nok1 nok1 : Test nicht O.K.! nok1 : DMARC-policy -> Quarantäne
state "DMARC Check" as nok2 nok2 : Test nicht O.K.! nok2 : DMARC-policy -> REJECT } }
}
sender -down→ smtpd_a smtpd_a -left→ dkim_sig dkim_sig -left→ smtp_a smtp_a -down→ smtpd_b smtpd_b -right→ dkim_val dkim_val -right→ spf_check spf_check -right→ dmarc_check dmarc_check –> ok ok –> amavis1 dmarc_check –> nok1 dmarc_check –> nok2
amavis1 –> imap
nok1 –> amavis2 amavis2 –> quarantäne
nok2 –> reject
note left of smtpd_b
Standard Validierungs- Überprüfung, wie z.B. IP-Blacklists, greylisting und policyd-weight und ggf. weiteren Filtern
end note
note left of DMARC_Überprüfungen
Abfrage des DKIM public-keys ("DKIM"-TXT-Record) und der berechtigten Sender der Mail- Domäne ("SPF"-/TXT-Record) beim zuständigen Nameserver der Absendedomäne
end note
note right of dmarc_check
Abfrage der DMARC-Policy des absendenden Mail- Servers durch Abfrage des DMARC-/TXT-Record beim zuständigen Nameserver
end note
note right of Report_aggregat
regelmäßig aggregierter Bericht an den im DMARC- Record hinterlegten "rua=mailto"-Adresse des Mailserverbetreibers des Absender-Mailservers
end note
note left of Report_forensic
regelmäßiger forensischer Bericht an den im DMARC-Record hinterlegten "ruaf=mailto"- Adresse des Mailserver- betreibers des Absender- Mailservers
end note
</uml>