Strongswan IPSEC Linux CRT - Security und Firewall Labor
Zur Navigation springen
Zur Suche springen
IPsec Site-to-Site aufbauen mit Zertifikat
- Partner 1 wartet auf eine eingehende Verbindung mit passenden Zertifikat, wobei die IP egal sein darf
- Commonname/FQDN im Zertifikat sollte fw1xx bzw. fw1yy sein
- Austausch der Zertifikate und der Anträge über den SFTP Server
- PSK-VPN-Verbindung abbauen
- ipsec down site2site-psk
Partner 1
- Zertifizierungsstelle erstellen
- mkdir ~/ca
- cd ~/ca
- openssl genrsa -aes256 -out ca.key 4096
- openssl req -new -key ca.key -x509 -days 3650 -out ca.crt
... Common Name (e.g. server FQDN or YOUR name) []:vpn-ca ...
- IPsec-Zertifikat erstellen und signieren
- openssl genrsa -out fw1xx.key 4096
- Einen Certificate Signing Request erstellen
- openssl req -new -key fw1xx.key -out fw1xx.csr
... Common Name (e.g. server FQDN or YOUR name) []:fw1xx ...
- openssl x509 -req -days 730 -in fw1xx.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out fw1xx.crt
- Zertifikat der Zertifizierungsstelle Partner 2 zukommen lassen (ca.crt)
Partner 2
- Erstellt Zertifizierungsantrag...
- mkdir ~/cert
- cd ~/cert
- openssl genrsa -out fw1yy.key 4096
- openssl req -new -key fw1yy.key -out fw1yy.csr
... Common Name (e.g. server FQDN or YOUR name) []:fw1yy ...
- ... und lässt es Partner 1 zukommen (fw1yy.csr)
- Konfigurieren der Verbindung
- vim /etc/ipsec.conf
conn site2site-cert
authby=rsasig
keyexchange=ikev2
left=192.168.3.1yy
leftcert="fw1yy.crt"
leftsubnet=172.16.1yy.0/24
right=192.168.3.1xx
rightid="CN=fw1xx"
rightsubnet=172.16.1xx.0/24
ike=aes256-sha256-modp4096!
esp=aes256-sha256-modp4096!
auto=start
Partner 1
- Signiert den Antrag
- openssl x509 -req -days 730 -in fw1yy.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out fw1yy.crt
- Schickt diesen zurück bzw. hinterlegt ihn auf dem SFTP Server (fw1yy.crt) zusammen mit dem Zertifikat der Zertifizierungsstelle (ca.crt)
- Konfigurieren der Verbindung
- vim /etc/ipsec.conf
conn site2site-cert
authby=rsasig
keyexchange=ikev2
left=192.168.3.1xx
leftcert="fw1xx.crt"
leftsubnet=172.16.1xx.0/24
right=0.0.0.0 # Egal welche IP,...
rightid="CN=fw1yy" # ...aber der Commonname muss stimmen
rightsubnet=172.16.1yy.0/24
ike=aes256-sha256-modp4096!
esp=aes256-sha256-modp4096!
auto=add
Beide
- Damit Strongswan die Zertifikate findet, müssen diese an genau diesen Stellen liegen...
- find /etc/ipsec.d/ -type f
/etc/ipsec.d/private/fw1xx.key # bzw. f1yy.key /etc/ipsec.d/certs/fw1xx.crt # bzw. f1yy.crt /etc/ipsec.d/cacerts/ca.crt
- ...und in der ipsec.secrets Datei zur Verbindung zugewiesen werden
- vim /etc/ipsec.secrets
192.168.3.1xx : RSA fw1xx.key
- Diese müssen von Strongswan neu eingelesen werden
- ipsec reload
- ipsec rereadall
- Ob die Zertifikate erfolgreich geladen wurden lässt sich folgendermaßen überprüfen
- ipsec listcerts
- Ansonsten muss Strongswan neugestartet/geladen werden, falls der letzte Befehl nichts ausgibt
- systemctl restart strongswan-starter
- ipsec restart
Partner 2
- Nur von dieser Firewall aus kann die Verbindung gestartet werden, da die andere Seite die IP nicht kennt
- ipsec up site2site-cert