Forgot your password?

Forgot your username?

All about IT, Web and Development.
By users for users.

Sophos UTM - Site to Site VPN mit OpenVPN



Aufgrund diverser Angriffe auf einen Webserver habe ich vor einigen Wochen meine bisherige Firewall durch eine Sophos UTM ersetzt. Um externe Server sicher anzubinden benötige ich ein Site to Site VPN.



Dies ist mit der Sophos UTM problemlos möglich. Allerdings bereitet die Anbindung eines OpenVPN Clients einige Probleme.


Kompatibilität zu OpenVPN


Intern nutzt Sophos ebenfalls OpenVPN zur Implementierung des SSL VPNs.

Möchte man allerdings ein Site to Site VPN zwischen einer UTM und einem herkömmlichen OpenVPN Client (z.B. ein Raspberry Pi) aufbauen steht man vor einer Hürde.

Zum Einspielen der Zertifikate + Konfigurationsdateien wird eine .apc Datei angeboten. Diese lässt sich zwar in eine andere UTM einspielen. Allerdings nicht ohne weitere Schritte mit OpenVPN nutzen.


APC Datei


Zunächst laden wir die im Webinterface angebotene .apc Datei der entsprechenden VPN Verbindung herunter und öffnen diese in einem Editor. Wichtig ist hierbei dass die der Haken bei "Konfigurationsdatei verschlüsseln" nicht gesetzt ist.




Zertifikate exportieren


Die benötigten Zertifikate finden sich in nachfolgender Reihenfolge in der Datei.

  • client.crt

  • ca.crt

  • client.key


Dabei sind immer nur die Blöcke von

-----BEGIN CERTIFICATE-----
bis

-----END CERTIFICATE-----
In die neuen Dateien zu speichern.
Beim Privaten Schlüssel (client.key) werden die Blöcke von

-----BEGIN PRIVATE KEY-----

bis

-----END PRIVATE KEY-----

in die neue Datei client.key kopiert.


Benutzername und Passwort exportieren


Die Sophos UTM verwendet des weiteren auch noch einen Benutzernamen und ein Passwort für die Verbindung. Auch diese zwei Komponenten können wir aus der Konfigurationsdatei auslesen.

Die Einträge befinden sich am Ende unterhalb des Private Keys. Vor dem Eintrag username findet sich der Benutzername und vor password das dazugehörige Passwort.

Hinweis: Bei manchen Konfiguration findet sich vor dem Passwort bzw. dem Benutzernamen noch eine Klammer. Diese darf nicht mit kopiert werden, da sie nicht zum Kennwort zählt.



Aus unserem Beispiel ergeben sich folgende Zugangsdaten:

Benutzername: REF_AaaUse2
Passwort: REF_SSLSERVPN0000ref_sslservpn

Diese Informationen legen wir nun im gleichen Ordner wie die Zertifikate unter einer Datei mit dem Namen user.creds ab. Der Aufbau lautet wie folgt.

REF_AaaUse2
REF_SSLSERVPN0000ref_sslservpn



OpenVPN Konfiguration


Nachdem wir nun alle notwendigen Dateien zusammen haben können wir uns der Konfiguration von OpenVPN widmen. Hierzu verbinden wir uns mit der anderen Gegenstelle.

Zunächst muss OpenVPN installiert werden.

Anschließend kopieren wir unsere oben erstellten Dateien in das Verzeichnis /etc/openvpn/certs.

sudo mkdir /etc/openvpn/certs
sudo cp -r /pfad_zu_dateien/* /etc/openvpn/certs/


Nun erstellen wir die eigentliche Konfigurationsdatei für OpenVPN.

sudo nano /etc/openvpn/server.conf
client
dev tun
proto udp
hand-window 30
port 1194
remote vpn.foxplex.com
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/client.crt
key /etc/openvpn/certs/client.key

cipher AES-256-CBC
auth SHA1

comp-lzo                                                                                                                         
route-delay 4
verb 3

reneg-sec 0
auth-user-pass /etc/openvpn/certs/user.creds


Der Port (Option port) und das Protokoll (Option proto) sind abhängig von der Konfiguration auf der UTM. Diese kann in den Einstellungen zum SSL Site-to-Site VPN eingesehen werden.



Abschließend kann die Verbindung aufgebaut werden.

sudo service openvpn restart


Fazit


Leider bietet Sophos noch keinen direkten Export einer für OpenVPN passenden Konfiguration samt Zertifikaten an. Ich musste mir die Informationen mühselig zusammentragen bis endlich eine Verbindung zu Stande kam.


Quellen: OpenVPN Logo - Trade Mark (tm) of OpenVPN Technologies, Inc.

Michael Kostka

Fachinformatiker / Systemintegration
Ich schreibe hier regelmäßig zu den Themen Android, Web, Linux und Hardware.

Raspberry Pi Starter Kit
DataCloud

Leave a comment

I have read the privacy policy and agree to electronically store and process my input data to answer the request.