Примечание: настройка приложения выполнялось на операционной системе Linux Mint 21.1 со следующими характеристиками:
- ОЗУ — 2048Gb
- CPU — 4 виртуальных ядра i5-4570 3.20GHz
- HDD — 32Gb
- Сеть — NAT
Предварительно все обновления на ОС были установлены, виртуальная машина была перезагружена.
Шаг 1.
Загружаем сертификат безопасности (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
И сохраняем там данные об корневом сертификате:
Примечание: на момент написания статьи это был 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
Запускаем клиент и в настройках убираем пункт Block connections to untrusted servers
Шаг 6. Создание VPN соединения
Устанавливаем дополнительную программу.
Примечание: если пытаться создать соединение через стандартную cisco anyconnect, то не получается передать ей корневой сертификат.
apt-get install network-manager-openconnect-gnome
В настройках сети добавляем новое 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
Делаем подключение:
Вводим логин и пароль, который передал заказчик:
Всё должно работать:
Оригиналы статей откуда была получена информация: