Hier folgt eine kurze Anleitung wie mit der Sophos UTM eine Site-2-Site (S2S) VPN Verbindung zu Microsoft Azure hergestellt werden kann. Da das Azure Portal mittlerweile deutlich überarbeitet wurde und ich nur recht alte HowTo’s gefunden habe, habe ich meine Konfiguration der UTM und Azure hier einmal zusammengefasst. Wenn ich etwas Zeit finde, folgt auch noch ein Artikel wie der Zugriff auf die jeweiligen Netze eingeschränkt werden kann.
Einleitung
Für dieses HowTo benutze ich eine “leere” Azure Umgebung, bisher wurden also keine Ressourcen angelegt. Wenn bereits Virtuelle Netze angelegt wurden, lässt sich diese Anleitung aber meist übertragen oder gegebenenfalls leicht abändern.
Hier mal eine kleine Übersicht, wie die lokale und die zukünftige Azure Umgebung aufgebaut wird:
Es gibt zwei lokale Netze 192.168.100.0/24 und 172.16.14.0/24. Innerhalb von Azure wird das Virtuelle Netzwerk 10.10.0.0/16 angelegt, welches wiederum mehrere Subnetze (10.10.1.0/24, 10.10.2.0/24, etc) enthält.
Konfiguration Azure Netzwerke
Zuerst erfolgt die Konfiguration der virtuellen Netzwerke in Azure. Dazu wird zunächst ein neues virtuelles Netzwerk angelegt:
Das neue virtuelle Netzwerk erhält den Adressbereich 10.10.0.0/16, innerhalb dieses Netzes wird das Subnetz 10.10.0.0/24 angelegt. Das erste Subnetz (10.10.0.0/24) könnte beispielsweise Dienste enthalten, welche aus dem Internet direkt erreichbar sind. Welche Funktion den Subnetzen zugeordnet wird, ist aber jedem selbst überlassen:
Sobald das neue virtuelle Netzwerk mit dem ersten Subnetz erstellt wurde, sollte die Übersicht in Azure wie folgt aussehen:
Mit einem Klick auf das neue virtuelle Netzwerk, lassen sich nun weitere Subnetze anlegen.
Damit später eine S2S-VPN Verbindung aufgebaut werden kann, wird ein Gatewaysubnetz benötigt. Ich habe das Gatewaysubnetz auf das letzte Subnetz im 10.10.0.0/16 Netz gelegt (In diesem Fall also 10.10.255.0/24):
Nachdem das Gatewaysubnetz erstellt wurde, kann nun ein “Gateway für virtuelle Netzwerke” erstellt werden. Dabei handelt es sich im Prinzip um einen VPN fähigen Router in Azure. Unter dem Menüpunkt “Ressource erstellen” kann nach “Gateway für virtuelle Netzwerke” gesucht werden und die entsprechende Ressource erstellt werden:
Jetzt können die Einstellungen für das virtuelle Gateway festgelegt werden. Wichtig ist, dass die Sophos UTM derzeit IKEv1 unterstützt, somit muss der “VPN-Typ” auf “Richtlinienbasiert” eingestellt werden. Der VPN-Typ “Routenbasiert” erfordert IKEv2, welches derzeit nicht von der UTM unterstützt wird. Die weiteren Einstellungen sollten selbsterklärend sein:
Wenn bis hier her alles geklappt hat, lässt sich das neue Gateway erstellen:
Jetzt kann ein neues “Lokales Netzwerkgateway” erstellet werden. Das “Lokale Netzwerkgateway” ist im Prinzip die lokale Sophos UTM (in der UTM heißt diese Konfiguration “Entferntes Gateway”), hier werden die Einstellungen für den S2S-VPN-Tunnel vorgenommen:
Für das “Lokale Netzwerkgateway” werden die Einstellungen die Daten der lokalen Sophos UTM eingetragen, im wesentlichen also die statische IP WAN der IP UTM und die im Tunnel verfügbaren lokalen Netzwerke:
Nachdem das “Lokale “Netzwerkgateway” angelegt wurde, sollte die Azure Übersichtsseite nun wie folgt aussehen:
Wichtig: An dieser Stelle muss abgewartet werden, bis die Bereitstellung der Ressourcen abgeschlossen ist (Glockensymbol)
Damit von der UTM eine S2S-VPN Verbindung hergestellt werden kann, muss eine neue “Verbindung” hinzugefügt werden. Die S2S Verbindung kann auf der zuvor erstellten Ressource “Gateway für virtuelle Netzwerke” hinzugefügt werden, in diesem Fall also “FrankysWeb-Test-VNet1-GW1”:
Innerhalb der Verbindung kann nun ein PSK (Pre Shared Key, Gemeinersamer Schlüssel) eingetragen werden, der PSK wird später für die Konfiguration der UTM benötigt:
Nachdem die Einstellungen gespeichert wurden, sieht die Übersicht der Verbindungen nun so aus:
Für die Konfiguration der Sophos UTM wird nun neben dem PSK auch die statische IP des Azure Gateways benötigt. Die IP lässt sich in der Übersicht anzeigen:
Die Azure Konfiguration ist nun abgeschlossen, weiter geht es mit der lokalen UTM.
Konfiguration der Sophos UTM
Da die Azure Konfiguration nun abgeschlossen ist, kann mit der Konfiguration der Sophos UTM begonnen werden. Zunächst muss eine neue “IPsec Richtlinie” erstellt werden:
Die Einstellungen der “IPsec Richtlinie” der UTM sind im folgenden Screenshot abgebildet:
Jetzt kann ein neues “entferntes Gateway” angelegt werden, also das Gegenstück zum “Lokalen Netzwerkgateway” in Azure. ALs Gateway wird die IP Adresse des Azure Gateways verwendet:
Als Authentifizierungsmethode wird “Verteilter Schlüsse” (PSK, Pre Shared Key) genutzt und der zuvor in Azure festgelegte PSK verwendet. Zusätzlich wird das Azure Netzwerk als “entferntes Netzwerk” angelegt, in diesem Fall also das komplette Netz 10.10.0.0/16:
Die Übersicht der UTM sollte nun wie folgt aussehen:
Nachdem das entfernte Gateway erzeugt wurde, kann eine neue IPsec-Verbindung erstellt werden. Hier wird das zuvor erstellte entfernte Gateway und die IPsec Richtlinie ausgewählt. Als lokale Schnittstelle wird die WAN-Schnittstelle der UTM eingetragen. Als lokale Netzwerke müssen die Subnetze / Netzwerke eingetragen werden, die zuvor auf dem lokalen Netzwerkgateway in Azure eingetragen wurden. Die Einstellungen der lokalen Netzwerke der UTM muss mit den Subnetzen des lokalen Netzwerkgateways in Azure übereinstimmen:
Nachdem die Verbindung erstellt wurde, kann der S2S-Tunnel aktiviert werden:
Nach kurzer Zeit sollte die Verbindung funktionieren.
Status / Tests
Um den Status der S2S Verbindung zu prüfen, kann der Status auf der Site-2-Site-VPN Übersichtsseite der UTM angezeigt werden, wenn es für jedes konfigurierte lokale Netz eine SA gibt, sollte die Verbindung funktionieren:
Auch im Azure Portal der Status der VPN Verbindung angezeigt:
Mittels ping lässt sich nun auch der Status der Verbindung prüfen:
Tipp: Wenn neue lokale Subnetze zur Tunnelkonfiguration hinzugefügt werden, muss die Konfiguration auf beiden Seiten (Azure und UTM) angepasst werden, danach muss der Tunnel neu aufgebaut werden (Trennen und neu verbinden). Wenn neue Azure Subnetze angelegt werden, beispielsweise 10.10.3.0/24 muss der Tunnel einmal neu aufgebaut werden, eine Anpassung der Konfiguration ist nicht nötig.
Hallo,
bei mir hat der Tunnel mit Frankys Anleitung super geklappt, ich hab nur das Problem, dass der Tunnel zwar steht aber ich alle 10 Pings 2 aussetzer habe. Ich kann nicht herausfinden woher das kommt.
Kann mir einer da weiterhelfen?
Dankeschön
Konntest du das je lösen?
Franky, mal wieder vielen, vielen lieben Dank für diese tolle Anleitung. Dank dieser war es wirklich einfach und hat Anhieb geklappt!
Hallo, ich teste gerade bei einem Kunden die Verbindung. Der Kunde hat eine Sophos bei der der Tunnel immer nach ca. 1,06 Minuten den Durchsatz unterbricht. Der Tunnel bleibt jedoch bestehen.
Den kuzen Key habe ich schon getestet, jedoch brachte das keine Änderung.
Immer wenn ich den Tunnel auf der Azure Seite abbreche und wieder aufbaue, kann ich nach kurzer Zeit ca. die eine Minute wieder kommunizieren. Dann geht nichts mehr. Aber der Tunnel ist up.
Kennt ihr das?
Danke
Wolfgang
Leider habe ich noch keine Lösung gefunden die Namensauflösung via DNS hinzubekommen. Ping funktioniert wie beschrieben in beide Richtungen. Glaube es liegt an der Sophos…
@Viktor
Wir konnten gar keine Verbindung aufbauen. Leider haben wir ebenfalls Probleme mit der Stabilität des Tunnels, die sich genau wie von die beschrieben äußern. Wir werden die Sophos über kurz oder lang ersetzen. Wenn du eine Lösung gefunden hast, aber gerne hier kurz schreiben.
Das komische ist, dass bei uns in der Firma eine VPN-Verbindung zu Azure besteht, ohne das wir gewisse Probleme ffeststellen konnten. Bei einem Kunden dagegen, die von mir beschriebenen Probleme.
Die Einstellungen sind auf beiden FW identisch. Der einzige Unterschied ist, dass bei der Kommunikation mit Azure bei uns der Port 4500 und beim Kunden der Port 500 genutzt wird.
Ich kann gerade nicht nachschauen welcher Port genutzt wird, aber wir haben das Problem von beginn an. Auch Firmware Updates haben bisher nicht geholfen. Der Azure Support ist auch nicht hilfreich, da die Firewall nicht zu den supported devices gehört.
Bei einem Kunden hatten wir vor kurzem ein identisches Problem mit einer VPN (nicht Sophos) dort wurde uns empfohlen Azure als Initiator zu konfigurieren. Das habe ich bei der Sophos VPN noch nicht getestet.
Zitat vom Support:
An investigation from our end reveals that your on-premises device sent SA delete at that period and this delete the phase 2 part of the tunnel, this is why the connection was up and no traffic. The on-premises device sent SA delete packets intermittently and when the connection tried to come back up, SA deletes were sent again.
Das Problem mit der „bestehenden Verbindung“ hatten wir in einer anderen Form bei einem Kunden. Hier sind die Einstellungen in der Policy der VPN-Verbindung entscheidend. Es kommt dort auf die z.B. IPsec-SA-Lebensdauer an, die überprüft ob die andere Seite noch da ist und dann die Trennung vollzieht.
Die FW wenn Sie Antwortet muss wissen, nach welcher Zeit die Trennung zum anderen Netz abgebrochen werden soll, wenn keine Packete zurück kommen. Hier muss auch noch der Punkt Dead Peer Detection aktiviert sein.
@ komplexen PSKs?
Wie genau hat sich denn das Problem bei Euch dargestellt?
Habt Ihr keine Verbindung hergestellt bekommen, oder bestand offensichtlich die VPN-Verbindung, die jedoch irgendwann doch Down war?
Wir haben momentan das Phänomen, dass die VPN-Verbindung besteht, jedoch ein Ping nicht durchgeht, sowie keine RDP-Sessions aufgebaut werden können. Erst nachdem die VPN-Verbindung getrennt und wieder aufgebaut wird, funktioniert wieder alles.
Freut mich, dass es dir geholfen hat!
Hi,
das mit dem PSK kann Ich bestätigen.
Hat bei mir danach funktioniert.
Vielen Dank an Tuffel.
Hallo,
kurze Ergänzung:
Die Sophos hat scheinbar Probleme mit komplexen PSKs.
Falls es also Probleme gibt, einfach mal mit einem einfacheren Key testen.
Bei mir war es da…hat mich einige graue Haare gekostet.