Настройка шлюза для предоставления VPN доступа

В данном разделе приведено описание настройки серверной части шлюза NGate идёт с момента, когда ПО NGate установлено (в данном примере hostname задано как ngate-vm-complete), сетевым интерфейсам уже назначены соответствующие ip-адреса, создана инфраструктура PKI взаимодействия между АРМ Администратора и СУ (см. пример в Пример настройки демонстрационного стенда минимальной конфигурации).

  1. Дальнейшая настройка производится в веб-интерфейсе СУ NGate с использованием АРМ Администратора. Для тестового стенда, необходимо подключиться по https:// к порту 8000, в данном примере используется hostname машины: ngate-vm-complete.
    1. Запустите браузер с поддержкой TLS по ГОСТ. В адресной строке введите: https://ngate-vm-complete:8000. При аутентификации необходимо ввести логин административного пользователя системы управления ng-admin и пароль, заданные при установке ПО NGate.


    2. Подключите ключевой носитель, с контейнером закрытого ключа администратора, который был создан при настройке демонстрационного стенда и выберите нужный контейнер. Введите пароль от контейнера, если пароль был задан при создании контейнера закрытого ключа.


  2. После успешного подключения к веб-интерфейсу создайте кластер: на боковой панели нажмите кнопку Add cluster.


  3. Введите имя кластера и нажмите Save.


  4. Создадим Узел NGate: нажмите Edit Node на вкладке Nodes меню кластера.


  5. Задайте произвольное имя Узла NGate. Задайте сетевой адрес управления Узла (Management IP: 127.0.0.1 . Нажмите Save для сохранения настроек Узлов.
    Прим.: В данном примере используется вариант реализации шлюза при котором система управления и Узел кластера физически находятся на одной машине, поэтому адрес Узла NGate и будет иметь значение 127.0.0.1.


  6. Создайте конфигурацию: на вкладке Configuration нажмите Add


  7. Введите произвольное имя конфигурации, остальные параметры по умолчанию. Нажмите Save.


  8. В только что созданной конфигурации создайте HTTP-портал: на вкладке Portals нажмите HTTP potral.


  9. Укажите произвольное имя портала. Задайте параметры Server Name и User authentification type, для бесклиентского доступа. Остальные параметры оставьте без изменений. После завершения настройки нажмите Save.
    В поле Server Name укажите DNS имя или адрес к которому будут производить подключение клиенты. Данное имя и адрес должны содержаться в серверном сертификате шлюза. Формирование серверного ключа и сертификата описано ниже.
    В поле User authentification type выберите тип аутентификации Certificate (O/OU). Пользователи будут получать доступ, используя доверенные клиентские сертификаты, формирование которых также будет описано ниже.


    Важное замечание: В случае отсутствия доступа у демонстрационного стенда доступа в интернет необходимо на портале активировать функцию использования локальных списков отзыва сертификатов (CRL), так как иначе проверка CRL будет невозможна и доступ клиенту не будет предоставлен: Advance setting > Use local CRL only: ..
  10. Перейдём к настройке ACL (access control list) - правила получения доступа пользователя к защищаемым ресурсам.


  11. В поле Name введите наименование правила в системе Certificate ACL. Затем выберите из выпадающего меню имя поля OID в поле Field name or OID: O/OU. В двух полях Field value введите inc / dep. Сохраните Certificate ACL: Save.


  12. Теперь перейдем к работе с ключами и сертификатами. Для выпуска серверного и клиентских сертификатов в данном примере используется один из тестовых УЦ КРИПТО-ПРО (https://testgost2012.cryptopro.ru/certsrv/). Для доступа в тестовый УЦ используйте браузер с поддержкой ГОСТ).
    Выберите в основном меню тестового УЦ действие Получение сертификата Удостоверяющего Центра или действующий список отозванных сертификатов.


  13. Получите корневой сертификат УЦ в формате Base 64. Корневой сертификат (по умолчанию файл certnew.cer) будет сохранён на АРМ Администратора.


  14. Импортируйте корневой сертификат в NGate. Выберите в меню веб-итнтерфейса NGate: Certifiacates > CA Certifiacates > Upload file.


  15. Выберите в меню выбора файлов браузера полученный в тестовом УЦ файл сертификата certnew.cer.


  16. Проверьте параметры корневого сертификата введите в поле Name наименование сертификата в системе и нажмите Save.


  17. Корневой сертификат успешно добавлен.


  18. Сгенерируйте внешнюю гамму. Это можно сделать на АРМ Администратора при помощи утилиты genkpim из пакета КриптоПро CSP: genkpim.exe.
    Введите в консоль команду вида: .\genkpim.exe y ABC12345 C:\\gamma\, где «y» – количество отрезков гаммы, в нашем примере нужно создать 8; «ABC12345» – номер комплекта внешней гаммы (задайте произвольно 8 символов в шестнадцатеричном коде); «C:\\gamma\» – путь сохранения файлов гаммы (директория gamma в данном примере уже создана заранее).


  19. Затем сгенерируйте случайную последовательность символов при помощи мыши и клавиатуры.


  20. Загрузите файл гаммы через веб-интерфейс: зайдите в меню Gamma Upload, затем выберите файл гаммы вида kis_1 и нажмите Upload.


  21. Следующим действием следует создать Серверный мандат (англ. Server credential), который состоит из сертификата и закрытого ключа и необходим для организации защищённого TLS соединения между шлюзом NGate и соответствующим приложением на клиентском устройстве пользователя. Перейдите на страницу создания серверных мандатов и войдите в окно генерации запроса: Certifiacates > CA Certifiacates > Server Credentials > Server Certificate Request


  22. В окне генерации запроса на Серверный сертификат введите обязательные параметры: имя Name мандата в системе, алгоритм шифрования Algorithm (в данном примере GOST 2012 256bit). Самым важным полем в форме запроса является поле Subject CN. Значение данного поля должно совпадать в данном примере с именем машины [hostname] шлюза. Это же имя добавьте в поле DNS names.
    Прим.: В тестовой сети DNS-сервер отсутствует, то в файле hosts клиентского компьютера придется прописать соответствие адреса внешнего интерфейса шлюза его имени.
    Остальные поля не являются обязательным для заполнения в данном примере и остаются не заполненными. Нажмите Save для генерации и сохранения запроса.


  23. Скопируйте текст запроса из поля Request text кнопкой Copy.


  24. Перейдите к веб-интерфейсу уже использовавшегося тестового УЦ и нажмите на Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64.


  25. Вставьте запрос на сертификат в соответствующее поле Сохранённый запрос и нажмите Выдать >.


  26. Выберите формат шифрования сертификата Base 64 и нажмите Загрузить сертификат.


  27. Откройте ранее созданный запрос на сертификат на странице Server Credentials кнопкой Edit. Выбрать и открыть полученный файл сертификата и нажмите Upload.


  28. Серверный мандат успешно сформирован и добавлен в ПО NGate.


  29. Вернитесь к настройке конфигурации. Далее создадим туннельный ресурс, который будет опубликован на портале: Clusters > <Имя кластера> > All configurations > <Имя конфигурации> > Resources > Dynamic tunnel resource


  30. Введите параметры ресурса. Задайте имя ресурса Name в системе. В поле Suffix часть имени URL ресурса, например local. Остальные параметры оставьте по умолчанию. Сохраните настройки Save.


  31. Профиль ресурса успешно создан и доступен для добавления в конфигурацию.


  32. Создайте элемент подсетей: на вкладке Networks нажмите Add Network group.


  33. Введите имя элемента подсетей в системе в поле Name. Нажмите Add в поле Subnets и введите параметры подсетей 192.168.100.0 и маски подсети 255.255.255.0. Нажмите Save для сохранения.


  34. Теперь перейдите в свойства портала (выберем нужный портал на вкладке Portals конфигурации) и нажмите кнопку Add dynamic tunnel rules, чтобы создать новое правило доступа к туннельным ресурсам.


  35. Выберите Default route domain в выпадающем меню.


  36. Выберите Группы доступа (Groups) и Подсети (Networks), которые будут присоединены к порталу. Кликните по профилям в соответствующих полях и нажмите Save.


  37. Выполните привязку к порталу ранее добавленного Серверного мандата (Server credential). Перейдите на вкладку Certificates настроек портала и нажатие кнопку Assign в поле Server Credentials для входа в меню привязки.


  38. Выполните привязку ранее добавленного Серверного мандата (Server credentials), установите галочку в поле сертификата и нажмите Save.


  39. Выполните привязку ранее добавленного Сертификат УЦ проверки подлинности серверного мандата (Сredentials CA Certificates). Для входа в меню привязки нажмите Assign в соответствующем поле.


  40. В соответствующем поле сертификата УЦ установите галочку и нажмите Assign для привязки и возврата в меню сертификатов портала.


  41. Выполните привязку ранее добавленного Сертификата доверенного УЦ (Trusted CA certificates) для проверки подлинности клиентских сертификатов. Для входа в меню привязки нажмите Assign в соответствующем поле.


  42. Выберите Assign в соответствующем поле и установите галочку в поле сертификата, нажмите Save


  43. После выполнения всех предыдущих пунктов опубликуйте конфигурацию: перейдите на главную страницу конфигурации и нажмите кнопку Publish возле названия конфигурации.


  44. Дождитесь завершения публикации. Если публикация конфигурации прошла успешно, то будет выведено сообщение .


  45. Далее настройте ресурс в защищаемом сегменте сети. В данном примере будет использован хост с ОС Ubuntu с запущенным на порту 80 веб-сервером nginx. В качестве адреса шлюза введен адрес внутреннего интерфейса шлюза NGate (для демонстрационного стенда в данном примере: 192.168.1.3).
    1. Создайте виртуальную машину с параметрами достаточными для работы Ubuntu, используемой версии.
    2. Установите ОС Ubuntu на виртуальную машину.
    3. Запустите nginx. Для Ubuntu, начиная с версии 16.04, необходимые пакеты доступны по умолчанию. Введите команду для запуска nginx:

      sudo apt install nginx

  46. Настройте сетевое взаимодействие между шлюзом NGate и виртуальной машиной с защищаемыми ресурсами.
    Прим.: В демонстрационном стенде в данном примере будет создано простое сетевое взаимодействие между шлюзом и машиной с Ubuntu с применением статической адресации.
    1. Настройте на машине Ubuntu сетевой статический адрес в той же подсети, что и внутренний сетевой адрес демонстрационного стенда. Для используемого в примере стенда это: 192.168.1.3.
    2. Настройте на виртуальных машинах тип сетевого интерфейса LAN segment.
    3. Произведите тестовый пинг с шлюза и машины с ресурсами, чтобы проверить взаимную доступность.
    4. Настройте передачу данных с машины с ресурсами на шлюз.
  47. В качестве проверки работоспособности будет произведена отправка на ICMP пакетов на шлюз NGate. Также будет продемонстрирован доступ на страничку приветствия nginx. Процесс установки и настройки клиентской машины описан в разделе: Настройка пользовательской машины и подключение к шлюзу NGate с помощью VPN доступа.