Дружим Check Point и ГОСТовое шифрование / Хабр

Дружим Check Point и ГОСТовое шифрование / Хабр ЭЦП

Предварительные действия

• Произвести установку и инициализацию шлюзов и сервера управления Check Point;

• Произвести настройку центра сертификации Microsoft Certification Authority c КриптоПро CSP.

Установка хотфикса и криптобиблиотек

Криптобиблиотеки необходимо устанавливать только на шлюзах. На машине, выполняющей роль исключительно сервера управления Check Point, установка криптобибилиотек необязательна. Хотфикс необходимо устанавливать и на шлюзы, и на сервер управления.

Для установки хотфикса на машину, выполняющую роль исключительно сервера управления Check Point, выполните следующую последовательность действий:

Создание и настройка датчика псевдослучайных чисел

Данные действия выполняются на шлюзах, в том числе шлюзах, совмещённых с сервером управления.

1) Зайдите на шлюз через SSH;

2) Перейдите в экспертный режим;

3) Скопируйте файл kis_1 из каталога /var/gost_install/kis в каталоги /var/opt/cprocsp/dsrf/db1/ и /var/opt/cprocsp/dsrf/db2/;

4) Создайте датчик псевдослучайных чисел, выполнив следующею команду:

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -add cpsd -name 'CPSDRNG' -level 0

5) Настройте созданный датчик псевдослучайных чисел на использование файла внешней гаммы, выполнив следующие команды:

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -configure cpsd -add string /db1/kis_1 /var/opt/cprocsp/dsrf/db1/kis_1

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -configure cpsd -add string /db2/kis_1 /var/opt/cprocsp/dsrf/db2/kis_1

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

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -view

Вывод команды будет иметь вот такой вид и должен содержать информацию о датчике с именем CPSDRNG и максимальным уровнем приоритета, равным нулю:

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

Например:

Размер файлов до добавления сертификата:

Размер файлов после добавления сертификата:

P.s. необходимо ли проводить контроль встраивания криптосредств?

Вопрос «Необходимо ли проводить контроль встраивания криптосредств?» возникает при организации защиты персональных данных. Документ «Положение ПКЗ-2005» обязывает нас производить контроль встраивания криптосредств в случае использования криптосредств для защиты информации, если обязательность защиты обусловлена законодательством Российской Федерации.

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

Исходя из требований, следует, что при правильно составленной модели угроз выполнять контроль встраивания криптосредств необязательно. Но такой документ, как Формуляр, поставляемый с любым сертифицированным средством защиты информации, коим является КриптоПро, и в котором прописаны условия эксплуатации средства, защиты, составлен в соответствии с Положением ПКЗ-2005 и обязывает нас проводить контроль встраивания.

Использование внешней гаммы

Рассмотрим различные варианты изготовления и применения
внешней гаммы, в зависимости от СКЗИ, установленного на шлюзе:

      Если
используется криптобиблиотека, разработанная компанией «С-Терра СиЭсПи»:

•    На
С-Терра Шлюз со встроенной криптобиблиотекой компании «С-Терра СиЭсПи»
и установленным средством доверенной загрузки, поддерживающим функциональность
ДСЧ, создайте необходимое количество файлов с гаммой на внешнем носителе
(для каждого шлюза создается собственный файл). Внешняя гамма создается
при помощи утилиты egamma_gen.
Формат команды:

egamma_gen -n chunks number -p path

-n
chunks number
– количество генерируемых отрезков внешней гаммы
длиной по 32 байта каждый (результирующий файл на каждый отрезок гаммы
содержит дополнительно 4 байта контрольной суммы)

-p
path
– путь до каталога, в котором будут сохраняться данные
внешней гаммы. Данные представляют собой единственный файл с названием
eg_data.

•    Установите
гамма-материал на компьютер пользователя при помощи утилиты excont_mgr set_gamma. Формат команды:

excont_mgr set_gamma -sf eg_data

-sf
eg_data
– файл с устанавливаемым с гамма-материалом.

•    Перезагрузите
С-Терра Шлюз.

(Утилиты
egamma_gen и excont_mgr
описаны в документе «Специализированные команды»).

•    Если
используется СКЗИ «КриптоПро CSP»:

•    На
отдельной машине, с установленными СКЗИ «КриптоПро CSP» (класс защиты
КС2/КС3) и установленным средством доверенной загрузки, поддерживающим
функциональность ДСЧ, создайте необходимое количество файлов с гаммой
на внешнем носителе (для каждого шлюза создается собственный файл).

Для изготовления
внешней гаммы в командной строке запустите утилиту genkpim,
например:

genkpim.exe 500 12121111 f:gamma

500
– необходимое количество случайных отрезков гаммы для записи на носитель,

12121111
– номер комплекта внешней гаммы (8 символов в 16-ричном коде),

f:gamma
– путь на носителе, по которому будет записан файл с внешней гаммой.

В результате
выполнения команды создается файл kis_1,
который записывается на носитель по пути f:gamma
дублированием в два каталога: DB1 и DB2.

•    Изготовленную
внешнюю гамму можно установить на С-Терра Шлюз независимо от используемой
криптобиблиотеки, будут различаться лишь выполняемые действия:

•    В
случае использования СКЗИ «КриптоПро CSP», выполните копирование файлов
с внешней гаммой с носителя на С-Терра Шлюз в следующие каталоги:
/var/opt/cprocsp/dsrf/db1/ и /var/opt/cprocsp/dsrf/db2/
соответственно.

•    В
случае использования криптобиблиотеки от компании «С-Терра СиЭсПи»,
выполните копирование одного файла с внешней гаммой с носителя на
С-Терра Шлюз, в каталог /var/s-terra/ext-gamma.
Переименуйте файл с внешней гаммой в eg_data.
В конфигурационном файле /etc/S-Terra/skzi.conf
должен быть прописан путь до каталога с внешней гаммой:ExtGammaPath=/var/s-terra/ext-gamma.

•    Перезагрузите
С-Терра Шлюз.

Настройка шлюза для предоставления vpn доступа

  • Дальнейшая настройка производится в веб-интерфейсе СУ NGate с использованием
    АРМ Администратора. Для тестового стенда,
    необходимо подключиться по https:// к порту 8000, в данном примере
    используется hostname машины: ngate-vm-complete.
    1. Запустите браузер с поддержкой TLS
      по ГОСТ. В адресной строке введите:
      https://ngate-vm-complete:8000. При
      аутентификации необходимо ввести логин административного пользователя
      системы управления ng-admin и пароль, заданные при установке ПО
      NGate.
    2. Подключите ключевой носитель, с контейнером закрытого ключа
      администратора, который был создан при настройке демонстрационного
      стенда
      и выберите нужный контейнер. Введите пароль от
      контейнера, если пароль был задан при создании контейнера закрытого
      ключа.
  • После успешного подключения к веб-интерфейсу создайте кластер: на боковой панели нажмите кнопку Add
    cluster
    .
  • Введите имя кластера и нажмите Дружим Check Point и ГОСТовое шифрование / ХабрSave.
  • Создадим Узел NGate: нажмите Edit
    Node
    на вкладке Nodes меню кластера.
  • Задайте произвольное имя Узла NGate. Задайте сетевой адрес управления Узла
    (Management IP: 127.0.0.1 .
    Нажмите Дружим Check Point и ГОСТовое шифрование / ХабрSave для сохранения настроек
    Узлов.

    Прим.: В данном примере используется вариант реализации шлюза при котором система
    управления и Узел кластера физически находятся на одной машине, поэтому
    адрес Узла NGate и будет иметь значение
    127.0.0.1.

  • Создайте конфигурацию: на вкладке Configuration нажмите
    Дружим Check Point и ГОСТовое шифрование / Хабр Add
  • Введите произвольное имя конфигурации, остальные параметры по умолчанию.
    Нажмите Дружим Check Point и ГОСТовое шифрование / ХабрSave.
  • В только что созданной конфигурации создайте HTTP-портал: на вкладке
    Portals нажмите Дружим Check Point и ГОСТовое шифрование / ХабрHTTP potral.
  • Укажите произвольное имя портала. Задайте параметры Server
    Name
    и User authentification type, для
    бесклиентского доступа. Остальные параметры оставьте без изменений. После
    завершения настройки нажмите Дружим Check Point и ГОСТовое шифрование / ХабрSave.

    В поле User authentification type выберите тип
    аутентификации Certificate (O/OU). Пользователи будут
    получать доступ, используя доверенные клиентские сертификаты, формирование
    которых также будет описано ниже.

  • Перейдём к настройке ACL (access control list) — правила получения доступа
    пользователя к защищаемым ресурсам.
  • В поле Name введите наименование правила в системе
    Certificate ACL. Затем выберите из выпадающего меню имя
    поля OID в поле Field name or OID:
    O/OU. В двух полях Field value
    введите inc / dep. Сохраните
    Certificate ACL: Дружим Check Point и ГОСТовое шифрование / Хабр Save.
  • Теперь перейдем к работе с ключами и сертификатами. Для выпуска серверного и
    клиентских сертификатов в данном примере используется один из тестовых УЦ
    КРИПТО-ПРО (https://testgost2022.cryptopro.ru/certsrv/). Для доступа в тестовый УЦ используйте
    браузер с поддержкой ГОСТ).

    Выберите в основном меню тестового УЦ действие Получение сертификата
    Удостоверяющего Центра или действующий список отозванных
    сертификатов
    .

  • Получите корневой сертификат УЦ в формате Base 64. Корневой сертификат
    (по умолчанию файл certnew.cer) будет сохранён на АРМ
    Администратора.
  • Импортируйте корневой сертификат в NGate. Выберите в меню веб-итнтерфейса
    NGate: .
  • Выберите в меню выбора файлов браузера полученный в тестовом УЦ файл
    сертификата certnew.cer.
  • Проверьте параметры корневого сертификата введите в поле
    Name наименование сертификата в системе и нажмите
    Дружим Check Point и ГОСТовое шифрование / Хабр Save.
  • Корневой сертификат успешно добавлен.
  • Сгенерируйте внешнюю гамму. Это можно сделать на АРМ Администратора при помощи
    утилиты genkpim из пакета КриптоПро CSP:
    genkpim.exe.

    Введите в консоль команду вида: .genkpim.exe y ABC12345
    C:\gamma
    , где «y» – количество отрезков
    гаммы, в нашем примере нужно создать 8; «ABC12345» –
    номер комплекта внешней гаммы (задайте произвольно 8 символов в
    шестнадцатеричном коде); «C:\gamma» – путь сохранения
    файлов гаммы (директория gamma в данном примере уже создана
    заранее).

  • Затем сгенерируйте случайную последовательность символов при помощи мыши и
    клавиатуры.
  • Загрузите файл гаммы через веб-интерфейс: зайдите в меню Дружим Check Point и ГОСТовое шифрование / Хабр Gamma Upload, затем
    выберите файл гаммы вида kis_1 и нажмите Дружим Check Point и ГОСТовое шифрование / Хабр Upload.
  • Следующим действием следует создать Серверный мандат (англ.
    Server credential
    ), который состоит из сертификата и закрытого ключа и
    необходим для организации защищённого TLS соединения между шлюзом NGate и
    соответствующим приложением на клиентском устройстве пользователя. Перейдите на
    страницу создания серверных мандатов и войдите в окно генерации запроса:
  • В окне генерации запроса на Серверный сертификат введите обязательные
    параметры: имя Name мандата в системе, алгоритм шифрования
    Algorithm (в данном примере GOST 2022
    256bit
    ). Самым важным полем в форме запроса является поле
    Subject CN. Значение данного поля должно совпадать в данном примере с
    именем машины [hostname] шлюза. Это же имя добавьте в поле DNS
    names
    .

    Прим.: В тестовой сети DNS-сервер отсутствует, то в файле hosts
    клиентского компьютера придется прописать соответствие адреса внешнего
    интерфейса шлюза его имени.

  • Скопируйте текст запроса из поля Request text кнопкой
    Дружим Check Point и ГОСТовое шифрование / Хабр Copy.
  • Перейдите к веб-интерфейсу уже использовавшегося тестового УЦ и нажмите на Отправить
    готовый запрос PKCS#10 или PKCS#7 в кодировке Base64
    .
  • Вставьте запрос на сертификат в соответствующее поле Сохранённый
    запрос
    и нажмите Выдать >.
  • Выберите формат шифрования сертификата Base 64 и нажмите
    Загрузить сертификат.
  • Откройте ранее созданный запрос на сертификат на странице Server
    Credentials
    кнопкой Дружим Check Point и ГОСТовое шифрование / Хабр Edit. Выбрать и открыть полученный
    файл сертификата и нажмите Дружим Check Point и ГОСТовое шифрование / Хабр Upload.
  • Серверный мандат успешно сформирован и добавлен в ПО NGate.
  • Вернитесь к настройке конфигурации. Далее создадим туннельный ресурс, который
    будет опубликован на портале:
  • Введите параметры ресурса. Задайте имя ресурса Name в
    системе. В поле Suffix часть имени URL ресурса, например
    local. Остальные параметры оставьте по умолчанию.
    Сохраните настройки Дружим Check Point и ГОСТовое шифрование / Хабр Save.
  • Профиль ресурса успешно создан и доступен для добавления в конфигурацию.
  • Создайте элемент подсетей: на вкладке Networks нажмите
    Дружим Check Point и ГОСТовое шифрование / ХабрAdd Network group.
  • Введите имя элемента подсетей в системе в поле Name.
    Нажмите Add в поле Subnets и введите
    параметры подсетей 192.168.100.0 и маски подсети
    255.255.255.0. Нажмите Дружим Check Point и ГОСТовое шифрование / Хабр Save для сохранения.
  • Теперь перейдите в свойства портала (выберем нужный портал на вкладке
    Portals конфигурации) и нажмите кнопку
    Дружим Check Point и ГОСТовое шифрование / ХабрAdd dynamic tunnel rules, чтобы
    создать новое правило доступа к туннельным ресурсам.
  • Выберите Default route domain в выпадающем меню.
  • Выберите Группы доступа (Groups) и Подсети
    (Networks), которые будут присоединены к порталу.
    Кликните по профилям в соответствующих полях и нажмите Дружим Check Point и ГОСТовое шифрование / Хабр Save.
  • Выполните привязку к порталу ранее добавленного Серверного мандата
    (Server credential). Перейдите на вкладку
    Certificates настроек портала и нажатие кнопку
    Assign в поле Server Credentials
    для входа в меню привязки.
  • Выполните привязку ранее добавленного Серверного мандата (Server
    credentials
    ), установите галочку Дружим Check Point и ГОСТовое шифрование / Хабр в поле сертификата и нажмите Дружим Check Point и ГОСТовое шифрование / Хабр Save.
  • Выполните привязку ранее добавленного Сертификат УЦ проверки подлинности
    серверного мандата (Сredentials CA Certificates). Для входа
    в меню привязки нажмите Assign в соответствующем
    поле.
  • В соответствующем поле сертификата УЦ установите галочку Дружим Check Point и ГОСТовое шифрование / Хабр и нажмите Дружим Check Point и ГОСТовое шифрование / Хабр Assign для привязки и возврата в
    меню сертификатов портала.
  • Выполните привязку ранее добавленного Сертификата доверенного УЦ
    (Trusted CA certificates) для проверки подлинности
    клиентских сертификатов. Для входа в меню привязки нажмите
    Assign в соответствующем поле.
  • Выберите Assign в соответствующем поле и установите
    галочку Дружим Check Point и ГОСТовое шифрование / Хабр в поле сертификата, нажмите
    Дружим Check Point и ГОСТовое шифрование / Хабр Save
  • После выполнения всех предыдущих пунктов опубликуйте конфигурацию: перейдите на
    главную страницу конфигурации и нажмите кнопку Дружим Check Point и ГОСТовое шифрование / Хабр Publish возле названия
    конфигурации.
  • Дождитесь завершения публикации. Если публикация конфигурации прошла успешно,
    то будет выведено сообщение Дружим Check Point и ГОСТовое шифрование / Хабр.
  • Далее настройте ресурс в защищаемом сегменте сети. В данном примере будет
    использован хост с ОС Ubuntu с запущенным на порту 80 веб-сервером nginx.
    В качестве адреса шлюза введен адрес внутреннего интерфейса шлюза NGate (для
    демонстрационного стенда в данном примере:
    192.168.1.3).
    1. Создайте виртуальную машину с параметрами достаточными для работы
      Ubuntu, используемой версии.
    2. Установите ОС Ubuntu на виртуальную машину.
    3. Запустите nginx. Для Ubuntu, начиная с версии 16.04, необходимые
      пакеты доступны по умолчанию. Введите команду для запуска
      nginx:

      sudo apt install nginx

  • Настройте сетевое взаимодействие между шлюзом NGate и виртуальной машиной с
    защищаемыми ресурсами.

    Прим.: В демонстрационном стенде в данном примере будет создано простое сетевое
    взаимодействие между шлюзом и машиной с Ubuntu с применением статической
    адресации.

    1. Настройте на машине Ubuntu сетевой статический адрес в той же подсети,
      что и внутренний сетевой адрес демонстрационного
      стенда
      . Для используемого в примере стенда это:
      192.168.1.3.
    2. Настройте на виртуальных машинах тип сетевого интерфейса LAN
      segment
      .
    3. Произведите тестовый пинг с шлюза и машины с ресурсами, чтобы проверить
      взаимную доступность.
    4. Настройте передачу данных с машины с ресурсами на шлюз.
  • В качестве проверки работоспособности будет произведена отправка на ICMP
    пакетов на шлюз NGate. Также будет продемонстрирован доступ на страничку
    приветствия nginx. Процесс установки и настройки клиентской машины описан
    в разделе: Настройка пользовательской машины и подключение к шлюзу NGate с помощью VPN доступа.
  • Оцените статью
    ЭЦП64
    Добавить комментарий