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

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*