Настройка шлюза для предоставления VPN доступа
В данном разделе приведено описание настройки серверной части шлюза NGate идёт с момента, когда ПО NGate установлено (в данном примере hostname задано как ngate-vm-complete), сетевым интерфейсам уже назначены соответствующие ip-адреса, создана инфраструктура PKI взаимодействия между АРМ Администратора и СУ (см. пример в Пример настройки демонстрационного стенда минимальной конфигурации).
-
Дальнейшая настройка производится в веб-интерфейсе СУ NGate с использованием
АРМ Администратора. Для тестового стенда,
необходимо подключиться по https:// к порту 8000, в данном примере
используется hostname машины: ngate-vm-complete.
-
После успешного подключения к веб-интерфейсу создайте кластер: на боковой панели нажмите кнопку Add
cluster.
-
Введите имя кластера и нажмите Save.
-
Создадим Узел NGate: нажмите Edit
Node на вкладке Nodes меню кластера.
-
Задайте произвольное имя Узла NGate. Задайте сетевой адрес управления Узла
(Management IP: 127.0.0.1 .
Нажмите Save для сохранения настроек
Узлов.
Прим.: В данном примере используется вариант реализации шлюза при котором система управления и Узел кластера физически находятся на одной машине, поэтому адрес Узла NGate и будет иметь значение 127.0.0.1.
-
Создайте конфигурацию: на вкладке Configuration нажмите
Add
-
Введите произвольное имя конфигурации, остальные параметры по умолчанию.
Нажмите Save.
-
В только что созданной конфигурации создайте HTTP-портал: на вкладке
Portals нажмите HTTP potral.
-
Укажите произвольное имя портала. Задайте параметры Server
Name и User authentification type, для
бесклиентского доступа. Остальные параметры оставьте без изменений. После
завершения настройки нажмите Save.
В поле Server Name укажите DNS имя или адрес к которому будут производить подключение клиенты. Данное имя и адрес должны содержаться в серверном сертификате шлюза. Формирование серверного ключа и сертификата описано ниже.В поле User authentification type выберите тип аутентификации Certificate (O/OU). Пользователи будут получать доступ, используя доверенные клиентские сертификаты, формирование которых также будет описано ниже.
Важное замечание: В случае отсутствия доступа у демонстрационного стенда доступа в интернет необходимо на портале активировать функцию использования локальных списков отзыва сертификатов (CRL), так как иначе проверка CRL будет невозможна и доступ клиенту не будет предоставлен: .. -
Перейдём к настройке ACL (access control list) - правила получения доступа
пользователя к защищаемым ресурсам.
-
В поле Name введите наименование правила в системе
Certificate ACL. Затем выберите из выпадающего меню имя
поля OID в поле Field name or OID:
O/OU. В двух полях Field value
введите inc / dep. Сохраните
Certificate ACL: Save.
-
Теперь перейдем к работе с ключами и сертификатами. Для выпуска серверного и
клиентских сертификатов в данном примере используется один из тестовых УЦ
КРИПТО-ПРО (https://testgost2012.cryptopro.ru/certsrv/). Для доступа в тестовый УЦ используйте
браузер с поддержкой ГОСТ).
Выберите в основном меню тестового УЦ действие Получение сертификата Удостоверяющего Центра или действующий список отозванных сертификатов.
-
Получите корневой сертификат УЦ в формате Base 64. Корневой сертификат
(по умолчанию файл certnew.cer) будет сохранён на АРМ
Администратора.
-
Импортируйте корневой сертификат в NGate. Выберите в меню веб-итнтерфейса
NGate:
.
-
Выберите в меню выбора файлов браузера полученный в тестовом УЦ файл
сертификата certnew.cer.
-
Проверьте параметры корневого сертификата введите в поле
Name наименование сертификата в системе и нажмите
Save.
-
Корневой сертификат успешно добавлен.
-
Сгенерируйте внешнюю гамму. Это можно сделать на АРМ Администратора при помощи
утилиты genkpim из пакета КриптоПро CSP:
genkpim.exe.
Введите в консоль команду вида: .\genkpim.exe y ABC12345 C:\\gamma\, где «y» – количество отрезков гаммы, в нашем примере нужно создать 8; «ABC12345» – номер комплекта внешней гаммы (задайте произвольно 8 символов в шестнадцатеричном коде); «C:\\gamma\» – путь сохранения файлов гаммы (директория gamma в данном примере уже создана заранее).
-
Затем сгенерируйте случайную последовательность символов при помощи мыши и
клавиатуры.
-
Загрузите файл гаммы через веб-интерфейс: зайдите в меню Gamma Upload, затем
выберите файл гаммы вида kis_1 и нажмите Upload.
-
Следующим действием следует создать Серверный мандат (англ.
Server credential), который состоит из сертификата и закрытого ключа и
необходим для организации защищённого TLS соединения между шлюзом NGate и
соответствующим приложением на клиентском устройстве пользователя. Перейдите на
страницу создания серверных мандатов и войдите в окно генерации запроса:
-
В окне генерации запроса на Серверный сертификат введите обязательные
параметры: имя Name мандата в системе, алгоритм шифрования
Algorithm (в данном примере GOST 2012
256bit). Самым важным полем в форме запроса является поле
Subject CN. Значение данного поля должно совпадать в данном примере с
именем машины [hostname] шлюза. Это же имя добавьте в поле DNS
names.
Прим.: В тестовой сети DNS-сервер отсутствует, то в файле hosts клиентского компьютера придется прописать соответствие адреса внешнего интерфейса шлюза его имени.Остальные поля не являются обязательным для заполнения в данном примере и остаются не заполненными. Нажмите Save для генерации и сохранения запроса.
-
Скопируйте текст запроса из поля Request text кнопкой
Copy.
-
Перейдите к веб-интерфейсу уже использовавшегося тестового УЦ и нажмите на Отправить
готовый запрос PKCS#10 или PKCS#7 в кодировке Base64.
-
Вставьте запрос на сертификат в соответствующее поле Сохранённый
запрос и нажмите Выдать >.
-
Выберите формат шифрования сертификата Base 64 и нажмите
Загрузить сертификат.
-
Откройте ранее созданный запрос на сертификат на странице Server
Credentials кнопкой Edit. Выбрать и открыть полученный
файл сертификата и нажмите Upload.
-
Серверный мандат успешно сформирован и добавлен в ПО NGate.
-
Вернитесь к настройке конфигурации. Далее создадим туннельный ресурс, который
будет опубликован на портале:
-
Введите параметры ресурса. Задайте имя ресурса Name в
системе. В поле Suffix часть имени URL ресурса, например
local. Остальные параметры оставьте по умолчанию.
Сохраните настройки Save.
-
Профиль ресурса успешно создан и доступен для добавления в конфигурацию.
-
Создайте элемент подсетей: на вкладке Networks нажмите
Add Network group.
-
Введите имя элемента подсетей в системе в поле Name.
Нажмите Add в поле Subnets и введите
параметры подсетей 192.168.100.0 и маски подсети
255.255.255.0. Нажмите Save для сохранения.
-
Теперь перейдите в свойства портала (выберем нужный портал на вкладке
Portals конфигурации) и нажмите кнопку
Add dynamic tunnel rules, чтобы
создать новое правило доступа к туннельным ресурсам.
-
Выберите Default route domain в выпадающем меню.
-
Выберите Группы доступа (Groups) и Подсети
(Networks), которые будут присоединены к порталу.
Кликните по профилям в соответствующих полях и нажмите Save.
-
Выполните привязку к порталу ранее добавленного Серверного мандата
(Server credential). Перейдите на вкладку
Certificates настроек портала и нажатие кнопку
Assign в поле Server Credentials
для входа в меню привязки.
-
Выполните привязку ранее добавленного Серверного мандата (Server
credentials), установите галочку в поле сертификата и нажмите Save.
-
Выполните привязку ранее добавленного Сертификат УЦ проверки подлинности
серверного мандата (Сredentials CA Certificates). Для входа
в меню привязки нажмите Assign в соответствующем
поле.
-
В соответствующем поле сертификата УЦ установите галочку и нажмите Assign для привязки и возврата в
меню сертификатов портала.
-
Выполните привязку ранее добавленного Сертификата доверенного УЦ
(Trusted CA certificates) для проверки подлинности
клиентских сертификатов. Для входа в меню привязки нажмите
Assign в соответствующем поле.
-
Выберите Assign в соответствующем поле и установите
галочку в поле сертификата, нажмите
Save
-
После выполнения всех предыдущих пунктов опубликуйте конфигурацию: перейдите на
главную страницу конфигурации и нажмите кнопку Publish возле названия
конфигурации.
-
Дождитесь завершения публикации. Если публикация конфигурации прошла успешно,
то будет выведено сообщение .
-
Далее настройте ресурс в защищаемом сегменте сети. В данном примере будет
использован хост с ОС Ubuntu с запущенным на порту 80 веб-сервером nginx.
В качестве адреса шлюза введен адрес внутреннего интерфейса шлюза NGate (для
демонстрационного стенда в данном примере:
192.168.1.3).
-
Настройте сетевое взаимодействие между шлюзом NGate и виртуальной машиной с
защищаемыми ресурсами.
Прим.: В демонстрационном стенде в данном примере будет создано простое сетевое взаимодействие между шлюзом и машиной с Ubuntu с применением статической адресации.
- Настройте на машине Ubuntu сетевой статический адрес в той же подсети, что и внутренний сетевой адрес демонстрационного стенда. Для используемого в примере стенда это: 192.168.1.3.
- Настройте на виртуальных машинах тип сетевого интерфейса LAN segment.
- Произведите тестовый пинг с шлюза и машины с ресурсами, чтобы проверить взаимную доступность.
- Настройте передачу данных с машины с ресурсами на шлюз.
- В качестве проверки работоспособности будет произведена отправка на ICMP пакетов на шлюз NGate. Также будет продемонстрирован доступ на страничку приветствия nginx. Процесс установки и настройки клиентской машины описан в разделе: Настройка пользовательской машины и подключение к шлюзу NGate с помощью VPN доступа.