что такое вип нет и крипто про
Установка программ VipNet и КриптоПро CSP на один компьютер
Для работы с электронными цифровыми подписями, которые мы можем использовать, например, для работы с сервисом 1С-Отчётность, мы должны использовать программу криптозащиты информации. Существует несколько таких СКЗИ, самые распространённые из них VipNet и КриптоПро. При этом бывают такие ситуации, что первоначальный выбор мы останавливаем на одной из этих программ, например VipNet, а через какое-то время приходится устанавливать КриптоПро, так как этого требует клиент-банк или по иным причинам. Все мы знаем, что два СКЗИ на одном компьютере работают некорректно и могут привести к нештатным ситуациям и сбоям.
Однако есть решение, которое позволит использовать два криптопровайдера на одном рабочем месте. Если нужно обеспечить работу на одном компьютере и КриптоПро CSP, и VipNet CSP/Validata CSP, необходимо выполнить следующие рекомендации:
1. Установить сначала КриптоПро CSP. После установки программы до перезагрузки компьютера запустить reg-файл с содержимым:
Windows Registry Editor Version 5.00
2. Перезагрузить компьютер.
3. Установить VipNet CSP/Validata CSP.
Если КриптоПро CSP уже установлен, то запустить reg-файл и перезагрузить компьютер.
Главное, чтобы КриптоПро CSP был установлен (и в реестр внесено нужное значение параметра) до начала установки VipNet CSP/Validata CSP.
Если VipNet CSP/Validata CSP уже установлен и нет возможности его удалить, можно попробовать так:
а) Пуск — Выполнить — regedit;
б) запустить установку КриптоПро CSP;
в) по завершении установки программы до перезагрузки компьютера перейти в нужный раздел реестра (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProPatches) и вручную исправить значение параметра Force с 0 на 1.
Данная инструкция актуальна для всех версий КриптоПро CSP, начиная с КриптоПро CSP 3.6 R2 (если устанавливать КриптоПро CSP первым).
Для корректной работы TLS в Internet Explorer по ГОСТ при установленном КриптоПРО CSP и ViPNet 4.2 необходимо в ветке реестра
отредактировать параметр Security Packages: заменить sspp на schannel, перезагрузить компьютер и проверить работу Internet Explorer.
Экспорт контейнеров закрытого ключа из VipNet CSP в CryptoPro CSP
Общая информация
2 способа экспорта контейнеров с сертификатами:
Выборочный экспорт контейнеров
Подготовка
Для того, чтобы утилита обнаружила требуемые для экспорта контейнеры с сертификатами, необходимо:
1.Указать имена контейнеров в VipNet CSP в разделе Контейнеры ключей:
2. Далее необходимо удостовериться, что требуемые сертификаты находятся в хранилище сертификатов Личное. Для этого используйте сочетание клавиш Win+R и в появившейся строке введите certmgr.msc и нажмите ОК:
3. В появившемся окне слева в папках пройдите Личное → Сертификаты и убедитесь, что в окне справа указаны все сертификаты, которые необходимо экспортировать:
Если какого-то из сертификатов не хватает, вернитесь в VipNet CSP в раздел Контейнеры ключей, нажмите на требуемые контейнеры, пройдите по пути Открыть → Установить сертификат → Далее → Поместить все сертификаты в следующее хранилище → Личное → ОК → Далее → Готово.
Процедура экспорта
После того, как требуемые контейнеры указаны в VipNet CSP, а сертификаты из них установлены в хранилище Личное, перейдите к процедуре экспорта.
Откройте папку с утилитой и запустите файл ImportKeysFromStore.bat. Появится командная строка и через некоторое время всплывающее окно Убедитесь, что все ключевые носители подключены, нажмите ОК:
Спустя некоторое время появится всплывающее окно со списком сертификатов, которые были экспортированы, это сигнализирует об успехе операции:
Завершение процедуры экспорта
После успешного экспорта, проведите процедуру удаления VipNet CSP. Для этого перейдите Панель управления → Программы → Удаление программы → VipNet CSP → Удалить. Произведите удаление, убедитесь, что отметка Удалить пользовательские данные снята. Перезагрузите ПК после удаления.
Далее установите CryptoPro CSP и после установки обязательно перезагрузите ПК.
Если необходимо удостовериться, что все требуемые сертификаты и контейнеры экспортированы, перейдите в Пуск → Инструменты КриптоПро. В меню слева откройте раздел Контейнеры, где будут находиться контейнеры и названия субъектов, которым они соответствуют. Сами же сертификаты из этих контейнеров можно увидеть в разделе Сертификаты в меню слева. Процедура экспорта завершена.
Массовый экспорт контейнеров
Подготовка
Для того, чтобы утилита обнаружила требуемые для экспорта контейнеры с сертификатами, необходимо:
Указать имена контейнеров в VipNet CSP в разделе Контейнеры ключей:
Процедура экспорта
После того, как требуемые контейнеры указаны в VipNet CSP, перейдите к процедуре экспорта.
Перейдите в папку с утилитой и запустите файл ImportKeyAll.bat. Появится командная строка и через некоторое время всплывающее окно Убедитесь, что все ключевые носители подключены, нажмите ОК:
Спустя некоторое время появится всплывающее окно со списком сертификатов, которые были экспортированы, это сигнализирует об успехе операции:
Завершение процедуры экспорта
После успешного экспорта проведите процедуру удаления VipNet CSP. Для этого перейдите в Панель управления → Программы → Удаление программы → VipNet CSP → Удалить. Произведите удаление, отметка Удалить пользовательские данные должна быть снята. Перезагрузите ПК.
Далее установите CryptoPro CSP и после установки обязательно перезагрузите ПК.
Если необходимо удостовериться, что все требуемые сертификаты и контейнеры перенесены, перейдите в Пуск → Инструменты КриптоПро. В меню слева откройте раздел Контейнеры, где будут находиться контейнеры и названия субъектов, которым они соответствуют. Сами же сертификаты из этих контейнеров можно увидеть в разделе Сертификаты в меню слева. Процедура экспорта завершена.
Системные требования
Общая информация
2 способа экспорта контейнеров с сертификатами:
Выборочный экспорт контейнеров
Подготовка
Для того, чтобы утилита обнаружила требуемые для экспорта контейнеры с сертификатами, необходимо:
1.Указать имена контейнеров в VipNet CSP в разделе Контейнеры ключей:
2. Далее необходимо удостовериться, что требуемые сертификаты находятся в хранилище сертификатов Личное. Для этого используйте сочетание клавиш Win+R и в появившейся строке введите certmgr.msc и нажмите ОК:
3. В появившемся окне слева в папках пройдите Личное → Сертификаты и убедитесь, что в окне справа указаны все сертификаты, которые необходимо экспортировать:
Если какого-то из сертификатов не хватает, вернитесь в VipNet CSP в раздел Контейнеры ключей, нажмите на требуемые контейнеры, пройдите по пути Открыть → Установить сертификат → Далее → Поместить все сертификаты в следующее хранилище → Личное → ОК → Далее → Готово.
Процедура экспорта
После того, как требуемые контейнеры указаны в VipNet CSP, а сертификаты из них установлены в хранилище Личное, перейдите к процедуре экспорта.
Откройте папку с утилитой и запустите файл ImportKeysFromStore.bat. Появится командная строка и через некоторое время всплывающее окно Убедитесь, что все ключевые носители подключены, нажмите ОК:
Спустя некоторое время появится всплывающее окно со списком сертификатов, которые были экспортированы, это сигнализирует об успехе операции:
Завершение процедуры экспорта
После успешного экспорта, проведите процедуру удаления VipNet CSP. Для этого перейдите Панель управления → Программы → Удаление программы → VipNet CSP → Удалить. Произведите удаление, убедитесь, что отметка Удалить пользовательские данные снята. Перезагрузите ПК после удаления.
Далее установите CryptoPro CSP и после установки обязательно перезагрузите ПК.
Если необходимо удостовериться, что все требуемые сертификаты и контейнеры экспортированы, перейдите в Пуск → Инструменты КриптоПро. В меню слева откройте раздел Контейнеры, где будут находиться контейнеры и названия субъектов, которым они соответствуют. Сами же сертификаты из этих контейнеров можно увидеть в разделе Сертификаты в меню слева. Процедура экспорта завершена.
Массовый экспорт контейнеров
Подготовка
Для того, чтобы утилита обнаружила требуемые для экспорта контейнеры с сертификатами, необходимо:
Указать имена контейнеров в VipNet CSP в разделе Контейнеры ключей:
Процедура экспорта
После того, как требуемые контейнеры указаны в VipNet CSP, перейдите к процедуре экспорта.
Перейдите в папку с утилитой и запустите файл ImportKeyAll.bat. Появится командная строка и через некоторое время всплывающее окно Убедитесь, что все ключевые носители подключены, нажмите ОК:
Спустя некоторое время появится всплывающее окно со списком сертификатов, которые были экспортированы, это сигнализирует об успехе операции:
Завершение процедуры экспорта
После успешного экспорта проведите процедуру удаления VipNet CSP. Для этого перейдите в Панель управления → Программы → Удаление программы → VipNet CSP → Удалить. Произведите удаление, отметка Удалить пользовательские данные должна быть снята. Перезагрузите ПК.
Далее установите CryptoPro CSP и после установки обязательно перезагрузите ПК.
Если необходимо удостовериться, что все требуемые сертификаты и контейнеры перенесены, перейдите в Пуск → Инструменты КриптоПро. В меню слева откройте раздел Контейнеры, где будут находиться контейнеры и названия субъектов, которым они соответствуют. Сами же сертификаты из этих контейнеров можно увидеть в разделе Сертификаты в меню слева. Процедура экспорта завершена.
КриптоПро CSP и ViPNet CSP на одном компьютере
Работа с электронной подписью невозможна без криптопровайдера — специализированного автономного программного модуля. Он необходим для вызова криптофункций из «операционки» или прикладных программ. Windows управляет криптопровайдерами через интерфейс CryptoAPI. Самые «продвинутые» — КриптоПро CSP и ViPNet CSP, но можно ли «держать» их на одном компьютере?
ViPNet CSP и КриптоПро CSP на одном компьютере
Большинство удостоверяющих центров (УЦ) выдает сертификаты и ключи ЭП, сформированные на платформах КриптоПро. У разработчика сильная программа дистрибуции. УЦ заинтересованы в распространении связанного с их услугами платного продукта и получают за это материальное вознаграждение.
ViPNet CSP — бесплатный криптопровайдер. Создан компанией ОАО «ИнфоТеКС» — одним из лидеров рынка информационной безопасности в России. Софт подходит для работы с любой электронной подписью. Многие пользователи предпочитают работать именно с ViPNet CSP.
Некоторые электронные торговые площадки требуют взаимодействия с продуктами КриптоПро. В этом случае придется инсталлировать обе программы на один компьютер.
Добиться симбиоза двух криптопровайдеров на одном ПК возможно, если четко выполнить инструкции. Для начала — три простых совета, которые помогут корректно использовать софт:
КриптоПро 5.0 и ViPnet 4.2
КриптоПро CSP — флагман российского рынка информационной безопасности. «Глянцевый» и востребованный продукт со множеством программных дополнений. В комплекте с базовым модулем, он способен превратить компьютер в защищенную рабочую станцию.
ViPNet CSP — пока бесплатный альтернативный криптопровайдер, снискавший популярность пользователей. Соревнование двух «шифровальщиков» напоминает соперничество семейств «операционок» Windows и Unix.
Можно ли «подружить» самых знаменитых российских криптопровайдеров?
КриптоПро 5.0
КриптоПро Рутокен CSP
Техническое сопровождение
Подробнее о ViPNet CSP версии 4.2
Что «умеет» криптопровайдер? Генерировать и верифицировать ЭП по актуальным отечественным алгоритмам. Например, по ГОСТ Р 34.10-2012. Криптомодуль выполняет следующие задачи:
Приложение обеспечивает информационную защищенность классов:
Защищенность третьего класса обеспечивается путем формирования обособленной софт-среды. Версия 4.2 отлично подходит:
Также криптомодуль поддерживает:
Криптопровайдер соответствует требованиям ФЗ № 63 (от 06.04.2011) и внесен в нотификацию Таможенного союза. Согласно документу, любое лицо, пересекающее рубежи ТС, вправе транспортировать модуль без каких-либо дополнительных разрешительно-сопроводительных бумаг.
Примечание. Разработчик оставляет за собой право:
Изменения не могут ухудшать свойств ПО.
1. Задай вопрос нашему специалисту в конце статьи.
2. Получи подробную консультацию и полное описание нюансов!
3. Или найди уже готовый ответ в комментариях наших читателей.
Детальнее о КриптоПро CSP 5.0
Инновационное поколение криптомодуля. Достоинства предыдущих продуктов линейки приумножены, недостатки — учтены и устранены. Программа воспринимает практически все ключевые носители, в том числе облачные. Традиционный интерфейс сохранен. Криптопровайдер обеспечивает:
КриптоПро CSP 5.0 поддерживает больший набор алгоритмов в сравнении с ViPNet 4.2: это и инструкции отечественных ГОСТ, и зарубежные криптостандарты.
Реализована опция вызова криптофункций из сторонних программ через «классические» интерфейсы:
Настоящая опциональная новинка — кроссплатформенный графический модуль CryptoPro Tool. «Инструменты КриптоПро» — приложение, адаптированное под работу трех «операционок»: Windows, Linux и macOS. Пользователь может в привычном режиме заниматься решением текущих задач:
Доступ к необходимым опциям реализован в простом интерфейсе. Для продвинутых пользователей предусмотрен спецрежим, открывающий расширенные возможности. Софт по-прежнему остается платным — с прайс-листом можно ознакомиться здесь.
Совместимость ViPNet CSP и КриптоПро CSP
Последовательность действий при отладке криптомодулей напрямую зависит от того, какой софт установлен первым.
Предупреждение! Четко следуйте инструкциям. Импровизации могут привести к дестабилизации работы «операционки».
На рабочей машине предустановлен ViPNet. Алгоритм действий при инсталляции КриптоПро CSP:
Появится окошко со списком компонент, идущих в дополнение к криптомодулю. Найдите иконку с изображением накопителя — она расположена слева от пункта «Расширенная совместимость с продуктами Microsoft». Если рядом стоит «крестик», щелкните по нему и смените статус на вышеуказанный.
Перезагрузите рабочую машину после установки приложения. Основным СКЗИ останется ViPNet CSP. Если нужно инсталлировать его на ПК с предустановленным КриптоПро CSP, последний придется отключать. Как это сделать?
КриптоПро Office Signature
Настройка ЭЦП
Электронная подпись
Настраиваем совместимость с ViPNet CSP — отключаем КриптоПро CSP:
Выберите иконку с крестиком, чтобы удалить компоненту «Совместимость с продуктами Microsoft».
Чтобы продолжить применение КриптоПро CSP в привычном режим, верните криптопровайдеру статус основного. В настройках Мастера установки активируйте компоненту «Совместимость с продуктами Microsoft», отметив ее иконкой накопителя. После этого отключите ViPNet CSP:
Чтобы вернуть приложению «руль», деактивируйте компоненту совместимости КриптоПро CSP. После этих действий обязательно перезагрузите компьютер. Слева от опции «Поддержка работы ViPNet CSP через MS Crypto API» установите флажок. Последние манипуляции — проверка интернет-соединения:
Если увидите сообщение «Не удалось отобразить страницу», следуйте инструкции:
Чтобы редактировать файлы реестра, нужны права администратора. Если текущих системных полномочий недостаточно, следуйте алгоритму:
Если к изменению прав нет доступа:
Не забудьте поставить галочку возле разрешения «Полный доступ».
Одновременное использование Криптопро CSP и ViPNet CSP
Возможно ли? Нет. Сертифицированные версии криптомодулей вместе работать не будут. Одновременное использование КриптоПро CSP и ViPNet CSP может серьезно навредить операционной системе. Причина — в нюансах использования CryptoAPI каждым из криптомодулей.
API расшифровывается как Application Programming Interface. CryptoAPI — один из интерфейсов прикладного программирования Windows. Именно он — «поставщик» сервисов шифрования и для самой «операционки», и для установленного софта. Среди функций — и те, что «разрешают» криптомодулям:
Эти функции не требуют выполнения криптоопераций. Они выступают посредниками между программами и CSP — Cryptographic Service Provider (поставщиком сервиса шифрования).
Оба криптомодуля — СКЗИ, выполняют примерно одинаковые операции и служат для решения схожих задач. Основная функция КриптоПро CSP 4.0 и моложе — кодирование данных. В ViPNet CSP 4.2 она является дополнением — его можно отключить в настройках. На функциональности софта это не сказывается. Далее его можно использовать как почтового или VPN-клиента.
Конфликт стартует при попытках критопровайдеров заменять друг друга. Работая одновременно, оба вызываются генерировать ЭП на базе выбранного ключа — стоит только попытаться завизировать какой-нибудь документ. Если один из них «не знает» заданного вами сертификата или ключа, случится сбой.
ViPNet в деталях: разбираемся с особенностями криптошлюза
Для начала разберемся, как это все работает. Итак, координатор ViPNet выполняет несколько функций. Во-первых, это криптошлюз (КШ), который позволяет реализовать как Site-to-site, так и RA VPN. Во-вторых, он является сервером-маршрутизатором конвертов, содержащих зашифрованные служебные данные (справочники и ключи) или данные клиентских приложений (файловый обмен, деловая почта). Кстати, именно в справочниках хранятся файлы, содержащие информацию об объектах сети ViPNet, в том числе об их именах, идентификаторах, адресах, связях. Координатор также является источником служебной информации для своих клиентов.
Помимо этого, он может туннелировать трафик от компьютеров сети, где не установлено ПО ViPNet. Кстати, специалисты, работающие с этим решением, часто называют открытые хосты не «туннелируемыми узлами», а просто «туннелями». Это может сбить с толку инженеров, которые привыкли к другим VPN-решениям, где под туннелем подразумевают PtP-соединение между КШ.
В качестве протокола шифрования в ViPNet используется IPlir, также разработанный «Инфотексом». Для инкапсуляции трафика применяются транспортные протоколы IP/241 (если трафик не покидает широковещательный домен), UDP/55777 и TCP/80 (при недоступности UDP).
В концепции построения защищенных соединений лежат так называемые «связи», которые бывают двух типов. Первые (на уровне узлов) нужны для построения защищенного соединения между узлами, вторые (на уровне пользователей) необходимы для работы клиентских приложений. Но есть исключение: узлы администратора сети ViPNet требуют обоих типов связи.
Что же может в этой схеме пойти не так? Как показывает практика, особенностей работы действительно много, и далеко не все проблемы можно решить интуитивно, без «помощи зала», а что-то нужно просто принять как данность.
Координатор недоступен
«У нас недоступен координатор/клиент/туннель. Что делать?» – самый частый вопрос, с которым приходят новички при настройке ViPNet. Единственно верное действие в такой ситуации – включать регистрацию всего трафика на координаторах и смотреть в журнал IP-пакетов, который является важнейшим инструментом траблшутинга всевозможных сетевых проблем. Этот способ спасает в 80% случаев. Работа с журналом IP-пакетов также помогает лучше усвоить механизмы работы узлов ViPNet-сети.
Конверт не доставлен
Но журнал IP-пакетов, увы, бесполезен, когда речь заходит о конвертах. Они доставляются с помощью транспортного модуля (mftp), у которого есть свой журнал и своя очередь. Конверты по умолчанию передаются на «свой» координатор клиента (то есть тот, на котором зарегистрирован узел), и далее по межсерверным каналам, которые настроены между координаторами (то есть не напрямую по защищенному каналу). Значит, если вы захотите отправить письмо по деловой почте, то клиент упакует его в конверт и отправит сначала на свой координатор. Далее на пути могут быть еще несколько координаторов, и только после этого конверт попадет на узел адресата.
Из этого следуют два вывода. Во-первых, между клиентами не обязательно должна проверяться связь (по нажатию на F5 и соответствующей иконки в меню) для доставки конвертов. Во-вторых, если связь межу ними все-таки проверяется, это не гарантирует доставку, так как проблема может быть в одном из межсерверных каналов.
Диагностировать прохождение конвертов межсерверным каналам или между клиентом и координатором в неочевидных случаях можно с помощью журнала и очереди конвертов, а также логов на координаторе. Также транспортный модуль ViPNet-клиента можно настроить на прямую доставку конвертов, доставку через общую папку или SMTP/POP3 (но это совсем экзотичный вариант). Погружаться в эти настройки мы не будем.
Последствия перепрошивки
Проблемной может оказаться перепрошивка на актуальную версию старых железок, которые долго лежали, например, в качестве ЗИП. В процессе может появиться ошибка «unsupported hardware», которая сообщает либо о том, что у вас действительно неподдерживаемая аппаратная платформа устаревшей линейки G1 (это HW100 E1/E2 и HW1000 Q1), либо о проблемах в настройке BIOS или в некорректной информации, зашитой в DMI. Править ли самостоятельно DMI, каждый решает для себя сам, поскольку есть риск превратить оборудование в бесполезный «кирпич». С BIOS чуть проще: неверные настройки системы заключаются в выключенной функции HT (Hyper Threading) или выключенном режиме ACHI (Advanced Host Controller Interface) для HDD. Чтобы не гадать, в чем конкретно проблема, можно обратиться к флешке, с которой производится прошивка. На ней создаются файлы с диагностической информацией, в частности, в файле verbose.txt перечислены все поддерживаемые платформы с результатом сверки с вашей. Например, ошибка cpu::Vendor(#3)==’GenuineIntel’ 24 times => [Failed], скорее всего, сообщает о выключенном HT. Кстати, перепрошивку часто путают с обновлением, но это разные процессы. При обновлении сохраняются все настройки, а параметры, о которых было написано выше, не проверяются. А при перепрошивке вы возвращаетесь к заводским параметрам.
Неинформативные конфиги
Основным конфигурационным файлом HW является «iplir.conf», однако он не всегда отражает текущие параметры. Дело в том, что в момент загрузки драйвера IPlir происходит интерпретация этого конфига в соответствии с заложенной логикой, и не вся информация может быть загружена в драйвер (например, при наличии конфликтов IP-адресов). Инженеры, работавшие с программным координатором для Linux, наверняка знают о существовании команды «iplirdiag», которая отображает текущие настройки узлов, прогруженные в драйвер. В HW эта команда также присутствует в режиме «admin escape».
Немного остановимся на режиме «admin escape». По сути это выход из ViPNet shell в bash. Тут я солидарен с вендором, который рекомендует использовать данный режим только для диагностики и вносить какие-либо модификации только под присмотром техподдержки вендора. Это вам не обычный Debian, здесь любое неосторожное движение может вывести из строя ОС, защитные механизмы которой воспримут вашу «самодеятельность» как потенциальную угрозу. В связке с заблокированным по умолчанию BIOS это обрекает вас на негарантийный (читай «дорогой») ремонт.
(Un)split tunneling
Еще один факт, который знают далеко не все: по умолчанию ViPNet-клиент работает в режиме split tunnel (когда можно указать, какой трафик заворачивать в туннель, а какой нет). У ViPNet существует технология «Открытого Интернета» (позже переименована в «Защищенный интернет-шлюз»). Многие ошибочно приписывают этот функционал координатору, а не клиенту. На клиенте, который зарегистрирован за координатором с такой функцией, создается два набора предустановленных фильтров. Первый разрешает взаимодействие только с самим координатором и его туннелями, второй – с остальными объектами, но запрещает доступ к координатору ОИ и его туннелям. Причем, согласно концепции вендора, в первом случае координатор должен либо туннелировать прокси-сервер, либо сам являться прокси-сервером. Служебный трафик, а также прием и передача конвертов (как служебных, так и приложений), работают в любой конфигурации.
Служебные порты и TCP-туннель
Однажды я столкнулся с приложением, которое ни в какую не хотело работать через координатор. Так я узнал, что у координатора есть служебные порты, по которым незашифрованный трафик блокируется без возможности какой-либо настройки. К ним относятся UDP/2046,2048,2050 (базовые службы ViPNet), TCP/2047,5100,10092 (для работы ViPNet Statewatcher) и TCP/5000-5003 (MFTP). Тут подвела функции TCP-туннеля. Не секрет, что провайдеры любят фильтровать высокие порты UDP, поэтому администраторы, стремясь улучшить доступность своих КШ, включают функцию TCP-туннеля. Ресурсы в зоне DMZ (по порту TCP-туннеля) при этом становятся недоступны. Это происходит из-за того, что порт TCP-туннеля также становится служебным, и никакие правила межсетевых экранов и NAT (Network Address Translation) на него уже не действуют. Затрудняет диагностику тот факт, что данный трафик не регистрируется в журнале IP-пакетов, как будто его вовсе нет.
Замена координатора
Рано или поздно встает вопрос о замене координатора на более производительный или временный вариант. Например, замена HW1000 на HW2000 или программного координатора – на ПАК и наоборот. Сложность заключается в том, что у каждого исполнения своя «роль» в ЦУС (Центре управления сетью). Как правильно изменить роль, не потеряв связность? Сначала в ЦУС меняем роль на новую, формируем справочники, но не отправляем(!) их. Затем в УКЦ выпускаем новый DST-файл и проводим инициализацию нового Координатора. После производим замену и, убедившись, что все взаимодействия работоспособны, отправляем справочники.
Кластеризация и сбой ноды
Горячий резерв – это must have для любой крупной площадки, поэтому на них всегда закупался кластер старших моделей (HW1000, HW2000, HW5000). Однако создание кластера из более компактных криптошлюзов (HW50 и HW100) было невозможно из-за лицензионной политики вендора. В итоге владельцам небольших площадок приходилось серьезно переплачивать и покупать HW1000 (ну, или никакой отказоустойчивости). В этом году вендор, наконец, сделал дополнительные лицензии и для младших моделей координаторов. Так что с выходом версий 4.2.x появилась возможность собирать в кластер и их.
При первичной настройке кластера можно серьезно сэкономить время, не настраивая интерфейсы в режиме мастера или командами CLI. Можно сразу вписывать необходимые адреса в конфигурационный файл кластера (failover config edit), только не забудьте указать маски. При запуске демона failover в кластерном режиме он сам назначит адреса на соответствующие интерфейсы. Многие при этом боятся останавливать демон, предполагая, что адреса сменяются на пассивные или адреса сингл-режима. Не волнуйтесь: на интерфейсах останутся те адреса, которые были на момент остановки демона.
В кластерном исполнении существует две распространенные проблемы: циклическая перезагрузка пассивной ноды и ее непереключение в активный режим. Для того чтобы понять суть этих явлений, разберемся в механизме работы кластера. Итак, активная нода считает пакеты на интерфейсе и в случае, если за отведенное время пакетов нет, отправляет пинг на testip. Если пинг проходит, то счетчик запускается заново, если не проходит, то регистрируется отказ интерфейса и активная нода уходит в перезагрузку. Пассивная нода при этом отправляет регулярные ARP-запросы на всех интерфейсах, описанных в failover.ini (конфигурационный файл кластера, где указаны адреса, которые принимает активная и пассивная ноды). Если ARP-запись хоть одного адреса пропадает, то пассивная нода переключается в активный режим.
Вернемся к кластерным проблемам. Начну с простого – неперключение в активный режим. В случае если активная нода отсутствует, но на пассивной в ARP-таблице (inet show mac-address-table) ее mac-адрес все еще присутствует, необходимо идти к администраторам коммутаторов (либо так настроен ARP-кэш, либо это какой-то сбой). С циклической перезагрузкой пассивной ноды немного сложнее. Происходит это из-за того, что пассивная не видит ARP-записи активной, переходит в активный режим и (внимание!) по HB-линку опрашивает соседа. Но сосед-то у нас в активном режиме и аптайм у него больше. В этот момент пассивная нода понимает, что что-то не так, раз возник конфликт состояний, и уходит в перезагрузку. Так продолжается до бесконечности. В случае возникновения данной проблемы необходимо проверить настройки IP-адресов в failover.ini и коммутацию. Если все настройки на координаторе верны, то пришло время подключить к вопросу сетевых инженеров.
Пересечения адресов
В нашей практике нередко встречается пересечение туннелируемых адресов за разными координаторами.
Именно для таких случаев в продуктах ViPNet существует виртуализация адресов. Виртуализация – это своеобразный NAT без контроля состояния соединения один к одному или диапазон в диапазон. По умолчанию на координаторах эта функция выключена, хотя потенциальные виртуальные адреса вы можете найти в iplir.conf в строке «tunnel» после «to» в секциях соседних координаторов. Для того, чтобы включить виртуализацию глобально для всего списка, необходимо в секции [visibility] изменить параметр «tunneldefault» на «virtual». Если же хотите включить для конкретного соседа, то необходимо в его секцию [id] добавить параметр «tunnelvisibility=virtual». Также стоит убедиться, что параметр tunnel_local_networks находится в значении «on». Для редактирования виртуальных адресов параметр tunnel_virt_assignment необходимо перевести в режим «manual». На противоположной стороне нужно выполнить аналогичные действия. За настройки туннелей также отвечают параметры «usetunnel» и «exclude_from_tunnels». Результат выполненной работы можно проверить с помощью утилиты «iplirdiag», о которой я говорил выше.
Конечно, виртуальные адреса приносят некоторые неудобства, поэтому администраторы инфраструктуры предпочитают минимизировать их использование. Например, при подключении организаций к информационным системам (ИС) некоторых госорганов этим организациям выдается DST-файл c фиксированным диапазоном туннелей из адресного плана ИС. Как мы видим, пожелания подключающегося при этом не учитываются. Как вписываться в этот пул, каждый решает для себя сам. Кто-то мигрирует рабочие станции на новую адресацию, а кто-то использует SNAT на пути от хостов к координатору. Не секрет, что некоторые администраторы применяют SNAT для обхода лицензионных ограничений младших платформ. Не беремся оценивать этичность такого «лайфхака», однако не стоит забывать, что производительность самих платформ все-таки имеет предел, и при перегрузке начнется деградация качества канала связи.
Невозможность работы GRE
Само собой, у каждого решения в IT есть свои ограничения по поддерживаемым сценариям использования, и ViPNet Coordinator не исключение. Достаточно назойливой проблемой является невозможность работы GRE (и протоколов, которые его используют) от нескольких источников к одному адресу назначения через SNAT. Возьмем, к примеру, систему банк-клиент, которая поднимает PPTP-туннель к публичному адресу банка. Проблема в том, что протокол GRE не использует порты, поэтому после прохождения трафика через NAT, socketpair такого трафика становится одинаковым (адрес назначения у нас одинаковый, протокол тоже, а трансляцию адреса источника мы только что произвели также в один адрес). Координатор реагирует на такое блокировкой трафика на фоне ошибки 104 – Connection already exists. Выглядит это так:
Поэтому, если вы используете множественные GRE-подключения, необходимо избегать применения NAT к этим подключениям. В крайнем случае выполнять трансляцию 1:1 (правда, при использовании публичных адресов это достаточно непрактичное решение).
Не забываем про время
Тему блокировок продолжаем событием номер 4 – IP packet timeout. Тут все банально: это событие возникает при расхождении абсолютного (без учета часовых поясов) времени между узлами сети ViPNet (координаторы и ViPNet-клиенты). На координаторах HW максимальная разница составляет 7200 секунд и задается в параметре «timediff» конфигурационного файла IPlir. Я не рассматриваю в этой статье координаторы HW-KB, но стоит отметить, что в версии KB2 timediff по умолчанию 7 секунд, а в KB4 – 50 секунд, и событие там может генерироваться не 4, а 112, что, возможно, собьет с толку инженера, привыкшего к «обычным» HW.
Нешифрованный трафик вместо зашифрованного
Новичкам бывает сложно понять природу 22 события – Non-encrypted IP Packet from network node – в журнале IP-пакетов. Оно означает, что координатор ждал с этого IP-адреса шифрованный трафик, а пришел нешифрованный. Чаще всего это происходит так:
Обработка прикладных протоколов (ALG)
На многих межсетевых экранах, включая ViPNet Coordinator, могут возникать проблемы с прохождением SIP через NAT. С учетом того, что виртуальные адреса – это внутренний NAT, проблема может возникать, даже когда в явном виде NAT не используется, а используются только виртуальные адреса. Координатор обладает модулем обработки прикладных протоколов (ALG), который должен эти проблемы решать, но не всегда это работает так, как хотелось бы. Не буду останавливаться на механизме работы ALG (на эту тему можно написать отдельную статью), принцип одинаков на всех МСЭ, изменяются лишь заголовки прикладного уровня. Для корректной работы протокола SIP через координатор необходимо знать следующее:
В заключение
Я постарался рассмотреть самые злободневные проблемы, обозначить их корни и рассказать о решениях. Конечно, это далеко не все особенности ViPNet, поэтому рекомендую не стесняться – обращаться в поддержку и спрашивать совета в коммьюнити (на форуме вендора, в телеграмм-канале, в комментариях под этим постом). А если вам не хочется погружаться во все сложности работы с ViPNet или это слишком трудозатратно, то всегда можно отдать управление вашей ViPNet-сетью в руки профессионалов.
Автор: Игорь Виноходов, инженер 2-ой линии администрирования «Ростелеком-Солар»