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

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

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


Настройка УЦ

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

Нажимаем на "Manage"->"Add Roles and Features"

 

Доходим до вкладки "Server Roles" и выбираем "Activ Directory Certificate Service"

 

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

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

 

На второй вкладке выставляем галочку напротив "Certification Authority"

 

, все остальные вкладки можно оставить нетронутыми

Далее откроем программу для управления УЦ, для этого переходим в "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 адрес для данного интерфейса в нашем МЭ. Для этого выполним следующую последовательность команд

ciscoasa> en
#тут ввод пароля
ciscoasa# conf t
ciscoasa(config)# int managment 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


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

Запустим ASDM и подключимся к МЭ

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


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

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

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

Копируем его в файл в Base64 кодировке и отправляем его в ASDM



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


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

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

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

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


Полученный сертификат отправляем на сторону ASDM и добавляем его во вкладке "Configuration"→"Device Managment"→"Certificate Managment"→"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 Assigment"→"Address Pools"→"Add" и создайте свой диапазн:

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


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

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

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


Настройка клиента

Теперь осталось лишь установить корневой сертификат УЦ на клиенте и получить сертификат у него. Корневой сертификат мы уже с вами получали выше. Для его установки на клиент запустим приложение 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;


От нас потребуют ввести пароль от токена:


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

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


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

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

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

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