OpenConnect ist ein SSL-VPN-Client, der ursprünglich zur Unterstützung von Ciscos AnyConnect SSL VPN erstellt wurde. Es wurde seitdem portiert, um das Juniper SSL VPN zu unterstützen, das jetzt als Pulse Connect Secure bekannt ist. In diesem Handbuch betrachten wir die Installation und Verwendung des OpenConnect SSL VPN-Clients, um eine Verbindung zu Ciscos AnyConnect SSL VPN und Juniper Pulse Connect Secure herzustellen.
Funktionen des OpenConnect SSL-Clients
Von der offiziellen Website bietet OpenConnect SSL Client die folgenden Funktionen:
- Verbindung über HTTP-Proxy, einschließlich libproxy-Unterstützung für die automatische Proxy-Konfiguration.
- Verbindung über den SOCKS5-Proxy.
- Automatische Erkennung von IPv4- und IPv6-Adressen, Routen.
- Authentifizierung über HTTP-Formulare.
- Authentifizierung mit SSL-Zertifikaten – aus einer lokalen Datei, Trusted Platform Module und PKCS#11-Smartcards.
- Authentifizierung mit SecurID-Software-Token (wenn mit libstoken erstellt)
- Authentifizierung mit OATH TOTP- oder HOTP-Software-Token.
- Authentifizierung mit Yubikey OATH-Token (wenn mit libpcsclite erstellt)
- UserGroup-Unterstützung für die Auswahl zwischen mehreren Konfigurationen auf einem einzelnen VPN-Server.
- Datentransport über TCP (HTTPS) oder UDP (DTLS oder ESP).
- Keepalive und Dead Peer Detection auf HTTPS und DTLS.
- Automatische Aktualisierung der VPN-Serverliste/Konfiguration.
- Roaming-Unterstützung, die eine erneute Verbindung ermöglicht, wenn sich die lokale IP-Adresse ändert.
- Kann ohne Root-Rechte ausgeführt werden
- Unterstützung für „Cisco Secure Desktop“ (siehe hier) und „GlobalProtect HIP-Bericht“.
OpenConnect SSL-Client unter Linux installieren
Sehen wir uns nun verschiedene Möglichkeiten zum Installieren des OpenConnect SSL-Clients auf Ihrer bevorzugten Linux-Distribution an:
OpenConnect SSL-Client unter Arch Linux installieren
Für Arch Linux-Benutzer und seine abgeleiteten Distributionen können Sie openconnect aus offiziellen Pacman-Repositorys installieren.
sudo pacman -S openconnect
Das gleiche kann auch mit yaourt gemacht werden:
$ yaourt -S openconnect
Installieren Sie den OpenConnect SSL-Client unter Debian / Ubuntu
Installieren Sie für Debian und seine Derivate das openconnect-Paket mit dem geeignet Paket-Manager.
sudo apt update sudo apt-get install openconnect
OpenConnect SSL-Client auf CentOS/RHEL installieren
Für CentOS und RHEL ist die openconnect
Paket ist erhältlich ab epel
Repository. Fügen Sie das Repository hinzu und installieren Sie dann das Openconnect-Paket:
sudo yum install epel-release sudo yum install openconnect
OpenConnect SSL-Client auf Fedora installieren
Für Fedora ist das Paket auch bei epel . erhältlich. Es ändert sich nur der Name des Paketmanagers:
sudo dnf install openconnect
OpenConnect SSL-Client unter macOS installieren
Installieren Sie für macOS-Nutzer das openconnect-Paket mit brauen
$ brauen install openconnect
So stellen Sie mit Openconnect eine Verbindung zum SSL-VPN-Server her (Manual)
Sobald das openconnect-Paket erfolgreich auf Ihrem Betriebssystem installiert wurde, sollten Sie bereit sein, eine Verbindung zum SSL-VPN-Server herzustellen, der AnyConnect SSL VPN von Cisco und Juniper Pulse Connect Secure kann.
Die einfache Verbindung folgt der Syntax:
$ sudo openconnect -u user --passwd-on-stdin vpnserver
Sie werden aufgefordert, ein Passwort einzugeben, siehe Beispiel unten:
$ sudo openconnect 192.168.1.1 POST https://192.168.1.1/ Verbunden mit 192.168.1.1:443 SSL-Aushandlung mit 192.168.1.1 Geben Sie 'ja' ein, um zu akzeptieren, 'nein' um abzubrechen; alles andere zum Anzeigen: ja Verbunden mit HTTPS auf 192.168.1.1 HTTP-Antwort erhalten: HTTP/1.0 302 Objekt verschoben GET https://192.168.1.1/ Verbunden mit 192.168.1.1:443 SSL-Aushandlung mit 192.168.1.1 Überprüfung des Serverzertifikats fehlgeschlagen: Unterzeichner nicht gefunden Verbunden mit HTTPS auf 192.168.1.1 HTTP-Antwort erhalten: HTTP/1.0 302 Objekt verschoben GET https://192.168.1.1/+webvpn+/index.html SSL-Aushandlung mit 192.168.1.1 Mit HTTPS auf 192 . verbunden.168.1.1 Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein. GRUPPE: [ANYCONNECT_PROFILE] Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein. Benutzername: jmutai Passwort: POST https://192.168.1.1/+webvpn+/index.html CONNECT-Antwort erhalten: HTTP/1.1 200 OK CSTP verbunden. DPD 30, Keepalive 20 Verbunden als 192.168.4.2, mit SSL hergestellte DTLS-Verbindung (mit GnuTLS). Ciphersuite (DTLS0 .).9)-(DHE-RSA-4294967237)-(AES-256-CBC)-(SHA1).
So verbinden Sie sich mit Openconnect mit einem Bash-Skript zum SSL VPN-Server Server
Ich habe ein Bash-Skript geschrieben, um die Verbindung zu vereinfachen und die Verbindung zum Cisco Autoconnect SSL VPN-Server zu erleichtern. Legen Sie es zu Ihrem ~/.zshrc
oder ~/.bashrc
je nach schale.
myvpn () local vpn_server="vpnserver" local vpn_username="user" local vpn_password="password" # try connect while true; do retry_time=$(($(date +%s) + 30)) sudo openconnect \ -u $vpn_username $vpn_server --non-inter --passwd-on-stdin <<< "$vpn_password" current_time="date +%s" if [ $current_time -lt retry_time ]; then sleep $(( $retry_time - $current_time )) fi done
Geben Sie die richtigen Variablen an und speichern Sie die Datei. Rufen Sie nun jedes Mal, wenn Sie sich mit dem VPN verbinden möchten, die Funktion namentlich auf:
$ myvpn
Juniper Pulse-Client
Um eine Verbindung zu einem Pulse Connect Secure-Server herzustellen, müssen Sie den SHA-1 seines Zertifikats kennen.
openconnect --servercert=sha1: \ --authgroup="Single-Factor-Pulse-Clients" \ --protocol=nc /dana-na/auth/url_6/willkommen.cgi \ --pid-file="/var/run/work-vpn.pid" --user=
In diesem Handbuch haben Sie erfahren, wie Sie den OpenConnect SSL-Client unter Linux und macOS installieren und verwenden. Lassen Sie es mich über den Kommentarbereich wissen, wenn Sie auf einen Fehler stoßen.