Как подключиться к VPN-серверу с OpenConnect SSL VPN Client в Linux

OpenConnect — это клиент SSL VPN, первоначально созданный для поддержки Cisco AnyConnect SSL VPN.

С тех пор он был перенесен на поддержку Juniper SSL VPN, который теперь известен как Pulse Connect Secure.

В этом руководстве мы рассмотрим установку и использование клиента OpenConnect SSL VPN для подключения к Cisco AnyConnect VPN VPN и Cisco Juniper Pulse Connect Secure.

Возможности OpenConnect SSL Client

С официального сайта OpenConnect SSL Client имеет следующие функции:

  • Подключение через HTTP-прокси, включая поддержку libproxy для автоматической настройки прокси-сервера.
  • Подключение через прокси-сервер SOCKS5.
  • Автоматическое обнаружение адресов IPv4 и IPv6, маршрутов.
  • Аутентификация через HTTP-формы.
  • Аутентификация с использованием сертификатов SSL — из локального файла, доверенного платформенного модуля и смарт-карт PKCS # 11.
  • Аутентификация с использованием токенов программного обеспечения SecurID (при построении с помощью libstoken)
  • Аутентификация с использованием токенов программного обеспечения OATH TOTP или HOTP.
  • Аутентификация с использованием токенов Yubikey OATH (при построении с помощью libpcsclite)
  • UserGroup поддерживает выбор между несколькими конфигурациями на одном VPN-сервере.
  • Передача данных по TCP (HTTPS) или UDP (DTLS или ESP).
  • Keepalive и Dead Peer Detection на HTTPS и DTLS.
  • Автоматическое обновление списка / конфигурации VPN-сервера.
  • Поддержка роуминга, позволяющая повторно подключаться при изменении локального IP-адреса.
  • Может работать без привилегий root
  • Поддержка «Cisco Secure Desktop” и GlobalProtect HIP report.

Установка клиента OpenConnect SSL в Linux

Давайте теперь посмотрим на различные способы установки OpenConnect SSL Client на ваш любимый дистрибутив Linux:

Установка клиента OpenConnect SSL на Arch Linux

Для пользователей Arch Linux и их производных дистрибутивов вы можете установить openconnect из официальных репозиториев Pacman.

$ sudo pacman -S openconnect

То же самое можно сделать и с помощью yaourt:

$ yaourt -S openconnect

Установка клиента OpenConnect SSL на Debian / Ubuntu

Для Debian и его производных установите пакет openconnect с помощью диспетчера пакетов apt.

$ sudo apt-get install openconnect

Установка клиента OpenConnect SSL на CentOS / RHEL

Для CentOS и RHEL пакет openconnect доступен в репозитории epel.

Добавьте репозиторий, затем установите пакет openconnect:

$ sudo yum install epel-release
$ sudo yum install openconnect

Установка клиента OpenConnect SSL на Fedora

Для Fedora пакет также доступен от epel.

Дело только в том, что имя менеджера пакетов изменяется:

$ sudo dnf install epel-release
$ sudo yum install openconnect

Установка клиента OpenConnect SSL на macOS

Для пользователей MacOS установите пакет openconnect с использованием brew

$ brew install openconnect

Как подключиться к SSL VPN Server с помощью Openconnect ( Вручную )

После того, как пакет openconnect был успешно установлен в вашей операционной системе, вы должны быть готовы к подключению к серверу SSL VPN, который может использовать Cisco AnyConnect SSL VPN и Juniper Pulse Connect Secure.

Простое соединение следует за синтаксисом:

$ sudo openconnect -u user --passwd-on-stdin vpnserver

Вам будет предложено ввести пароль, см. Пример ниже:

$ sudo openconnect 192.168.1.1
POST https://192.168.1.1/
Connected to 192.168.1.1:443
SSL negotiation with 192.168.1.1

Enter 'yes' to accept, 'no' to abort; anything else to view: yes
Connected to HTTPS on 192.168.1.1
Got HTTP response: HTTP/1.0 302 Object Moved
GET https://192.168.1.1/
Connected to 192.168.1.1:443
SSL negotiation with 192.168.1.1
Server certificate verify failed: signer not found
Connected to HTTPS on 192.168.1.1
Got HTTP response: HTTP/1.0 302 Object Moved
GET https://192.168.1.1/+webvpn+/index.html
SSL negotiation with 192.168.1.1
Connected to HTTPS on 192.168.1.1
Please enter your username and password.
GROUP: [ANYCONNECT_PROFILE]
Please enter your username and password.
Username:jmutai
Password:
POST https://192.168.1.1/+webvpn+/index.html
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
Connected as 192.168.4.2, using SSL
Established DTLS connection (using GnuTLS). Ciphersuite (DTLS0.9)-(DHE-RSA-4294967237)-(AES-256-CBC)-(SHA1).

Как подключиться к SSL VPN Server с помощью Openconnect с помощью скрипта Bash

Я написал скрипт bash, чтобы упростить подключение к серверу SSL Autoconnect SSL VPN.

Поместите его в ~ / .zshrc или ~ / .bashrc в зависимости от вашей оболочки.

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
}

Предоставьте правильные переменные и сохраните файл.

Теперь каждый раз, когда вы хотите подключиться к VPN, вызовите функцию по имени:

$ myvpn

Juniper Pulse Client

Чтобы подключиться к серверу Pulse Connect Secure, вам необходимо знать SHA-1 своего сертификата.

# openconnect --servercert=sha1:<HASH> \
--authgroup="single-Factor Pulse Clients" \
--protocol=nc <VPN_SERVER_ADDRESS>/dana-na/auth/url_6/welcome.cgi \
--pid-file="/var/run/work-vpn.pid" --user=<USERNAME>

В этом руководстве вы узнали, как установить и использовать клиент OpenConnect SSL на Linux и macOS.

Дайте мне знать в разделе комментариев, если вы столкнулись с какой-либо ошибкой.

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40