Мастер-ключи ViPNet-сети
Мастер-ключи ViPNet-сети
Категория: Железо Теги: ViPNet Опубликовано: 14 августа 2022

Смена мастер-ключей в ViPNet-сети

При формировании персональных ключей пользователей, а также ключей обмена и ключей защиты, входящих в состав ключей узлов, используются соответствующие мастер-ключи:

  • мастер-ключ персональных ключей;
  • мастер-ключ ключей защиты;
  • мастер-ключ ключей обмена.

Немного теории о смене мастер-ключей ViPNet

Указанные мастер-ключи создаются при первичной инициализации программы ViPNet Удостоверяющий и ключевой центр и хранятся на компьютере с УКЦ в полной секретности, поскольку компрометация мастер-ключа приводит к компрометации всех ключей, сформированных на его основе. С течением времени должна проводиться смена всех мастер-ключей.

Обновление ключей узлов при изменении структуры сети и плановая смена ключей узлов и пользователей производится централизованно. Плановая смена ключей осуществляется в ViPNet УКЦ одним из способов:

  • путем увеличения варианта ключей узлов и ключей пользователей. Под вариантом ключей узла понимается порядковый номер ключей обмена и ключей защиты, которые идут в составе ключей узла. Под вариантом ключа пользователя понимается увеличение порядкового номера персонального ключа пользователя;
  • путем смены мастер-ключа для данного типа ключей. 

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

Имя этого файла имеет маску AAAA.pk, где AAAA – идентификатор пользователя ViPNet в рамках своей сети.

РНПК передаются Администратором УКЦ Администратору безопасности на съемном носителе или в составе дистрибутива ключей. В том случае, если РНПК был передан в составе дистрибутива ключей, Администратор безопасности должен обеспечить его удаление на узле после развертывания дистрибутива ключей и запросить РНПК в отдельном файле у
Администратора УКЦ.

При централизованной плановой смене ключей пользователя используется РНПК. В случае отсутствия РНПК (невозможно обеспечить условия надежного хранения РНПК, отсутствует к нему доступ по какой-либо причине) централизованная плановая смена ключей возможна только в присутствии Администратора безопасности. Администратор безопасности
должен подключить съемный носитель с РНПК этого пользователя для обновления ключей на узле.

При смене мастер-ключа персональных ключей в программе ViPNet Administrator формируются специализированные ключевые наборы, содержащие РНПК, сформированные на новом мастер-ключе. Доставка таких обновлений производится по доверенному каналу. Это необходимо для предотвращения последствий возможной неявной компрометации
наборов РНПК на узлах сети.

Если у пользователя имеется ключ ЭП, инициатива создания которого принадлежит Администратору УКЦ, то плановая смена этого ключа производится Администратором УКЦ не менее чем раз в 15 месяцев. Контроль соблюдения сроков действия ключевой информации СУ ViPNet и своевременности ее обновления осуществляется группой Администраторов УКЦ.

Немного теории о мастер-ключах лично от меня

В справке и правилах пользования ViPNet Administrator 4 сказано, что со временем мастер-ключи ViPNet-сети должны меняться, но как часто это должно происходить не сказано. Написано только про компрометацию мастер-ключей.

В справке к Удостоверяющему и ключевому центру ViPNet есть раздел "Смена мастер-ключей защиты и обмена", в которой написано:

Смена мастер-ключей защиты и обмена влечет за собой смену всех ключей в сети ViPNet. Она может быть как плановой, так и внеплановой. Плановая смена мастер-ключей проводится с периодичностью один раз в 15 месяцев (1 год и 3 месяца). Внеплановая смена мастер-ключей производится при компрометации ключей.

Хочу сразу дать совет - если от вас не требуют в жесткой форме смену мастер-ключей ViPNet сети, то лучше их не менять.

Объясню почему. Нет ни одной сети, среди поменявших мастер ключи, в которой не вылетело ни одного координатора и кучи клиентов. Даже при идеальной подготовке и тщательной проверки всех указанных ниже параметров координатор может уйти в бесконечную перезагрузку после получения обновления с новыми мастер-ключами. О том как устранить эту проблему я напишу в конце статьи. Как предотвратить будет указано уже в следующей главе. 

Иными словами, все равно будут проблемы с вылетом координаторов. Клиенты то не страшно - подсунул новый ключ и всё, а если вылетел координатор, то вылетят все клиенты за ним, а не какая-то часть. Даже топовые компании, использующие vipnet еще не меняли мастер-ключи, но это секрет ;)

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

Также хочу немного пояснить часть сухой теории, так как она может быть не всем понятна.

Зачем нужны мастер-ключи?

Мастер-ключи ViPNet сети используются для шифрования служебной информации и служебных сетевых пакетов.

Зачем менять мастер-ключи?

Это требование указано в правилах пользования, а если не следовать правилам пользования, тогда сертификат соответствия ФСТЭК\ФСБ фактически не действителен для вашей системы защиты. Иными словами, сертификат соответствия для определенной категории защиты действителен только при условии соблюдения правил пользования, которые идут с продуктами:

  • ViPNet Administrator;
  • ViPNet Coordinaror;
  • ViPNet Client.

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

Подготовка к смене мастер-ключей в ViPNet-сетях

Смена мастер-ключей ВАЖНОЕ мероприятие, проведение которого влияет на работоспособность ViPNet-сети, и доступность всех пользователей и всех координаторов.

Проверка версий и паролей

Важно провести обновление компонентов до актуальных версий в соответствии с документацией разработчика. В моём случае это были версии:

  • ViPNet Administrator (не ниже сертифицированной версии 4.6.9);
  • ViPNet Coordinator (не ниже сертифицированной версии 4.3.2);
  • ViPNet Client for Windows (не ниже сертифицированной версии 4.5.3);
  • ViPNet Client for Linux (не ниже сертифицированной версии 4.3.2);
  • ViPNet Client 4U for Linux (не ниже сертифицированной версии 4.8.0);
  • ViPNet Client for Android (не ниже ViPNet Client for Linux (не ниже сертифицированной версии 2.13.0.106).

В случае наличия в ViPNet-сети ПО c версиями, ниже указанных, автоматическая смена ключей на узлах не гарантируется и для корректного восстановления работоспособности устройства потребуется участие администратора.

Сразу хочу отметить, что большинство ViPNet клиентов с версией ниже указанной вылетели из сети и восстановление работоспособности этих компьютеров требовало огромное количество времени. Обновление ОС до Windows 10 на самом деле не требуется, с технической точки зрения. Это требуется с точки зрения информационной безопасности. В большинстве случаев все равно пришлось обновлять ViPNet до актуальной версии, так как без этого связи у клиента не было совсем. 

Именно поэтому, я настоятельно рекомендую использовать версии не ниже указанных, или не ниже оговоренных самой компанией Infotecs.

В документации также говорится о том, что если пароли пользователя на сетевых узлах и в программе ViPNet Удостоверяющий и ключевой центр не совпадают, то могут быть проблемы при аутентификации ViPNet Client при включении компьютера. Будет появляться ошибка о том, что пароль не подходит, при чем на оба пароля. О способах лечения всех этих проблем буду говорить в другой главе.

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

Предварительные действия на координаторах ПАК ViPNet Coordinator HW

Не применившиеся обновления ключей

На ViPNet Coordinator HW проверьте, что у вас отсутствуют неприменившиеся обновления ключей:

Перейдите в режим администратора с помощью команды enable.

Перейдите в командную оболочку Linux с помощью команды admin escape.

Выполните команду:

find /opt/vipnet/ccc/ -name "k*.*"

Если в результате в командной строке появятся пути к файлам, это значит, что на вашем ViPNet Coordinator HW есть не применившиеся обновления ключей. Чтобы исправить ситуацию, в ViPNet Центр управления сетью (ЦУС) заново отправьте справочники и ключи по сети на ViPNet Coordinator HW, дождитесь, когда они примут статус Приняты и повторите процедуры для проверки успешности обновления.

Пример выполнения:

hw2000-Coordinator11> enable
Type the administrator password:
hw2000-Coordinator11# admin escape
This command is intended only for debugging.
It should be used only by InfoTeCS support team or people who
were explicitly advised by InfoTeCS support team to use it.
InfoTeCS does not guarantee normal operation of Platform: HW2000
in case of incorrect user actions in the system shell.
Are you sure you want to exit to the Linux system shell?
Continue? [Yes/No]: Yes
Type the administrator password:
sh-4.4# find /opt/vipnet/ccc/ -name "k*.*"
sh-4.4#

Наличие нескольких пользователей

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

Речь идёт про вкладку Пользователи у координатора в Центре управления сетью. Там у координатора должен быть всего один одноименный пользователь. По невнимательности, при заведении нескольких пользователей для одной рабочей станции администратор ЦУС мог привязать этого пользователя не к клиенту, а к координатору, так сказать по привычке выбирать во втором поле имя координатора при заведении клиента.

Резервное копирование

Выполните резервное копирование конфигурации ПО ViPNet Administrator. Я бы даже посоветовал снять образ всего диска при помощи Acronis True Image.

Выполните резервное копирование конфигурации ПАК ViPNet Coordinator - admin export keys binary-encrypted usb.

Флешка должна быть fat32 - NTFS ViPNet координаторы не поддерживают.

Сохраните основные конфигурации оборудования ViPNet Coordinator путем копирования текста с использованием легитимного SSH-клиента (пример: Putty, PowerShell, Bash и так далее), а именно вывод команд:

  • iplir show config;
  • inet show interface;
  • inet show routing;
  • failover show config;
  • firewall rules show.

В Putty есть раздел Logging, в котором можно указать:

  • Session logging - All session output;
  • Log file name - указываем куда сохранить лог-файл и как его назвать (без русских букв).

Некоторые администраторы любят создавать группы узлов в веб-интерфейсе координатора. Таким любителям настоятельно рекомендую отдельно зафиксировать какие IP-адреса или диапазоны IP-адресов входят в эти группы, так как это никаких образом не фиксируется в указанных выше конфигурациях. В правилах фаервола группы отмечаются как @HW2000 - название группы HW2000.

Убедитесь, что пароли пользователя user на сетевом узле ViPNet Coordinator HW и в программе ViPNet Удостоверяющий и ключевой центр (УКЦ) совпадают. Если пароли не совпадают, то необходимо на ViPNet Coordinator HW для пользователя user задать тот же пароль, который задан в ViPNet УКЦ, и выполнить резервное копирование конфигурации ПО ViPNet Administrator.

Проверка наличия РНПК на сетевых узлах

РНПК предназначен для получения обновлений ключей и содержится в файле AAAA.pk, где <АААА> — шестнадцатеричный номер пользователя в сети ViPNet.

ViPNet Coordinator

На ПАК ViPNet Coordinator HW введите команду iplir show key-info.

Если в выводе команды будет информация о ключах в секции Spare personals key set info, это значит, что на вашем ViPNet Coordinator HW есть РНПК. При этом важно, чтобы дата создания мастер-ключей для параметра Master personal key
date совпадала с датой последней смены мастер-ключей.

Пример:

hw2000-Coordinator11> iplir show key-info
Current personal key info:
User ID: 0xda4000b
Current personal key variant: 0
Master personal key date : 2022-02-09 16:43:36 MSK
Master personal key number: 3
Current personal key update date : 2022-02-09 16:46:42 MSK
Spare personals keys set info:
User ID: 0xda4000b
Personals keys variants: from 0 to 19
Master personal key date : 2022-02-09 16:43:36 MSK
Master personal key number: 3
Lck key info:
User ID: 0xda4000b
Master defense key date : 2022-02-09 16:43:36 MSK
Current defense key info:
AP ID: 0xda40014
Current defense key variant: 0
Master defense key date : 2022-02-09 16:44:01 MSK
Master defense key number: 3
Current defense key update date : 2022-02-09 16:47:52 MSK
Cck key info:
Ap ID: 0xda40014
Master cck key date : 2022-02-09 16:44:01 MSK

Если РНПК отсутствует (вывод команды: Spare key set is not present.):
В ViPNet УКЦ сохраните РНПК сетевого узла ViPNet Coordinator HW в файл и скопируйте его на USB-носитель (NTFS не поддерживается, используйте файловую систему FAT32).

На сетевом узле ViPNet Coordinator HW импортируйте РНПК с USB-носителя с помощью команды:
admin add spare keys

ViPNet Client for Windows

Проверить наличие РНПК файлов в Windows:
\d_station\abn_AAAA;
\user_AAAA\key_disk\dom.

Проблема вся в том, что в документации на ViPNet Client указано, что РНПК должны храниться в Program Data, но на деле, я нашел около 6 разных путей и лишь два из них были в Program Data. 

Вот 4 возможных каталога с РНПК:

  • C:\ProgramData\Infotecs\012E000B0\d_station\abn_0002 (012E000B0 и abn_0002 у вас будут другие)
  • C:\ProgramData\Infotecs.Admin\ServicesPrivate\IpLirControlData\databases\TransDirmanager\KeysAndNodeLinksTempCopies\2022-Jul-25-04-52-04.789556\user_2bde\key_disk\dom\
  • C:\Program Files\InfoTeCS\ViPNet Client\d_station\abn_0002\
  • C:\Program Files (x86)\InfoTeCS\ViPNet Client\d_station\abn_0002\

В общем, лучше всего при помощи поиска искать папку d_station или key_disk, и если таковая будет найдена и она будет находиться или содержать в себе указанные выше папки - abn_AAAA для d_station и dom для key_disk, то в них нужно проверить наличие файла AAAA.pk. Вместо AAAA будет указан идентификатор узла ViPNet, то есть DST-файла.

Если такая папка есть, а в ней pk файла нет, то его следует скопировать туда!

ViPNet Client for Linux

Проверить наличие файлов

/etc/vipnet/d_station/abn_AAAA.

При необходимости создайте РНПК в УКЦ и передайте их на узлы пользователей. Без РНПК новые ключи на узлах не вступят в действие.

Настоятельно рекомендую проверить по документации к указанной версии, что это именно "ViPNet Client for Linux", а не "ViPNet Client 4U for Linux".

ViPNet Client 4U for Linux

Проверка наличие файлов РНПК не требуется.

ViPNet Client for Android

Проверка наличие файлов РНПК не требуется.

Смена мастер-ключей

Копия всех DST и РНПК перед сменой мастер-ключей

До смены мастер-ключей необходимо сохранить РНПК для всех пользователей и DST-файлы (дистрибутивы ключей) для всех сетевых узлов. 

В Удостоверяющем и ключевом центре ViPNet переходим во вкладку Пользователи и там выделяем абсолютно всех пользователей и нажимаем правой кнопкой мыши, в контекстном меню выбираем пункт Ключи пользователей и далее подпункт Создать и сохранить РНПК в файл.

Он спросит куда сохранить РНПК. Укажите папку, где вам проще будет их найти. Обязательно их передайте ответственным людям на местах, чтобы при появлении проблем РНПК у них уже были. То есть на момент применения справочников с новым набором мастер-ключей у них уже были РНПК, выпущенные до смены мастер-ключей.

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

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

Для смены мастер-ключей

1) В окне программы ViPNet Удостоверяющий и ключевой центр на панели навигации перейдите в представление Ключевой центр и выберите раздел Моя сеть > Мастер-ключи.

2) Поочередно щелкните каждый из трех мастер-ключей правой кнопкой мыши и в контекстном меню выберите пункт Сменить.

3) В появившемся окне с предупреждением о последствиях смены мастер-ключа установите флажок Сменить <название мастер-ключа> и нажмите кнопку Продолжить.

4) В окне с запросом ввести пароль введите пароль для учетной записи администратора УКЦ.

5) В УКЦ создайте и передайте в ЦУС новые ключи для всех пользователей.

Внимание! После смены мастер-ключей и до отправки обновлений из ЦУСа создавайте ключи пользователей только единожды.

6) В УКЦ создайте и передайте в ЦУС ключи для всех узлов.

7) Из ЦУСа отправьте на узлы ключи с отложенной датой применения.

Выберите дату применения из расчета: дата окончания выбранного вами периода минус 3-5 дней которые требуются для восстановления работоспособности важных узлов, на которых смена ключей прошла некорректно. Применение обновлений на оконечных узлах должно производиться раньше координаторов за которыми они расположены.

8) Проконтролируйте процесс приема новых ключей на узлах (статус узлов в колонке «Справочники и ключи» в ПО ЦУС должен быть «Доставлены»)

9) Сохраните новые дистрибутивы ключей для всех узлов и обеспечьте их передачу, а также РНПК, сохраненные до смены мастер-ключей, администраторам безопасности установленным порядком.

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

11) Для применения изменений при смене мастер-ключей для ViPNet Coordinator HW в режиме кластера горячего резервирования на пассивном узле перезапустите службу mftp:

mftp stop
mftp start

Возможные неполадки при смене мастер-ключей

Не найдены или неверно указаны данные для аутентификации пользователя или запрошен пароль от РНПК

После смены мастер-ключей пароль пользователя не подходит при входе в программу ViPNet Монитор, а также при запросе пароля от РНПК.

В 99% случаев эта проблема возникала только на ОС Windows 7 и ViPNet Client версий 4.3.2, то есть не актуальных версий ОС и ViPNet Client, согласно требований к смене мастер-ключей vipnet и требований версии клиента 4.5.3 (Windows 8.1 и выше).

1) Получите обновленный ДСТ-файл и дистрибутив актуальной версии ViPNet Client.

2) Зайдите в безопасный режим.

3) Переименуйте файл C:\Program Files\InfoTeCS\ViPNet Client\Monitor.exe в Monitor1.exe и перезагрузите компьютер в обычный режим.

4) При включении ViPNet выдаст ошибку контроля целостности, нажимаем Ок, а в следующем окне выбирать пункт продолжить. Рабочий стол загрузился.

5) Заходим в папку C:\Program Files\InfoTeCS\ViPNet Client\ и там ищем файл KeySetup.exe. Запускаем его и при помощи кнопки обзор указываем обновленный DST-файл.

6) Если у вас установлен SecretNet Studio, тогда до окончания всех работ отключите в нем все компоненты и перезагрузите компьютер.

7) На Windows 7 хорошо встаёт версия 4.5.3.65102 (при условии выполнения пункта 6), но перед обновлением ViPNet Client до актуальной версии, не забудьте обратно переименовать файл Monitor1.exe в Monitor.exe.

После завершения обновления проблема должна решиться.

На сетевом узле не найден РНПК

После применения справочников и ключей у пользователя с ПО ViPNet Client для ОС Windows может появиться сообщение об отсутствии файла РНПК на сетевом узле в случае использования версии ПО до 4.5.1 или в случае отсутствия или перемещения файла РНПК. Для решения проблемы просто укажите ему РНПК файлы.

Координатор HW1000 ушел в бесконечную перезагрузку

После получения обновления мастер-ключа некоторые ViPNet Coordinator HW1000 могут уйти в бесконечную перезагрузку, даже если на них есть РНПК и аппаратная платформа является одной из самых новых среди прочих в вашей организации.

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

Инструкцию по настройке координатора я писал тут. В будущем подумаю про инструкцию о прошивке координатора.

При наличии вручную добавленных правил сетевого экрана и маршрутов их необходимо добавить вручную после настройки по инструкции выше. Предыдущие настройки можно взять из сохраненных логов команд iplir show config, inet show interface, inet show routing, failover show config, firewall rules show.

Алексей Черемных
16584