Sophos bietet schon seit geraumer Zeit den Nachfolger der UTM, genannt Sophos XG, an. Der Werbeslogan von Sophos dazu:
The next thing in next-gen: ultimative Firewall-Performance, -Sicherheit und –Kontrolle
Bisher habe ich um die Sophos XG einen Bogen gemacht, da bei meinem letzten Test vieles noch nicht wirklich rund funktioniert hat. Mein letzter Test liegt allerdings auch schon eine ganze Weile zurück, daher habe ich mir wieder einmal die Home Edition der XG runtergeladen und einen neuen Versuch gestartet. Die Home Edition gibt es hier:
Sophos XG Firewall Home Edition
Nach der Installation und der initialen Konfiguration, möchte ich zunächst die Webserver Protection der Sophos XG testen. Daher gibt es hier ein kleines Howto in Verbindung mit Exchange 2016.
Die Umgebung sieht wie folgt aus:
Im Prinzip handelt es sich um die gleiche Umgebung in der ich auch mit der Sophos UTM teste. Daher lässt sich die Funktionsweise ganz gut vergleichen. Es gibt einen Domain Controller und einen Exchange 2016 Server, beide sind an die Sophos XG angeschlossen.
Soweit zur Umgebung, es kann losgehen.
Zertifikat auf der Sophos XG installieren
Zunächst wird ein SSL Zertifikat für Webserver Protection benötigt. Ich verwende ein vorhandenes Zertifikat. Dabei handelt es sich um ein SAN Zertifikat welches die Namen autodiscover.frankysweb.de und mail.frankysweb.de enthält. Das Zertifikat liegt im PKCS12 Format vor und kann so auf der XG importiert werden:
Bei dem Import muss nur ein Name, die PFX-Datei und das zugehörige Kennwort angegeben werden:
Nachdem das Zertifikat importiert wurde, erscheint es in der GUI:
Hinweis: Ich verwende hier der Einfachheit halber ein vorhandenes gültiges Zertifikat, kostenlose SAN-Zertifikate gibt es bei Let’s Encrypt. Diese können zum Beispiel auf einem Windows Server beantragt und dann exportiert werden. Das Let’s Encrypt Zertifikat kann dann an der XG wie oben beschrieben wieder importiert werden und lässt sich nutzen. Weitere Infos zu Lets Encrypt gibt es hier:
Exchange 2016: Kostenlose Zertifikate von Let’s Encrypt
Webserver anlegen
Nach dem Import des Zertifikat wird der Exchange Server als Webserver an der XG bekannt gemacht:
Für den Webserver muss wieder ein Name angegeben werden, als Host wird ein neues Objekt mit der IP-Adresse des Exchange Servers erstellt. Auch die Angabe des DNS-Namens ist möglich, hier muss dann sichergestellt sein, das die XG den Namen auflösen kann. Als Typ wird “verschlüsselt (HTTPS) ausgewählt. Als Standard Timeout eignet sich 1850 Sekunden.
Nachdem der Webserver angelegt wurde, erscheint der entsprechende Eintrag:
Firewall konfigurieren (Webservices)
Die XG bringt bereits ein Template für Exchange Server mit, allerdings ist dieses Template nicht mehr ganz auf dem aktuellen Stand, so wird zum Beispiel MAPIoverHTTP noch nicht berücksichtigt und auch die Umleitung von “/” nach “/owa” funktioniert nicht Out-of-the-Box. Aber das Template lässt sich gut als Basis verwenden, wenn man es etwas anpasst. Ich verwendet das Template und passe es dann meinen Bedürfnissen entsprechend an:
Im Dialog der neuen “Geschäftsanwendungsregel” kann dann die Anwendungsvorlage “Exchange General” ausgewählt und ein Name für die Regel vergeben werden. Zusätzlich wird der WAN-Port im Feld “Gehostete Adresse” ausgewählt und die beiden Checkboxen für “HTTPS” und “HTTP umleiten” aktiviert. Im Feld “HTTPS-Zertifikat” wird das zuvor importierte Zertifikat angegeben und alle Domain Namen bis auf den Namen über den sämtliche Exchange Protokolle mit Ausnahme von Autodiscover laufen sollen. In meinem Fall ist es also mail.frankysweb.de für OWA, EWS, ActiveSync etc.
Weiter unten im Dialog finden sich nun die “geschützten Server”, hier muss etwas Hand angelegt werden. Für jeden Pfad muss ein Webserver angegeben werden (roter Kasten), die Pfade “/oma” und “/OMA” sind veraltet und können gelöscht werden (oranger Kasten). Wenn für Exchange intern die Formularbasierte Authentifizierung verwendet wird, muss die Authentifizierung an der XG abgeschaltet werden (blauer Kasten):
Hier einmal exemplarisch die Einstellungen für “/owa”. Als Webserver wird der zuvor angelegte Webserver ausgewählt und die Authentifizierung abgeschaltet:
Diese Einstellungen werden nun für alle Pfade vorgenommen, sodass es in der Übersicht jetzt wie folgt aussieht:
Die restlichen Einstellungen im Dialog können erst einmal so belassen werden:
Nachdem die Regel gespeichert wurde, wird sie in der Übersicht angezeigt:
Weiter geht es mit Autodiscover.
Firewall konfigurieren (Autodiscover)
Für Autodiscover wird eine zweite Geschäftsanwendungsregel benötigt:
Als Vorlage dient diesmal “Exchange Autodiscover” mit entsprechendem Regelnamen. Es wird ebenfalls wieder der WAN Port im Feld “Gehostete Adresse” angegeben und die beiden Checkboxen für “HTTPS” und “HTTP umleiten” ausgewählt. Das bereits importierte Zertifikat wird wieder ausgewählt und alle Domains bis auf “autodiscover.frankysweb.de” gelöscht.
Im weiteren Verlauf des Dialogs müssen wieder ein paar Einstellungen geändert werden. Als Webserver wird wieder der Exchange Server angegeben und die Authentifizierung wird abgeschaltet. Das Abschalten der Authentifizierung hat zur Folge, das der Exchange Server die Authentifizierung von Benutzern durchführt und nicht die XG. Hier das Beispiel für den Pfad “/autodiscover”:
Nachdem alle Pfade angepasst wurde, sieht es wie folgt aus:
Die restlichen Einstellungen in diesem Dialog können so belassen werden:
Nachdem die Regel gespeichert wurde, sind zwei Geschäftsanwendungsregeln angelegt:
Die Grundkonfiguration der XG ist nun soweit abgeschlossen.
Die nächsten Schritte
Damit die Konfiguration funktioniert, sind noch weitere Schritte nötig. Zwar würde OWA, EWS, ActiveSync und Autodiscover bereits funktionieren, wenn die entsprechenden DNS Einträge erstellt werden. Aber für Outlook Anywhere und MAPIoverHTTP muss die Konfiguration noch angepasst werden. Auch funktioniert die Umleitung von HTTP nach HTTPS, aber noch nicht die Umleitung des Root-Folders (https://mail.frankysweb.de) nach “/owa” (https://mail.frankysweb.de/owa) um es den Benutzern möglichst einfach zu machen. Für diese Anpassungen wird es einen zweiten Teil geben, der bereits in Arbeit ist und in den nächsten Tagen veröffentlicht wird.
Update
Auch der zweite Teil ist fertig: Sophos XG: Exchange 2016 und SFOS 16.05 Webserver Protection (Teil 2)
In diesem Artikel habe ich vergessen, zwei nicht mehr benötigte Ausnahmen zu löschen (siehe Hinweis in Teil 2, Abschnitt MAPIoverHTTP).