Управление сертификатами TLS/SSL#
В этом документе описываются следующие операции с сертификатами TLS, используемыми для защиты подключения к различным компонентам платформы Astra Automation:
настройка платформы на использование сертификатов, выданных удостоверяющим центром;
перевыпуск самоподписанного сертификата средствами платформы;
самостоятельная генерация самоподписанного сертификата.
Все приведенные ниже инструкции необходимо выполнять на установочном узле.
Использование сертификатов TLS, выданных удостоверяющим центром#
Чтобы использовать для защиты подключения к компонентам платформы сертификаты, выданные удостоверяющим центром, выполните следующие действия:
Убедитесь, что используемые сертификаты удовлетворяют требованиям, указанным в документе Сертификаты TLS/SSL.
Скопируйте сертификаты и соответствующие им ключи в каталог
/opt/rbta/aa/astra-automation-setup/
или один из его подкаталогов.Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/
:cd /opt/rbta/aa/astra-automation-setup/
В файле
inventory
укажите пути к файлам сертификатов и соответствующих им ключей:web_server_ssl_cert
иweb_server_ssl_key
– сертификат и ключ для веб-сервера Astra Automation Controller.Если для каждого узла из плоскости управления Astra Automation Controller выпущен отдельный сертификат, укажите пути к файлам в свойствах узлов, например:
[automationcontroller] ctrl1.example.com ansible_host=192.0.2.11 web_server_ssl_cert=/path/to/ctrl-cert1.pem web_server_ssl_key=/path/to/ctrl-key1.key ctrl2.example.com ansible_host=192.0.2.12 web_server_ssl_cert=/path/to/ctrl-cert2.pem web_server_ssl_key=/path/to/ctrl-key2.key ctrl3.example.com ansible_host=192.0.2.13 web_server_ssl_cert=/path/to/ctrl-cert3.pem web_server_ssl_key=/path/to/ctrl-key3.key
Если для всех узлов плоскости управления Astra Automation Controller используется один и тот же Wildcard-сертификат, пути к файлам можно указать в переменных группы
automationcontroller
:[automationcontroller] ctrl1.example.com ansible_host=192.0.2.11 ctrl2.example.com ansible_host=192.0.2.12 ctrl3.example.com ansible_host=192.0.2.13 [automationcontroller:vars] web_server_ssl_cert=/path/to/ctrl-cert.pem web_server_ssl_key=/path/to/ctrl-key.key
automationhub_ssl_cert
иautomationhub_ssl_key
– сертификат и ключ для Private Automation Hub.Если для каждого узла Private Automation Hub выпущен отдельный сертификат, укажите пути к файлам в свойствах узлов, например:
[automationhub] hub1.example.com automationhub_ssl_cert=/path/to/hub-cert1.pem automationhub_ssl_key=/path/to/hub-key1.key hub2.example.com automationhub_ssl_cert=/path/to/hub-cert2.pem automationhub_ssl_key=/path/to/hub-key2.key hub3.example.com automationhub_ssl_cert=/path/to/hub-cert3.pem automationhub_ssl_key=/path/to/hub-key3.key
Если для всех узлов Private Automation Hub используется один и тот же Wildcard-сертификат, пути к файлам можно указать в переменных группы
automationhub
:[automationhub] hub1.example.com hub2.example.com hub3.example.com [automationhub:vars] automationhub_ssl_cert=/path/to/hub-cert.pem automationhub_ssl_key=/path/to/hub-key.key
automationedacontroller_ssl_cert
иautomationedacontroller_ssl_key
– сертификат и ключ для Event-Driven Ansible Controller.Значения этих параметров необходимо указывать в секции
[all:vars]
:[all:vars] automationedacontroller_ssl_cert=/path/to/cert.pem automationedacontroller_ssl_key=/path/to/key.key
postgres_ssl_cert
иpostgres_ssl_key
– сертификат и ключ сервера СУБД PostgreSQL, развернутого средствами платформы Astra Automation.Значения этих параметров необходимо указывать в блоке
[all:vars]
, например:[all:vars] postgres_ssl_cert=/path/to/pg-cert.pem postgres_ssl_key=/path/to/pg-key.key
Для сервера PostgreSQL, развернутого иным способом, настройка этих параметров не требуется.
mesh_ca_certfile
иmesh_ca_keyfile
– сертификат и ключ для сети Mesh, используемой Astra Automation Controller.Значения этих параметров необходимо указывать в блоке
[all:vars]
, например:[all:vars] mesh_ca_certfile=/path/to/mesh-cert.pem mesh_ca_keyfile=/path/to/mesh-key.key
Совет
Заполнение инвентаря можно упростить с помощью использования переменных. Пример см. в разделе Использование переменных при заполнении инвентаря.
Если в секции
[all:vars]
присутствует параметрaap_service_regen_cert
, закомментируйте или удалите строку с ним.Запустите утилиту
aa-setup
:sudo ./aa-setup
Автоматизированный перевыпуск самоподписанного сертификата#
Чтобы перевыпустить и переустановить самоподписанный сертификат, используя средства платформы, выполните следующие действия:
Перейдите в каталог
/opt/rbta/aa/astra-automation-setup/
:cd /opt/rbta/aa/astra-automation-setup/
В файле
inventory
добавьте в секцию[all:vars]
переменнуюaap_service_regen_cert
со значениемtrue
:[all:vars] aap_service_regen_cert=true
Запустите утилиту
aa-setup
:sudo ./aa-setup
Удалите или закомментируйте добавленную ранее строку с параметром
aap_service_regen_cert
.
Использование самоподписанных сертификатов#
Чтобы выпустить самоподписанный сертификат вручную, выполните следующие действия:
Для генерации ключа выполните команду:
openssl genrsa -out /path/to/key.key 2048
Здесь
/path/to/key.key
– путь к файлу для сохранения ключа.Для выпуска сертификата на основе созданного ранее ключа выполните команду:
openssl req \ -x509 \ -sha256 \ -new \ -nodes \ -key /path/to/key.key \ -days 3650 \ -out /path/to/cert.pem \ -subj "/C=RU/ST=Moscow/L=Moscow/O=Company/OU=IT/CN=CertificateAuthority"
где:
-x509
– команда выпуска сертификата;-sha256
– алгоритм хэширования;-new
– создание нового сертификата;-key
– полный путь к файлу созданного ранее ключа;-days
– срок действия сертификата, в днях;-out
– путь к файлу для сохранения сертификата;-subj
– параметры сертификата:C
– двухсимвольный код страны в соответствии с ISO-3166-1;ST
– название региона, в котором зарегистрирована организация;L
– город, в котором зарегистрирована организация;O
– наименование организации в соответствии с уставом организации;OU
– наименование подразделения;CN
– FQDN веб-сервера.
Подробности об использовании команды
openssl
см. в документации OpenSSL.Установите сертификат согласно инструкций, приведенных в секции Использование сертификатов TLS, выданных удостоверяющим центром.