Strongswan IPsec <> Windows 10

Ego

Der Teufel im Detail
Hi alle zusammen,

vielleicht weiß hier jemand Rat bzw. hat ähnliche Erfahrungen gemacht.

Die VPN-Verbindung (IKEv2) zu meinen Servern realisiere ich mittels Strongswan und bis zur Version 5.9.1 gab es keine Probleme. Von fast allen System kann ich weiterhin die Verbindung ohne Probleme aufbauen, sei es FreeBSD, Android, iOS...nur Windows will nicht mehr.
Ab Version 5.9.2 kam keine Verbindung zustande, so dass ich ein downgrade auf 5.9.1 durchführte. Unglücklicherweise habe ich vor 2 oder 3 Wochen - weiß nicht mehr genau - ein upgrade auf 5.9.3 durchgeführt (ja man sollte lesen, welche Pakete aktualisiert werden) und seitdem tritt dieses Problem wieder auf. Das alte Paket zu installieren funktioniert leider auch nicht mehr und die alte Version lässt sich zwar über die Ports noch bauen, aber ein Plugin (kernel-pfkey) wird nicht mehr beim Start von Strongswan geladen.
An der Config habe ich schon versucht etwas rumzuspielen ebenso auf der Windows-Seite, aber dennoch bekomme ich weiterhin die Meldung, dass kein gemeinsamer Algorithmus ausgehandelt werden konnte. Bezüglich dieser Problematik ist das Internet nicht wirklich hilfreich und ich habe inzwischen schon recht obskure Tips ausprobiert...
 
Das einzige was mir in den Changelogs diesbezüglich aufgefallen war, TLS1.3 (neu) + 3DES und sha1 sind rausgeflogen, was Windows gern auch noch benutzte, weshalb ich an den Einstellungen vom Client rumgespielt habe. Die Logs haben mir auch schön gesagt, was Windows als Algorithmen anbietet und habe diese dann auch explizit für die Verbindung eingestellt...ohne Erfolg.
Meine Vermutung ist, dass es irgendwo bei Windows hakt...u.U. wieder so ein obskures Problem, dass sich über irgendwelche Registry-Einstellungen lösen lässt wie modp2048 usw.

Edith sagt, missverständlich formuliert; erst lesen dann drücken
 
Gerade habe ich wieder etwas rumgespielt:

Strongswan 5.9.1 nochmal neugebaut, als pkg gepackt und das installiert und es funktioniert zumindest wieder ( warum auch immer ).
Habe dann die Verbindung über ein anderes Windows probiert, was natürlich nicht funktionierte, weil ich dort die Algorithmen noch nicht angepasst hatte; zumindest konnte ich im log sehen, dass Windows sha1 anbot, dieses aber seitens Strongswan config nicht nutzbar ist. Also mal schnell die Algorithmen unter Windows angepasst auf aes256, sha256 und die Verbindung kam ohne zu murren zustande. Testweise habe ich dann wieder ein upgrade auf 5.9.3 gemacht und es schlug wieder fehl...downgrade alles iO.

Bin zwar ratlos, aber erfreut, dass es aktuell wieder funktioniert. Also die Algorithmen, die aktuell von der 5.9.1 bei der Verbindung zu Windows benutzt werden, stehen auch bei der 5.9.3 zur Verfügung und sind auch explizit in der config vorgegeben; warum es bei der 5.9.3 nicht funktioniert, entzieht sich meiner Kenntnis. Wenn ich mal Zeit und Lust habe, werde ich versuchen dem auf den Grund zu gehen...
 
Mal als abschließende Meldung mit einer Lösung:

Habe die letzten Monate immer mal wieder rumgespielt und auch am loglevel gedreht, aber nichts wirklich aussagekräftiges gefunden.
Da ich das WE einen meiner Server nun endlich auf 12.3 gezogen habe und auch etwas Zeit zum basteln hatte, habe ich es nochmal probiert, was natürlich wieder schief ging, und auch noch mal etwas recherchiert; eine einzige Quelle (vom Januar oder Februar) habe ich nun auch gefunden, die dieses Problem ebenfalls hatte und so einige Vermutungen äußerte. (Entweder nutzt kaum jemand die Kombination Strongswan und Windows mit Smartcard-Zertifikaten oder fast alle nutzen alte Strongswan-Versionen).
Das Problem liegt tatsächlich - wie zu erwarten - auf der Windows-Seite. Da mein Zertifikat auf einer Smartcard liegt, nutzt Windows den SmartcardCryptoProvider und der kann nur sha1 und das ist bei Strongswan rausgeflogen...das war's! Erstelle ich also ein Zertifikat für die Maschine und installiere es in den WindowsCertStore, funktioniert die Authentifizierung, da hier ein anderer CryptoProvider zum Einsatz kommt, der auch sha2 kann.
 
Zurück
Oben