Создание и установка сертификатов на узлах

06 октября 2026

ID 320877

Для защищенного взаимодействия между компонентами оркестратора создайте сертификаты для MongoDB, Redis, Redis Sentinel и самого оркестратора. Все действия c сертификатами необходимо выполнить на узле Node_1.

Чтобы создать центр хранения сертификатов и самоподписанные сертификаты, выполните следующие команды:

  1. Создайте структуру каталогов для хранения сертификатов компонентов установки на узле:

    mkdir -p -m 0755 $HOME/ssl/ca

    mkdir -p -m 0755 $HOME/ssl/mongo

    mkdir -p -m 0755 $HOME/ssl/redis

    mkdir -p -m 0755 $HOME/ssl/redis-sentinel

    mkdir -p -m 0755 $HOME/ssl/orc

  2. Создайте самоподписанный корневой сертификат. Для этого:
    1. Создайте закрытый ключ:

      openssl genpkey -algorithm RSA -out $HOME/ssl/ca/certificate.key -pkeyopt rsa_keygen_bits:4096

    2. Создайте корневой сертификат:

      openssl req -x509 -new -key $HOME/ssl/ca/certificate.key \

      -subj "/C=RU/ST=Moscow/O=Kaspersky/CN=*" \

      -addext "basicConstraints=critical,CA:TRUE" \

      -addext "keyUsage=critical,keyCertSign" \

      -days 3650 -out $HOME/ssl/ca/certificate.pem

  3. Создайте сертификаты компонентов инсталляции:
    • MongoDB
      1. Создайте закрытый ключ:

        openssl genpkey -algorithm RSA -out $HOME/ssl/mongo/cert.key -pkeyopt rsa_keygen_bits:4096

      2. Создайте сертификат:

        openssl req -x509 -new -key $HOME/ssl/mongo/cert.key \

        -subj "/C=RU/ST=Moscow/L=Moscow/O=LK/OU=LK/CN=mongo" \

        -addext "subjectAltName=DNS:mongo,IP:127.0.0.1,IP:$NODE_1,IP:$NODE_2,IP:$NODE_3,IP:$NODES_VIP" \

        -CA $HOME/ssl/ca/certificate.pem \

        -CAkey $HOME/ssl/ca/certificate.key \

        -out $HOME/ssl/mongo/cert.pem \

        -days 365

      3. Объедините созданный ключ и сертификат в один файл:

        cat $HOME/ssl/mongo/cert.key $HOME/ssl/mongo/cert.pem > $HOME/ssl/mongo/combined.pem

    • Redis
      1. Создайте закрытый ключ:

        openssl genpkey -algorithm RSA -out $HOME/ssl/redis/cert.key -pkeyopt rsa_keygen_bits:4096

      2. Создайте сертификат:

        openssl req -x509 -new -key $HOME/ssl/redis/cert.key \

        -subj "/C=RU/ST=Moscow/L=Moscow/O=LK/OU=LK/CN=redis" \

        -addext "subjectAltName=DNS:redis,IP:127.0.0.1,IP:$NODE_1,IP:$NODE_2,IP:$NODE_3,IP:$NODES_VIP" \

        -CA $HOME/ssl/ca/certificate.pem \

        -CAkey $HOME/ssl/ca/certificate.key \

        -out $HOME/ssl/redis/cert.pem \

        -days 365

      3. Сконвертируйте ключ:

        openssl pkcs8 -topk8 -in $HOME/ssl/redis/cert.key -out $HOME/ssl/redis/key.pem -nocrypt

    • Redis Sentinel
      1. Создайте закрытый ключ:

        openssl genpkey -algorithm RSA -out $HOME/ssl/redis-sentinel/cert.key -pkeyopt rsa_keygen_bits:4096

      2. Создайте сертификат:

        openssl req -x509 -new -key $HOME/ssl/redis-sentinel/cert.key \

        -subj "/C=RU/ST=Moscow/L=Moscow/O=LK/OU=LK/CN=redis-sentinel" \

        -addext "subjectAltName=DNS:redis-sentinel,IP:127.0.0.1,IP:$NODE_1,IP:$NODE_2,IP:$NODE_3,IP:$NODES_VIP" \

        -CA $HOME/ssl/ca/certificate.pem \

        -CAkey $HOME/ssl/ca/certificate.key \

        -out $HOME/ssl/redis-sentinel/cert.pem \

        -days 365

      3. Сконвертируйте ключ:

        openssl pkcs8 -topk8 -in $HOME/ssl/redis-sentinel/cert.key -out $HOME/ssl/redis-sentinel/key.pem -nocrypt

    • Бэкенд-сервис оркестратора
      1. Создайте закрытый ключ:

        openssl genpkey -algorithm RSA -out $HOME/ssl/orc/cert.key -pkeyopt rsa_keygen_bits:4096

      2. Сконвертируйте ключ:

        openssl pkcs8 -topk8 -in $HOME/ssl/orc/cert.key -out $HOME/ssl/orc/key.pem -nocrypt

      3. Создайте сертификат:

        openssl req -x509 -new -key $HOME/ssl/orc/cert.key \

        -subj "/C=RU/ST=Moscow/L=Moscow/O=LK/OU=LK/CN=orc" \

        -addext "subjectAltName=DNS:orc,IP:127.0.0.1,IP:$NODE_1,IP:$NODE_2,IP:$NODE_3,IP:$NODES_VIP" \

        -CA $HOME/ssl/ca/certificate.pem \

        -CAkey $HOME/ssl/ca/certificate.key \

        -out $HOME/ssl/orc/cert.pem \

        -days 365

      4. Создайте хранилище ключей (PKCS12 KeyStore):

        openssl pkcs12 -export \

        -in $HOME/ssl/orc/cert.pem \

        -inkey $HOME/ssl/orc/cert.key \

        -certfile $HOME/ssl/ca/certificate.pem \

        -out $HOME/ssl/orc/keyStore.p12 \

        -name "orc" \

        -passout env:ORC_KEY_PASS && \

        chmod 644 $HOME/ssl/orc/keyStore.p12

      5. Добавьте в хранилище CA-сертификат:

        keytool -importcert -alias ca \

        -file $HOME/ssl/ca/certificate.pem \

        -keystore $HOME/ssl/orc/keyStore.p12 \

        -storetype PKCS12 \

        -storepass $ORC_KEY_PASS \

        -trustcacerts -noprompt

      6. Создайте хранилище доверенных сертификатов (PKCS12 TrustStore):

        openssl pkcs12 -export \

        -name "orc" \

        -inkey $HOME/ssl/orc/cert.key \

        -in $HOME/ssl/orc/cert.pem \

        -certfile $HOME/ssl/ca/certificate.pem \

        -out $HOME/ssl/orc/trustStore.p12 \

        -passout env:ORC_KEY_PASS && \

        chmod 644 $HOME/ssl/orc/trustStore.p12

      7. Добавьте в хранилище CA-сертификат:

        keytool -importcert -alias ca \

        -file $HOME/ssl/ca/certificate.pem \

        -keystore $HOME/ssl/orc/trustStore.p12 \

        -storetype PKCS12 \

        -storepass $ORC_KEY_PASS \

        -trustcacerts -noprompt

      8. Распространите сертификаты на узле Node_1:

        Если вы выполняете этот шаг на Astra Linux, выполните команды:

        scp -r ssl $NODE_2:/tmp

        scp -r ssl $NODE_3:/tmp

      9. Распространите сертификаты Node_2 и Node_3:

        Если вы выполняете этот шаг на Astra Linux, выполните команды:

        cp -r /tmp/ssl $HOME

        Если вы выполняете этот шаг на Ubuntu, распространите сертификаты на узлах Node_1 и Node_2:

        sudo chown -R 999:999 ssl/redis/:

Центр хранения сертификатов будет создан, сертификаты будут добавлены в хранилище.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!