Uni-Weimar VPN Client unter Linux mit OpenConnect

März 2nd, 2018 § 0 comments

Seit einiger Zeit gibt es ein neues VPN-Setup an der BUW, die Technik dahinter nennt sich Cisco AnyConnect und für Linux-Nutzer gibt es zwar einen closed-source Client von Cisco, der auch manchmal funktioniert (Anleitung hier, Client gibt es hier) - aber idealerweise möchte man sein VPN direkt in den NetworkManager integrieren und möglichst auf proprietäre Software verzichten.

Glücklicherweise gibt es eine Lösung dafür - OpenConnect - Normalerweise lässt sich das für jede Distribution installieren, wenn es entsprechende Pakete gibt. Für Arch Linux z.B.

pacman -S networkmanager-openconnect wget

Ubuntu:

apt install network-manager-openconnect wget

Damit kann man sich auch ohne die nervige Cisco-Software mit dem VPN verbinden - zumindest in der Theorie - denn bei der Konfiguration gibt es ein interessantes Häkchen "Cisco Desktop Trojaner erlauben", was gesetzt werden muss:

Die OpenConnect Website klärt auf:

The 'Cisco Secure Desktop' is a bit of a misnomer — it works by downloading a trojan binary from the server and running it on your client machine to perform some kind of 'verification' and post its approval back to the server. This seems anything but secure to me, especially given their history of trivially-exploitable bugs.

It's also fairly easy to subvert, by running your own modified binary instead of the one you download from the server. Or by running their binary but poking at it with gdb.

We support this idiocy, but because of the security concerns the trojan will be executed only if a userid is specified on the command line using the --csd-user= option, or the --csd-wrapper= option is used to handle the script in a 'safe' manner.

Bei Cisco liest sich das so:

The AnyConnect Posture Module provides the AnyConnect Secure Mobility Client the ability to identify the operating system, antivirus, antispyware, and firewall software installed on the host. The Host Scan application, which is among the components delivered by the posture module, is the application that gathers this information.

In the adaptive security appliance (ASA), you can create a prelogin policy that evaluates endpoint attributes such as operating system, IP address, registry entries, local certificates, and filenames. Based on the result of the prelogin policy’s evaluation, you can control which hosts are allowed to create a remote access connection to the security appliance.

Wieso ist das überhaupt aktiv? Es funktioniert jedenfalls auch ohne Virenscanner und Firewall...

Hier ist das entsprechende Script was für den BUW-VPN funktioniert - zusätzlich muss wget noch installiert sein.

Das muss im entsprechenden Formular angegeben werden: csd-wrapper.sh - herunterladen und ausführbar machen z.B. so:

wget -O ~/csd-wrapper.sh https://gitlab.bau-ha.us/snippets/4/raw

chmod +x ~/csd-wrapper.sh

Dann noch im Network-Manager Dialogfeld auswählen und dann sollte es funktionieren.

Testen kann man via

$ openconnect vpngate.uni-weimar.de --csd-wrapper ./csd-wrapper.sh

Damit kann man sich dann mit NetworkManager mit dem VPN verbinden.

 

Und dann kann man direkt bei der Netzwerkauswahl den VPN anschalten ohne Umwege über den Cisco-Client.

Links:

https://web.archive.org/web/20161006072143/http://blog.yunak.eu/2013/07/19/openconnect/

http://kozelj.org/anyconnect-picket-fence-torn-down

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

What's this?

You are currently reading Uni-Weimar VPN Client unter Linux mit OpenConnect at maschinenraum.

meta