Website-Suche

Exchange 2016 und Exchange 2019 SMTP-Relay


In den letzten Tagen habe ich während einer Migration von Exchange 2010 auf Exchange 2016 mit mehreren Kunden an SMTP-Relay in Exchange 2016 gearbeitet. Das letzte Mal habe ich das vor fast 9 Jahren mit Exchange 2010 gemacht https://jaapwesselius.com /2012/05/25/smtp-relay-in-exchange-2010/ und die Dinge haben sich im Laufe der Jahre geändert. Die Änderungen in Exchange 2016 werden in Exchange 2019 übernommen…. Oh, und das gilt auch für Exchange 2013, aber da Exchange 2013 bereits nicht mehr unterstützt wird und keiner meiner Kunden Exchange 2013 verwendet, überspringe ich das….

Exchange 2010 verfügt über den Hub-Transport-Dienst für SMTP, der Port 25 für die Kommunikation mit anderen SMTP-Hosts verwendet. Exchange 2016 und Exchange 2019 verfügen über zwei Dienste für den SMTP-Transport:

  • Der Front-End-Transportdienst (FETS) überwacht Port 25. Hier stellen andere SMTP-Hosts eine Verbindung her. Im Exchange 2016 Admin Center wird der FETS-Empfangsconnector als Default Frontend identifiziert. In Exchange 2013 wurde dieser Dienst auf dem Clientzugriffsserver ausgeführt.
  • Der Hub-Transport-Dienst überwacht Port 2525. Dies ist ein Back-End-Dienst, der von FETS und anderen Exchange-Hub-Transport-Back-End-Diensten verwendet wird. Von Clients wird nicht erwartet, dass sie den Hub-Transport-Dienst auf Port 2525 verwenden. Im Exchange Admin Center wird dieser Empfangsconnector als Default identifiziert. In Exchange 2013 wurde dieser Dienst auf dem Postfachserver ausgeführt.

Diese Anschlüsse werden im folgenden Screenshot dargestellt. Der Standard-Frontend-Empfangsconnector (auf Port 25) ist ausgewählt, der rote Pfeil zeigt auf den Hub-Transport-Empfangsconnector auf Port 2525.

Hinweis. Der Client-Frontend-Empfangsconnector im Screenshot überwacht Port 587 und wird für authentifizierte SMTP-Clients wie Mozilla Thunderbird verwendet.

SMTP-Relay in Exchange 2016 und 2019

Mit dem Standard-Frontend-Empfangsconnector können alle SMTP-Clients eine Verbindung herstellen und E-Mail-Nachrichten zur lokalen Zustellung ablegen. Sie möchten diesen Connector nicht so konfigurieren, dass er SMTP-Nachrichten an externe Domänen weiterleitet. Dies wird als „offenes Relay“ bezeichnet und ist der Hauptgrund dafür, auf jede im Internet verfügbare Blacklist gesetzt zu werden. Sie können dies tun und den Zugriff basierend auf IP-Adressen einschränken, ich rate jedoch dringend davon ab, die Standard-Connectors zu ändern. Lassen Sie den eingehenden SMTP-Verkehr auf dem Standard-Frontend-Empfangsconnector landen und erstellen Sie einen dedizierten Connector für den SMTP-Relay-Verkehr.

Es gibt zwei Möglichkeiten, einen solchen Relaisanschluss zu erstellen:

  • Erstellen Sie einen dedizierten Empfangsconnector (auf Frontend-Transport, nicht auf Transport Service), schränken Sie ihn nach IP-Adresse ein und fügen Sie der NT AUTHORITY\ die BerechtigungMs-Exch-SMTP-Accept-Any-Recipient hinzu. ANONYME ANMELDUNG-Sicherheitsprinzipal. Dies habe ich in dem zuvor erwähnten Blog gezeigt, und dies ist nur mit Exchange PowerShell möglich. Sendende Hosts gelten als anonym und es gelten Anti-Spam- und Nachrichtengrößenbeschränkungen.
  • Erstellen Sie einen dedizierten Empfangsconnector (erneut auf dem Frontend-Transport), schränken Sie ihn nach IP-Adresse ein und fügen Sie dem Connector den Authentifizierungsmechanismus Exchange Server und Extern gesichert hinzu. In diesem Szenario gelten sendende Hosts als authentifizierte Absender und E-Mail-Nachrichten umgehen Anti-Spam- und Nachrichtengrößenbeschränkungen. Und die Konfiguration ist über die Exchange-Administratorkonsole einfach.

Da die erste Option bereits dokumentiert ist, werde ich mit der zweiten Option fortfahren. Ich persönlich mache das gerne mit PowerShell und der Befehl zum Erstellen und Konfigurieren eines solchen Connectors sieht wie folgt aus:

[PS] C:\>New-ReceiveConnector -Name "SMTP Relay EXCH01" 
-Server EXCH01 -TransportRole FrontendTransport -Custom 
-Bindings 0.0.0.0:25 -RemoteIpRanges 10.38.96.15

Identity                 Bindings     Enabled
--------                 --------     -------
EXCH01\SMTP Relay EXCH01 {0.0.0.0:25} True


[PS] C:\>Set-ReceiveConnector "EXCH01\SMTP Relay EXCH01" 
-AuthMechanism ExternalAuthoritative 
-PermissionGroups ExchangeServers

[PS] C:\>

Wenn Sie den Connector mit dem Exchange Admin Center überprüfen, können Sie sehen, dass der Authentifizierungsmechanismus richtig eingestellt ist, wie im folgenden Screenshot gezeigt:

Es ist auch möglich, einen neuen Connector über das Exchange Admin Center zu erstellen. Navigieren Sie im EAC zu Mail Flow, wählen Sie die Registerkarte Empfangsconnectors aus und klicken Sie auf das +-Symbol. Folgen Sie dem Assistenten, geben Sie dem neuen Connector einen richtigen Namen, wählen Sie „Frontend-Transport“ und „Benutzerdefiniert“ und schränken Sie ihn nach IP-Adresse ein, wie in den folgenden Screenshots gezeigt:

Öffnen Sie nach der Erstellung den neuen Empfangsconnector, wählen Sie Sicherheit und konfigurieren Sie den Authentifizierungsmechanismus auf Extern gesichert und Exchange-Server, wie in einem vorherigen Screenshot gezeigt.

Es ist jetzt möglich, SMTP-Nachrichten vom Server mit der IP-Adresse 10.38.96.15 weiterzuleiten. Wenn Sie Telnet auf Port 25 verwenden, sehen Sie etwa Folgendes:

Beim Versuch, eine Weiterleitung von einem anderen Server durchzuführen (der nicht in den Remote-Netzwerkeinstellungen aufgeführt ist), schlägt dies mit der Fehlermeldung 550 5.7.54 SMTP; Der Empfänger kann in einer nicht akzeptierten Domäne nicht weitergeleitet werden. Fehler, wie im folgenden Screenshot gezeigt:

Zusammenfassung

Kurz gesagt: Konfigurieren Sie den Standard-Empfangsconnector nicht so, dass er Nachrichten außerhalb des Exchange-Servers weiterleitet. Wenn Sie SMTP-Relay verwenden müssen, erstellen Sie einen dedizierten Connector.

Die erste und sicherste Option besteht darin, einen neuen Empfangsconnector zu erstellen, die IP-Adresse einzuschränken und die Ms-Exch-SMTP-Accept-Any-Recipient-Berechtigung zu konfigurieren. Es werden Anti-Spam- und Nachrichtengrößenbeschränkungen angewendet, diese können jedoch nur mit PowerShell konfiguriert werden (und sind daher komplexer).

Die zweite Möglichkeit besteht darin, einen neuen Empfangsconnector zu erstellen, die IP-Adresse einzuschränken und die Authentifizierungsmechanismen zu konfigurieren. Einfacher zu konfigurieren (mit EAC), aber weniger sicher: Anti-Spam- und Nachrichtenbeschränkungen werden nicht angewendet.

Es liegt an Ihnen, welches Sie verwenden.

Verwandte Artikel