Exchange Server und DKIM

Hier hatte ich schon über DKIM in Verbindung mit der Sophos UTM geschrieben. Hier folgt nun ein Artikel in dem es um Exchange und DKIM geht. Mails können direkt am Exchange Server eine DKIM Signatur erhalten, eine zusätzliche AntiSPAM Lösung, welche die DKIM Signatur anfügt, ist damit nicht erforderlich. Um DKIM Signaturen direkt am Exchange Server anzuhängen kann das kostenlose Tool “Exchange DKIM Signer” verwendet werden.

Um Exchange DKIM Signer zu verwenden, muss das oben verlinkte Paket auf den Exchange Server übertragen werden, nachdem es entpackt wurde, kann die Anwendung „Configuration.DkimSigner.exe“ gestartet werden:

DKIM Signer

Nach dem Start zeigt sich eine GUI für die Konfiguration, die GUI erstellt eine XML-Datei für die Konfiguration und installiert den Exchange Transport Agent, alternativ lässt sich dies auch manuell durchführen. Die manuelle Konfiguration ist hier beschrieben. In diesem Artikel wird aber die GUI verwendet:

Exchange DKIM Signer GUI

Für die Konfiguration muss zunächst auf dem Reiter „Domain Settings“ die Domain hinzugefügt werden, welche mit DKIM Signaturen versehen werden soll:

Domain Settings

In den Feldern von „Domain details“ muss nun die Domain eingetragen werden, mit der Mails versendet werden, der Selector ist ein wählbarer String zu Identifikation des DNS Records. Hier kann beispielsweise „dkim1“, „dkim2020“ oder irgendwas anderes verwendet werden. Gängig ist hier „p+JahrInDemDerKeyErstelltWurde“, also beispielsweise „p2020“. Als „Key length for generation“ sollte aus Kompatibilitätsgründen „1024“ ausgewählt werden. Der Hintergrund ist, dass bei 2048Bit Schlüssellänge, der erforderliche DNS Eintrag länger als 255 Zeichen wird. Viele Provider lassen es nicht zu, dass solch lange Strings im DNS eingetragen werden (obwohl technisch möglich). Wenn der Provider lange DNS Records zulässt, kann hier auch „2048“ ausgewählt werden:

Domain Settings

Nachdem der Key erstellt und gespeichert wurde, wird der erforderliche DNS Eintrag angezeigt:

DKIM DNS Record

Der von Exchange DKIM Signer angezeigte DNS Record muss nun als TXT Record im öffentlichen DNS des Domain Hosters angelegt werden:

DKIM DNS Record

Mittels der Funktion „Check“ lässt sich in Exchange DKIM Signer prüfen ob der DNS Eintrag korrekt angelegt wurde. Falls DNS Split Brain genutzt wird, sollte der TXT Record auch auf den internen DNS Servern angelegt werden:

DKIM DNS Record

Wenn der Test erfolgreich war, kann der Eintrag für die Domain gespeichert werden. Wenn weitere Domains zum Versenden von Mails genutzt werden, müssen diese Domains ebenfalls wie oben geschrieben angelegt werden. In diesem Fall sollte man entsprechend weitere RSA Keys erstellen und nicht den bereits vorhandenen verwenden.

Die Konfiguration von Exchange DKIM Signer ist nun abgeschlossen, daher kann nun der erforderliche Transport Agent installiert werden. Die Installation des Exchange Transport Agents kann auf dem Reiter „Information“ mit der Schaltfläche „Install“ erfolgen:

Exchange DKIM Signer GUI

DKIM Signer lädt nun noch erforderlche Pakete nach:

Exchange DKIM Signer GUI

Die Installation des Transport Agents mit der erforderlichen Konfiguration erfolgt dann automatisch:

Installation Transport Agent

Die Installation des Transport Agents lässt sich mit einem Klick auf „Configure“ einsehen. Hier lässt sich bei Bedarf auch der Agent wieder deaktivieren oder deinstallieren:

Installation Transport Agent

Ob DKIM wie erwartet funktioniert, kann sehr einfach getestet werden. Es kann einfach eine Mail an die folgende Adresse geschickt werden:

DKIM Test Adresse

Die Mail wird dann automatisch beantwortet und enthält die Testergebnisse:

DKIM Test Ergebnis

Damit DKIM korrekt funktioniert, darf die Mail nachdem die DKIM Signatur angewendet wurde, nicht mehr verändert werden. Wenn die Mail also vom Exchange Server zu einem AntiSpam Gateway geleitet wird und erst dann zum Empfänger geschickt wird, könnte es hier je nach Konfiguration zu Problemen kommen. Bei Smarthosts oder Relays welche die Mails einfach nur durchleiten ist dies aber in der Regel nicht der Fall.

34 Gedanken zu „Exchange Server und DKIM“

  1. Hallo,

    wie ist es, Stand 2024, empfehlen die User, die das Tool nutzen immer noch deren Einsatz?
    Ich möchte es bei mir endlich mal einsetzen, es wurde mir aber bereits mehrfach abgeraten, es würde zu Problemen führen, nicht stabil laufen …. Auf konkrete Nachfragen was den genau, ist aber wenig gekommen.

    Was gibt es den noch an Tools, ich konnte nichts finden. die Empfehlung ist in der Regel Dienstleister einzusetzen, über die der Versand abgewickelt wird, mit Verschlüsselung oder doch 365 zu nutzen.

    365 stehe ich nicht so offen gegenüber, ich habe Vorbehalte. Ein Punkt ist auch, dass es einfach nur teurer wird.

    Die Firewall würde ich auch gerne rauslassen, sie hat nach meiner Meinung eine andere Aufgabe, nicht der Versand von E-Mails. Dann würde ich lieber ein Gateway zum Weiterversand in eine DMZ stellen.

    Antworten
    • Das Tool läuft bei uns auf Ex2019 problemlos und Stabil. So Stabil, dass ich es schon fast vergessen habe.

      Leider fehlt auch mir das Wissen um das Tool weiter zu entwickeln, bzw. zu Unterhalten. Eine Idee, was wir machen könnten um einen neuen Maintainer zu finden?

      Antworten
    • Ich habe gerade versucht es auf Exchange 2016 (15.01.2507.035) zu installieren. Der Installer sagt bei v. 3.4.0 und 3.3.4:

      Your Microsoft Exchange version isn’t supported by the DKIM agent:
      15.1.2507.17

      Danach wird es trotzdem installiert. In „C:\Program Files\Exchange DkimSigner“ ist dann allerdings nur das Setupprogramm, mit dem ich es nochmal installlieren könnte. Also irgendwas scheint da nicht zu funktionieren, sieht so aus als würde es zumindest für Exchange 2016 nicht mehr supported.

      Antworten
    • Hallo,

      ich habe den DKIM-Signer vergangenes Wochenende bei allen meinen Kunden mit on-premise Exchange Servern installiert (3 x Exchange 2016 (fully patched) und 5 x Exchange Server 2019 (fully patched)).

      Alles lief sofort auf Anhieb. Konnte die hier beschriebenen Probleme in keinem einzigen Fall nachvollziehen.

      Ich habe die aktuellste Version (3.4.0) verwendet und VORHER darauf geachtet, dass auch die entsprechende Version von dotNET-Framework installiert ist. Ein entsprechender Hinweis ist hier in der Anleitung vorhanden.

      Antworten
  2. Tja, was soll ich sagen.
    Wenn der Signer nicht mehr weiter entwickelt wird, dann ist das so.
    Das Tool macht aber bei mir seine Arbeit und die macht es zuverlässig.
    Ich habe Windows Server 2016 Datacenter und Exchange 2016 Enterprise,
    laufen auf der selben Maschine.
    Ja ja, ich weiß, soll man nicht machen, aber da ich der einzige bin, der das Ding verwaltet, ist mir das egal.
    Ich wüsste nicht, was da noch zu korrigieren wäre. Zumindest Exchange 2016 bekommt wohl keine CUs mehr,
    nur noch normale Sicherheitsupdates, damit dürfte sich also am Unterbau nicht mehr groß was verändern.
    Wie das dann mit 2019 sein wird, kann ich nicht sagen, wäre dann schön, wenn es weiter gehen würde.
    Alternative Tools gibt es nämlich nur als Kaufvariante zu Schweinepreisen.
    Dafür, dass ich den Exchange nur privat betreibe, ist das dann schon ziemlich happig.

    Antworten
    • Bei uns läuft das Tool nach wie vor ohne Probleme auf Exchange 2019 mit dem aktuellen CU und SU.
      Es wäre wirklich toll, wenn es mit dem Tool weiter gehen würde. Leider fehlt mir das Wissen um da selber helfen zu können.

      Antworten
  3. Hallo,

    sehr detailierter und guter Artikel.
    Das funktionierte bei mir per ‚check-auth@verifier.port25.com‘, aber sollte dann nicht die Email als signiert markiert werden im Outlook?
    Ich habe mir dann nämlich über meine web.de-Adresse zum Test nochmal eine Mail geschickt. Die kam aber als nicht signiert an. Oder verstehe ich da was vollkommen falsch.

    Antworten
  4. Hallo.
    Ich bekomme den DKIM Signer auf einem Exchange 2019 nicht eingebunden. Sobald er aktiviert wird, hängt sich der Transportservice auf und es wird versucht neuzustarten. Ich hab nach dem Start nur zwei Fehler im Ereignisprotokoll:

    MSExchangeCommon 4999
    Watson report about to be sent for process id: 11584, with parameters: E12IIS, c-RTL-AMD64, 15.02.1118.012, edgetransport, mscorlib, S.ThrowHelper.ThrowArgumentException, S.Reflection.TargetInvocationException, a41f-dumptidset, 04.08.4110.000.
    ErrorReportingEnabled: False

    MS Exchange Transportservice 1016
    The worker process crashes continuously on startup: D:\EXCH\Bin\edgetransport.exe. The service will be stopped.

    Ich habe zwei Domains drin. Ist das die Ursache?

    Antworten
    • Wie meinst zu zerschossen? Habe auch ein „Problem“. Bei mir werden nun 2 Signaturen gesendet. Auf den Testtools sehe ich, dass meine Mails mit 2 DKIM Signiert werden, auf dem DNS habe ich aber natürlich nur einen. Im tool auch. Nun weiss ich nicht, wie ich den wieder weg kriege :) Was das jemand?

      Antworten
  5. Hallo,

    ich habe vermutlich das selbe problem wie Herr Kümmel. Mein SPF-Check verläuft mit „Softfail“ was ich auf den smartrelay rückführe. Gibt es dazu eine Lösung?

    Grüße
    Michael

    Antworten
    • okay eigene Antwort ;)
      Man muss den smartrelay mit ins SPF aufnehmen. Ist zwar so halb richtig, da das eigentlich den relay ja erlaubt meine Mails anzupassen, aber naja

      Antworten
  6. Hallo Franky ich hab das alles heruntergeladen was im GITHUB ist. Leider musste ich auch der jüngsten Ereignisse Die neuste SU installieren. Wenn ich jetzt die install.ps1 ausführe dann kommt ein Fehler der mir sagt das die Version nicht supported wird.
    Kannst Du mir da eine kleine Hilfestellung geben.
    SPF, Dmarc sind vorhanden und werden auch richtig geprüft. DKIM ist leider nach der Test E-Mail nicht korrekt.
    Der DKIM Schlüssel ist über die Securepoint UTM erstellt, nur wird das DKIM nicht in den Header eingefügt.

    Antworten
  7. Hallo Frank,

    Das werde meiner Meinung nach die hinwies

    „Damit DKIM korrekt funktioniert, darf die Mail nachdem die DKIM Signatur angewendet wurde, nicht mehr verändert werden. Wenn die Mail also vom Exchange Server zu einem AntiSpam Gateway geleitet wird und erst dann zum Empfänger geschickt wird, könnte es hier je nach Konfiguration zu Problemen kommen. Bei Smarthosts oder Relays welche die Mails einfach nur durchleiten ist dies aber in der Regel nicht der Fall.“

    Gleich am Anfang stehen. Ich habe Sophos XG in Einsatz und habe zuerst alles fertig installiert vor ich das gesehen habe.

    Antworten
  8. Danke für die Anleitung.
    Bei mir hat trotz Installation der Exchange Server 2010 zuerst die DKIM Information nicht in den Header der Email eingefügt.
    Auch nicht nach einem Neustart des Transportdientes im DKIM Signer.
    Erst nach einem Neustart von den Diensten „Microsoft Exchange Mailübergabe“ und „Microsoft Exchange Transport“ in der Dienstliste hat es geklappt.

    Antworten
  9. Hallo,
    scheinbar wurde das Paket weiterentwickelt und deshalb ist schon der Download seltsam.
    Zunächst gilt es alle Dateien als ZIP-Datei herunterzuladen und auszupacken.
    Es gibt dann PS-Dateien zum Installieren?

    Danach stimmt die Doku hier leider nicht mehr so ganz, hier ist. z.B.
    dkim-exchange-master\Src\Configuration.DkimSigner\bin\Release\Configuration.DkimSigner.exe zu finden.

    Da wir hinter einem Mailrelay sitzen, brauche ich es nicht auf dem Exchange zu installieren, muß aber trotzdem die Schlüssel generieren und dort einbauen.

    Gibt es einen Modus, um nur die Schlüssel zu generieren, also ohne Installation? Oder gibts ein anderes Tool hierfür?

    Grüsse
    Frank

    Antworten
  10. Hallo Frank,

    Danke! DKIM läuft jetzt auf der UTM und Tests waren erfolgreich :)
    Dann beschäftige ich mich jetzt als nächstes Mal mit DMARC.

    VG!
    Gero

    Antworten
  11. Hallo Zusammen

    Danke Frank für diesen Beitrag. Wie ist das bei einem Exchange mit MultiTenants? Ist es zwingend notwendig, für alle Domains DKIM einzurichten oder kann vorerst für den Test nur für eine Domain DKIM eingerichtet werden?
    Vielen Dank

    Gruss,
    Stefan

    Antworten
  12. Hallo,

    super Beitrag. Danke dafür!
    Eine Frage dazu. Wenn eine UTM und ein Exchange im Einsatz ist dann DKIM eher über UTM oder über den Exchange?

    VG!
    Gero

    Antworten
    • Hi Gero,

      ich denke das es dann besser wäre DKIM über die UTM zu machen weil sie als außenpunkt zum Internet steht.

      LG

      Aleksandar

      Antworten
      • Hi Aleksandar,

        OK. Das wäre ein Argument. Ich warte jetzt Mal ab ob hier noch andere Meinungen dazu kommen.
        Wenn nicht dann nehme ich die UTM :)

        Danke auf jeden Fall für deine Antwort!

        VG!
        Gero

        Antworten

Schreibe einen Kommentar