OpenVPN TLS Fehler

Started by Elektron2000, May 26, 2023, 12:38:28 PM

Previous topic - Next topic
Guten Tag zusammen,
Ich wende mich an euch weil wir ein Problem mit dem OpenVPN haben seit dem letzten Update am 2023-05-04 auf die Version 23.1.7 haben.

Wir nutzen die Sense fast ausschließlich als OpenVPN Server für etwa 550 Endgeräte, und hier die TLS Einstellung cipher AES-128-CBC. Daran hat sich auch nichts geändert, das steht nach wie vor in der Serverkonfiguration drin.

Seit dem letzten Update können sich etwa ein drittel der Endgeräte mit neuerem Einbaudatum nicht mehr verbinden da sie einen TLS Fehler haben.

Jetzt haben wir schon eine Idee woran das liegt, in der OpenVPN Version 2.6 und höher werden nur noch diese Standard cipher verwendet: AES-256-GCM: AES-128-GCM: CHACHA20-POLY1305: Chacha20-Poly1305

Jetzt meine Frage, wo liegt in der OpenVPN Configuration die Standard cipher Liste, das wir AES-128-CBC dazu schreiben können, bzw wie kann man Open VPN über die GUI zum nutzen des ciphers zwingen.

Vielen Dank, der Weg über die Endgeräte kommt leider nicht in Frage.

Hallöle,

welchen Client und welche Version benutzt Ihr ?
Wir haben ein Downgrade auf Client 2.5.9 gemacht, da die Client 2.6.2, 2.6.3 und 2.6.4 nicht funktionieren.

LG

Wir nutzen keinen Client sondern Router, und da die in Anlagen verbaut sind kommen wir da jetzt nicht ran um da was zu ändern.
Der Server muss irgendwie wieder das TLS mit AES-128-CBC annehmen

Vermtulich der praktikabelste Weg .... Firewall Downgrade.

Den Algorithmus auf der Server-Seite hinzufügen funktioniert nicht?

Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

@Patrick Ich glaube das ist der Punkt den wir auch schon in der Usergroup hatten. Encryption bei OpenVPN ist einfach inzwischen eine Liste an Ciphern, was OPNsense leider nie implementiert hat sondern an diesem single-select Dropdown festgehalten hat. Das kann aber die Realität von OVPN 2.5 und jetzt 2.6 nicht mehr abdecken, da inzwischen eine Cipherliste erwartet wird und ein einzelner Cipher als Fallback:

https://openvpn.net/community-resources/reference-manual-for-openvpn-2-6/

"Cipher" was OPNSense benutzt sollte eigentlich gar nicht mehr genutzt werden und ist nur noch rudimentär als Kompatibilität drin, die Sense lässt aber keinerlei andere Einstellung in der UI zu :(

Besser wäre das Dropdown statt dessen als "Data-Cipher-Fallback" Option zu nutzen. Siehe:
Quote"Configure a cipher that is used to fall back to if we could not determine which cipher the peer is willing to use.
This option should only be needed to connect to peers that are running OpenVPN 2.3 or older versions, and have been configured with --enable-small (typically used on routers or other embedded devices)."

Außerdem braucht der OpenVPN dringend eine Auswahl wie bspw. auch bei pfSense vorhanden, um die Cipherliste zu wählen sowie ein Schalter um ggf. DCO an/ab zu schalten, was dann die ausgewählten Cipher eingrenzen würde (DCO setzt voraus, dass AES-GCM oder CHACHA genutzt wird). Zusätzlich gibt es jetzt ab OpenVPN 2.6 auch eine Option bestimmte Cipher optional mit hinzuzufügen abhängig davon, ob der Client sie kann oder nicht:

QuoteRestrict the allowed ciphers to be negotiated to the ciphers in cipher-list. cipher-list is a colon-separated list of ciphers, and defaults to AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305 when Chacha20-Poly1305 is available and otherwise AES-256-GCM:AES-128-GCM.

Starting with OpenVPN 2.6 a cipher can be prefixed with a ? to mark it as optional. This allows including ciphers in the list that may not be available on all platforms. E.g. AES-256-GCM:AES-128-GCM:?CHACHA20-POLY1305 would only enable Chacha20-Poly1305 if the underlying SSL library (and its configuration) supports it.

If no common cipher is found during cipher negotiation, the connection is terminated. To support old clients/old servers that do not provide any cipher negotiation support see --data-ciphers-fallback.

If --compat-mode is set to a version older than 2.5.0 the cipher specified by --cipher will be appended to --data-ciphers if not already present.

Da OPNsense den data-cipher nicht setzt wird er automatisch mit den default Werten bespielt. Das wären hier die beiden GCM Cipher plus CHACHA wenns via OpneSSL verfügbar ist. Der Wert den man in der UI setzt ist aber "Cipher" also das was im letzten Absatz erwähnt wird: Cipher greift NUR wenn compat mode auf älter als 2.5 gesetzt ist und wird dann einfach an die data-cipher angehängt. Wenn man da also AES-128-CBC anhängt bringt das nur im Kompatibilitätsmodus was, ansonsten wird es ignoriert da die Sense keine Option hat, eine eigene Cipherliste zu definieren.


Workaround aktuell wäre "data-ciphers" selbst in den Advanced Options zu konfigurieren auf den Wert den alle Kisten vorher genutzt haben. Oder alternativ versuchen, ob "data-ciphers-fallback" da schon genügt.

Also für den Problemfall:


data-ciphers-fallback AES-128-CBC


und wenn das nicht geht:


data-ciphers AES-128-CBC


anzugeben, wenn ihr vorher immer mit AES-128-CBC konfiguriert hattet.

Cheers :)
\jens
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Quote from: Elektron2000 on May 26, 2023, 03:25:32 PM
Wir nutzen keinen Client sondern Router, und da die in Anlagen verbaut sind kommen wir da jetzt nicht ran um da was zu ändern.
Der Server muss irgendwie wieder das TLS mit AES-128-CBC annehmen

Also nochmal TL;DR für den Fall dass es in der Wall of Text oben unterging ;)

Workaround aktuell wäre wahrscheinlich, "data-ciphers" selbst in den Advanced Options zu konfigurieren auf den Wert den alle Kisten vorher genutzt haben. Oder alternativ versuchen, ob "data-ciphers-fallback" da schon genügt.

Also für den Problemfall:

data-ciphers-fallback AES-128-CBC

data-ciphers AES-128-CBC

anzugeben, wenn ihr vorher immer mit AES-128-CBC konfiguriert hattet.

Cheers :)
\jens
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.