Довольно часто системные администраторы сталкиваются с необходимостью установить криптопровайдер на серверную операционную систему, выстраивая защищенную IT инфраструктуру предприятия. Рассмотрим типичную ситуацию: нам нужно развернуть систему криптографической защиты на Windows Server 2019. Изначально мы можем обнаружить, что популярный КриптоПро CSP стоит довольно дорого (серверная лицензия обходится в десятки тысяч рублей), а использование более доступных старых версий ViPNet CSP (например, версии 4.2) вызывает конфликты с антивирусным программным обеспечением, таким как Kaspersky, и не имеет официальной заявленной поддержки современной серверной ОС. Проанализируем эту проблему подробно и разберем по шагам, как избежать критических сбоев (например, "синего экрана" при установке) и как правильно настроить работу с современными ключами электронной подписи (ЭЦП).
Для начала выясним причину опасений при установке. В старых релизах ViPNet CSP (до версии 4.2 включительно) действительно отсутствовала официальная поддержка Windows Server 2019. Установка таких версий часто сопровождалась предупреждениями о несовместимости с антивирусом "Лаборатории Касперского". Ранее единственным выходом казалось использование тестовых бета-версий (например, беты 4.5), что на боевом сервере всегда несет риск потери данных.
Посмотрим на актуальное состояние дел. На сегодняшний день разработчик выпустил стабильные, сертифицированные релизы ViPNet CSP версий 4.4 и 4.5. Разберем их преимущества:
Таким образом, если мы планируем использовать ViPNet на сервере, нам необходимо скачивать и устанавливать исключительно актуальные стабильные релизы (не ниже 4.4), что гарантирует отсутствие проблем с совместимостью антивирусного ПО.
Пользователи часто упоминают о крахе системы — выпадении в синий экран после установки ViPNet CSP на Windows 10 или серверные ОС. Восстановить систему удается только откатом с контрольной точки. Выясним причину такого поведения.
Чаще всего критический сбой происходит из-за конфликта криптопровайдеров, если на одном компьютере или сервере установлены одновременно и ViPNet CSP, и КриптоПро CSP. Обе эти программы глубоко интегрируются в систему и перехватывают функции шифрования через интерфейсы Microsoft.
Проанализируем ситуацию: в настройках обоих криптопровайдеров есть опция совместимости с Microsoft CryptoAPI. Если эта опция включена одновременно в обеих программах, происходит перехват системных вызовов с двух сторон, что моментально приводит к BSOD. Чтобы мы могли заставить их работать на одной машине (хотя это и не рекомендуется), выполним следующее правило:
Функция поддержки CryptoAPI должна быть включена только в одном из криптопровайдеров.
Если мы планируем использовать преимущественно КриптоПро для подписания документов, включая задачу защитить pdf файл, а ViPNet нужен только для специфического туннелирования, мы обязаны снять галочку "Поддержка Microsoft CryptoAPI" в настройках ViPNet CSP до перезагрузки системы.
Еще один важный нюанс — работа с новыми носителями (токенами) от Федеральной налоговой службы. Рассмотрим эту проблему подробнее. Часто выясняется, что старые версии ViPNet не видят контейнеры ЭЦП, созданные в формате КриптоПро, или не работают с современными защищенными флешками.
Для старых версий нам приходилось использовать "костыли" и применять набор утилит, таких как P12FromGostCSP, Tokens и Certfix, чтобы конвертировать и пробрасывать контейнеры. Однако, этот метод не гарантировал успеха на всех аппаратных токенах.
В актуальных версиях ViPNet CSP (4.4 и выше) разработчики внедрили поддержку внешних устройств через современный интерфейс PKCS#11. Посмотрим, что это нам дает:
Разберем еще один популярный вопрос, который часто обсуждается системными администраторами. Можно ли сэкономить на покупке дорогой серверной лицензии КриптоПро (которая стоит около 70 000 рублей) и использовать лицензию, "зашитую" в саму ЭЦП от ФНС, вместе с триальной версией КриптоПро на сервере?
Проанализируем эту идею технически и юридически. Она обречена на провал по двум критическим причинам:
5.0.12800 и выше) работа встроенной в ключ лицензии на серверных операционных системах заблокирована программно. Даже если мы установим ключ в сервер, подписание документа завершится ошибкой об отсутствии лицензии.Таким образом, если наша инфраструктура требует централизованного подписания документов на сервере терминалов, где используется управление сеансами 1С, или серверной ОС (Windows Server 2019), нам придется заложить в бюджет покупку полноценной серверной лицензии КриптоПро CSP 5.0. Попытки обойти это ограничение технически невозможны на новых релизах ПО.
Подводя итог нашей совместной работы по разбору проблемы криптопровайдеров на Windows Server 2019, зафиксируем главные правила:
CryptoAPI в двух криптопровайдерах одновременно — это главная причина краха системы.Соблюдение этих правил гарантирует стабильную работу криптографических систем на предприятии, отсутствие сбоев в работе серверов, в чем поможет справка по администрированию систем, и бесперебойную сдачу отчетности.