Exchange 2013: Sophos UTM 9.3 WAF als Reverse Proxy für Outlook Anywhere, OWA, ActiveSync und Autodiscover

Mit der Sophos UTM 9.2 WAF in Verbindung mit Exchange 2013 bin ich nicht richtig warm geworden. Meiner Meinung nach gab es dort zu viele Dinge die nicht wie ich erwartet hab funktionierten. Aber es gibt jetzt die Sophos UTM 9.3, also ist es Zeit für einen neuen Test. Die Umgebung ist fast unverändert:

Zeichnung1

Es handelt sich hier um meine Standard Testumgebung, 2 Exchange 2013 CU7 (CAS + MBX) Server, 1 Domain Controller und Sophos UTM 9.3 (9.303-2)

Exchange und Domain Controller sind auf Server 2012 R2 installiert. Alle Systeme sind als VM installiert. Die Sophos UTM dient als Standard Gateway für die VMs und ist Mitglied des Active Directorys. Für diesen Test gibt es zusätzlich einen Windows 8.1 Client mit Outlook 2013, der nicht Mitglied des Active Directorys ist und Outlook Anywhere nutzen möchte.

Als Zugriffspunkt für Outlook Anywhere möchte ich den DNS-Namen “outlook.frankysweb.de” verwenden, daher ist dieser Name als interner und externer Hostname konfiguriert:

image

Hinweis: Ich habe mich dazu entschieden nur 2 Hostnamen zu verwenden. Autodiscover.frankysweb.de für Autodiscover und outlook.frankysweb.de für Outlook Anywhere, OWA und ActiveSync. Es gibt ein paar HowTo’s die alle Dienste mittels eigenen Hostnamen und entsprechenden Regeln trennen. Wenn aber gekaufte Zertifikate verwendet werden, können viele Hostnamen schnell teuer werden, oder aber die externen IPs werden knapp. Ich möchte also alle Exchange Dienste mit 2 Hostnamen und 1 externen IP nutzen können.

Mit Exchange 2013 ist es Best-Practise für internen und externen Zugriffpunkt den gleichen Hostnamen zu verwenden. Bei Exchange 2010 lautete die Empfehlung noch dieses zu trennen. Ich verwende also intern, wie extern den DNS-Namen “outlook.frankysweb.de

Meine Exchange Server haben IPs aus dem Netz 172.16.100.X, da es sich um eine Testumgebung handelt, habe ich am externen Interface der UTM einen Rechner mit Windows 8.1 gehangen, der nicht Mitglied der Domain ist. der Rechner hat eine externe IP aus dem Netz 172.16.200.X. Im nächsten Screenshot wird es etwas deutlicher:

image

Die DNS Einträge für autodiscover.frankysweb.de und outlook.frankysweb.de zeigen jeweils auf die externe IP der UTM. In meinem Fall also auf die 172.16.200.1.

Nun aber zur Konfiguration der UTM WAF. Zuerst das entsprechende Zertifikat importieren:

image

Hier kann das Zertifikat hochgeladen werden

image

Nach dem Upload sollte es wie folgt aussehen:

image

Das Zertifikat welches ich verwende kommt von einer internen CA, es kann natürlich auch jedes gekaufte Zertifikat verwendet werden, wenn es die korrekten Hostnamen enthält. In meinem Fall also „outlook.frankysweb.de und „autodiscover.frankysweb.de“. Hier mein Zertifikat zur Veranschaulichung:

image

image

Sobald das Zertifikat hochgeladen ist, können wir ein Firewall Profile anlegen:

image

Ich habe mein Profil „Exchange“ genannt und die folgenden Einstellungen aktiviert:

image

Die oben gezeigten Einstellungen haben in meiner Testumgebung bestens funktioniert. Daher habe ich es erst einmal so belassen und werde gegebenenfalls weiter verfeinern. Jetzt können die „Real Servers“ angelegt werden:

image

Hinter „Host“ verbirgt sich nur die IP des Exchange Servers.

image

Ich habe beide Exchange Server als Real Server angelegt:

image

Und zum Schluss wird noch der Virtual Server angelegt:

image

Die Einstellungen für den Virtual Server sind wie folgt:

image

Das war alles…

image

…und das Beste: Es funktioniert sogar. Die Probleme die ich noch mit der UTM 9.2 hatte treten nicht mehr auf. Autodiscover funktioniert sauber, neues Outlook Konto einrichten ohne das der Client vorher in der Domain war. Sogar NTLM funktioniert:

image

image

image

Super, so habe ich mir das vorgestellt. Keine Workarounds mehr an Exchange und Active Directory, es läuft einfach. Zum Abschluss noch einmal die Outlook Ersteinrichtung, wenn der Client nicht im AD ist:

image

Die Abfrage der Anmeldedaten ist normal. Outlook versucht sich mit dem Benutzer administrator@frankysweb.de anzumelden. Mein AD Benutzer heißt aber frankysweb\administrator. Das wird in den meisten Umgebungen so sein.

image

image

image

Ich werde diesen Artikel noch etwas verfeinern. Ich freue mich aber, das es mit UTM 9.3 endlich so funktioniert, wie ich es mir wünsche. Da kann man den kleinen TLS Bug ja schon fast vergessen…

26 thoughts on “Exchange 2013: Sophos UTM 9.3 WAF als Reverse Proxy für Outlook Anywhere, OWA, ActiveSync und Autodiscover”

  1. Auch wir haben das Problem, das frei gegebene Postfächer nicht angezeigt werden. Mann man diese manuell in Outlook hinzufügt, zeigt Outlook die zwar an, aber lassen sich nicht öffnen. Wenn man in Outlook 2016 versucht ein zweites Exchangekonto anzubinden, ist das auch nicht möglich. Vermute, das immer nur die Daten von einen Konto durchgelassen werden. In einem Outlook 2010 führte das zu dem kuriosen Effekt, dass ein frei gegebenes Postfach als Duplikat des Hauptpostfachs angezeigt wurde. Einzel verbunden funktionierte alles.
    Also Freigaben funktionieren leider nicht. Hilfe wäre schön.

    Reply
  2. Wie sieht es mit einem LetsEncrypt Zertifikat aus. Muss dieses dann in die Sophos geladen werden? Problem: Alle 3 Monate dann neu hochladen?

    Reply
  3. Vielen Dank für diese Anleitung. Funktioniert prima!

    Ich habe allerdings ein Problem: Unter EX2013 werden die freigegebenen Ordner (Empfänger\Freigeben) in Outlook Anywhere nicht mehr angezeigt. Wenn diese freigegebenen Ordner mal weg sind, kommen dieser Ordner auch nicht mehr zurück, egal ob im LAN oder WAN.

    Vorher hatte ich das mal „billig“ über DNAT:443 auf den EX2013 gelöst, das funktionierte. Nach Umstellung auf WAF ist nur noch das private Postfach vorhanden.

    Hat jemand eine Idee?

    Reply
  4. Super Anleitung, danke.
    Trotzdem will OA bei nicht nicht ganz funktionieren…

    Folgender Fehler im Connectivity Analyzer:

    Attempting to ping the MAPI Mail Store endpoint with identity: id@domain.de:6001.
    The attempt to ping the endpoint failed.

    Additional Details

    An RPC error was thrown by the RPC Runtime process. Error 1818 CallCancelled
    Elapsed Time: 34258 ms.

    Kann damit jemand etwas anfange?

    Reply
  5. Ich habe leider auch noch ein weiteres Problem.
    Und zwar bleibt bei iPhones wenn man eine E-Mail anwählt der Inhalt komplett weis, ebenso kann man teilweise keine E-Mail versenden über ein iPhone.
    Alle Regel sollten jedoch wie oben beschrieben eingetragen sein. Auch HTTP Policy ist nicht aktiviert wie oben für das iPhone in den Kommentaren beschrieben.

    Grüße

    Reply
  6. Hallo,

    vielen Dank für die Anleitung. Hat vielleicht jemand eine Ahnung warum mir OWA in Safari auf dem Mac nach dem Login nur eine weiße Seite anzeigt?

    Würde mich über eurer Hilfe freuen.

    Danke und Gruß

    Reply
  7. Hallo zusammen.
    Ich habe alles nach dieser Anleitung eingerichtet.
    Nun habe ich bei der Mail App von Windows 10 Mobile und Windows 10 den Fehler, dass Autodiscover nicht funktioniert.
    Durch Testen habe ich herausgefunden, dass sobald ich das URL Hardening deaktiviere, es funktioniert.
    Outlook selbst und der Autodiscover Test von Microsoft haben keine Schwierigkeiten mit der Einstellung.
    Folgendes hatte ich die ganze Zeit aktiv: Statisches URL-Hardening mit /autodiscover und /Autodiscover.
    Getestet habe ich auch noch mit je klein+Großschreibung /ecp /ews /owa /rpc /rpcwithcert /Microsoft-Server-ActiveSync /autodiscover
    Leider funktioniert es bei der Mail App erst, wenn ich komplett das Hardening deaktiviere.

    Kann hier jemand helfen? Ich finde leider nichts dazu.

    GrüßeTimo

    Reply
  8. Hallo Frank,

    vielen dank für den Gut gelungen Beitrag. Allerdings ist mein Ziel, OWA + ECP von Außen nicht erreichbar zu machen und ActiveSync für Mobile Engeräte erreichbar zu halten. Die Anleitung aus de 9.2er Version hatte ich umgesetzt (inkl. den Außnahmen und dem Statisches URL-Hardening und seinen eintragungen), genau so wie der Teil zu 9.3er Version. Ich bekomme es nicht hin,schalte ich das Statisches URL-Hardening (ohne OWA und ECP) ein, ist der Exchange per OWA nicht erreichbar, war ja so gewollt. Allerdings funktioniert ActiveSync dann auch nicht. Hat hier jemand eine Idee?

    Gruß Christian

    Reply
  9. Hallo Frank,

    sehr gute Anleitung und sie funktioniert auch mit dem Exchange 2013 und 2016 nebeneinander, ruckelt zwar etwas aber es ist ok. Wir setzen einen Sophos SG Firewall Cluster ein, von Sophos kommt jetzt ein Grundsätzliches Upgrade auf ein neues OS.
    Da kann man nur hoffen diese Geschichte etwas flüssiger läuft, wir sind auf jedenfall gespannt.

    Reply
  10. Servus,

    noch ein Nachtrag:

    Ich kann nur dringend empfehlen in allen Profilen und bei allen Diensten (nicht nur AutoDiscover) keine Load Balancing zu verwenden sondern per Aktivierung der Funktion „Hot Standby“ zu erzwingen das immer nur ein Server verwendet wird. Ansonsten gibt es jede Menge Probleme, Outlook 2011 für Mac zum Beispiel lässt sich gar nicht erst konfigurieren wenn für die EWS Schnittstelle mehrer Server aktiv sind.

    Als echtes TMG Replacment kann die Sophos UTM so eigentlich nur in kleinen Umgebungen mit maximale einem aktivem Exchange Server sinnvoll eingesetzt werden.

    viele Grüsse

    Janosch

    Reply
  11. Hallo,

    sorry, hatte hier ein paar Tage nicht reingeschaut. Leider kann ich hier keine Screenshots posten, jede Einstellung abtippen ist relativ viel Aufwand.

    Wer noch immer Interesse an meiner Confíg hat möge mir doch eine Mail schicken: js [at] cionix.de und ich schicke dann die Screens.

    viele Grüsse

    Jan

    Reply
  12. Ja +1 bei mir. Ich muss das auch bald genau so konfigurieren. Da wäre ein detailliertes Firewallprofil vielleicht nicht so verkehrt ;)

    Danke im voraus.
    Grüße Patrick

    Reply
  13. Hallo Frank,

    erst einmal für die neue Anleitung. Auch bei mir klappt es jetzt sauber. Der Hinweis von Janosch war allerdings wichtig, da es mit 2 Servern sonst extern ab und an mal hakt.

    @ Janosch
    Wäre toll, wenn du deine Firewall-Profile hier posten würdest. Also ich hätte Interesse und es spart ggf. Zeit. ;-)

    Reply
  14. Hallo zusammen,

    danke an Janosch. Ich hatte auch ein Problem mit Autodiscover und konnte dies lösen, indem ich nur einen Server ausgewählt habe.
    @Janosch: wie hast Du das hinbekommen das der 2. Server bei Autodiscover erst angesprochen wird, wenn der erste weg ist?

    Danke auch an Frank für diese tolle Website.

    Gruß
    Marcus

    Reply
  15. interssante einführung in das thema. vielleicht sollte man auf die brisanz der konfiguration hinweisen?
    bitte diese konfiguration nur zum testen verwenden und nicht in „echt“, da der exchangeserver aus dem internet angreifabr wird..
    bildlich gesprochen: warum sollte ich bei einem condom die spitzte abschneiden? damit man sich sicher fühlt.

    Reply
  16. Ich bekomme die Sache leider nicht komplett zum Laufen und finde den Fehler nicht. Basis ist Exchange 2013 CU7 und UTM 9.305.
    @Janosch, bitt die Konfiguration im Detail posten, ich würde gern vergleichen. Danke

    Reply
  17. Bei mir haut es nun auch endlich hin (mit v9.305 und Exchange 2013 CU6), auch mit NTLM. Damit AutoDiscover funktioniert (also der Test unter https://testconnectivity.microsoft.com ein wirklich „grünes“ Resultat) liefert musste ich aber noch für AutoDiscover einen eigenen virtual WebServer anlegen und den so konfigurieren das der 2. Exchange Server NUR benutzt wird wenn der 1. ausgefallen ist. Sonst klappt es nicht da sonst scheinbar die Request wahlweise an einen der beiden Server gehen und das funktioniert nicht (sonderbarer Weise funktionieren aber *beide* Server jeweils einzeln im Profil problemlos).

    Damit der Rest auch geht (OWA, Outlook Anywhere etc.) hab ich die Regeln diese PDF ? https://sophserv.sophos.com/repo_kb/120454/file/Exchange%20WAF%20How%20to%209%202.pdf als Basis genommen und die Firwall Profile solange angepasst bis alles funktionierte (für die Exchange Services darf zum Beispiel „HTTP Policy“ nicht aktiviert sein sonst sieht man auf dem Iphone keine Unterordner und keine Mails im Posteigang, für ECP darf „Rewrite HTML“ am virtual Webserver nicht aktiviert sein sonst gibts den bekannten 412er Script Fehler usw.). Bei Bedarf kann ich die Profile die bei mir jetzt funktionieren gern mal posten.

    viele Grüsse

    Jaosch

    Bei

    Reply
  18. moin noch immer habe ich das problem

    Proxy Error

    The proxy server received an invalid response from an upstream server.
    The proxy server could not handle the request GET /owa.

    Reason: Error reading from remote server

    hast du da ne lösung

    Reply
  19. Hmm, ist es bei „Pass Outlook Anywhere“ nicht so, dass die Filterregeln gar nicht greifen und daher NTLM direkt an den Exchange Server weitergereicht wird?

    Reply

Leave a Comment