- Сертификация шлюза «КриптоПро NGate» и выполнение требований законодательства
- Системные требования КриптоПро NGate
- Функциональные возможности КриптоПро NGate
- Методы аутентификации
- Возможности интеграции
- Производительность
- Инструкция по установке Континент TLS VPN клиент 2. 1440
- Генерация сертификатов
- Задача
- Работа с КриптоПро NGate
- Подготовка к эксплуатации
- Настройка доступа
- Обслуживание в ходе эксплуатации
- Подключение пользователя к порталу
- Архитектура КриптоПро NGate
- Руководство по созданию базового файла конфигурации.
- Архитектура «КриптоПро NGate»
- Тестовый стенд
- Windows
- Создание единого файла конфигурации, содержащего все сертификаты и ключи
- Сертификация по требованиям безопасности информации
Сертификация шлюза «КриптоПро NGate» и выполнение требований законодательства
NGate был включён в Единый реестр российских программ для электронных вычислительных машин и баз данных Минцифры России в 2017 году (запись № 305680). В декабре 2019 года все компоненты шлюза (и серверные, и клиентские) прошли проверку на соответствие требованиям ФСБ России к средствам криптографической защиты информации по классам защиты КС1, КС2 и КС3 (получены сертификаты № СФ/124-3629, СФ/124-3630 и СФ/124-3631 для NGate в различных исполнениях). Кроме того, компоненты шлюза удалённого доступа используют в своём составе собственный криптопровайдер «КриптоПро CSP», который также сертифицирован ФСБ России для защиты информации по тем же классам.
Успешное прохождение сертификации подтверждает высокий уровень безопасности программного и аппаратного обеспечения NGate и возможности его использования для обеспечения защищённой передачи конфиденциальной информации (включая персональные данные) в том числе в рамках программы по импортозамещению.
Выше уже упоминалось, но повторим явно в текущем разделе следующее важное замечание. В среде виртуализации можно использовать NGate без ограничений функциональности и производительности (кроме тех, что связаны с характеристиками виртуальных машин), но только с пониженным классом сертификации. Криптошлюз NGate в виде виртуальной платформы отвечает требованиям ФСБ России по классу КС1.
Помимо указанного, NGate отвечает требованиям законодательства в области обеспечения информационной безопасности в различных сферах. Общую информацию мы привели в следующей таблице.
Таблица 4. Требования законодательства РФ в области обеспечения информационной безопасности, которым отвечает «КриптоПро NGate»
Сфера ИБЗаконыДополнительная информацияЕдиная биометрическая система (ЕБС)149-ФЗ (с изменениями 482-ФЗ) и 4-МР ЦБ РФNGate удовлетворяет требованиям указанных законов и методических рекомендаций в части удалённой идентификации в ЕБС, поскольку криптошлюз имеет необходимые сертификаты ФСБ России и поддерживает одновременно и ГОСТ TLS, и зарубежные криптонаборы TLSПерсональные данные (ПД) и государственные информационные системы (ГИС)21-й / 17-й приказы ФСТЭК РоссииNGate реализует меры защиты информации в различных категориях:управление доступом в части УПД. 13,защита информационных систем и передачи данных в части меры ЗИС. 3,идентификация и аутентификация в части мер ИАФ. 1, ИАФ. 5 и ИАФ. 6Критическая информационная инфраструктура239-й приказ ФСТЭК РоссииNGate реализует меры защиты информации в различных категориях:управление доступом в части мер УПД. 13, УПД. 14,защита информационных систем и их компонентов в части ЗИС. 19,идентификация и аутентификация в части мер ИАФ. 1, ИАФ. 5, ИАФ. 6 и ИАФ. Кроме этого, криптошлюз отвечает следующим требованиям приказа (п. 31):не допускается наличия удалённого доступа напрямую к защищаемым объектам критической информационной инфраструктуры (КИИ) со стороны третьих лиц, т. не работников объекта КИИ (такой доступ через NGate допускается, поскольку VPN-доступ не считается доступом «напрямую»),должна обеспечиваться стойкость к санкциям (выполняется, поскольку NGate — полностью отечественный криптошлюз),реализуется полная поддержка со стороны производителя. Защита информации финансовых организацийГОСТ Р 57580. 1-2017NGate реализует большинство требований в категории защиты информации от раскрытия и модификации при осуществлении удаленного доступа (ЗУД)Удалённый мониторинг энергооборудования1015-й приказ Министерства энергетики РФот 06. 2018NGate реализует следующие требования к информационной безопасности объектов электроэнергетики:обеспечение криптографической защиты удалённого соединения и обмена данными,применение сертифицированных средств защиты информации.
Системные требования КриптоПро NGate
Криптошлюз NGate поставляется в виде аппаратной или виртуальной платформы. В случае выбора первого варианта исполнения NGate поставляется предустановленным на оборудование КриптоПро, установка программного обеспечения NGate на собственные технические средства организации не допускается.
Рисунок 4. Внешний вид некоторых исполнений аппаратной платформы КриптоПро NGate
Поддерживается также работа криптошлюза NGate в виртуальной инфраструктуре, однако такое решение имеет некоторые ограничения, связанные с пониженным классом сертификации.
Клиентский компонент КриптоПро NGate может функционировать под управлением следующих ОС:
- Microsoft Windows 7/8/8.1/10;
- macOS X 10.9/10.10/10.11/10.12/10.13/10.14;
- Linux (RHEL, CentOS, Debian, Ubuntu, ROSA, Astra, ALTLinux и др.);
- iOS;
- Android.
Широкий набор поддерживаемых операционных систем предоставляет для пользователя возможность защищенного доступа к корпоративным ресурсам при работе практически с любого клиентского устройства.
Функциональные возможности КриптоПро NGate
КриптоПро NGate обладает развитыми средствами полномочного управления, в результате применения которых пользователи получают доступ только к заданным ресурсам в соответствии с применяемыми политиками безопасности. Использование такого подхода существенно упрощает процедуру администрирования большого количества разных групп пользователей с доступом к значительному числу различных ресурсов, уменьшает ошибки администрирования и снижает риск утечки конфиденциальных данных.
КриптоПро NGate предоставляет возможность работы в различных режимах, из числа которых можно выделить три основных.
Классическое применение данного режима — системы дистанционного банковского обслуживания (ДБО). При этом криптошлюз устанавливается посередине между клиентским компьютером и целевыми информационными ресурсами, терминирует сетевой трафик и без прохождения аутентификации пользователя передает его далее на целевой ресурс.
Рисунок 5. Работа КриптоПро NGate в режиме TLS-терминатора
Режим портального доступа
В режиме портального доступа может дополнительно проводиться процедура аутентификации. При доступе через браузер пользователи попадают в свой личный портал, персонализированный в соответствии с ролью (см. рисунок 2). При этом на портале отображается список ресурсов, к которым пользователи имеют доступ в соответствии с корпоративными политиками безопасности. В список ресурсов могут входить различные веб-приложения.
Пользователю достаточно знать только имя веб-ресурса (например, portal. company. ru), к которому ему нужно подключиться, а администратор может создавать любое количество разных порталов доступа для различных групп пользователей.
В отличие от IPSec, который обеспечивает доступ к ресурсам доступным по IP (подсеть или отдельный компьютер), с использованием портального доступа можно обеспечить более гибкое разграничение доступа, предоставляя конкретному пользователю право использовать целевое веб-приложение на сервере.
Режим VPN-доступа.
Данный режим предназначен для получения защищенного доступа к произвольными ресурсам, доступным по IP. В отличие от IPSec, в данном режиме доступна возможность предоставления доступа на основе таблиц маршрутизации и VLAN.
Методы аутентификации
КриптоПро NGate предоставляет широкий набор различных способов аутентификации пользователя:
- без аутентификации (используется в режиме TLS-терминации);
- аутентификация с использованием сертификата (простая проверка на валидность; аутентификация по полям: Organization, Organizational Unit, Enhanced Key Usage);
- аутентификация по UPN в MS Active Directory;
- аутентификация с использованием сертификата в MS AD/LDAP;
- аутентификация по одноразовым паролям при интеграции с Radius.
Если учесть возможность комбинирования предложенных способов, можно утверждать, что продукт позволяет реализовать и довольно сложные схемы аутентификации пользователей.
КриптоПро NGate поддерживает различные токены доступа, такие как «Аладдин», «Рутокен», Esmart и многие другие.
Возможности интеграции
КриптоПро NGate может быть интегрирован со следующими системами:
- системы аутентификации: КриптоПро NGate может успешно использоваться совместно с Active Directory, LDAP, Radius;
- системы мониторинга: КриптоПро NGate поддерживает стандартный протокол управления устройствами SNMP, а это значит, что он может выступать в качестве подконтрольного объекта для систем мониторинга работы сетевых узлов;
- SIEM: за счет поддержки стандартизированного сетевого протокола syslog КриптоПро NGate может отправлять сообщения во внешние системы управления информационной безопасностью;
- Web Application Firewall: в КриптоПро NGate реализована глубокая интеграция с сервисом защиты веб-приложений Wallarm, что позволяет в рамках единой аппаратной или виртуальной платформы организовать выявление и блокирование атак, обнаружение уязвимостей и отслеживание периметра с дообучением на основе анализа отслеживаемого трафика. При этом КриптоПро NGate может поставляться с уже протестированными профилями безопасности.
Производительность
КриптоПро NGate в лучшую сторону отличается от многих конкурентных решений с точки зрения обеспечения высоких показателей производительности:
Приведенные значения характеризуют вариант с использованием одного криптошлюза. В рамках кластерной схемы по мере увеличения числа узлов показатели производительности увеличиваются почти линейно.
Инструкция по установке Континент TLS VPN клиент 2. 1440
Перед установкой Континента ТЛС версии 2 необходимо удалить предыдущую версию Континента (если конечно она была установлена) через Пуск > Панель управления > Программы > Программы и компоненты. Потом перезагрузить компьютер.
Скачанный дистрибутив необходимо разархивировать и запустить файл «Континент TLS-клиент. exe»
Далее в появившемся окне отмечаем чекбокс «Я принимаю условия лицензионного соглашения» и нажимаем кнопку «Установить».
После успешной установки предлагается перезагрузить компьютер — соглашаемся.
Далее необходимо зарегистрировать СКЗИ «Континент TLS VPN Клиент». При запуске незарегистрированной программы появится следующее окно.
Если в течение 14 дней не зарегистрировать программу, то по окончании демонстрационного периода работа программы будет приостановлена.
Если не зарегистрировались сразу, то форму регистрации ищите в Континент TLS Клиент на вкладке «Настройки» > раздел «Регистрация» > кнопка «Начать» под полем «Онлайн-регистрация».
В открывшемся окне заполняем поля: Фамилия, Отчество, Электронная почта, в поле Адрес сервера регистрации (если не было указано) пишем «registration. securitycode. ru», нажимаем «Готово».
После успешной регистрации всплывает окно. Ограничение демонстрационного периода (14 дней) снято.
Для регистрации Континент TLS Клиент работникам казначейства (компьютер находится в локальной сети казначейства) необходимо внести изменения (выделены красным) в файл PublicConfig. json.
Генерация сертификатов
Первым делом нам необходимо сгенерировать ключ и
сертификат для клиента. Происходит это по следующей схеме:
1) Создаётся ключ и запрос сертификата.
2) Создаётся сертификат, затем производится подпись центром
сертификации.
Подготовимся к созданию ключа и сертификата. Для этого
перейдём в рабочую директорию easy-rsa. У меня это:
После перехода в рабочую директорию, необходимо сгенерировать
ключ и сделать запрос сертификата. Для этого выполните в консоли:
/easyrsa gen-req client1 nopass
Разберём основной синтаксис:
- gen-req (generate request) – сгенерировать запрос,
под этой командой понимается так же генерация ключа. - client1 – имя
нашего файла (может быть любым) - nopass –
директива, которая указывает не устанавливать пароль на клиентский сертификат,
в противном случае, каждый раз, когда клиент будет пытаться подключиться, для
сертификата будет запрашиваться пароль.
Когда выполнение будет начато, мы увидим:
Общий вывод такой, а теперь давайте разберём его
конкретно:
Первым делом утилита уведомляет нас о том, что использует конфигурацию из файла
vars.
Затем сервер генерирует клиентский ключ размерностью 2048
бит, после сразу же записывает его в директорию:
Здесь мы задаём имя объекта, которому выдаётся
сертификат. нет общеупотребительного варианта перевода, смысл такой.
По окончании обработки запроса и генерации ключа,
выводится уведомление о том, где расположены файлы.
Создаётся файл client1. req – файл, хранящий запрос о сертификате, а также файл client1. key – хранящий клиентский ключ.
Следующим шагом будет создание и подпись клиентского
сертификата. Для этого введите в консоль команду:
/easyrsa sign-req client client1
Синтаксис остаётся примерно тем же, со следующими
отличиями:
- sign-req (signature request) запрос на создание и подпись сертификата.
- второе значение – client — говорит о типе сертификата, который нужно подписать: клиент или сервер. В нашем случае – это клиент.
- client1 – имя файла (может быть любым).
Во время выполнения увидим следующее:
Процедура схожа с созданием запроса. Происходит обращение
к файлу vars,
затем сервер уведомляет нас о том, что сертификат будет сгенерирован на 3650
дней, после чего нам предлагается ввести ‘yes’, чтобы продолжить или ввести что
угодно, чтобы отменить запрос.
нам нужен подписанный сертификат, пишем ‘yes’.
Затем нам предлагается ввести ключ центра сертификации
для того, чтобы сгенерировать сертификат (это мера безопасности, необходимая
для того, чтобы в случае компрометации сервера, нельзя было генерировать
клиентские ключи и сертификаты). Возможен, вариант, что Вы не устанавливали
пароль, следовательно, запроса пароля не будет.
По итогу мы получаем 2 файла:
- client1.key – клиентский ключ
- client1.crt – клиентский сертификат
Для того, чтобы поднять клиентский доступ на slave-устройстве, необходимо иметь
минимальный набор файлов:
Некоторые устройства требуют обязательного наличия клиентского файла конфигурации соответствующего расширения, например: tun0. ovpn. Это будет четвёртым пунктом в списке минимального набора сертификатов.
Задача
Для начала необходимо разобраться в том, как всё описанное будет работать, и поставить конкретные задачи.
К примеру, есть две машины. Для демонстрации настройки двух операционных систем одна из них будет работать под управлением ОС семейства Linux (Ubuntu, версия не важна, но желательно — не ниже 16), вторая — под Windows 10. На win-системе будет запускаться Netcat на прослушивание какого-то определённого порта, а с nix-системы будут передаваться пакеты. Таким образом, Windows-машина будет сервером (в том числе — в отношении настроек stunnel).
Что должно получиться в итоге? При подключении с Linux к Windows через программу Netcat все пакеты будут шифроваться сертификатом GOST_2012 и сертифицированным программным обеспечением. Задача тривиальна и ставится для того, чтобы показать возможность такого манёвра. Поскольку stunnel передаёт любой протокол внутри себя, можно, к примеру, подписывать XML-файлы секретной подписью другой организации или передавать персональные данные в хранилище через интернет.
Работа с КриптоПро NGate
Работа с КриптоПро NGate подразумевает выполнение набора процедур в рамках администрирования и использования, что справедливо в отношении, пожалуй, любого программного или программно-аппаратного продукта.
Функции администрирования КриптоПро NGate можно условно разделить на две группы:
- подготовка к эксплуатации и настройка доступа пользователей;
- обслуживание ходе эксплуатации.
Даже самое поверхностное знакомство с продуктом позволяет понять, что задача администрирования требует выполнения значительного объема работ, что, впрочем, неудивительно для сложного технического изделия, реализующего большое количество функций. Однако, к счастью, львиная доля усилий требуется только на начальном этапе, а в процессе штатной эксплуатации потребность в постоянном участии администратора отсутствует.
Для успешной настройки программного обеспечения NGate администратор должен обладать необходимой компетенцией, предполагающей наличие высокой квалификации и знаний в области создания сетевой инфраструктуры, уверенное владение основными понятиями в области создания инфраструктуры открытых ключей (PKI), основам работы с операционной системой Debian.
В свою очередь, со стороны пользователя требуются лишь минимальные усилия для того, чтобы работать в системе, защищенной с помощью КриптоПро NGate, и специальных требований по квалификации к пользователю не предъявляется.
Как уже отмечалось выше, в минимальной конфигурации NGate представляет из себя единственный узел, который сочетает в себе роли криптошлюза и системы управления. Фактически в рамках минимальной конфигурации формируется кластер, состоящий из одного узла NGate. Именно такая схема эксплуатации изделия была использована в тестовых целях при подготовке данной статьи. При этом в качестве платформы для развертывания системы выступала виртуальная машина VMware Workstation. Необходимые установочные файлы были загружены в виде iso-образа с официального сайта cryptopro. ru после прохождения несложной процедуры регистрации.
Параметры виртуальной машины, достаточные для развертывания тестового стенда, оказались достаточно скромными:
- гостевая операционная система Debian Linux 9 x64;
- ОЗУ – 1 ГБ;
- жесткий диск –8 ГБ;
- два виртуальных сетевых интерфейса (тип сетевого адаптера E1000, тип сетевого взаимодействия Bridged Networking).
В качестве АРМ администратора использовался персональный компьютер под управлением Windows с установленным программным обеспечением СКЗИ «КриптоПро CSP».
Подготовка к эксплуатации
Типовой процесс установки и первичной настройки NGate включает следующие этапы.
В рамках данного этапа нужно организовать подключение аппаратных платформ для узлов NGate и системы управления к сети организации.
При этом обязательно нужно учитывать, что аппаратные платформы, которые предполагается использовать в качестве узлов NGate, должны иметь одинаковые технические характеристики.
В нашем случае, т. для минимальной конфигурации системы, в рамках которой функциональность шлюза совмещена с функциональностью системы управления, используется исполнение Complete установочного образа. Для создания загрузочного носителя образа может использоваться любое стороннее программное обеспечение — например, программа Rufus.
Поскольку в процессе настройки изделия потребуется наличие консольного доступа к аппаратной платформе, следует либо подключить при помощи кабеля к консольному порту RJ-45 ноутбук, либо подключить монитор к порту RJ-45 и клавиатуру к USB-порту.
Примечание. Разумеется, в случае использования виртуальной платформы выполнение перечисленных выше этапов не требуется. Вместо них достаточно установить дистрибутив. iso в CD-привод виртуальной машины и включить в BIOS виртуальной машины загрузку с установочного диска.
Рисунок 6. Начало процесса установки КриптоПро NGate
Дальнейший порядок установки для аппаратных и виртуальных платформ почти не имеет отличий.
Рисунок 7. Задание паролей администраторов в процессе установки КриптоПро NGate
В этой части несколько непривычно смотрится отсутствие встроенных механизмов контроля сложности задаваемого пароля. Хотя эксплуатационная документация на продукт содержит детальные рекомендации по выбору длины и алфавита надежного пароля, контроль за соблюдением приведенных рекомендаций со стороны администратора полностью отдается на откуп организации. Видимо, в настоящее время продукт переживает стадию бурного развития, когда разработчики стремятся наделить его в первую очередь множеством функций, реализация которых не терпит отлагательств, и до некоторых тривиальных механизмов попросту не дошли руки.
В мастере настройки автоматически запускается утилита ng-netcfg, и это означает, что нужно задать параметры двух статических сетевых интерфейсов, а также интерфейса управления для подключения АРМ администратора через веб-интерфейс. Далее потребуется задать часовой пояс и можно сгенерировать гамму при помощи биологического датчика случайных чисел (клавиатурный ввод), которая используется для создания ключей.
При первом запуске в программе настройки откроется окно с запросом на разрешение удаленного доступа по SSH.
Рисунок 8. Запрос на разрешение удаленного доступа по SSH при запуске КриптоПро NGate
Создание инфраструктуры PKI — один из наиболее ответственных и трудоемких шагов. Нет нужды в подробностях останавливаться на порядке выполнения операций для достижения этой цели — исчерпывающая инструкция приводится в эксплуатационной документации на продукт. Отметим только, что создаваемая инфраструктура открытых ключей призвана обеспечить достижение следующих целей:
- защищенный доступ со стороны АРМ администратора к системе управления;
- защищенное взаимодействие системы управления с узлами NGate;
- защищенное взаимодействие узлов NGate.
Для создания инфраструктуры PKI в системе NGate может быть использован либо сторонний УЦ, либо внутренний сервис NGate.
Для наших целей использовался более простой с организационной точки зрения второй вариант, при котором сертификаты генерирует сервис, встроенный в систему управления NGate. Важно, что внутренний сервис обладает функциями, позволяющими выпускать сертификаты и ключи с поддержкой алгоритма шифрования по ГОСТ Р 34. 10-2012.
Создаваемая NGate инфраструктура PKI предусматривает использование следующих сертификатов:
- корневой сертификат УЦ — используется для проверки подлинности сертификатов, участвующих в создании инфраструктуры PKI. Корневой сертификат УЦ должен быть установлен на всех компонентах системы;
- сертификат системы управления веб-сервера — серверный сертификат, который используется для подтверждения подлинности системы управления и защиты передаваемых данных между АРМ Администратора и системой управления;
- служебный сертификат системы управления – клиентский сертификат, который используется для подтверждения подлинности системы управления при взаимодействии с узлами NGate;
- сертификат узла NGate — серверный сертификат, который используется для подтверждения подлинности узла NGate и защиты передаваемых данных между ним и системой управления;
- сертификат администратора — клиентский сертификат, который используется для подтверждения подлинности администратора при взаимодействии между АРМ администратора и системой управления.
Настройка доступа
После развертывания инфраструктуры ключей администратор получает доступ к веб-интерфейсу администрирования NGate, с помощью которого производится настройка криптошлюза, параметров мониторинга и управления.
Организация доступа пользователей не вызывает каких-либо затруднений, хотя и требует известной внимательности в ходе выполнения довольно значительного количества элементарных операций. Логика требуемых шагов применительно к небольшой организации и уж тем более, как в нашем случае, в тестовых целях может выглядеть несколько громоздкой и избыточной. Но если принять во внимание, что NGate — это универсальная платформа для защиты инфраструктуры организаций любого масштаба, все встает на свои места.
Итак, для настройки доступа пользователей к порталу потребуются следующие шаги:
- создание кластера. Все узлы NGate (криптошлюзы) в рамках системы управления должны быть объединены в кластеры. Кластер может включать в себя до 32 узлов;
- создание и настройка узлов внутри кластера;
- ввод лицензионных ключей. В ознакомительных целях КриптоПро предоставляет возможность бесплатного использования продукта в течение пробного периода длительностью три месяца с ограниченным числом подключений к шлюзу NGate. Для полноценного использования программного обеспечения NGate необходимо произвести активацию и ввести лицензионный ключа кластера и лицензионный ключ «КриптоПро CSP»;
- создание элемента серверного мандата. Серверный мандат состоит из сертификата сервера и закрытого ключа, которые публикуются на портале. Данный сертификат необходим для организации TLS-соединения между шлюзом NGate и клиентским устройством пользователя;
- настройка балансировщиков нагрузки (если предполагается их использование);
- создание конфигураций — логические элементы, описывающие параметры кластера, защищаемые шлюзом NGate ресурсы и права доступа к ним;
- создание порталов для каждой конфигурации — логические элементы, описывающие параметры групп защищаемых ресурсов, ресурсы и права доступа к ним;
- создание сетевых ресурсов: веб-ресурсов, динамических туннельных ресурсов, redirect-ресурсов;
- задание в конфигурации прав доступа к сетевым ресурсам (Access Control List) в зависимости от используемого метода аутентификации: на основе членства пользователей в группах LDAP, на основе информации в полях пользовательского сертификата, на основе ограничений по дате и времени;
- задание в конфигурации привязки прав доступа к защищаемым сетевым ресурсам, которая определяет, при выполнении каких правил доступа пользователь получит доступ к тому или иному ресурсу на портале;
- публикация конфигураций. В ходе этого процесса формируются и отправляются на узлы системы необходимые конфигурационные файлы. Далее производится проверка базовых параметров конфигурации и подготовка конфигурации к использованию. Если этот процесс завершится без сбоев, то система выполнит активацию конфигурации. В противном случае в интерфейсе системы управления будет отображено уведомление об ошибке, и текущая конфигурация останется без изменений.
Обслуживание в ходе эксплуатации
Выше мы уже обращали внимание, что объем действий, который может потребоваться от администратора в процессе эксплуатации изделия, сравнительно невелик. Из их числа можно выделить следующие типовые сценарии.
Настройка параметров сетевых интерфейсов и доступа по SSH. Требуется при внесении каких-либо изменений в конфигурацию сети организации и может быть выполнена из веб-интерфейса системы управления NGate. Разрешение сетевого доступа к изделию по протоколу SSH рекомендуется к применению исключительно для диагностики, устранения неполадок и просмотра текущих настроек.
Рисунок 9. Настройка параметров сетевых интерфейсов КриптоПро NGate
Мониторинг расходования ресурсов и проверка состояния криптошлюза NGate. Обратиться к соответствующим функциям администратору, возможно, потребуется при необходимости выявления нештатных ситуаций в работе изделия, связанных с некорректным функционированием или снижением производительности (например, вследствие утечек памяти или сетевых ресурсов). Для этого потребуется обеспечить локальный доступ к аппаратной платформе с помощью консольного терминала или монитора и клавиатуры, подключенных к коммуникационным портам COM и USB. В ходе мониторинга и проверки состояния администратор в консольном режиме получает возможность выполнять различные команды NGate, позволяющие производить диагностику неисправностей.
В штатном же режиме возможен мониторинг основных параметров устройства по протоколу SNMP.
Кроме того, с помощью различных консольных команд администратор может выполнять и другие рутинные операции (полный список доступных команд приведен в эксплуатационной документации на изделие):
- смена паролей администраторов (команды ngpasswd, ngwebpasswd);
- резервное копирование и восстановление конфигурации кластера (команда ng-backup);
- сбор диагностической информации о системе (команда ng-info);
- изменение имени устройства (файл /etc/hostname);
- обновление ПО NGate (команда ng-updater).
Подключение пользователя к порталу
Предоставление пользователю возможности подключения к порталу реализуется на клиентской стороне исключительно простой последовательностью шагов.
Прежде всего, если на компьютере пользователя портала еще не установлено программное обеспечение криптопровайдера, необходимо загрузить с официального сайта и установить программное обеспечение «КриптоПро CSP 4. 0», запустив установочный файл CSPSetup. exe с правами администратора. Настройки, заданные по умолчанию, можно оставить без изменений.
После успешной установки криптопровайдера можно приступить собственно к развертыванию клиентской части NGate, дистрибутив которой поставляется в виде файла NGClientSetup. exe. Установка этого программного обеспечения также не может вызвать каких-либо трудностей — можно оставить без изменений настройки, которые заданы по умолчанию.
Далее требуется установить необходимые сертификаты.
Рисунок 10. Установка корневого сертификата УЦ КриптоПро NGate на компьютере пользователя
Если доступ к порталу организован с использованием доверенного сертификата пользователя, необходимо установить его на компьютере пользователя. Для этих целей обычно применяется ключевой носитель информации с интерфейсом подключения USB, который необходимо подключить к компьютеру и затем выбрать нужный из списка сертификатов.
Рисунок 11. Подключение к тестовому шлюзу КриптоПро NGate
Архитектура КриптоПро NGate
В состав КриптоПро NGate входят следующие компоненты:
- серверная часть (собственно криптошлюз и система управления);
- клиентская часть (опционально).
При внедрении в небольшие организации, которые не испытывают потребности в обеспечении отказоустойчивости при организации защищенного удаленного доступа, фактически достаточно установки единственного шлюза, контролирующего доступ к приложениям невысокого уровня критичности. В этом случае криптошлюз целесообразно объединить с системой управления в единой аппаратной или виртуальной платформе. Функции управления при этом могут выполняться с любого автоматизированного рабочего места (АРМ) администратора с помощью веб-браузера с поддержкой алгоритмов ГОСТ.
Рисунок 2. Схема внедрения КриптоПро NGate с установкой шлюза и системы управления на одну аппаратную платформу
Если требуется создать отказоустойчивую систему доступа к критичным информационным ресурсам организации, предпочтительно использовать схему кластерного внедрения.
Рисунок 3. Схема внедрения КриптоПро NGate с раздельной установкой криптошлюзов и системы управления
В этой схеме несколько криптошлюзов объединяются в кластер, который может объединять до 32 нод, а система управления устанавливается на отдельный сетевой узел. При этом кластер может быть распределен по нескольким центрам обработки данных (ЦОД).
Схема кластерного развертывания допускает возможность применения имеющегося в организации балансировщика нагрузки. Выход из строя какого-либо элемента кластера не приводит к разрыву соединений, поскольку данные о сессии синхронизируются балансировщиком между устройствами и соединение перераспределяется на свободные узлы.
Централизованная система управления позволяет производить настройку, мониторинг и управление всеми шлюзами доступа организации. Предусмотрена возможность удаленной автоматизированной загрузки конфигураций на все узлы кластера, а также получение параметров работы кластера из единого центра управления в режиме онлайн.
Руководство по созданию базового файла конфигурации.
Здесь я дам необходимый набор информации о том, из чего
исходить при написании конфига для клиента.
На данном этапе всё готово. Осталось передать архив, состоящий из четырёх файлов (ca. crt, client1. crt, client1. key, tun0. ovpn).
Количество файлов, а так же состав директив в файле конфигурации клиента могут отличаться в зависимости от конфигурации Вашего OpenVPN сервера.
Архитектура «КриптоПро NGate»
С точки зрения архитектуры NGate состоит из следующих компонентов: клиента (в виде VPN-клиента или браузера), сервера (самого шлюза) и системы управления (центра управления сетью, ЦУС). Дополнительно потребуется организовать автоматизированное рабочее место (АРМ) для администратора.
Основой серверной части NGate является криптопровайдер «КриптоПро CSP». В новой версии шлюза используется обновлённая его редакция — 5. 0 R2. В ней помимо прочего реализована работа с алгоритмами «Кузнечик» (ГОСТ 34. 12-2015) и «Магма» (ГОСТ 28147-89), добавлена и расширена поддержка отечественных операционных систем («Аврора», Astra Linux, ALT Linux). Кроме того, появились возможности по построению решений на базе отечественных процессоров «Байкал». Таким образом, стало возможным полноценное импортозамещение при внедрении криптографического шлюза для организации защищённого удалённого доступа ко критическим ресурсам.
В зависимости от размера конкретной организации, её сетевой инфраструктуры, предполагаемого количества клиентов, одновременных подключений и других параметров возможны два варианта конфигурации.
Минимальная — единое решение из одного криптошлюза, объединённого с центром управления на одной аппаратной или же виртуальной платформе. Такой вариант подойдёт для использования небольшими организациями, у которых нет филиалов или сетевая инфраструктура которых не разнесена по разным центрам обработки данных (ЦОДам). Эта конфигурация является самой простой в установке и настройке, однако не может обеспечить высокую отказоустойчивость и производительность при доступе к ресурсам, системам и приложениям.
Рисунок 1. Схема внедрения «КриптоПро NGate» в минимальной конфигурации
Кластерная конфигурация позволяет построить распределённую, отказоустойчивую и хорошо масштабируемую в части производительности систему. В этом варианте предусматривается объединение нескольких криптошлюзов (до 32 узлов единовременно) в один кластер. При этом центр управления сетью устанавливается отдельно и образует единую (централизованную) систему для настройки, мониторинга работы всех криптошлюзов и управления доступом к требуемым ресурсам и системам организации. Возможности центра управления по автоматизированной загрузке настроек и конфигураций на новые криптошлюзы в кластерах существенно облегчают и ускоряют процессы связанные как с вертикальной, так и с горизонтальной масштабируемостью системы. При этом выход из строя какого-либо узла кластера не приводит к разрыву соединений, поскольку балансировщик синхронизирует данные о сессии между устройствами и соединение перераспределяется на свободные узлы кластера. Может использоваться любой балансировщик, способный распределять TCP-соединения по узлам кластера, в том числе бесплатный HAProxy.
Рисунок 2. Схема внедрения «КриптоПро NGate» в виде кластера
Рисунок 3. Реализация технологии TLS VPN с помощью «КриптоПро NGate» в виде кластера
Тестовый стенд
Работает stunnel следующим образом: при запуске на локальной машине открывается определённый порт, указанный в конфигурационном файле, и в тот же момент приложение соединяется со своей копией на другой машине. Таким образом все пакеты, попавшие на порт localhost, шифруются, затем проксируются на другую систему и там расшифровываются. Удобство схемы состоит в том, что это — просто шлюз, которому неважно, какой протокол шифровать и передавать.
Рисунок 1. Схема работы stunnel
Изначально загружаем необходимый продукт «КриптоПро» отсюда. В скачанном архиве будет примерно такой набор файлов, как на скриншоте.
Рисунок 2. «КриптоПро CSP» на Linux
Для установки необходимо запустить install. Этот скрипт добавит нужные компоненты: certmgr, cpverify, cryptcp, csptest, csptestf, curl, der2xer, genkpim, inittst, wipefile. У каждой из этих программ — своя зона ответственности, свои ключи и задачи. Для нашего сценария нужны будут только certmgr и cryptcp.
Бинарные файлы попадают в /opt/cprocsp/bin/, а не в /bin, поэтому запустить их просто командой не удастся. Необходимо либо выполнить запуск напрямую оттуда, либо сделать символьные ссылки. Не стоит только создавать ссылку с помощью curl, так как работает он «криво»: не видит список удостоверяющих центров из операционной системы и, как следствие, завершает любой запрос с ошибкой, из-за чего приходится использовать ключ -k, который отменяет проверку сертификата на валидность.
Следующий шаг — ключи и сертификаты. Для сервера нам необходимо и то, и другое, причём все это — в контейнере «КриптоПро». Для клиента требуется только сертификат, нужный для того, чтобы к туннелю не мог подключиться любой желающий. Забегая немного вперёд, отметим, что в конфигурационном файле stunnel есть опция verify, и вот её параметры:
Не проверять сертификат сервера
Проверять сертификат при его наличии
Проверять сертификат всегда
Начиная с параметра 1, собственно, и нужен сертификат клиента для защиты подключения.
Итак, чтобы сгенерировать контейнер для сервера, необходимо воспользоваться утилитой cryptcp:
Интересные моменты относительно ключей:
Рисунок 3. Вывод программы cpconfig
На скриншоте выше видно, что значение 75 устарело и соответствует ГОСТу версии 2001. ГОСТ версии 2012 на 256 и 512 бит задаётся значениями 80 и 81 соответственно.
- certusage — идентификатор назначения. Для выполнения задачи необходимы два модуля: проверка подлинности клиента (1.3.6.1.5.5.7.3.2) и проверка подлинности сервера (1.3.6.1.5.5.7.3.1).
- hashAlg — алгоритм, который будет применяться при шифровании. Список вариантов можно найти здесь.
- ca — центр сертификации, который подпишет всё содержимое, чтобы оно было валидным. Важно, что сертификаты и ключи будут действовать только в течение 3 месяцев (точнее, данный конкретный УЦ, который указан в команде, выдаёт их именно на этот срок).
- cont — контейнер, который будет создан; в нём сохранятся файлы. Если контейнер с таким именем уже есть, то, естественно, команда не отработает. Проверить можно командой certmgr -list; в её выводе отобразится исчерпывающая информация о контейнерах системы и пользователя.
Выше описаны самые «пикантные» моменты, которые могут отнять много времени. Остальные ключи и другие пояснения можно найти в документации.
Переходим к генерации сертификата для клиента. Команда аналогична, меняется только имя контейнера и идентификатор назначения сертификата.
Теперь с ключами и сертификатами всё готово. На всякий случай приведём команду экспорта из контейнера:
certmgr -export -provtype 81 -dest /куда экспортировать сертификат/имя сертификата -cont “\\. \HDIMAGE\имя контейнера”
Таким образом можно получить «на руки» сертификат в формате DER.
Далее нужно приниматься за настройку stunnel, а именно — его конфигурационного файла. Создаём в удобном месте файл stunnel. conf. Содержимое будет следующим:
setuid = root
setgid = root
pid = /var/opt/cprocsp/tmp/stunnel. pid
output = /home/bit/stunnel. log
client = yes
accept = 0. 0:13501
connect = 172. 121:13500
cert = 0xb26305dgbhq47316f4fb80d4877383c4493b3g4d
Прокомментируем содержание секции TestStunnel:
- Client — указатель на то, является ли программа сервером или клиентом;
- Accept — локальный порт, к которому будет подключаться программа;
- Verify — параметр, который мы уже описывали выше;
- Cert — клиентский сертификат. На этом пункте необходимо задержаться.
Можно указать параметр двумя способами: либо импортировать сертификат из контейнера и прописать путь к файлу, либо воспользоваться отпечатком сертификата. Извлечь отпечаток можно всё той же командой certmgr -list. Идентификатор указан как SHA1 Hash.
Рисунок 4. Отпечаток в Linux
На этом настройка Linux закончена, можно запускать stunnel с указанием соответствующего файла конфигурации stunnel. conf.
Windows
После установки «КриптоПро CSP» необходимо скопировать контейнер с серверным ключом и сертификатом с nix-машины.
Рисунок 5. Псевдотокен
В итоге рядом с жёстким диском должен появиться ещё один носитель — это и есть токен. Туда понадобится скопировать папку с контейнером. После этих манипуляций сертификат нормально установится в «КриптоПро CSP».
Дополнительно стоит скопировать клиентский сертификат на сервер и тоже его установить.
Конфигурационный файл для stunnel-msspi:
output= C:stunnelstun. log
client = no
#cert =E:srv1. 000srv. cer
cert = 60e26867b649ec6401a42892fa9ab752e51c7e1f
CApath = TrustedPeople
Здесь всё устроено по аналогии с конфигурационным файлом клиента: accept — порт, к которому подключается клиентская копия stunnel (должен быть разблокирован в брандмауэре и «проброшен» во все места до наружного выхода), connect — порт для приложения (в данном случае — Netcat).
Повторяется история и в отношении сертификата: либо импорт из контейнера, что совсем не рекомендуется, либо указание отпечатка. Отпечаток можно найти в составе сертификата.
Рисунок 6. Отпечаток сертификата в Windows
Журнал для отладки можно будет отключить тогда, когда всё будет настроено как часы.
Следующий шаг — запустить сервер stunnel, заодно перезапустив и клиент. Для отладки и тестирования в Windows лучше делать это из командной строки.
nc 127. 1 13501
В командной строке сервера побежит протокол, который расскажет, что кто-то успешно подключился. Пишем в одном окне набор символов; он появляется в другом окне. Всё настроено верно.
Рисунок 7. Результат
Создание единого файла конфигурации, содержащего все сертификаты и ключи
Следует рассказать о том, как разместить все сертификаты
и конфигурацию клиента в один файл расширения. ovpn. Реализуется это следующим образом.
В конфигурационный файл вносится следующая конструкция:
— содержимое сертификата
— закрывающий тэг
Указывая тэг certificate, мы сообщаем о том, что в его рамках будет
находиться некое содержимое некоего сертификата. Для того, чтобы явно указать,
какой сертификат нужно заключить в конфигурационный файл, в тэг вместо слова ‘certificate’ необходимо вписать тип
файла, например, вписав в тэг мы сообщаем, что в рамках тэга будет описан
сертификат клиента сервера VPN.
OpenVPN позволяет включать в файл конфигурации любые другие файлы, сгенерированные сервером и необходимые для подключения клиента.
Теперь рассмотрим на нашем примере.
У нас в данный момент есть 3 файла, сгенерированные OpenVPN сервером, это:
- ca.crt
- client1.crt
- client1.key
В файле конфигурации они объявлены таким образом:
- ca ca.crt
- cert client1.crt
- key client1.key
Их необходимо удалить из файла конфигурации. ovpn, затем внести в конец конфигурационного
файла следующую конструкцию:
На данном этапе всё готово, осталось выслать клиенту готовый
конфигурационный файл.
Сертификация по требованиям безопасности информации
КриптоПро NGate удовлетворяет следующим требованиям и рекомендациям регуляторов:
- серверные и клиентские компоненты продукта имеют сертификат соответствия Требованиям ФСБ России к средствам криптографической защиты информации, предназначенным для защиты информации, не содержащей сведений, составляющих государственную тайну, по классу КС1, КС2 и КС3;
- реализация криптографических протоколов проведена в полном соответствии с методическими рекомендациями и рекомендациями по стандартизации ТК 26: МР 26.2.001-2013 «Использование наборов алгоритмов шифрования на основе ГОСТ 28147-89 для протокола безопасности транспортного уровня (TLS)»; Р 50.1.114-2016 «Информационная технология. Криптографическая защита информации. Параметры эллиптических кривых для криптографических алгоритмов и протоколов»; Р 50.1.113-2016 «Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов электронной цифровой подписи и функции хеширования».
При использовании продукта в рамках виртуальной инфраструктуры выполняются требования к СКЗИ по классу КС1.