Для перемещения по дереву справки используйте строки заголовка.

Справка по NSG Linux 2.1.3
Дерево команд: tunnel.uitcp.configure.ssl.…далее…

Что это такое?

Это глобальные параметры SSL/TLS (для устройства в целом).

Зачем это нужно?

Для взаимной аутентификации сторон и защиты данных в туннеле.

Как это настроить?

Безопасность обмена данными по туннелю uiTCP обеспечивается с помощью библиотеки OpenSSL. Система предусматривает аутентификацию сторон (одно- или двустороннюю) с использованием сертификатов X.509 и защиту данных с помощью асимметричного ключа. Таким образом, возможности uiTCP в этом отношении эквивалентны SSH, STunnel, OpenVPN, HTTPS и другим протоколам, использующим SSL/TLS. Подробная информация об организации безопасных соединений данного типа доступна в соответствующей литературе и на Web-ресурсах, посвящённых SSL/TLS.

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

  1. Корневым сертификатом, с помощью которого устанавливается подлинность сертификата удалённой стороны.
  2. Собственным сертификатом, который передаётся удалённой стороне по её требованию; сертификат содержит в себе открытый ключ.
  3. Собственным закрытым ключом и, при необходимости, паролем к нему.
  4. Списком действительных либо недействительных (отозванных) сертификатов, либо набором этих сертификатов полностью — в зависимости от алгоритма их проверки. По существу, это требуется только на сервере (для контроля скомпрометированных клиентов), поскольку компрометация сервера — событие экстраординарное и безусловно требующее ручной перенастройки всей системы безопасности. В данной реализации uiTCP используется проверка по набору действительных сертификатов. В случае компрометации клиента его сертификат просто удаляется.

Ключи и сертификаты генерируются стандартными средствами OpenSSL и могут быть созданы как на одном из устройств NSG (самоподписанные), так и сторонним удостоверяющим центром. Ключи и сертификаты представляют собой файлы в формате PEM. Созданные сертификаты (как правило, на сервере uiTCP) необходимо переносить на клиентские устройства любым безопасным способом (USB Flash, SSH/SFTP, или внутри защищённой локальной сети). Подробнее о процедуре генерации и размещения сертификатов...

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

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

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

Насткойка SSL/TLS может выполняться как глобально для всего устройства, так и локально для отдельных клиентов или туннелей. Если какой-либо параметр при этом описан дважды, то приоритетным является значение, указанное более специфичным образом. В частности, по этой причине выключить SSL/TLS возможно только локально в настройках клиента/туннеля.

ВНИМАНИЕ! Сертификаты имеют конечный срок действия. Во избежание потери связи с клиентами необходимо заблаговременно обновлять сертификаты, срок действия которых истекает.
ВНИМАНИЕ! Для работы SSL необходимо, чтобы на всех устройствах было корректно установлено системное время. Настоятельно рекомендуется синхронизировать все устройства от единого сервера NTP, доступного по открытому каналу или, как минимум, без использования сертификатов.

Подробнее см. справку по вложенным узлам.

Что делать, если это не работает?

  1. Смотреть журнал uiTCP на обеих сторонах.
  2. Убедиться, что необходимые файлы ключенй и сертификатов находятся на устройствах в директориях и под именами, указанными явно или принятыми по умолчанию.
  3. Убедиться, что на устройствах корректно установлено системное время и сертификаты сгенерированы корректно относительно этого времени.
  4. Убедиться, что сертификаты клиентов скопированы в директорию capath на сервере, и выполнить скрипт rehash (с правами пользователя root в его консольной оболочке bash).

© Network Systems Group 2015–2024 Отдел документации