Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления Электронная цифровая подпись

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

Сертификат я получил, пытаюсь подсунуть питону, но получаю

погуглил, нашел что нужно преобразовать сертификат в pem (у меня он в формате cer)
преобразовал, получаю ошибку

Could not find a suitable TLS CA certificate bundle, invalid path: xxxxx

как я понял нужна цепочка сертификатов? а в файлике что получился я четко вижу 1 сертификат. где брать эту цепочку? или как то можно ее создать?

код простой, делаю так

В продолжении предыдущей статьи я решил разобраться – что вообще представлено на рынке “отечественных” операционных систем общего назначения. Ну то есть таких, которые можно использовать в широком спектре задач и оборудования – рабочих мест и серверов. Сразу отмечу – меня интересовали вопросы массового “корпоративного” использования, я мало времени уделил тонкостям сертификации и дополнительным встроенным средствам защиты.

В соответствующем разделе реестра нашлось 66 продуктов. Если “схлопнуть” строчки с разными редакциями (серверная, десктопная, для сферы образования, итп) одного продукта – ровно 50. Из них ОС, которые действительно можно отнести к классу “общего назначения” – 22. Остальную часть списка составляли специализированные встраиваемые решения для телеком оборудования, тонких клиентов, торговых терминалов и прочее всякое-разное.

На сайте есть следующая форма:

Если в поле “XML запроса” загружена xml, то при нажатии на кнопку “Подписать” страница обращается к CAdES Browser Plug-in, запускается целый букет js скриптов cpro, происходит подписание xml и отправка POST запроса.

Подскажите, пожалуйста, как на Python 3 реализовать подписание xml из формы?
Само подписание в данном случае ведь происходит на стороне клиента?

Как я понимаю на сервере, на котором выполняется скрипт Python должен быть установлен Крипто про. Возможно необходимо использовать библиотеку Pycades?

Возможно проще всего спарсить значение xml из формы в переменную и подписать уже это значение, а потом просто подставить в POST запрос?

Какую библиотеку лучше использовать для подписания подписью, созданную с помощью криптопровайдера Крипто про? Подойдет ли для этого signxml?

Может хотя бы теоретически объясните как такое реализовать, или может примеры подобного у кого есть?

Требуемый опыт работы: 1–3 года

Полная занятость, удаленная работа

Работодатель, вероятно, уже нашел нужного кандидата и больше не принимает отклики на эту вакансию

Самостоятельное проведение функционального, регрессионного, интеграционного и других видов тестирования, необходимых для обеспечения качества проекта (в том числе анализ и тестирование.

Опыт в тестировании от 2 лет. Практический опыт разработки автотестов на Java. Применение основных техник тест-дизайна. Составление чек-листов.

Анализ функциональных требований, начиная с постановки задач. Разработкой тестовой документации. Проводить функциональное и нефункциональное тестирование. Формулировать задачи для разработчиков на.

Опыт тестирования от 2 лет. Опыт написания тест-планов и тест кейсов. Опыт функционального тестирования клиент-серверных приложений и/или.

Работодатель сейчас онлайн

Функциональное, интеграционное, регрессионное тестирование как front-end, так и back-end части. Работа с тестовой документацией и баг-трекинговыми системами.

Высшее образование. Опыт коммерческого тестирования веб-приложений от 1 года. Опыт работы с инструментами для тестирования API (Postman, SoapUI и.

, Площадь Восстания

Выполнение функциональных ручных тестов при работе с задачами проектов. Составление test-case и test-plan (и поддержка их в актуальном.

Наличие опыта работы в тестировании более года (не только в рамках курсов). Уверенное использование: SQL – вложенные запросы, связи таблиц, агрегатные.

UI, регрессионное тестирование мобильных приложений и web-сайта. Анализ требований и обсуждение задач с командой. Разработка тестовых сценариев и чек.

Умение организовать свою работу в удаленном формате. Опыт работы в тестировании от 1 года. Знание теории и основных методик тестирования.

Тестирование Банковского ПО (функциональное, интеграционное). Применение теории и методик тестирования. Составление тестовых планов и сценариев, написание тест-планов, чек-листов.

Опыт работы от 1 года в проектах по внедрению АБС ЦФТ-Банк и ты готов при необходимости пройти профильное тестирование.

Введение

Криптографический шлюз (его также называют криптошлюзом, VPN-шлюзом или криптомаршрутизатором) — это программно-аппаратный комплекс, целью использования которого является защита сетевого трафика, передаваемого через открытые, то есть незащищённые, или недоверенные каналы связи. В основе работы криптошлюза лежит технология VPN (Virtual Private Network, виртуальная частная сеть). При этом он обладает полной функциональностью VPN-маршрутизатора и обеспечивает защиту передаваемой информации с помощью алгоритмов шифрования.

Традиционно существуют две основные модели реализации безопасного соединения с использованием криптошлюза.

  • Первая модель — так называемая site-to-site VPN («сеть–сеть», т. е. объединение площадок), когда необходимо реализовать, например, взаимодействие внутри распределённой ИТ-инфраструктуры предприятия или между несколькими центрами обработки данных.
  • Второй вариант — TLS VPN («удалённый пользователь–сеть») — позволяет отдельным пользователям получать полный или ограниченный доступ к корпоративным веб-порталам, а также к различным ресурсам в защищаемых сегментах сети.

Компания «КриптоПро» специализируется на разработке средств криптографической защиты информации и является одним из лидеров на российском рынке в этом направлении. Несколько лет назад линейка продуктов компании пополнилась высокопроизводительным TLS-шлюзом «КриптоПро NGate», предназначенным для построения полноценной VPN-сети в целях обеспечения защищённого удалённого доступа пользователей к информационным ресурсам с одновременной поддержкой и отечественных, и зарубежных криптографических алгоритмов шифрования. В 2019 году был опубликован обзор первой версии шлюза. Примерами объектов, защищённый удалённый доступ к которым можно реализовать с помощью криптошлюза NGate, могут быть различные государственные порталы, электронные торговые площадки, сайты дистанционного банковского обслуживания, внутренние корпоративные или облачные ресурсы и системы, а также системы видео-конференц-связи и телемедицины.

Текущий обзор посвящён новой версии NGate 1. 0 R2. Мы подробно разберём реализованные изменения и улучшения, а также вопросы связанные с работой и администрированием шлюза.

2 Проверка целостности и подлинности пакетов обновлений

Проверить подпись пакета обновлений возможно с помощью консольной утилиты cryptcp, входящей в состав КриптоПро CSP.

Ссылки на скачивание:

Корневой сертификат головного УЦ Минкомсвязи России

Список отзыва головного УЦ Минкомсвязи России Промежуточный сертификат УЦ АО “ЕЭТП” Список отзыва головного УЦ АО “ЕЭТП” Сертификат подписи пакетов ООО “РЕД СОФТ”

Затем загрузите на компьютер пакет обновления и файл подписи.

Для проверки подписи выполните команду:

Так же возможна массовая проверка подписей. Для удобства загрузите пакеты обновлений в один каталог (например pkgs), а файлы подписи в другой (например sgns) и выполните команду:

С помощью онлайн сервиса проверки электронной подписи КриптоПро DSS

В поле “Документ для проверки” выберите файл подписи.

В поле “Формат подписи” выберите вариант “Подпись в формате CMS”.

В блоке “Параметры” укажите “Отсоединенная подпись”, “Подпись данных” и “Алгоритм хеширования” – “GR 34. 11-2012 256”.

В блоке “Исходный документ” выберите пакет обновления, соответствующий загруженному файлу подписи.

В блоке “Дополнительные проверки сертификата” установите флаг “Проверка требований к квалифицированному сертификату”.

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Нажмите кнопку “Проверить”.

В результате должна открыться страница с результатом проверки ЭП, где “Результат проверки” должен быть “Подпись действительна”.

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

С помощью менеджера пакетов ОС

Проверить дайджесты и подписи скачанного пакета можно командой:

# rpm –checksig ppp-2. 7-22. el7. x86_64. rpm
ppp-2. 7-22. el7. x86_64. rpm: digests Ок

Проверить информацию о пакете можно командой:

# rpm -qi ppp-2. 7-22. el7. x86_64. rpm. Packager : RED SOFT Vendor : RED SOFT.

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

Устанавливаем и смотрим что за зверь

Каждый дистрибутив я попытался установить на виртуальную машину (KVM). На этом этапе отвалилась только ОС “Эльбрус”. Инсталлятор падает на этапе разбивки диска. Видимо его работа на x86/KVM не особо тестировалась – ОС предназначена в первую очередь для серверов на одноименных процессорах. Я даже удивился, обнаружив сборку для x86.

AlterOS

На сайте производителя нет прямых ссылок на скачивание, но в репозитории в разделе “testing” нашелся ISO-образ под названием AlterOS_7. 5-5. 16_x86_64-DVD. Судя по документации это действительно последний релиз.

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

AlterOS 7. 5, Cinnamon Desktop

У меня осталось впечатление что это клон CentOS 7, только с Cinnamon Desktop и актуальным ядром, нескучными обоями и некоторым количеством предустановленного “отечественного” софта. Плюс некоторые пакеты поновее. Какие-то более ранние версии похоже были основаны на openSUSE – в добавленных локальным производителем скриптах встречаются безнадёжные попытки вызова YaST. Больше интересного рассказать пожалуй нечего 🤷

ROSA Linux

С сайта бесплатно раздают редакцию ROSA Fresh Desktop 12. 2, я скачал вариант на KDE (на выбор были ещё GNOME и LXQt, но знатоки пишут на форумах что вариант с кедами – основной). Вероятно редакция Fresh служит апстримом (аля Fedora) для основных коммерческих продуктов компании с кодовыми именами “ХРОМ” и “КОБАЛЬТ”. Вот есть эта проблема у многих отечественных вендоров – сделать названия из которых совершенно неясно что за продукт: “чтобы никто не догадался”.

Вот что выяснилось: РОСА – одно из продолжений закрывшегося в 2011 году Mandriva Linux (старикам более известен как Mandrake). Внутри все выглядит привычным и стандартным, знакомым по другим современным rpm/dnf-based дистрибутивам Linux. Даже зацепиться не за что – одна нестареющая классика.

Читайте также:  Как заменить эцп в криптопро

Из явных плюсов можно отметить собственную пакетную базу, насколько я понял РОСА не зависит от какого-то внешнего Open Source проекта. Отдельно упомяну что “из коробки” этот продукт может похвастать лучшим (на мой вкус) визуальным оформлением пользовательского окружения среди всех рассмотренных:

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

ALT Linux

Тоже кажется когда-то начинался как форк Mandrake, но с тех пор утекло столько воды что теперь это полностью самостоятельный продукт. Из нестандартных особенностей можно отметить совмещение формата RPM и менеджера пакетов APT. Если бы линуксы играли в RPG – это был бы типичный гибридный класс STR/INT!

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

ALT Workstation 10, MATE Desktop

В дистрибутиве много и других специфичных вещей. Залез к примеру в /etc/shadow, чтобы посмотреть какой алгоритм хэширования используется (в некоторых русских линуксах там ГОСТ). А там пусто. В ALT оказывается своя система хранения паролей 🤯

Основная фича ALT на мой взгляд – огромная и хорошо сопровождаемая собственная пакетная база, высокая зрелость продукта, очень большое (по российским меркам) коммьюнити.

ОС Атлант

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Под капотом оказался Debian Buster с LXQt, ну и как водится комплект фирменных обоев. Более ничего интересного внутри обнаружить не удалось. Единственное что бросилось в глаза – какой-то нестандартный инсталлятор, который не предлагает задать пароли и заливает ОС с well-known passwords, в т. для root, и сразу после перезагрузки поднимает сеть и sshd. Ну такое.

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Странный инсталлятор. Помогите идентифицировать!

В качестве killer feature разработчик предлагает собственный инструмент централизованного управления и дистрибуции софта и обновлений на базе “слоев”, работающий на связке squashfs и aufs. В домашней редакции эта функция отсутствует, поэтому ничего по делу сказать не могу. После чтения документации у меня осталось ощущение что это пока больше концепт-кар, нежели рабочая лошадка.

Astra Linux

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Пользовательское окружение Fly не имеет аналогов за рубежом!

RED OS

На сайте бесплатно раздают релиз 7. 3 “МУРОМ”. Моё первое впечатление – это ещё одна “отечественная” сборка CentOS, но с серьёзными с допами в виде софта свежих версий, включая ядро.

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Функциональные возможности «КриптоПро NGate»

Подробное описание основных режимов работы шлюза приведено на основной странице, посвящённой его особенностям. Мы дадим краткое определение этих режимов, достаточное для формирования чёткого представления о них.

В режиме сервера портального доступа криптошлюз также находится посередине между пользователями и защищаемыми ресурсами, к которым пользователь также подключается через браузер, но, в отличие от предыдущего варианта, берёт на себя аутентификацию пользователей и предоставляет доступ к целевым ресурсам через промежуточный веб-портал, являющийся частью NGate. Криптошлюз позволяет гибко управлять доступом на основе определённых политик, правил, пользовательских ролей и других параметров таким образом, что становится возможным разграничивать области видимости в зависимости от уровня доверия по отношению к пользователю.

Режим VPN-сервера предназначен для реализации безопасного удалённого доступа сотрудников организации (на их устройства устанавливается VPN-клиент) к произвольным корпоративным ресурсам (файловым хранилищам, доступ по RDP и т. ) с использованием технологии динамического туннелирования VPN TLS.

Методы аутентификации

NGate поддерживает разнообразные способы аутентификации, а также возможность их комбинировать:

  • по сертификату (реализована не только простая проверка на валидность, но и аутентификация по различным полям сертификата: Organization, Organizational Unit (O / OU), Enhanced Key Usage, а также по дополнительным наборам полей, например СНИЛС, ИНН и т. д., в том числе при пустых полях O / OU);
  • с использованием сертификата присутствующего во внешней службе каталогов (Microsoft AD, LDAP);
  • по одноразовому паролю (One-Time Password, OTP) при интеграции с RADIUS-сервером;
  • с использованием сертификатов расположенных на различных токенах и смарт-картах (Aladdin, «Рутокен», Esmart и др.).

Возможности интеграции

Для расширения функциональных возможностей и формирования комплексных решений по защите сети, а также различных систем и ресурсов организации в соответствии с существующими потребностями бизнеса NGate можно гибко интегрировать с различными системами.

Таблица 5. Примеры сторонних систем, с которыми возможна интеграция «КриптоПро NGate»

Новые функции и улучшения

С момента выхода первой версии NGate было добавлено множество новых функций и возможностей, доработан пользовательский интерфейс консоли управления. Большое количество изменений связано с повышением удобства и упрощением взаимодействия с программным комплексом и оптимизацией его работы и быстродействия в целом. Это касается процессов связанных с его настройкой, контролем доступа пользователей к защищаемым ресурсам и системам, аутентификацией и управлением сертификатами.

Далее мы кратко перечислим новые функции и возможности или улучшения NGate версии 1. 0 R2:

  • Выполнен переход на новую версию программного кода Python 3 в связи с окончанием поддержки Python 2.x.
  • Произведено обновление криптопровайдера «КриптоПро CSP», составляющего основу серверной части шлюза, до версии 5.0 R2. В разделе с описанием архитектуры криптошлюза мы уже указали основные изменения, произошедшие в новой версии, поэтому дублировать их не будем.
  • Расширена поддержка RADIUS-серверов для многофакторной аутентификации: теперь можно получать одноразовые пароли не только через SMS, появилась возможность одновременного ввода различных комбинаций OTP, кода OTP PIN и пароля пользователя из AD или LDAP, а также совместно с пользовательским сертификатом.
  • Расширены возможности аутентификации по сертификату (Certificate Access Control List, ACL) на портале. Под порталом понимается сайт или группа сайтов, то есть совокупность ресурсов защищаемых криптошлюзом. Напомним, что теперь аутентификация возможна не только по полям Organization или Organizational Unit (O / OU), но и по дополнительным наборам полей.
  • Добавлена возможность разграничения доступа к защищаемым ресурсам в зависимости от поддержки (или её отсутствия) клиентским устройством криптографических алгоритмов ГОСТ.
  • Реализована функция смены пароля пользователя в каталоге AD / LDAP при использовании клиента NGate.
  • Добавлены возможности более тонкой настройки маршрутизации, а также управления приоритетом опроса — в том числе DNS-серверов — при разрешении имён через туннель (путём настройки метрики туннельного интерфейса).

Hype-check

После тест-драйва я решил проверить количество поисковых запросов в Яндексе, содержащих наименование дистрибутива, чтобы оценить относительный размер пользовательской базы и сообщества. Не бросайте помидоры – конечно такой метод это антинаучная ахинея, но кажется он всё-же позволяет отделить более или менее популярные продукты от нишевых. Там где мне показалось это уместным я проверил и английское и русское наименование продукта, но это не сильно изменило относительный расклад.

ДистрибутивЧто ищутПоказов в месяцИтого показовAstra LinuxAstra Linux180 285270 481Астра Линукс90 196ALT LinuxALT Linux37 95559 102АЛЬТ Линукс21 147RED OSРЕД ОС16 85124 487RED OS7 636ROSA LinuxROSA Linux18 21720 416РОСА Линукс8 199AlterOSAlterOS5 5785 578ОС АтлантОС Атлант129129

Сертификация шлюза «КриптоПро 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 состоит из следующих компонентов: клиента (в виде VPN-клиента или браузера), сервера (самого шлюза) и системы управления (центра управления сетью, ЦУС). Дополнительно потребуется организовать автоматизированное рабочее место (АРМ) для администратора.

Читайте также:  Как подать декларацию 3-ндфл через госуслуги 2020 - как сдать, через интернет, подача, можно ли - Жилищный эксперт

Основой серверной части NGate является криптопровайдер «КриптоПро CSP». В новой версии шлюза используется обновлённая его редакция — 5. 0 R2. В ней помимо прочего реализована работа с алгоритмами «Кузнечик» (ГОСТ 34. 12-2015) и «Магма» (ГОСТ 28147-89), добавлена и расширена поддержка отечественных операционных систем («Аврора», Astra Linux, ALT Linux). Кроме того, появились возможности по построению решений на базе отечественных процессоров «Байкал». Таким образом, стало возможным полноценное импортозамещение при внедрении криптографического шлюза для организации защищённого удалённого доступа ко критическим ресурсам.

В зависимости от размера конкретной организации, её сетевой инфраструктуры, предполагаемого количества клиентов, одновременных подключений и других параметров возможны два варианта конфигурации.

Минимальная — единое решение из одного криптошлюза, объединённого с центром управления на одной аппаратной или же виртуальной платформе. Такой вариант подойдёт для использования небольшими организациями, у которых нет филиалов или сетевая инфраструктура которых не разнесена по разным центрам обработки данных (ЦОДам). Эта конфигурация является самой простой в установке и настройке, однако не может обеспечить высокую отказоустойчивость и производительность при доступе к ресурсам, системам и приложениям.

Рисунок 1. Схема внедрения «КриптоПро NGate» в минимальной конфигурации

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Кластерная конфигурация позволяет построить распределённую, отказоустойчивую и хорошо масштабируемую в части производительности систему. В этом варианте предусматривается объединение нескольких криптошлюзов (до 32 узлов единовременно) в один кластер. При этом центр управления сетью устанавливается отдельно и образует единую (централизованную) систему для настройки, мониторинга работы всех криптошлюзов и управления доступом к требуемым ресурсам и системам организации. Возможности центра управления по автоматизированной загрузке настроек и конфигураций на новые криптошлюзы в кластерах существенно облегчают и ускоряют процессы связанные как с вертикальной, так и с горизонтальной масштабируемостью системы. При этом выход из строя какого-либо узла кластера не приводит к разрыву соединений, поскольку балансировщик синхронизирует данные о сессии между устройствами и соединение перераспределяется на свободные узлы кластера. Может использоваться любой балансировщик, способный распределять TCP-соединения по узлам кластера, в том числе бесплатный HAProxy.

Рисунок 2. Схема внедрения «КриптоПро NGate» в виде кластера

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 3. Реализация технологии TLS VPN с помощью «КриптоПро NGate» в виде кластера

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Системные требования «КриптоПро NGate»

NGate сертифицирован ФСБ России по классам защиты КС1, КС2 и КС3 и может поставляться как в виде программно-аппаратного комплекса, с предустановкой программного обеспечения на специализированные сетевые аппаратные платформы в различных конфигурациях в зависимости от необходимых технических параметров, вычислительных мощностей и требований инфраструктуры каждой конкретной организации, так и в виде программного обеспечения для развёртывания в среде виртуализации.

В первом случае компания приобретает оборудование для системы управления NGate (две модели) и каждого из узлов кластера (шесть вариантов). В следующих двух таблицах мы собрали основные технические характеристики и показатели производительности аппаратных платформ NGate.

Таблица 1. Основные характеристики аппаратных платформ «КриптоПро NGate» (центр управления сетью)

Параметр«NGate ЦУС 100» «NGate ЦУС 200» Формфактор1UПараметры блока питания150 Вт АТХ300 Вт ATX, резервный БП (PSU)Сетевые интерфейсыRJ-45 1GbE × 6 шт. RJ-45 1GbE × 8 шт. SFP+ LAN 10 GbE × 4 шт.

Таблица 2. Основные характеристики аппаратных платформ «КриптоПро NGate» (узел кластера)

ПараметрNGate 3000NGate 2000NGate 1500NGate 1000NGate 600NGate 320TLS ProxyДо 45 000 подключений,до 20 Гбит/cДо 15 000 подключений,до 8 Гбит/cДо 8 000 подключений,до 4 Гбит/cДо 4 000 подключений,до 2,3 Гбит/cДо 2 000 подключений,до 1 Гбит/cДо 500 подключений,до 0,6 Гбит/cTLS VPNДо 12 000 подключений,до 8 Гбит/cДо 8 000 подключений,до 5 Гбит/cДо 4 000 подключений,до 2 Гбит/cДо 2 000 подключений,до 1 Гбит/cДо 700 подключений,до 0,5 Гбит/cДо 150 подключений,до 0,14 Гбит/cФормфактор1UНастольныйПараметры блока питания650 Вт АТХ, резервный БП (PSU)300 Вт АТХ, резервный БП (PSU)300 Вт АТХ, резервный БП (PSU)220 Вт АТХ150 Вт АТХ36 Вт, адаптер питания 12В 3АСетевые интерфейсыRJ-45 1GbE × 4 шт. SFP+ LAN 10GbE × 4 шт. RJ-45 1GbE × 8 шт. SFP+ LAN 10GbE × 4 шт. RJ-45 1GbE × 6 шт. SFP LAN 1 GbE × 2 шт. RJ-45 1GbE × 6 шт. RJ-45 1GbE × 3 шт.

Для развёртывания NGate в виде виртуальной программной платформы виртуальные машины должны удовлетворять определённым системным требованиям. Мы перечислили их в таблице далее.

Таблица 3. Системные требования для установки системы управления «КриптоПро NGate» в среде виртуализации

ПараметрЦУС NGateУзел NGateСреда виртуализацииVMware Workstation (версии 11–16),VMware ESXi (версии 5. 5–7. 0),Hyper-V (версии 8, 8. 1, 10, 2008, 2008 R2, 2012, 2012 R2, 2016),Xen (Citrix Hypervisor) (версии 7. 1–8. 2),Virtual Box (версии 3. 2–6. 1)Гостевая операционная системаDebian Linux 11 x64Оперативная память1 ГБ и болееЖёсткий дискНе менее 100 ГБ (в том числе для журналирования событий и другой информации)Не менее 8 ГБВиртуальные сетевые интерфейсыНе менее 1 шт. (тип сетевого адаптера — E1000, тип сетевого взаимодействия — Bridged Networking)

Как видно, эти требования являются легко выполнимыми. Однако при использовании NGate в среде виртуализации возникают другие ограничения: происходит понижение класса криптографической защиты до КС1.

К программной и аппаратной частям пользовательских устройств для работы VPN-клиента NGate особых требований не предъявляется. Работа VPN-клиента возможна практически на всех популярных настольных и мобильных операционных системах, включая отечественные программные и аппаратные разработки:

  • Microsoft Windows версий 7, 8, 8.1, 10, 11,
  • macOS версий 10.10–10.15, 11,
  • Linux (RHEL, CentOS, Debian, Ubuntu, ROSA, Astra, ALTLinux и другие),
  • iOS,
  • Android,
  • «Аврора».

Для получения доступа к защищаемым ресурсам пользователь может применять VPN-клиент NGate, веб-браузер либо собственное мобильное приложение после встраивания в него криптопровайдера «КриптоПро CSP 5. 0 R2» (реализует поддержку TLS с ГОСТ для операционных систем iOS, Android и «Аврора» без дополнительных тематических исследований).

Составляем шорт-лист

Я внимательно изучил сайты производителей этих 22 ОС, чтобы сформировать шорт-лист более-менее живых проектов, ориентированных на широкий круг задач. Из списка были вычеркнуты:

  • Предположительно мертвые продукты, на месте сайта которых уже висит заглушка регистратора с предложением выкупить заброшенный домен (ОСь и Альфа ОС). Или сайт живой, но информации по продукту там больше нет (Halo OS).
  • Нишевые системы, которые судя по документации и маркетингу (вернее полному его отсутствию) строго ориентированы на работу в условиях жестко зарегулированных ведомств и окружений (например гостайна). Не буду все перечислять. Вдруг это тоже гостайна!
  • Операционные системы, не основанные на Linux. Такая нашлась одна – Ульяновск.BSD. Экосистема ПО для “отечественных” ОС, основанных на Linux, и та не сильно развита, а для BSD так и вообще ничего нет. Зато можно патчить KDE!
  • Дистрибутивы, построенные на менеджерах пакетов, отличных от RPM и DEB. Приблизительно по тем-же соображениям – нужен доступ к экосистеме ПО, которое поставляется в виде бинарных пакетов в этих двух форматах. Таких два: Calculate Linux, основанный на Gentoo, и UBLinux, явно сделанный из Arch Linux.
  • Дистрибутивы, которые нельзя получить в формате ознакомительно-домашней версии с сайта производителя. Такой только один – ОС Лотос. Даже на запрос по почте ответили что ни в коем случае не дадут.

Итого до финала дошли следующие продукты – AlterOS, ROSA Linux, ALT Linux, ОС “Эльбрус”, ОС “Атлант”, Astra Linux и RED OS.

Работа с «КриптоПро NGate»

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

Подготовка к эксплуатации связана с первоначальным развёртыванием и настройкой программного обеспечения криптошлюза на аппаратной или виртуальной платформе. Этот этап является наиболее трудоёмким и ответственным. Он требует наличия практических навыков работы с операционной системой семейства Linux, знаний о сети организации и инфраструктуре открытых ключей (Public Key Infrastructure, PKI).

Затем с использованием веб-интерфейса администрирования осуществляется настройка криптошлюза для решения задач связанных с организацией доступа пользователей к ресурсам. Сюда входят настройка порталов, серверных мандатов, пользовательских ролей и политик доступа к защищаемым ресурсам, а также конфигурирование взаимодействия со внешними службами (Microsoft AD или другими LDAP-серверами, системами мониторинга, SIEM, средствами аутентификации, включая RADIUS-серверы, и др.

Дальнейшее обслуживание криптошлюза в ходе его эксплуатации при грамотном развёртывании всех компонентов и правильной настройке параметров не требует постоянного вмешательства или участия со стороны администраторов. Это связано с тем, что в штатном режиме работы круг их задач существенно уменьшается и ограничивается в основном диагностикой и контролем состояния компонентов и систем в составе криптошлюза, устранением неполадок (при обнаружении таковых), мониторингом текущих настроек и обновлением программного обеспечения.

Доступ к интерфейсу администрирования

В рамках подготовки этого обзора разработчик предоставил нам пользовательский сертификат и учётную запись типа «Аудитор» для доступа к тестовому стенду NGate. Эта пользовательская роль является одной из штатных функций продукта и предоставляет возможность просматривать большую часть разделов и возможностей веб-интерфейса без права что-либо изменять. Кроме того, для доступа использовались «Яндекс. Браузер», поскольку он поддерживает шифрование по ГОСТ, и «КриптоПро CSP» в качестве вспомогательного программного обеспечения (установочный файл доступен на основной странице после регистрации).

Рисунок 4. Вход в веб-интерфейс администрирования «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Панель управления

После авторизации пользователь попадает на главную страницу — вкладку «Системная информация» панели управления. Сам интерфейс доступен на двух языках: русском и английском, с возможностью переключения между ними в любой момент.

Здесь отображается информация о работоспособности устройств криптошлюза и основные сведения о кластерах (конфигурации, используемые лицензии, узлы; порталы, которые привязаны к кластеру, и ресурсы этих порталов).

Полезной и удобной функцией в новой версии стали предупреждения о скором окончании срока действия сертификатов (ключей) порталов. Эта информация доступна также в виде цветовых меток слева от каждого портала и по протоколу мониторинга SNMP (данные о посещении мандатов).

Читайте также:  Как узнать пин код рутокен? - Ответы на вопросы про технологии и не только

Рисунок 5. Вкладка «Системная информация» панели управления «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Кроме того, важным моментом является отображение конкретного узла, который отвечает за подключение выбранного пользователя. Эта информация может быть использована как вспомогательная при диагностике неполадок (для детектирования источника проблем сетевого доступа при наличии в кластере более одного узла). Она была добавлена в интерфейс в связи с высокой востребованностью у заказчиков.

Рисунок 6. Поиск сессий пользователей в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 7. Информация о системе управления в составе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 8. Информация о системе управления в составе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Настройка конфигураций кластеров

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

Рисунок 9. Информация о конфигурации кластера в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 10. Добавление портала для доступа пользователей к ресурсам по произвольному TCP-протоколу в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

На другой вкладке этого же раздела можно смотреть детальную информацию о защищаемых ресурсах, настраивать их, добавлять новые, копировать или удалять уже существующие. Можно добавить веб-ресурс, динамический туннель, ресурс для перенаправления пользователей и gRPC-сервисы. По протоколу gRPC работают различные веб-приложения, а в целом он реализует удалённые программные интерфейсы (API).

Рисунок 11. Информация о ресурсах, связанных с кластером, в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

При настройке веб-ресурсов значительно расширен список возможностей тонкого конфигурирования, а также добавлена функция по балансировке бэкенда для гибкого распределения нагрузки непосредственно со шлюза (или нескольких шлюзов).

Рисунок 12. Создание веб-ресурса в интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Список доступных внешних служб можно увидеть (и настроить) как в особом разделе веб-интерфейса, так и на вкладке выбранной конфигурации кластера. Но во втором случае будут отображены только те системы и серверы, которые настроены для конкретного кластера.

Рисунок 13. Внешние службы, настроенные для кластера, в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Также в разделах конфигурации кластера администратор осуществляет настройку правил и политик доступа к ресурсам (ACL) на основе групп пользователей на каком-либо сервере LDAP (к примеру, Microsoft AD) либо сертификатов (новая функциональность). Сертификатный ACL — это способ задать правила доступа на основе содержимого полей пользовательских сертификатов. В актуальной версии шлюза стало возможно создавать правила с запретительным доступом (в предыдущей версии он был только разрешительным), а также существенно расширился набор полей. Теперь анализируются не только поля с названием организации (Organization / Organization Unit), но и другие, в том числе нестандартные.

Рисунок 14. Настройка сертификатного ACL в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Настройка порталов

В веб-интерфейсе администрирования появился раздел с подробной информацией по каждому порталу (ранее эти данные были разбросаны по разным страницам). Существенным функциональным обновлением стало появление возможности создавать правила для динамического туннелирования, определяющие то, какие пользователи к каким порталам и при каких условиях могут подключаться — то есть какие подсети могут назначаться клиенту в зависимости от правил ACL.

Рисунок 15. Общая информация о настройках портала в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 16. Создание правила для динамического туннелирования в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Страница с данными о сертификатах содержит информацию о серверных мандатах и удостоверяющих центрах, включая те, что указаны как доверенные для конкретного портала. Отметим, что на одном кластере может быть несколько наборов порталов с разными сертификатами, в том числе с разными доверенными.

Рисунок 17. Информация о сертификатах портала в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 18. Настройка портала в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Настройки узлов

Новой функциональностью в разделе веб-интерфейса «Кластеры» стали возможности создания VLAN- и агрегированных сетевых интерфейсов (Bond-интерфейсов).

Рисунок 19. Общая информация об узлах кластера в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Рисунок 20. Сетевые интерфейсы узла кластера в веб-интерфейсе «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

При объединении сетевых интерфейсов поддерживаются различные алгоритмы агрегации. При этом происходит создание логического или виртуального сетевого интерфейса, объединяющего несколько физических. Эта технология позволяет повысить отказоустойчивость сети (при объединении нескольких одинаковых интерфейсов выход из строя одного из них не повлияет на работоспособность сети) и повысить её пропускную способность.

Рисунок 21. Создание Bond-интерфейса в «КриптоПро NGate»

Тестирование Python3 и проверка уязвимостей безопасности в программах обновления

Что с софтом?

Часто, при обсуждении дистрибутивов Linux возникает вопрос: насколько там актуальный софт? Попробую ответить на примере популярных пакетов. Вот последние доступные в репозиториях версии (добавил CentOS 7 для референса):

PackageCentOS 7AlterOS 7. 5REDOS 7. 3Astra 1. 7ROSA 12. 2ALT 10Atlantkernel3. 155. 0 5. 745. 825. 205. 10glibc2. 172. 172. 282. 282. 332. 322. 28postgresql9. 2410. 512. 911. 1012. 1011. 15, 12. 10, 13. 6, 14. 211python33. 113. 3nginx-1. 2openssh7. 4p17. 4p18. 2p17. 4p18. 8p17. 9p17. 9p1libreoffice5. 5firefox91. 060. 091. 093. 099. 191. 068

Заметна “клонированность” AlterOS, а RED OS тут совсем и не похож на “клон”. Буду дальше называть его “дериватив”.

Ещё заметьте как всё круто с пакетами PostgreSQL в ALT Linux – не зря я выше по тексту нахваливал качество их репозитория.

Выводы

Криптографический шлюз «КриптоПро NGate» 1. 0 R2 является универсальным решением для организации удалённого доступа к корпоративным ресурсам и публичным веб-порталам, которое может служить основой множества различных сценариев применения в зависимости от поставленных задач.

Установка серверной части шлюза возможна как на специализированные сертифицированные сетевые аппаратные платформы, предоставляемые компанией «КриптоПро», так и в уже развёрнутой виртуальной среде заказчика. Кроме того, успешно проведена работа по реализации поддержки аппаратных решений на основе российского процессора «Байкал». Заметным преимуществом также является возможность бесшовной интеграции продукта в существующую корпоративную инфраструктуру.

В качестве решений для работы клиентского ПО шлюза поддерживается значительное количество мобильных и настольных операционных систем, а также аппаратных платформ как зарубежной, так и отечественной разработки. В рамках реализации целей по продвижению импортозамещения особое внимание было уделено аппаратным решениям на основе процессоров «Байкал» и «Эльбрус», отечественным ОС «Альт», «Астра Линукс», «РедОС» и т. Стоит также отдельно упомянуть возможность использовать в качестве клиентских устройства на основе отечественной мобильной ОС «Аврора».

  • Соответствие требованиям регуляторов и законодательства в различных сферах и областях обеспечения информационной безопасности (в частности, наличие сертификатов соответствия ФСБ России по классам защиты КС1, КС2, КС3 для всех компонентов шлюза).
  • Построение решения для удалённого доступа к ресурсам на базе отечественных операционных систем и процессоров в дополнение к предыдущему пункту позволяет говорить о реализации полноценного импортозамещения.
  • Возможности гибкого выбора интеграционных систем и средств при построении комплексных решений на базе криптошлюза в соответствии с требованиями инфраструктуры и бизнеса; высокая производительность и масштабируемость решений построенных с использованием продукта. Множество изменений связано с улучшением быстродействия и оптимизацией работы компонентов шлюза.
  • Одновременная поддержка отечественных и зарубежных криптонаборов TLS. В том числе реализованы шифры «Кузнечик» (ГОСТ 34.12-2015) и «Магма» (ГОСТ 28147-89).
  • Поддержка разнообразных методов аутентификации с возможностью их комбинирования, включая сертификаты, RADIUS, OTP и различные смарт-карты.
  • Широкие возможности по реализации гранулированного доступа к защищаемым ресурсам на базе групповых и сертификатных правил и по управлению подключениями.
  • Дружественный интерфейс администрирования, доступный на двух языках (русском и английском).
  • Подробная эксплуатационная документация и комплексная техническая поддержка.

По сумме тест-драйва и хайп-чека я сделал следующий вывод – рынок российских линуксов “общего назначения” в целом поделен между четырьмя крупными семействами продуктов: ROSA, ALT, Astra и RED OS.

Хотел тут попробовать изложить какое-то своё видение позиционирования. Но потом подумал что в интересующем меня контексте все рассмотренные варианты Linux это продукты с весьма стандартными потребительскими свойствами и высокой степенью взаимозаменяемости*. Сейчас наверное обижу хардкорных инженеров, но кажется что выбор дистрибутива особенно не влияет на перформанс корпоративного ИТ, лишь бы софт нужный вставал. Нет, конечно есть разные тонкости, не стоит выбирать целевой продукт с помощью броска кубика – но в рамках этого микро-исследования простительно их и проигнорировать.

(*) Особенно кризис жанра заметен в серверных задачах: иногда кажется что скоро все серверные линуксы превратятся в минималистичные запускалки докер-контейнеров и вся эта огромная инфраструктура репозиториев и пакетов, на которой они стоят, превратится в пережиток прошлого.

PS: Но что действительно в настоящий момент становится интересным, так это экосистема смежных продуктов. Посмотрите сколько у Microsoft вокруг ОС всякого понаделано – и служба каталога, и централизованное управление и доставка софта, и мониторинг и ещё куча всего. Всё “из коробки”. И тут вот действительно закопаны реальные конкурентные преимущества! Некоторые локальные разработчики даже пошли эту сферу уже прорабатывать, но это совсем другая история.

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

Выбираем лучший «отечественный» Linux!

Проголосовали 374 пользователя. Воздержались 314 пользователей.

Промежуточные итоги

Моё резюме – интересующий меня сегмент рынка состоит из трёх типов решений:

  • Самобытные дистрибутивы собственной разработки: семейства ALT и ROSA.
  • Деривативы Open Source дистрибутивов – в них сильно угадывается апстрим, но проделана масштабная работа по модернизации и адаптации их к требованиям локального рынка. Запишу сюда Astra и RED OS. Я не хочу сказать что они второго сорта, очень даже наоборот – там сделаны достаточно масштабные доработки, упакованы актуальные версии софта, проведено тестирование совместимости с “отечественным” железом и прикладным ПО и т.п. и т.д. Но глобально они остались CentOS’ами и Debian’ами. Может это даже хорошо с точки зрения совместимости и удобства гугления проблем.
  • Пересборки Open Source продуктов с некоторым “улучшайзингом”. Видимо сюда можно включить все остальные продукты.
Оцените статью
ЭЦП Эксперт
Добавить комментарий

Adblock
detector