Добавление TLS-сертификата на агенте

Для шифрования соединения между агентами и шлюзами необходимо использовать TLS-сертификат.

TLS-сертификат — это цифровой документ, позволяющий использовать протокол безопасного соединения TLS (Transport Layer Security). Наличие TLS-сертификата предоставляет следующие гарантии:

  • Ресурс, на котором расположен агент, является подлинным и не принадлежит злоумышленникам.

  • Передаваемая информация защищена от злоумышленников благодаря установке зашифрованного соединения между агентом и шлюзом.

Чтобы добавить TLS-сертификат на агент:

Добавление сертификатов выполняется после установки агента.

Генерация TLS-сертификата

В представленной инструкции в качестве примера используются файлы со следующими названиями:

  • ca.key — файл приватного ключа корневого сертификата;

  • ca.crt — файл корневого сертификата;

  • server.ext — файл конфигурации TLS-сертификата;

  • server.key — файл приватного ключа TLS-сертификата;

  • server.csr — файл запроса на выпуск TLS-сертификата;

  • server.crt — файл TLS-сертификата.

Чтобы сгенерировать TLS-сертификат, выполните на компьютере с установленным агентом следующие действия:

  1. Создайте файл server.ext со следующей конфигурацией TLS-сертификата:

    authorityKeyIdentifier=keyid,issuer
    
    basicConstraints=CA:FALSE
    
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    
    subjectAltName = @alt_names
    
    [alt_names]
    DNS.1 = <domain_name_1>
    ...
    DNS.N = <domain_name_N>

    Здесь:

    • <domain_name_1>, …​, <domain_name_N> — доменные имена шлюзов, с которыми необходимо настроить безопасное соединение.

    Пример конфигурации TLS-сертификата
    authorityKeyIdentifier=keyid,issuer
    
    basicConstraints=CA:FALSE
    
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    
    subjectAltName = @alt_names
    
    [alt_names]
    DNS.1 = worker01.rpoint.local
    DNS.2 = worker02.rpoint.local
    DNS.3 = worker03.rpoint.local
  2. Создайте приватный ключ ca.key для корневого сертификата:

    openssl genrsa -out ca.key 4096
  3. Создайте самоподписанный корневой сертификат ca.crt:

    openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt
  4. Создайте приватный ключ server.key для TLS-сертификата:

    openssl genrsa -out server.key 2048
  5. Создайте запрос на выпуск сертификата server.csr:

    openssl req -new -key server.key -out server.csr
  6. Подпишите запрос server.csr с помощью корневого сертификата ca.crt:

    openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 825 -sha256 -extfile server.ext

    В результате будет сгенерирован файл TLS-сертификата server.crt.

Установка корневого сертификата на компьютере с агентом

В представленной инструкции в качестве примера используется файл корневого сертификата ca.crt.

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

Процесс установки корневого сертификата отличается в зависимости от используемой ОС:

Установка корневого сертификата в ОС Linux

В инструкции для установки сертификата в ОС Linux используется пакет ca-certificates:

Чтобы установить корневой сертификат в ОС Linux:

  • Для Debian-подобных дистрибутивов:

    1. Скопируйте файл корневого сертификата в каталог /usr/local/share/ca-certificates/:

      cp <path_to_cert> /usr/local/share/ca-certificates/

      Здесь:

      • <path_to_cert> — полный путь до файла корневого сертификата ca.crt.

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

      update-ca-certificates

      Корневой сертификат будет добавлен в список доверенных.

  • Для RedHat-подобных дистрибутивов:

    1. Скопируйте файл корневого сертификата в каталог /etc/pki/ca-trust/source/anchors/:

      cp <path_to_cert> /etc/pki/ca-trust/source/anchors/

      Здесь:

      • <path_to_cert> — полный путь до файла корневого сертификата ca.crt.

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

      update-ca-trust

      Корневой сертификат будет добавлен в список доверенных.

Установка корневого сертификата в ОС Windows

Чтобы установить корневой сертификат в ОС Windows:

  1. Откройте диспетчер сертификатов. Для этого выполните следующие действия:

    1. Нажмите сочетание клавиш WIN+R. Откроется окно Выполнить.

    2. Введите в окне certlm.msc и нажмите ОК.

  2. Перейдите в раздел Доверенные корневые центры сертификации → Сертификаты с помощью дерева разделов в диспетчере сертификатов.

  3. Выполните команду Все задачи → Импорт в контекстном меню раздела Доверенные корневые центры сертификации → Сертификаты в дереве разделов. Откроется мастер импорта сертификатов.

  4. Нажмите Далее на стартовой странице мастера.

  5. Выберите файл корневого сертификата ca.crt на странице выбора сертификата и нажмите Далее.

  6. Удостоверьтесь, что на странице выбора хранилища выбран вариант Поместить все сертификаты в следующее хранилище и выбрано хранилище Доверенные корневые центры сертификации. Нажмите Далее.

  7. Проверьте корректность указанных параметров на странице завершения импорта и нажмите Готово. Корневой сертификат будет добавлен в список доверенных.

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

  1. Дважды нажмите на файл сертификата ca.crt. Откроется окно свойств сертификата.

  2. На вкладке Общее нажмите на кнопку Установить сертификат. Откроется мастер импорта сертификатов.

  3. На стартовой странице мастера выберите расположение хранилища Локальный компьютер и нажмите Далее.

  4. На странице выбора хранилища выполните следующие действия:

    1. Выберите вариант Поместить все сертификаты в следующее хранилище.

    2. Выберите хранилище Доверенные корневые центры сертификации.

    3. Нажмите Далее.

  5. Проверьте корректность указанных параметров на странице завершения импорта и нажмите Готово. Корневой сертификат будет добавлен в список доверенных.

Установка корневого сертификата в macOS

Чтобы установить корневой сертификат в macOS:

  1. Откройте приложение Связка ключей.

  2. Откройте приложение Finder и найдите в нем файл корневого сертификата ca.crt. Перетащите найденный файл в окно приложения Связка ключей.

  3. Перейдите на вкладку Сертификаты в приложении Связка ключей.

  4. Дважды нажмите на добавленный корневой сертификат. Откроется окно сведений о сертификате.

  5. Раскройте группу параметров Доверие и для каждого параметра выберите вариант Всегда доверять. Корневой сертификат будет добавлен в список доверенных.

Вы также можете установить корневой сертификат в macOS с помощью команды:

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain <path_to_cert>

Здесь:

  • <path_to_cert> — полный путь до файла корневого сертификата ca.crt.