IPSec zwischen SLES und Windows Server 2012 R2- Wie IDLE-Timeout erhöhen?

scusimarcus
Goto Top
Hallo werte Kollegen,

derzeit bin ich dabei eine vernünftige IPSec-Kommunikation zwischen SLES12 (mit Strongswan) und Server2012 R2 zu konfigurieren.
Das funktioniert prinzipiell auch ganz gut bis auf eine Ausnahme!

Nach exakt 5 Min / 300 Sekunden wird die Child-SA , wenn kein Netzwerkverkehr in der Zeit kam, laut TCPDump, von der Linux-Seite verworfen.
In Windows ist dieses Timeout aber auch auf 300 Sekunden eingestellt.
Man kann dies mit dem Powershell-Befehl "get-NetIpsecQuickModeSA" und der Eigenschaft "IdleDurationSeconds" mit dem Wert "300 Sekunden" entsprechend nachvollziehen.

Bei Strongswan kann man diesen Timeout nach belieben und ohne Probleme einstellen.
Meine Frage: Wie kann ich in Windows diesen Time erhöhen? Oder gar besser: Wie kann ich dafür sorgen dass die Child-SA´s erneut ausgehandelt werden?


Danke und Gruß

Content-Key: 330643

Url: https://administrator.de/contentid/330643

Ausgedruckt am: 02.07.2022 um 01:07 Uhr

Mitglied: aqui
aqui 27.02.2017 um 12:06:04 Uhr
Goto Top
Was mal spannend wäre wie Windows eine native IPsec Konfig behandelt. Normal kann Windows das nicht, da sie nur L2TP supporten. Obwohl hier schon mehrfach behauptet wurde das mit aktuellen Versionen nun auch native IPsec klappen soll.
Wäre mal interessant wenn du dazu Infos hast.
Deine Timeout Problematik ist in der Tat eine keepalive Problematik oder sehr wahrscheinlich die des Schlüsselprotokolls, das die nicht gleich ist auf beiden Seiten. Ist das der Fall kommt es zu genau diesen Abbrüchen.
Das sind wie du schon vermutest nicht identische Timer Settings.
Mitglied: scusimarcus
scusimarcus 27.02.2017 um 12:14:57 Uhr
Goto Top
Hallo Aqui,

der Schlüsselaustausch erfolgt über IKEv2. Die Parent-SA wird erfolgreich ausgehandelt und ich kann verschlüsselt mit dem Linux-Server kommunizieren. Es betrifft offenbar nur diese Child-SA... Wenn die Keylifetime (3h) erreicht ist wird ein neuer Parent-SA ausgehandelt und ich kann wieder verschlüsselt kommunizieren (zumindest solange bis mal 5 minuten kein Traffic lief).

Info: Die Windowsseitige Konfiguration besteht nur aus einer Connection Security Rule. Über Powershell wurde für die Rule IKEv2 aktiviert.
Mitglied: aqui
aqui 27.02.2017 aktualisiert um 13:20:58 Uhr
Goto Top
Kannst du einen Link Keepalive beidseitg aktivieren ? Würde ja ggf. das Problem fixen wenn es nur ein Idle Timeout ist.
Mitglied: scusimarcus
scusimarcus 27.02.2017 um 13:08:52 Uhr
Goto Top
Ist das unter Windows Server möglich? Wenn ja wie?
Danke für den Vorschlag
Mitglied: aqui
aqui 27.02.2017 um 13:21:54 Uhr
Goto Top
Das kann ich auch nicht sagen. Das war als Frage formuliert, da es ja bei Linux und allen bekannten VPN Routern funktioniert um die Letung bzw. den Tunnel bei getakteten Leitungen offenzuhalten.
Mitglied: scusimarcus
scusimarcus 01.03.2017 um 09:57:13 Uhr
Goto Top
Wieso ist dieser ganze IPSec-Kram auch nur so beschissen dokumentiert. Man könnte meinen Microsoft macht das absichtlich.
Mitglied: aqui
aqui 01.03.2017 um 13:46:34 Uhr
Goto Top
Microsoft sowieso. Für die ist IPsec jahrzehntelang kein Thema gewesen.
Kein Wunder also.... face-wink
Mitglied: scusimarcus
scusimarcus 01.03.2017 um 14:02:01 Uhr
Goto Top
Naja. Wenn man bedenkt dass MS das RFC für IKEv2 geschrieben hat, ist das schon sehr verwunderlich!
Mitglied: scusimarcus
scusimarcus 15.03.2017 um 12:44:41 Uhr
Goto Top
Es ist vollbracht!

Entegegen Microsoft´s Meinung dass die Powershell "Netsh" ab 2012 R2 ablöst, konnte es "Netsh" richten.

Folgender Befehl regelt das Timeout:

"netsh advfirewall set global ipsec saidletimemin <minutes>"


Gruß
Marcus
Mitglied: aqui
aqui 15.03.2017 aktualisiert um 16:50:55 Uhr
Goto Top
Cool ! Das ist doch mal eine sehr gute Information.

Interessant wäre mal wie du genau den native IPsec Zugriff aus Windows geregelt hast. Ist das rein auf Powershell / Netsh Basis gemacht oder kommt man da auch über das Windows GUI zum Ziel ??
Das wäre mal sehr spannend zu wissen, denn die Anforderung eine native IPsec Verbindung auf VPN Firewalls oder Router zu etablieren kommt hier gefühlte 3mal am Tag und bis dato war ja immer Fakt das MS nur PPTP, SSTP und L2TP kann aber kein native IPsec face-wink
Mitglied: scusimarcus
scusimarcus 15.03.2017, aktualisiert am 16.03.2017 um 10:06:55 Uhr
Goto Top
Hey Aqui,

das ist gar nicht so kompliziert wie man vielleicht meinen würde.

Auf der Windowsseite öffnet du die Advanced Firewall Setting und richtest eine neue Connection Security Rule ein. Weitere Einstellungen muss man in den Firewalleinstellungen übernehmen wie diverse IKE Timeouts und Proposals. Diese müssen konform zur Linuxseite (hier mit Strongswan getestet) sein.

Wichtig ist, insofern man IKEv2 verwenden möchte, dass die Connection Security Rule NACHDEM!!! alle relevanten Einstellungen getätigt wurden, mit Powershell auf IKEv2 umgestellt wird.
Das geht mit folgendem Befehl: Set-NetIpsecRule -Displayname "Name der Rule" -Keymodule IKEv2

Da ich das Rekeying zwischen Windows und Linux nicht zum laufen bekommen hab, hab ich das IKE Timeout auf beiden seiten bei 45 min stehen. Der Idletimeout wurde auf 60 min. konfiguriert.

Gruß face-smile
Mitglied: aqui
aqui 15.03.2017 um 17:20:14 Uhr
Goto Top
Sorry für die vermutlich dumme Frage eines Nicht Windows Profis aber ist das gesamte IPsec Handling dann innerhalb des Advanced Firewall Settings zu machen über die neue Connection Security Rule oder spielt da noch ein separater Prozess oder Anwendung rein ?
Sprich macht die Firewall das gesamte VPN Handling ?
Mitglied: scusimarcus
scusimarcus 16.03.2017 um 10:06:02 Uhr
Goto Top
Es gibt keine dummen Fragen.

Alles spielt sich in den Advanced Firewall Settings ab face-smile
Mitglied: aqui
aqui 16.03.2017 um 15:32:52 Uhr
Goto Top
Dann werd ich mal mein Glück versuchen... face-wink