Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Общая информация

Для создания сети VPN и настройки аутентификации в ней нам понадобится:

  • Cisco ASA (в нашем случае будет использована виртуальная машина ASAv, эмулирующая его работу).
  • Сервер с УЦ (в нашем случае будет использован WIndows Server с установленным и настроенным на нем Active Directory Certificate Services).
  • Клиент для подключения к сети VPN (в нашем случае это будет AnyConnect на Windows и OpenConnect  на Linux).

Настройка УЦ

Для начала настроим УЦ, который расположен у нас на Windows Server. Чтобы развернуть УЦ необходимо через "Server Manager" поставить "Active Directory Certificate Services". Для этого:

Нажмите Manage → Add Roles and Features.

Перейдите на вкладку Server Roles и выберите Active Directory Certificate Services.

 

На всех остальных вкладках нажмите Next.

После установки настройте УЦ. Для этого нажмите на значок уведомления и выберите вкладку Configure Active Directory Certificate Services

 

На второй вкладке установите галочку Certification Authority.

 

На всех остальных вкладках нажмите Next.

Далее откройте программу для управления УЦ, для этого выберите AD CS → Tools → Certification Authority.

Настройка Cisco ASA

Первичная настройка

Приступите к настройке Cisco ASA. Для упрощения процесса настройки, все действия производите через Cisco ASDM. Это графическое приложение для управление ASA. 

Для подключения через ASDM, подключите управляющий интерфейс в одну сеть с компьютером, на котором установлен "ASDM". Данной сетью будет являться VMnet8 (192.168.10.0/24).

  

В VMware узнайте адрес данной сети через вкладку Edit → Virtual Network Editor...

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

Теперь задайте статический IP-адрес для данного интерфейса в МЭ. Для этого выполните следующую последовательность команд:

Первичная настройка Cisco ASA
ciscoasa> en
#тут ввод пароля
ciscoasa# conf t
ciscoasa(config)# int management 0/0
ciscoasa(config-if)# ip add 192.168.10.22 255.255.255.0
ciscoasa(config-if)# nameif mgmt
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
ciscoasa(config)# http server enable
ciscoasa(config)# http 0 0 mgmt
#создание администратора для удаленного подключение
ciscoasa(config)# username <admin_name> password <password> privilege 15
ciscoasa(config)# wr


После этого через браузер клиента подключитесь к запущенному веб-серверу ASA. В данном случае показано подключение по адресу https://192.168.10.22/. Установить ASDM можно на этой странице.

Запустите ASDM и подключитесь к МЭ.

Через данный графический менеджер можно настроить оставшиеся входные и выходные интерфейсы МЭ. Это можно сделать на вкладке Configuration → Interface settings → Interfaces:

Получение корневого сертификата УЦ и сертификата ASA

Настройте VPN. Для аутентификации с помощью сертификатов, необходимо в первую очередь получить корневой сертификат УЦ и запросить у него сертификат для себя. Получить сертификат УЦ можно через  менеджер управления УЦ. Нажмите правой кнопкой мыши на УЦ и выберите вкладку Properties:

Найдите корневой сертификат и нажмите View Certificate.

Скопируйте его в файл в кодировке Base64 и отправьте его в ASDM.

В ASDM выберите Configuration → Device Management → Certificate Management → CA Certificates → Add и вставьте туда корневой сертификат УЦ. Можно это сделать скопировав содержимое файла сертификата в PEM формате, но можно импортировать его и через файл.

После того как корневой сертификат был импортирован, необходимо создать заявку на сертификат для ASA. Для этого перейдите на вкладку Configuration → Device Management → Certificate Management → Identity Certificates → Add и создайте заявку для ключа по умолчанию:

Заявку отправьте на сервер и добавьте ее в менеджер УЦ, нажмите правой кнопкой мыши на сервер и выберите All Tasks → Submit new request...:

В открывшемся окне укажите путь до заявки и дальше перейдите в директорию Pending requests и подпишите заявку. Для этого нажмите правой кнопкой мыши на заявку и выберите All Tasks → Issue:

Подписанный сертификат можно получить в директории Issued Certificates. Найдите сертификат и скопируйте его в файл в кодировке Base64:

Полученный сертификат отправьте на сторону ASDM и добавьте его на вкладке Configuration → Device Management → Certificate Management → Identity Certificates → Install для нашего запроса:

Настройка VPN на ASA

На стороне МЭ осталось настроить сам VPN. Для этого перейдите на вкладку Configuration → Remote access VPN → Network client Access → AnyConnect Connection Profiles. Установите галочку напротив Enable Cisco AnyConnect VPN Client access on the interfaces selected in the table below (после установки данной опции может потребоваться установка в МЭ пакетов с AnyConnect для Windows и Linux). Также необходимо разрешить подключение через входной интерфейс:

Для профиля DefaultWEBVPNGroup установите опцию SSL Enabled и отредактируйте его, нажав Edit:

В открывшемся окне установите аутентификацию с помощью сертификата:

Примените изменения, нажав Apply.

Теперь необходимо задать диапазон VPN адресов для клиентов. Для этого перейдите на вкладку Configuration → Remote access VPN → Network client Access → Address Assignment → Address Pools → Add  и создайте свой диапазон:

Примените изменения.

Далее перейдите на вкладку Configuration → Remote access VPN → Network client Access → Group Policy и дважды нажмите на  политику DfltGrpPolicy:

В открывшемся окне установите выбранный диапазон адресов на вкладке Address Pools:

Примените изменения и нажимаем на кнопку "Save" в панели инструментов.

Настройка клиента VPN в Windows (AnyConnect)

Теперь осталось лишь установить корневой сертификат УЦ на клиенте и получить сертификат у него. Корневой сертификат мы уже с вами получали выше. Для его установки на клиент запустим приложение mmc.

В открывшемся окне выбираем  "File"→"Add/Remove Snap-In...".

В открывшемся окне выбираем "Certificates" и нажимаем "Add".

 

Отобразится диалог и в нем необходимо выбрать "My user account". Нажимаем "Ok". В появившемся каталоге необходимо найти каталог "Trusted Root Certification Authorities", нажать на него правой кнопкой мыши и выбрать задачу импортирования нового сертификата:

В открывшемся окне указываем путь до корневого сертификата.


После того как мы импортировали корневой сертификат на наш клиент, необходимо создать заявку на сертификат для ключа, который будет создан на токене. Чтобы в Windows можно было работать с токеном, установим драйверы и подключим токен.

После того как все необходимые действия были выполнены перейдем обратно в mcc и правой кнопкой мыши кликнем по директории "Personal" и выберем задачу создания запроса на сертификат:

На первых двух вкладках нажимаем "Next" , на третьей выбираем "Legacy key".

В следующем окне задаем опции заявки и ключа, для которого она будет создана:

Как минимум: зададим Friendly name – его можно выбрать произвольным, это будет идентификатором вашего пользователя:

Зададим "Общее имя", оно должно быть идентификатором вашего пользователя:

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

И для создания ключа на токене укажем криптопровайдер Рутокен и зададим размер ключа в 2048.


От нас потребуют ввести PIN-код токена:


Заявку на сертификат сохраним в файл в кодировке Base64 и отправим ее на сторону УЦ. В УЦ подписываем заявку также как и заявку для ASA из инструкции выше.

Выписанный сертификат импортируем в директорию "Personal" на клиенте:

Теперь откроем браузер и  подключимся к входному интерфейсу ASA -- https://192.168.92.22. От нас потребует выбрать сертификат, который мы хотим использовать для входа:

После выбора, будет произведен вход и мы можем скачать anyconnect с открывшейся страницы.

Устанавливаем приложение Cisco AnyConnect и подключаемся к нашему сетевому экрану через интерфейс input. То есть по адресу 192.168.92.22:

В процессе подключение, от нас потребуют ввести PIN-код токена:

Если соединение было установлено, то все шаги были произведены верно:


Настройка клиента VPN в Linux (OpenConnect)

В первую очередь установим все необходимое программное обеспечение. Для этого загрузим библиотеку PKCS#11 для Rutoken отсюда и установим недостающие пакеты:

sudo apt-get update
sudo apt-get install opensc openconnect libengine-pkcs11-openssl gnutls-bin

Сгенерируем новую ключевую пару на токене и заявку на сертификат для нее:

Примечание

Если вы используете OpenSSL 3.0, то необходимо выполнить следующую инструкцию

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --id 42 --keypairgen --key-type rsa:2048 -l
openssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/libpkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/librtpkcs11ecp.so
OpenSSL> req -engine pkcs11 -new -key 0:42 -keyform engine -out client.req -outform PEM -subj "/CN=client2"

Импортируем полученную заявку на токен:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w client.cer --id 42

Настроим p11tool, чтобы он мог видеть Рутокен и проверим, что токен распознается. 

sudo sh -c "echo 'module:/usr/lib/librtpkcs11ecp.so' > /usr/share/p11-kit/modules/opensc.module"
p11tool --list-tokens

Вывод должен быть таким:

Запоминаем URL Рутокена и узнаем путь до сертификатов на нем:

p11tool —list-all-certs "pkcs11:model=Rutoken%20ECP;manufacturer=Aktiv%20Co.;serial=363441ca;token=Rutoken%20ECP%20%3cno%20label%3e"

Вывод должен быть таким:

Данный URL нужно использовать, чтобы указать путь для сертификата для подключения в OpenConnect:

sudo openconnect -c "pkcs11:model=Rutoken%20ECP;manufacturer=Aktiv%20Co.;serial=363441ca;token=Rutoken%20ECP%20%3cno%20label%3e;id=%42;type=cert" 192.168.92.22

Запустите отдельное окно с командной строкой и посмотрите, создался ли интерфейс tun0, если он создался, то настройка прошла успешно:

Настройка закончена.

  • No labels