Запуск Cisco Anyconnect на ОС Linux

Примечание: настройка приложения выполнялось на операционной системе Linux Mint 21.1 со следующими характеристиками:

  • ОЗУ — 2048Gb
  • CPU — 4 виртуальных ядра i5-4570 3.20GHz
  • HDD — 32Gb
  • Сеть — NAT

Предварительно все обновления на ОС были установлены, виртуальная машина была перезагружена.

Шаг 1.

Загружаем сертификат безопасности (PFX) на виртуальную машину (его должен передать заказчик):

Файл в формате PFX

Шаг 2.

Загружаем архив с приложением anyconnect

Примечание: рекомендую скачивать приложение cisco anyconnect с официального сайта https://software.cisco.com/download/home, на котором требуется предварительная регистрация.

На момент написания статьи при регистрации выходила ошибка и по этому выкладываю ссылку на сторонний сайт, где требуется скачать версию anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz.

# сохраняем файл в каталог /var/tmp
cd /var/tmp
wget http://www.hostwaydcs.com/CISCO/AnyConnect/anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz 

В результате будет создан файл anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz в каталоге /var/tmp

root@moesk:/var/tmp# wget http://www.hostwaydcs.com/CISCO/AnyConnect/anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz
--2022-12-27 07:02:56--  http://www.hostwaydcs.com/CISCO/AnyConnect/anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz
Распознаётся www.hostwaydcs.com (www.hostwaydcs.com)… 216.139.254.241
Подключение к www.hostwaydcs.com (www.hostwaydcs.com)|216.139.254.241|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 33743537 (32M) [application/octet-stream]
Сохранение в: ‘anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz’

anyconnect-linux64- 100%[===================>]  32,18M  8,37MB/s    за 5,3s    

2022-12-27 07:03:02 (6,03 MB/s) - ‘anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz’ сохранён [33743537/33743537]

Шаг 3.

Для корректной работы требуется скачать корневой сертификат в формате Base64.

Корневой сертификат безопасности.

Создаём пустой файл:

cd /var/tmp
touch root.crt

И сохраняем там данные об корневом сертификате:

Информация, которая храниться в файле root.crt

Примечание: на момент написания статьи это был GlobalSign GCC R3 DV TLS CA 2020. Информация об этом сертификате содержится в PFX файле.

Шаг 4. Обработка сертификата PFX

Для работы на Linux, требуется PFX сертификат преобразовать в два файла. И для этого выполняем следующие команды:

# по умолчанию считаем, что файл pfx расположен в директории /var/tmp
openssl pkcs12 -in /var/tmp/certificate.pfx -out /var/tmp/certificate.pem -nokeys
# потребуется ввод пароля от сертификата
openssl pkcs12 -in /var/tmp/certificate.pfx -out /var/tmp/certificate.key -nocerts
# потребуется повторный ввод пароля

Примечание: пароль для открытия PFX требуется уточнять у того, кто создавал этот файл (заказчик). Плюс запоминаем, какой пароль вводим, он нам ещё пригодится (на самом деле можно пароль не указывать и для этого команду нужно выполнить со специальным ключом)

Шаг 5. Установка клиента anyconnect

Примечание: по умолчанию будем считать, что файл anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz расположен в директории /var/tmp

tar xvf /var/tmp/anyconnect-linux64-4.10.05095-predeploy-k9.tar.gz
cd anyconnect-linux64-*/
cd vpn
sudo ./vpn_install.sh

Соглашаемся с сообщением:

Description of Other Rights and Obligations Please refer to the Cisco Systems, Inc. End User License Agreement. http://www.cisco.com/en/US/docs/general/warranty/English/EU1KEN_.html Do you accept the terms in the license agreement? [y/n] Y

После завершения установки должно быть следующее сообщение:

You have accepted the license agreement.
Please wait while Cisco AnyConnect Secure Mobility Client is being installed...
install systemd
Installing ./vpnagentd.service
Created symlink /etc/systemd/system/multi-user.target.wants/vpnagentd.service → /usr/lib/systemd/system/vpnagentd.service.
Starting Cisco AnyConnect Secure Mobility Client Agent...
Done!

Для проверки работы сервиса выполняем команду:

systemctl status vpnagentd
Статус службы anyconnect

Запускаем клиент и в настройках убираем пункт Block connections to untrusted servers

Настройки

Шаг 6. Создание VPN соединения

Устанавливаем дополнительную программу.

Примечание: если пытаться создать соединение через стандартную cisco anyconnect, то не получается передать ей корневой сертификат.

apt-get install network-manager-openconnect-gnome

В настройках сети добавляем новое VPN-соединение:

Выбираем Параметры сети

В появившемся окне добавляем VPN-соединение, путём нажатия на +

Добавление нового VPN-соединения

Далее выбираем Multi-protocol VPN client (openconnect):

Протоколы

Примечание: так как в Linux доступ к файл осуществляет по особому способу, то требуется назначить корректные права для файлов — сертификата:

Сейчас права только для root пользователя. Добавляем права для нашего пользователя user:

cd /var/tmp

chown user:user root.crt
chmod 777 root.crt

chown user:user certificate.key
chmod 777 certificate.key

chown user:user certificate.pem
chmod 777 certificate.pem
Права на файлы

Примечание: при выборе файла требуется переходить в каталог /var/tmp

Настраиваем подключение:

  • VPN Protocol — выбираем Cisco AnyConnect or openconnect
  • Gateway — указываем адрес VPN-сервера, куда требуется выполнить подключение
  • CA Certificate — указывается корневой сертификат, который мы доставили в шаге 3.
  • User Certificate — файл *.pem, который был создан из PFX
  • Private Key — файл *.key, который был создан из PFX
Форма подключения

Делаем подключение:

Устанавливаем переключать в положение Включено
Вводим ранее созданный пароль в шаге 4

Вводим логин и пароль, который передал заказчик:

Авторизация

Всё должно работать:

Подключено

Оригиналы статей откуда была получена информация:

Print Friendly, PDF & Email

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