Sophos: SSL Netzanbindung mit Raspberry Pi

Sophos: SSL Netzanbindung mit Raspberry Pi

Sollte die Anbindung an einem Netz erforderlich sein, kann man zum einen ein gesamtes Netz mit einer RED oder einer Firewall realisieren. Selbst eine Anbindung mit einer Fritzbox ist möglich (Achtung: Dies ist jedoch nicht von Sophos supported!).

Sollte es jedoch absolut nicht klappen, kann man einen Raspberry Pi als Router umfunktionieren und diesen per OpenVPN verbinden. Über die Fritzbox verteilt man dann die Route zu dem entfernten Netz und versteckt das Netz per NAT hinter dem Raspberry. Somit kann das gesamte lokale Netz auf das Netz hinter der Sophos zugreifen (Achtung: Da dies keine Site-to-Site Anbindung ist, kann man nicht aus dem Netz hinter der Sophos auf das entfernte Netz zugreifen).

Ich nutze hier einen aktuellen Raspberry Pi in der Version 3B (dieser hat genug Power und ein Gigabit LAN Interface). Dieser kostet um die 35€, komplette Sets gibt es bei Amazon und vielen anderen für ca. 60€ inkl. Raspberry Pi, Netzteil, Gehäuse, SD Karte mit Adapter, HDMI Kabel und Anleitung.

SSL VPN Benutzer einrichten auf der Firewall

Aktivieren und richten Sie den SSL Fernzugriff ein auf der Sophos. Gehen Sie dazu auf Remote Access > SSL > New Remote Access Profile … und erstellen ein Profil wie folgt:

Erstellen Sie nun auf der Sophos einen User wie folgt (natürlich mit echten Daten):

Diesen User nun einer Gruppe hinzufügen die SSL VPN Rechte hat oder direkt in dem SSL Fernzugriff Profil hinzufügen.

Laden Sie nun die entsprechende ovpn Datei herunter (aus der Zip-Datei extrahieren).

Tipp: SSL-Konfigurationsdatei als Admin runterladen!

Installation Linux auf dem Raspberry

Als Basis setze ich ein aktuelles Raspberian Stretch Lite ein (Download).

Wie in der Anleitung beschrieben, entpacke ich die Datei nach dem Download und überspiele die entpackte ISO Datei mit dem Tool Etcher auf die SD Karte.

Anschließend kommt die Karte in dem Raspberry Pi und das Gerät wird gestartet.

Wenn das System gestartet ist, als User pi mit dem Passwort raspberry einloggen (beachtet bitte, das das Default Keyboardlayout US ist und somit das z statt dem y zu verwenden ist) und das System updaten wie folgt:

sudo apt-get update
sudo apt-get dist-upgrade

Als nächstes dann den Raspberry Pi einrichten mit dem folgenden Befehl:

sudo raspi-config

Stellt bitte nun ein neues Passwort ein, die IP Adresse und das Keyboard Layout auf DE. Ich aktiviere auch SSH, damit ich bequem per SSH und Copy&Paste von einem Rechner mit Internetanschluß die Konfiguration abarbeiten kann. Wenn Sie SSH nicht mehr benötigen, können Sie es wieder über raspi-config deaktivieren.

Ich habe die folgenden Einstellungen gewählt (Basis für mein ISO zur Verteilung):

  • Kennwort: RasRou!2019
  • Hostname: pi-gateway
  • Locales: de_DE ISO-8859-1, Default: de_DE
  • Timezone: Europe/Berlin
  • Keyboard Layout: Generic 105-Key (Intl) PC, Other: German, German, Default Key, No compose Key
  • Interface Options: SSH Enabled

Nach einem Neustart deaktivieren Sie noch WLAN und Bluetooth laut dieser Anleitung wie folgt:

sudo nano /boot/config.txt
 # turn wifi and bluetooth off  
 dtoverlay=pi3-disable-wifi  
 dtoverlay=pi3-disable-bt  

Anschließend noch den hciuart Dienst deaktivieren und neustarten:

sudo systemctl disable hciuart  
sudo reboot  

Einrichten VPN Client

Ich gehe hier grundsätzlich nach dieser Anleitung vor, habe jedoch ein paar kleine Änderungen.

Als erstes den VPN Client installieren mit:

sudo apt-get install openvpn

Diese eben kopierte VPN-Konfigurationsdatei bitte nach remote.conf umbennen und nach /etc/openvpn kopieren (z.B. mittels wget oder FTP auf dem Rechner kopieren).

Hinweis: Wenn die Datei anders heißen soll, bitte unten bei Systemctl diese Datei entsprechend anpassen. Die Endung sollte jedoch .conf sein – nicht .ovpn, da sonst Systemctl nicht den Dienst starten kann – es wird kein kompletter Dateiname angegeben und .conf automatisch angehangen!

Dann eine Datei mit dem Namen login mit Zugangsdaten erstellen (in der erste Zeile ist der Username und in der zweiten Zeile das Passwort):

sudo nano /etc/openvpn/login

Dann an der Datei die Rechte anpassen, das nur root sie einsehen kann:

sudo chmod 600 /etc/openvpn/login

Editieren Sie die ovpn-Datei, das hinter auth-user-pass noch der Dateinamen Login steht und speichern diese:

auth-user-pass /etc/openvpn/login

Mit dem folgenden Befehl können Sie sehen, ob die Einwahl erfolgreich war (diese müsste dann in der Sophos unter Fernzugriff angezeigt werden):

sudo openvpn --config /etc/openvpn/remote.conf

Nun wird das VPN so eingestellt, das es direkt nach dem Boot läuft (Achtung: Der Dateiname OHNE .ovpn):

sudo systemctl enable openvpn@remote

Den Raspberry zum Router umfunktionieren

Nun muss noch IP Forwarding aktiviert werden:

echo -e '\n#Enable IP Routing\nnet.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Anschließend noch NAT aktivieren:

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

Die Regeln speichern:

sudo apt-get install iptables-persistent

Anpassungen am vorhandenem Internetrouter

Weiterhin müssen sie der Raspberry stets die selbe Adresse zuordnen, dies können sie über die Fritzbox einstellen (sofern diese den DHCP Server stellt). Gehen Sie dazu unter Heimnetz > Netzwerk > Rapberry auswählen und auf das Stiftsymbol klicken. Kontrollieren sie Namen und IP Adresse und machen Sie einen Hacken bei Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.

Damit auch die anderen Rechner im LAN das VPN Netz finden, muss auf dem Internetrouter noch eine Route bekanntgegeben werden – hier anhand einer Fritzbox, gehen Sie unter Heimnetz > Netzwerk > Netzwerkeinstellungen > IPv4 Routen:

Masterimage

Falls sie möchten, können Sie ein fertiges Image runterladen und dieses nur noch anpassen. Das Image hat folgende Konfiguration:

  • Username: pi
  • Passwort: RasRou!2019
  • IP: DHCP
  • SSH: Aktiviert

Das Image können Sie hier herunterladen. Es wurde gezippt, damit es weniger Platz und Bandbreite spart. Entzippt es (z.B. mit 7-Zip) und kopiert es dann mit einem Imagetool (z.B. mit Win32Diskimager) auf eine neue SD Karte und startet damit euren Raspberry. Mit den Tools könnt ihr euch auch selber jederzeit ein Backup erstellen (z.B. Sicherungskopie wenn alles funktioniert).

Wenn Sie das Image einsetzen, sollten Sie unbedingt das Kennwort ändern und gegebenenfalls die IP anpassen! Um das VPN nutzen zu können, müssen Sie natürlich eine OpenVPN Konfigurationsdatei einspielen. Wenn Sie SSH nicht benötigen, deaktivieren Sie es. Beachten Sie, das nun alle Rechner im Netzwerk (auch im WLAN) Zugriff auf das entfernte VPN Netz haben – auch eventuell Virenverseuchte Rechner!

Weitere Möglichkeiten

Site-to-Site statt Einzelanbindung: https://www.foxplex.com/sites/sophos-utm-site-to-site-vpn-mit-openvpn/

Raspberry als VPN Server verwenden: http://www.pivpn.io/

WLAN Hotspot bereitstellen über Raspberry:
https://www.datenreise.de/raspberry-pi-3-wlan-verbindung-herstellen/

Bekannte Probleme

  • Feste IP zuordnen klappt noch nicht. Lösung über Fritzbox eingerichtet.
  • Wenn die Verbindung mehrfach neu aufgebaut wurde, funtkoonierte zeitweise Ping nicht stabil – entfernte Dienste konnten jedoch ohne Problem genutzt werden.

Achtung

Ich übernehme keine Haftung, weder für die Dokumentation noch für das fertige Masterimage!!!

Stand 23.01.2019


OpenVPN / Sophos SSL VPN Client: Windows Rechner als Softwarerouter verwenden

Achtung: Seit dem 23.1.2019 habe ich auch einen Artikel der erklärt, wie man einen Raspberry Pi verwenden kann. Diese Lösung wäre zu bevorzugen!

Dieser Tip funktioniert zwar grundsätzlich, ist aber weit entfernt davon als stabil zu gelten – womöglich kann er dazu dienen eine kurze Zeit als Notlösung zu fungieren.

Stellen Sie auf dem Rechner im BIOS/UEFI ein, das der Rechner immer an bleibt und nach einem Stromausfall wieder hochfährt.

Stellen Sie im Windows in den Energieoptionen ein, das der Rechner nicht ausschaltet (Festplatte und Monitor können jedoch ausgehen). Es muss niemand am Rechner angemeldet sein, nachdem alles eingerichtet wurde! Es reicht wenn er hochfährt.

Melden Sie sich an Windows mit Adminrechten an und geben Sie dem Rechner eine Feste IP, sowie alle benötigten weiteren Parameter wie DNS und Gateway.

Installieren Sie den aktuellsten Open VPN oder Sophos VPN Client und richten Sie die SSL Verbindung ein (am besten mit rechter Maustaste und „Als Administrator ausführen“) und testen Sie die Verbindung.

Sollte diese funktionieren, gehen Sie bitte in das Config Verzeichnis des VPN Clients (z.B. C:\Program Files (x86)\Sophos\Sophos SSL VPN Client\config) und erstellen sie eine Datei mit dem Namen password.txt, tragen sie in der ersten Zeile den Benutzernamen und in der zweiten Zeile das Kennwort ein.

Öffnen Sie die entsprechende Config-Datei und tragen Sie nach auth-user-pass ein Leerzeichen und dann password.txt ein:

auth-user-pass password.txt

Prüfen Sie nun ob Sie die Verbindung ohne Zugangsdaten aufbauen können.

Klicken Sie nun auf Start und tippen Sie services.msc und machen ein Doppelklick auf OpenVPN Service und stellen Sie die Startart auf Automatisch.

Wenn Sie den Rechner neustarten und sich anmelden, sollten sie nach ein paar Sekunden Adressen aus dem entfernten VPN anpingen können (ohne das der VPN Client eine Verbindung anzeigt). Es sollte jedoch die Netzwerkschnittstelle des VPN Clients im Netzwerk- und Freigabecenter aktiv sein (kein rotes X).

Sollte nun soweit alles funktionieren, gehen Sie bitte mit der rechten Maustaste auf die Verbindung in die Eigenschaften auf dem Tab Freigabe (sollte der nicht vorhanden sein, deinstallieren Sie bitte den alten VPN Client und installieren eine aktuelle Version mit Adminrechten).

Windows wird nun eine Meldung ausgeben, das von der Netzwerkschnittstelle die IP Adresse verändert wird auf 192.168.137.1 – stellen Sie die Netzwerkeinstellungen wieder zurück auf die richtigen Werte. Nach ein paar Sekunden sollten wieder entferne Ressourcen anzupingen sein.

Damit nun die anderen Rechner auch das entsprechende Netz finden, müssen Sie eine Route erstellen auf das entfernte Netz, damit sie das nicht an jedem Rechner machen müssen, machen Sie das am besten auf den vorhandenen Router, der die Internetverbindung herstellt – z.B. bei einer Fritzbox unter Heimnetz > Netzwerk > Netzwerkeinstellungen > IPv4 Routen:

Bekannte Probleme:

Nach einem Neustart funktioniert die Verbindung zwar an dem Rechner wo das VPN Installiert ist, jedoch nicht mehr bei den anderen Geräten im Netzwerk:

Hier muss einmal wieder der Hacken bei „Internetverbindung freigeben“ bei der VPN Netzwerkschnittstelle entfernt werden – da dabei Windows auch die IP bei der LAN Verbindung zurücksetzt auf 192.168.137.1, muss hier wieder alles die zuvor konfigurierte Adresse zurückgesetzt werden. Nach ein paar Sekunden ist die Verbindung durch den VPN Dienst wieder neugestartet und sollte wieder funktionieren.

Alle Geräte im Netzwerk können auf das Remotenetzwerk zugreifen, jedoch das Remotenetzwerk nicht auf die lokalen Geräte:

Dies wird auch leider nicht funktionieren, da alle Geräte hinter der Adresse des einzelnen VPN Rechners per NAT (Network Adress Translation) versteckt sind und nicht erreichbar sind. Hier würde eine Lösung benötigt, die das gesamte Netz anbindet (z.B. ein Hardwarerouter auf Raspi-Basis). Evtl. kommt hierzu noch ein entsprechender Beitrag.


Sophos: Umstellung von UTM auf XG

Wenn man Jahrelang mit der Sophos UTM gearbeitet hat und dann auf eine Sophos XG umstellt, steht man erst mal wie der Ochs vorm Berge (so zumindest ich), da die XG einen ganz anderen Ansatz verfolgt als die UTM.

Die XG ist ein zugekauftes Produkt und es wurde noch einige Jahre Support und gar Weiterentwicklung für UTM Produkte von Sophos zugesagt.

Sollte man eine UTM 9 Lizenz haben, so kann man diese zu einer XG Lizenz upgraden (Achtung: Dieser Vorgang ist laut Hinweismeldung nicht Reversible).

Auch hier gibt es eine kostenlose Version für den nicht kommerziellen Betrieb, welcher bis 100 Adressen unterstützt – in dieser Version ist fast alles aktiviert, bis auf die Sandstorm funktion (wie auch bei der UTM Home).

  • Dennoch könnte bei den folgenden Punkten der Umstieg interessant sein:
  • Umfangreicheres Muticast Routing
  • Umfangreiche Möglichkeiten bei der Webserververöffentlichung
  • In der kostenlosen Homeversion werden bei der XG 100 Adressen statt wie bei der UTM nur 50 Adressen unterstützt

Da ich einige Probleme mit dem Multicast Routing habe und mir eine Besserung bei diesem Problem erhoffe, habe ich mir die Lösung mal näher angeschaut.

Ich setze folgende Funktionen ein:

  • WLAN Intern und Gästenetz (mit eigenen Accesspoints)
  • Im Gästenetz Hotspot mit Vouchersystem
  • VPN Netze ins RZ und die Firma (unter anderem für Onlinebackup ins RZ)
  • VPN Einwahl
  • NAT / Firewall
  • Emailprotection
  • Webprotection
  • IPS
  • Öffentliches SSL Zertifikat für die Firewall und das Userportal

Die Umstellung hat ca. 8 Stunden gedauert.

Da  die XG einen anderer Ansatz verfolgt als bei der UTM habe ich mich mit der Umstellung schwer getan und mir hier alle Informationen zusammengeschrieben:

*: Bei den SMTP Regeln steht nicht drin, das unter Administration > Device Access > SMTP Relay noch das entsprechende Netz (z.B. WAN) noch aktiviert werden muss.

*: Bei VPN mit SSL zu einer UTM steht nicht dabei, das die Einstellungen anders sind, diese können unter VPN > SSL > Advanced angepasst werden. Bitte dabei jedoch beachten, das dies auf alle SSL Tunnel gilt.

Ich hoffe der Beitrag hilft den einem oder anderem.


VPN mit UTM über Fritzbox

Als erstes muss die Fritzbox folgende Weiterleitungen bekommen:

  • Exposed Host -> Interne IP UTM
  • ESP -> Interne IP UTM
  • ISAKMP (UDP 500) -> Interne IP UTM
  • NAT Traversal (UDP 4500) -> Internet IP UTM

Danach müssen die Remotegateway eingerichtet werden. Dabei darauf achten, das bei der UTM OHNE Fritzbox bei der VPN ID die NAT IP des UTM Netzes eingestellt ist:

Bildschirmfoto 2014-12-08 um 15.00.57

Danach nur noch den Tunnel einrichten wie gehabt:

Bildschirmfoto 2014-12-08 um 15.02.06

Nun auf der Seite MIT der Fritzbox ebenfalls das Remotegateway einrichten, jedoch mit der VPN ID vom Ziel (öffentliche Adresse):

Bildschirmfoto 2014-12-08 um 15.06.45

Sowie den Tunnel selber:

Bildschirmfoto 2014-12-08 um 15.07.00

 

P.s.: Sollte auf dem anderen Netz auch eine Fritzbox sein, so muss natürlich nicht die externe IP in die VPN ID, sondern die NAT IP vom externen Interface der entfernten UTM.