Domain Keys Identified Mail (DKIM)

Im letzten Blogeintrag haben wir uns mit dem Sender Policy Framework (SPF) beschäftigt und gesehen, wie wir mit einem DNS Eintrag es erschweren, dass unsere Domäne für Spam missbraucht wird.

Während SPF auf die Kontrolle von IP Adressen und Hostnames basiert, nutzt DKIM eine digitale Signatur im E-Mail Header um sicherzustellen, dass die E-Mail von einem gültigen Sender kommt.

Diese Signatur wird aus verschiedenen Elementen der E-Mail, mithilfe eines Hash Algorithmus generiert. Die Auswahl der Elemente kann die ganze Nachricht (Header und Body der E-Mail) oder nur Teile davon enthalten. Dieser Hash wird schließlich mit einem privaten Schlüssel asynchron verschlüsselt und in den E-Mail Header geschrieben.

Damit die DKIM Signatur gültig bleibt dürfen sich die oben definierten Elemente nicht ändern. Ein Beispiel hierfür ist das Hinzufügen von E-Mail Signaturen an ausgehende E-Mails. Hierdurch wird der Body der E-Mail verändert und falls dieser durch DKIM verschlüsselt wurde, schlägt die DKIM Überprüfung beim Empfänger fehl.

Wie genau läuft diese Überprüfung statt:

  • Zunächst muss der Empfänger die Signatur entschlüsseln. Dazu wird der öffentliche Schlüssel benötigt. Um den öffentlichen Schlüssel zu erhalten, wird im öffentlichen DNS der Senderdomäne nach dem DKIM Eintrag gesucht, welcher den öffentlichen Schlüssel enthält.
  • Der Empfänger bildet aus der empfangenen E-Mail einen Hash und vergleicht diesen mit dem entschlüsselten Hashwert. Stimmen beide Hashwerte überein so ist DKIM Überprüfung erfolgreich.

 

Wie kann DKIM eingerichtet werden?

Für Exchange Server:
Nativ unterstützt Exchange kein DKIM. Das CERN Institut hat jedoch DKIM Agenten für Exchange Server entwickelt. Dieser nimmt ausgehende E-Mails an und signiert diese mit DKIM, bevor die Nachrichten weiterversandt werden.

Für Exchange online:
Exchange online unterstützt DKIM und bietet eine einfache Einrichtung. Es muss weder ein Schlüsselpaar erzeugt werden, noch muss ein DKIM Einträge erstellt werden. Dies wird automatisch von Office 365 durchgeführt. Um DKIM in Office 365 zu aktivieren müssen folgende Schritte durchgeführt werden.


Erstellen von CNAME Einträgen.

Hostname Ziel TTL
selector1._domainkey.<domain>

 

selector1-<domainGUID>._domainkey.<initialDomain>

 

3600

 

Selector2._domainkey.<domain>

 

Selector2-<domainGUID>._domainkey.<initialDomain>

 

3600

 

 

Der Domainkey für die Domäne contoso.com lautet zum Beispiel contoso-com.

Nachdem die CNAME Einträge im öffentlichen DNS gesetzt wurden, muss nur noch im Exchange online Admin Center DKIM unter Schutz/DKIM aktiviert werden.

 

Redakt.: Daniel Dagenbach