Raspberry Pi Strongswan Sophos UTM
In der Anleitung zeige ich wie wann Stronswan (hier auf einen Raspberry Pi) mit der Sophos UTM mittels Strongswan verbindet.
Als authentication benutzen ich das Public Key verfahren.
Da ich PreSharedKey für mein Handy brauche.
Strongswan installieren
apt-get install strongswan libcharon-extra-plugins
RSA Key erstellen
In diesem Schritt erstellen wir das lokale RSA Pärchen.
Verzeichnis erstellen wo die Keys abgelegt werden sollen
mkdir -p /etc/ipsec.d/rsa
cd /etc/ipsec.d/rsa
Als nächstes erstellen wir den Lokalen Key
openssl genrsa -out /etc/ipsec.d/rsa/${HOSTNAME}_privkey.key 2048
Den Private key im DER Format für StrongSwan exportieren.
openssl rsa -in /etc/ipsec.d/rsa/${HOSTNAME}_privkey.key -out /etc/ipsec.d/rsa/${HOSTNAME}_privkey.der.key -outform DER
Den Puplic key im DER Format für StrongSwan exportieren.
openssl rsa -in /etc/ipsec.d/rsa/${HOSTNAME}_privkey.key -outform DER -pubout -out /etc/ipsec.d/rsa/${HOSTNAME}_public.der
Dann noch den public key im PEM format für die Sophos UTM exportieren.
openssl rsa -in /etc/ipsec.d/rsa/${HOSTNAME}_privkey.key -outform PEM -pubout -out /etc/ipsec.d/rsa/${HOSTNAME}_public.pem
Jetzt sollte diese Files in /etc/ipsec.d/rsa/ vorhanden sein.
-rw------- 1 root root 1.2K Oct 28 18:13 raspberrypi-th_privkey.der.key
-rw------- 1 root root 1.7K Oct 28 18:13 raspberrypi-th_privkey.key
-rw-r--r-- 1 root root 294 Oct 28 18:13 raspberrypi-th_public.der
-rw-r--r-- 1 root root 451 Oct 28 18:13 raspberrypi-th_public.pem
RSA Key von der Sophos UTM importieren.
Den Public RSA key der Sophos UTM, findet Ihr im Menue unter Site-toSite VPN dann unter IPsec und dann im Sub-Tab Local RSA Key.
Den Key speichern wir ab und Konvertieren ihn mit dem rsa-converter. Das Tool konvertiert den „Sophos UTM Base64 RFC 3110 RSA Key“ in das PEM format.
Falls Ihr mehre Endpunkte habt benennt die Keys am besten mit dem Namen der FW. (VPN-ID)
nano /etc/ipsec.d/rsa/firewall.secretisland.de.pub
Den RSA Converter runter laden und dessen Abhängigkeiten installieren.
apt-get install libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libparse-recdescent-perl
cd /opt
git clone https://github.com/ryanriske/rsa-converter
Nun den Sophos UTM Puplic Key in das PEM Format umwandeln
/opt/rsa-converter/rsa-converter -p /etc/ipsec.d/rsa/firewall.secretisland.de.pub > /etc/ipsec.d/rsa/firewall.secretisland.de.pub.pem
Und das Ganze nochmal als DER format
openssl rsa -pubin -inform PEM -in /etc/ipsec.d/rsa/firewall.secretisland.de.pub.pem -outform DER -out /etc/ipsec.d/rsa/firewall.secretisland.de.pub.der
Jetzt sollte diese Files in /etc/ipsec.d/rsa/ vorhanden sein.
-rw-r--r-- 1 root root 347 Oct 28 18:26 firewall.secretisland.de.pub
-rw------- 1 root root 292 Oct 28 18:32 firewall.secretisland.de.pub.der
-rw-r--r-- 1 root root 451 Oct 28 18:30 firewall.secretisland.de.pub.pem
-rw------- 1 root root 1.2K Oct 28 18:13 raspberrypi-th_privkey.der.key
-rw------- 1 root root 1.7K Oct 28 18:13 raspberrypi-th_privkey.key
-rw-r--r-- 1 root root 294 Oct 28 18:13 raspberrypi-th_public.der
-rw-r--r-- 1 root root 451 Oct 28 18:13 raspberrypi-th_public.pem
Strongswan Config
Hier mal meine Strongswan Config /etc/ipsec.conf
# ipsec.conf - strongSwan IPsec configuration file
config setup
charondebug="cfg 0, dmn 0, ike 0, net 0, enc 0"
uniqueids=yes
conn %default
rekeyfuzz="100%"
keyingtries="0"
leftsendcert="always"
dpddelay="30"
dpdtimeout="120"
dpdaction="restart"
conn TH-to-RZ
authby=pubkey
auto="start"
compress="yes"
esp="aes128-sha2_256"
ike="aes256-sha2_256-modp1536"
ikelifetime="7800"
keyexchange="ikev1"
keylife="3600"
type="tunnel"
# Local
left=%defaultroute
leftid="VPN-IP DES CLIENTS"
leftfirewall=yes
leftsubnet=LOCALES SUPNETZ
leftsigkey=/etc/ipsec.d/rsa/raspberrypi-th_public.der
# Remote
right="FIREWALL IP"
rightid=@firewall.secretisland.de
rightsubnet="SUPNETZ HINTER DER FIREWALL"
rightallowany=yes
rightsigkey=/etc/ipsec.d/rsa/firewall.secretisland.de.pub.der
include /var/lib/strongswan/ipsec.conf.inc
In der /etc/ipsec.secrets noch den Localen Key hinzufügen
echo ": RSA /etc/ipsec.d/rsa/${HOSTNAME}_privkey.der.key" >> /etc/ipsec.secrets
Enable IPv4 Paket Forwarding
Die /etc/sysctl.d/20-network.conf erstellen mit dem Inhalt
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Einstellungen einlesen
sysctl -p /etc/sysctl.d/20-network.conf
Für die Sophos UTM den RSA Key erstllen
Den RSA Key konvertieren und dann in der Sophos UTM als RSA Key für die Verbindung hinterlegen.
/opt/rsa-converter/rsa-converter -r < /etc/ipsec.d/rsa/${HOSTNAME}_public.pem
Schreibe einen Kommentar