Sophos XG 18 Webserver Protection und Exchange 2019
Zitat von mpca am 14. Dezember 2021, 16:56 Uhrhttps://www.frankysweb.de/sophos-xg-18-webserver-protection-und-exchange-2019/
Sophos KBA: https://support.sophos.com/support/s/article/KB-000040209?language=en_US
Der letzte Artikel zur Sophos XG in Verbindung mit Exchange ist schon wieder etwas in die Jahre gekommen, daher gibt es hier mal wieder eine aktualisierte Version. Zur Zeit ist die SFOS 18 aktuell, getestet habe ich die Version 18.0.4 MR-4. Meine kleine Testumgebung ist wie folgt aufgebaut:
Exchange ist auf die Hostnamen outlook.frankyswebweblab.de für die Webservices und autodisocver.frankysweblab.de für Autodiscover konfiguriert. Intern und extern sind die gleichen Hostnamen konfiguriert. Alles weitere folgt im Artikel.
Konfiguration Sophos XG Webserver Protection
Damit später die Webserver Protection der Sophos XG konfiguriert werden kann, muss zunächst ein SSL-Zertifikat installiert werden. Leider unterstützt die XG in der Version 18 immer noch keine automatisierten Let’s Encrypt Zertifikate. Das Let’s Encrypt Feature (wie es schon lange auf der Sophos UTM vorhanden ist), ist schon lange auf der Wunschliste der Benutzer, vielleicht schafft es das Feature ja in einer der nächsten Versionen. Aktuell muss also noch ein entsprechendes Zertifikat beschafft werden. Da die meisten Verbindungen via Webserver Protection zu Exchange von externen Clients kommen, sollte es sich hier um ein Zertifikat einer öffentlichen CA handeln, damit das Zertifikat von allen Clients als Vertrauenswürdig anerkannt wird. Auf dem Zertifikat müssen der DNS-Name für die Exchange Webservices und für Autodiscover enthalten sein (weitere Informationen finden sich im Exchange Zertifikate Whitepaper). In meinem Fall enthält das Zertifikat den Namen outlook.frankysweblab.de und autodiscover.frankysweblab.de.
Das Zertifikat kann unter dem Punkt “Certificates” hinzugefügt werden:
Das Zertifikat kann im PFX oder PEM Format hochgeladen werden:
Nachdem das Zertifikat hochgeladen wurde, wird es in der Übersicht angezeigt. Auch wenn es in dieser Übersicht nicht angezeigt wird, das Zertifikat enthält die DNS-Namen outlook.frankysweblab.de und autodiscover.frankysweblab.de. Beide Namen sind wichtig, damit später keine Zertifikatswarnungen oder Fehler bei der Einrichtung der Outlook Clients auftreten:
Jetzt kann unter dem Punkt “Web servers” der Exchange Server als Webserver hinzugefügt werden. Wenn es mehrere Exchange Server in der Organisation gibt, muss hier der Virtual Server des Loadbalancers angegeben werden. Es können hier nicht einfach alle Exchange Server angegeben werden (dies ist auch bei der Sophos UTM der Fall). Entweder muss hier also der eine Exchange Server angelegt werden, oder aber ein Loadbalancer zwischen XG und Exchange implementiert werden:
Der Exchange Server wird hier als IP oder als FQDN Host angelegt:
In meinem Fall habe ich den Exchange Server als IP Host angegeben:
Zum Abschluss muss nun noch der Wert im Feld “Type” auf “Encrypted (HTTPS)”, sowie der “Time-out” auf “1850” umgestellt werden:
Jetzt können zwei neue “Protection Policy” für Exchange 2019 angelegt werden. Die Sophos Templates eignen sich nicht für Exchange 2019/2016, da sie komplett veraltet sind. Es sollte daher eine neue Policy für Exchange 2019 angelegt werden (funktioniert auch mit Exchange 2016):
Die Policy für die Exchange 2019 Dienste wie OWA und EWS, kann beispielsweise “Exchange Webservices”genannt werden und bekommt zunächst folgende Einstellungen:
Hinweis: Die Einstellung “Pass Outlook Anywhere” wird nicht mehr benötigt, alle Clients ab Outlook 2010 sprechen MAPIoverHTTP. Auf Exchange 2019 Server ist dies auch das bevorzugte Protokoll, auf Exchange 2016/2013 Servern muss es ggf. noch aktiviert werden.
Hier die vollständige Liste der Entry URLs:
- /ecp
- /ECP
- /ews
- /EWS
- /Microsoft-Server-ActiveSync
- /oab
- /OAB
- /owa
- /OWA
- /
- /mapi
- /MAPI
Die folgenden 4 Filter Regeln müssen ausgeschlossen werden:
- 960010
- 960015
- 981204
- 981176
Eine weitere Policy ist für Autodiscover erforderlich, diese wird wie folgt konfiguriert:
Hier die Entry URLs:
- /autodiscover
- /Autodiscover
Die folgenden beiden Filter Regeln müssen ausgeschlossen werden:
- 960015
- 960911
Nachdem die beiden Regeln erstellt wurden, sieht es in der Übersicht nun so aus:
Jetzt können zwei neue Firewall Regeln für Exchange angelegt werden:
Die erste Regel ist für die Exchange Webservices, die Einstellungen können den Screenshots entnommen werden. Wichtig ist, dass als “Hosted address” der WAN Port der Sophos XG ausgewählt wird:
Als “Protected Server” wird natürlich der Exchange 2019 Server ausgewählt:
Im Bereich “Advanced” wird nun die zuvor erstellte Protection Policy ausgewählt und “Pass host header” aktiviert (“Pass host header” ist insbesondere für nachgelagerte Loadbalancer wichtig):
Die zweite Firewall Regel ist für Autodiscover, die Regel wird nahezu identisch zur ersten Regel konfiguriert. Wichtig ist hier, dass im Feld “Domains” der Eintrag “outlook.frankysweblab.de” durch “autodiscover.frankysweblab.de” ersetzt wird:
Hinweis: Das zuvor konfigurierte Zertifikat muss beide Namen enthalten, zwei einzelne Zertifikat mit jeweils einem Hostnamen funktionieren hier nicht.
Als Protected Server wird wieder der Exchange 2019 Server ausgewählt:
Im Bereich Exceptions kann jetzt die Protection Policy für Autodiscover ausgewählt und die Einstellung “Pass host header” aktiviert werden:
Beim Speichern der Firewall Regel wird eine Warnung angezeigt, dass das Zertifikat den Hostnamen “autodisocver.frankysweblab.de” nicht abdecken würde. Die Meldung ist allerdings Quatsch. Die XG scheint hier einfach nur den CN (Common Name) des Zertifikats auszuwerten, nicht aber die SAN-Einträge (Subject Alternate Name”. Die Regel lässt sich aber trotzdem speichern und funktioniert auch:
Nachdem die beiden Regeln erstellt wurden, sieht es nun wie folgt in der Übersicht aus:
Zum Schluss müssen nun noch die beiden DNS-Einträge “outlook.frankysweblab.de” und “autodiscover.frankysweblab.de” auf die WAN IP der Sophos XG zeigen (im öffentlichen DNS).
https://www.frankysweb.de/sophos-xg-18-webserver-protection-und-exchange-2019/
Sophos KBA: https://support.sophos.com/support/s/article/KB-000040209?language=en_US
Der letzte Artikel zur Sophos XG in Verbindung mit Exchange ist schon wieder etwas in die Jahre gekommen, daher gibt es hier mal wieder eine aktualisierte Version. Zur Zeit ist die SFOS 18 aktuell, getestet habe ich die Version 18.0.4 MR-4. Meine kleine Testumgebung ist wie folgt aufgebaut:
Exchange ist auf die Hostnamen outlook.frankyswebweblab.de für die Webservices und autodisocver.frankysweblab.de für Autodiscover konfiguriert. Intern und extern sind die gleichen Hostnamen konfiguriert. Alles weitere folgt im Artikel.
Konfiguration Sophos XG Webserver Protection
Damit später die Webserver Protection der Sophos XG konfiguriert werden kann, muss zunächst ein SSL-Zertifikat installiert werden. Leider unterstützt die XG in der Version 18 immer noch keine automatisierten Let’s Encrypt Zertifikate. Das Let’s Encrypt Feature (wie es schon lange auf der Sophos UTM vorhanden ist), ist schon lange auf der Wunschliste der Benutzer, vielleicht schafft es das Feature ja in einer der nächsten Versionen. Aktuell muss also noch ein entsprechendes Zertifikat beschafft werden. Da die meisten Verbindungen via Webserver Protection zu Exchange von externen Clients kommen, sollte es sich hier um ein Zertifikat einer öffentlichen CA handeln, damit das Zertifikat von allen Clients als Vertrauenswürdig anerkannt wird. Auf dem Zertifikat müssen der DNS-Name für die Exchange Webservices und für Autodiscover enthalten sein (weitere Informationen finden sich im Exchange Zertifikate Whitepaper). In meinem Fall enthält das Zertifikat den Namen outlook.frankysweblab.de und autodiscover.frankysweblab.de.
Das Zertifikat kann unter dem Punkt “Certificates” hinzugefügt werden:
Das Zertifikat kann im PFX oder PEM Format hochgeladen werden:
Nachdem das Zertifikat hochgeladen wurde, wird es in der Übersicht angezeigt. Auch wenn es in dieser Übersicht nicht angezeigt wird, das Zertifikat enthält die DNS-Namen outlook.frankysweblab.de und autodiscover.frankysweblab.de. Beide Namen sind wichtig, damit später keine Zertifikatswarnungen oder Fehler bei der Einrichtung der Outlook Clients auftreten:
Jetzt kann unter dem Punkt “Web servers” der Exchange Server als Webserver hinzugefügt werden. Wenn es mehrere Exchange Server in der Organisation gibt, muss hier der Virtual Server des Loadbalancers angegeben werden. Es können hier nicht einfach alle Exchange Server angegeben werden (dies ist auch bei der Sophos UTM der Fall). Entweder muss hier also der eine Exchange Server angelegt werden, oder aber ein Loadbalancer zwischen XG und Exchange implementiert werden:
Der Exchange Server wird hier als IP oder als FQDN Host angelegt:
In meinem Fall habe ich den Exchange Server als IP Host angegeben:
Zum Abschluss muss nun noch der Wert im Feld “Type” auf “Encrypted (HTTPS)”, sowie der “Time-out” auf “1850” umgestellt werden:
Jetzt können zwei neue “Protection Policy” für Exchange 2019 angelegt werden. Die Sophos Templates eignen sich nicht für Exchange 2019/2016, da sie komplett veraltet sind. Es sollte daher eine neue Policy für Exchange 2019 angelegt werden (funktioniert auch mit Exchange 2016):
Die Policy für die Exchange 2019 Dienste wie OWA und EWS, kann beispielsweise “Exchange Webservices”genannt werden und bekommt zunächst folgende Einstellungen:
Hinweis: Die Einstellung “Pass Outlook Anywhere” wird nicht mehr benötigt, alle Clients ab Outlook 2010 sprechen MAPIoverHTTP. Auf Exchange 2019 Server ist dies auch das bevorzugte Protokoll, auf Exchange 2016/2013 Servern muss es ggf. noch aktiviert werden.
Hier die vollständige Liste der Entry URLs:
- /ecp
- /ECP
- /ews
- /EWS
- /Microsoft-Server-ActiveSync
- /oab
- /OAB
- /owa
- /OWA
- /
- /mapi
- /MAPI
Die folgenden 4 Filter Regeln müssen ausgeschlossen werden:
- 960010
- 960015
- 981204
- 981176
Eine weitere Policy ist für Autodiscover erforderlich, diese wird wie folgt konfiguriert:
Hier die Entry URLs:
- /autodiscover
- /Autodiscover
Die folgenden beiden Filter Regeln müssen ausgeschlossen werden:
- 960015
- 960911
Nachdem die beiden Regeln erstellt wurden, sieht es in der Übersicht nun so aus:
Jetzt können zwei neue Firewall Regeln für Exchange angelegt werden:
Die erste Regel ist für die Exchange Webservices, die Einstellungen können den Screenshots entnommen werden. Wichtig ist, dass als “Hosted address” der WAN Port der Sophos XG ausgewählt wird:
Als “Protected Server” wird natürlich der Exchange 2019 Server ausgewählt:
Im Bereich “Advanced” wird nun die zuvor erstellte Protection Policy ausgewählt und “Pass host header” aktiviert (“Pass host header” ist insbesondere für nachgelagerte Loadbalancer wichtig):
Die zweite Firewall Regel ist für Autodiscover, die Regel wird nahezu identisch zur ersten Regel konfiguriert. Wichtig ist hier, dass im Feld “Domains” der Eintrag “outlook.frankysweblab.de” durch “autodiscover.frankysweblab.de” ersetzt wird:
Hinweis: Das zuvor konfigurierte Zertifikat muss beide Namen enthalten, zwei einzelne Zertifikat mit jeweils einem Hostnamen funktionieren hier nicht.
Als Protected Server wird wieder der Exchange 2019 Server ausgewählt:
Im Bereich Exceptions kann jetzt die Protection Policy für Autodiscover ausgewählt und die Einstellung “Pass host header” aktiviert werden:
Beim Speichern der Firewall Regel wird eine Warnung angezeigt, dass das Zertifikat den Hostnamen “autodisocver.frankysweblab.de” nicht abdecken würde. Die Meldung ist allerdings Quatsch. Die XG scheint hier einfach nur den CN (Common Name) des Zertifikats auszuwerten, nicht aber die SAN-Einträge (Subject Alternate Name”. Die Regel lässt sich aber trotzdem speichern und funktioniert auch:
Nachdem die beiden Regeln erstellt wurden, sieht es nun wie folgt in der Übersicht aus:
Zum Schluss müssen nun noch die beiden DNS-Einträge “outlook.frankysweblab.de” und “autodiscover.frankysweblab.de” auf die WAN IP der Sophos XG zeigen (im öffentlichen DNS).