Vor einigen Tagen musste ich eine IPSec Site-to-Site Verbindung zwischen zwei Standorten einrichten. Meine Erfahrungen und die endgültigen Einstellungen habe ich hier zusammengefasst.

Ausgangslage

Zwei Firewall-System sind an unterschiedlichen Standorten (Rechenzentrum und Außenstelle) aufgebaut und mit einer Basis-Konfiguration bespielt. Beide Systeme sind über verschiedene Anbieter mit dem Internet verbunden und können miteinander kommunzieren (benötigte Protokolle: UDP 500, ggf. UDP 4500 und ESP). Verschiedene Netzwerke der Außenstelle sollen auf bestimme Server im Rechenzentrum zugreifen, die Firewall-Regeln sollen manuell gesetzt werden.

Netzplan

Da die Außenstelle dynamisch verschiedene IP Adressen zugewiesen bekommt, wird die Sophos UTM als passives IPsec Mitglied verwendet. Die Herstellung der Verbindung muss somit von der Außenstelle als aktives Mitglied erfolgen. Bei einem Setup mit zwei statischen IP Adressen empfielhlt es sich beide Seiten als aktive Mitglieder zu konfigurieren.

Quellen

Wichtige Information

Die hier getätigten Einstellung dienen lediglich zur Veranschaulichen und erfüllen nicht zwangsweise die höchsten Sicherheitsanforderungen. Ich übernehme keine Haftung für Schäden, die durch Anwenden dieser Anleitung entstanden sind.

Sophos UTM (Rechenzentrum)

Zuerst die Konfiguration auf der Sophos UTM im Rechenzentrum. Um die Einstellungen auch in der Zukunft möglichst flexibel ändern zu können kopiere ich die IPSec Richtline „AES-256 PFS“ und setze die Parameter wie folgt.

Sophos UTM IPSec Richtlinie

Danach lege ich die Außenstelle als Entferntes Gateway an und füge die Netzwerke hinzu. Aufgrund der dynamischen IP Adresse wähle ich als Gateway-Typ „Nur antworten“. Zur Authentifizierung können verschiedene Methoden verwendet werden. In diesem Fall verwende ich die Methode des PSK (pre shared key) also den verteilten Schlüssel.

Sophos UTM IPSec Gateway Konfiguration

Als „Entfernte Netzwerke“ lege ich alle Netzwerke der Außenstelle an. In diesem Anwendungsfall wir nur mit IPv4 gearbeitet.

Sophos UTM IPSec Remote Netzwerk

Zuletzt lege ich die IPSec-Verbindung an, die die oben angelegten Profile zu einer Verbindung zusammenfasst. Wichtig ist in meinem Fall der Haken „Automatische Firewallregeln“, da ich die Regeln händisch anlegen möchte.

Sophos UTM IPSec Verbindung

Den aktuellen Status der Verbindung kann durch Klicken auf den Menüpunkt „Site-to-Site-VPN“ eingesehen werden.

OPNsense (Außenstelle)

Nun wird das OPNsense-Systeme an der Außenstelle eingerichtet. Die Konfiguration in der OPNsense-Firewall ist im Vergleich zur Sophos technisch genauer, dadurch allerdings auch komplexer.

Zuerst wechseln wir ins VPN – IPSec – Tunnel Settings Menü und aktivieren IPSec. Danach können wir die erste Phase anlegen. Wir wählen hier die gleichen Einstellungen, die wir auch in der Sophos UTM verwendet haben. Sinnvoll ist es auch den Punkt Dead peer Detection (DPD) zu aktivieren. Diese Einstellung sorgt dafür, dass die Verbindung beispielsweise bei Verbindungsproblemen sauber aus beiden Systemen getrennt wird.

OPNSense Phase 1 Konfiguration

Was tut die Phase 1? In der 1. Phase wird eine gesicherte Verbindung zwischen den beiden VPN-Endpunkten aufgebaut. Hierzu wird der oben angegebene PSK oder ein Zertifikat verwendet (symmetrisch Verschlüsselte Verbindung). Diese gesicherte Verbindung wird dann verwendet, um die Verschlüsselungsparameter zur Verschlüsselung der eigentlichen Daten auszuhandeln (Phase 2). Die Daten werden dann mittels des Protokolls ESP (ggf. in UDP- oder auch TCP-Paketen verpackt, Stichwort: NAT-Traversal) zwischen den beiden Teilnehmern übertragen.

Wer das Thema IPSec in Tiefe verstehen möchte, dem lege ich folgenden Beitrag im administrator.de-Forum ans Herz.

Nachdem die erste Phase angelegt wurde, muss nun für jede Verbindung zwischen zwei Netzwerken eine zweite Phase angelegt werden. In unserem Fall soll ein Netzwerk im Rechenzentrum auf fünf Netzwerke am Außenstandort verteilt werden. Es sind also 5 zweite Phasen notwendig:

172.29.100.0/24 <-> 10.180.0.0/20
172.29.100.0/24 <-> 10.180.16.0/20
172.29.100.0/24 <-> 10.180.32.0/20
172.29.100.0/24 <-> 172.16.0.0/16
172.29.100.0/24 <-> 172.17.0.0/24

Um Redundanzen in diesem Beitrag zu vermeiden, werde ich die Konfiguration lediglich einmal aufzeigen. Wichtig ist es auch hier die gleichen Parameter wie an der Sophos UTM einzustellen.

OPNSense Phase 2 Konfiguration OPNSense Phase 2 Konfiguration

Wenn alle Phasen angelegt sind, muss die Konfiguration über den Button „Save“ gespeichert werden. Die Verbindung wird automatisch aufgebaut. Ein manuelles Trennen und Aufbauen der Verbindung ist über den Menüpunkt „Status Overview“ möglich (X trennt die Verbindung, > stellt die Verbindung neu her).

OPNSense IPSec Status Overview

Wenn alle Schritte eingehalten worden sind, haben wir nun eine funktionierende VPN-Verbindung zwischen den beiden Standorten. Damit gegenseitige Zugriffe möglich sind, müssen entsprechende Firewallregeln eingerichtet werden. Diese möchte ich allerdings aufgrund der Komplexität nicht in dieser Anleitung beschreiben.