
Ich habe es geschafft, zwei AWS-Subnetze in verschiedenen Zonen über strongSwan VPN mit IKE2 und der AES256-Verschlüsselung zu verbinden. So wurden der Master-CA-Schlüssel, das selbstsignierte CA-Zertifikat sowie private und öffentliche Schlüssel für beide Gateways erstellt. Danach habe ich Zertifikate für den Roadwarrior erstellt und sie im P12-Format in den Win10-Client exportiert.
Die Verbindung zwischen diesen beiden LANs funktioniert, aber ich kann den Roadwarrior-Client nicht anschließen.
Ich habe die Zertifikate in Win10 importiert und sie sind normalerweise im Zertifikatsmanager sichtbar.
Anschließend habe ich mit dem Windows 10-VPN-Client eine VPN-Konfiguration erstellt und beim Ausführen die folgende Windows-Meldung erhalten:
Es konnte kein Zertifikat gefunden werden, das mit diesem Extensible Authentication Protocol verwendet werden kann.
Das Einchecken von certmagr
allem erfolgt vor Ort.
Die verwendete Authentifizierungsmethode ist EAP-tls und funktioniert im LAN-zu-LAN-Modell problemlos.
Die Einrichtung der VPN-Sicherheitseigenschaften in Win10 erfolgt wie folgt:
Type of the VPN: IKE2 , Data Encryption: Require encryption (disconnect if server declines) Authentication: Use Extensible Authentication Protocol -> Microsoft smart card or other certificates (encryption enabled) -> Properties ---> Use certificate on this computer ---> Verify the server's identity by validating the certificate ---> Trusted Root Certificate authority ----> Both certificates CA and the client p12 certificate are visible and checked
Hier istdie ipsec.confDatei
config setup
charondebug="cfg 2, dmn 2, ike 2,net 2"
uniqueids=yes
strictcrlpolicy=no
conn %default
fragmentation=force
forceencaps=yes
rekeymargin=3m
mobike=no
keyingtries=%forever
ike=aes256-sha256-modp2048,aes256-sha2_256-modp1024!
esp=aes256-sh256,aes256-sha2_256!
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
authby=pubkey
leftcert=vpn-west-public-certificate.pem
leftsendcert=always
keyexchange=ikev2
type=tunnel
leftca="C=DE, O=Orgname, CN=Orgname Root CA"
leftid=13.57.xx.yy
left=10.0.0.208
leftsubnet=10.0.0.0/16
conn roadw
right=%any
rightid=%any
rightauth=eap-tls
rightsourceip=10.0.0.64/28
rightsendcert=never
rightdns=8.8.8.8
eap_identity=%identity
auto=add
Hier ist dasIPsec.GeheimnisseDatei
13.57.xx.yy : RSA "/etc/ipsec.d/private/vpn-west-private-key.pem"
username : EAP "passphrase"
Im Client ist die CA-Root installiert, ebenso der Benutzername.p12. Ich vermute, dass es auf beiden Seiten einige Anpassungen an Linux und Windows gibt.
Außerdem habe ich festgestellt, dass Windows erfordert, dass der Hostname oder die IP-Adresse als Teil der IPSec-PKI-Ausstellerargumente in der Form --san dns:13.57.xx.yy während der Erstellung des öffentlichen Serverzertifikats aufgeführt wird, und dass das Client-Benutzerzertifikat (Windows) auch CN=$USER" --san $USER enthalten muss. Ich habe beide Parameter hinzugefügt, aber es gibt immer noch keine Änderung im Verhalten.
Muss ich extKeyUsage hinzufügen? Die OID muss 1.3.6.1.5.5.7.3.2 sein, da das Hinzufügen nichts geändert hat.
Irgendeine Idee, wo ich anfangen soll? Es sieht so aus, als würde Windows 10 die Sitzung nicht einmal starten. Daher sieht es für mich so aus, als ob etwas mit der Konfiguration des VPN-Clients unter Windows 10 nicht stimmt. Außerdem sollten einige Parameter auch auf der StrongSwan-Seite angepasst werden.
Hier sind die Zertifikatskonfigurationsbefehle für die Zertifizierungsstelle, den Server und den Client
Root-Hauptschlüssel
ipsec pki --gen --type rsa --size 4096 --outform > root-key-for-ca=signing.pem
Stammzertifizierungsstellenzertifikat
ipsec pki --self --ca --lifetime 3650 --in root-key-for-ca=signing.pem --type rsa --dn "C=DE, O=Orgname Root CA" --outform pem > signed-root-ca-certificate.pem
Privater Client-Schlüssel
ipsec pki --gen --type rsa --size 2048 --outform pem > win10-client1-key.pem
Öffentliches Clientzertifikat
ipsec pki --pub --in win10-client1-key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert signed-root-ca-certificate.pem --cakey root-key-for-ca-signing.pem --dn "C=DE, O=Orgname, CN=win10-client1" --san "win10-client1" --flag serverAuth --flag clientAuth --flag ikeIntermediate --outform pem > vpn-win10-client1-public-certificate.pem
Portables P12-Format zur Übertragung der persönlichen privaten Schlüssel des Kunden
openssl pkcs12 -export -inkey win10-client1-key.pem -in vpn-win10-client1-public-certificate.pem -name "win10-client1 VPN certificate" -certfile signed-root-ca-certificate.pem -cname "Orgname Root CA" -out win10-client1.p12
Privater Serverschlüssel
ipsec pki --gen --type rsa --size 2048 --outform pem > vpn-west=private-key.pem
Öffentliches Serverzertifikat
ipsec pki --pub --in vpn-west-private-key.pem --type rsa | ipsec pki --issue --lifetime 730 --cacert signed-root-ca-certificate.pem --cakey root-key-for-ca-signing.pem --dn "C=DE, O=Orgname, CN=13.57.xx.yy" --san 13.57.xx.yy --san dns:13.57.xx.yy --flag serverAuth --flag ikeIntermediate --outform pem > vpn-west-public-certificate.pem