Как обновить SSL-сертификаты Printum
title: Как обновить SSL-сертификаты Printum
slug: ts-ssl-obnovlenie-sertifikatov
tags: [ssl, сертификат, обновление, истёк срок, балансировщик]
domain: Operations
type: Runbook
audience: partner-engineer
product_versions: "4.x"
status: ready
related_components: [Мониторинг, ПринтМенеджер, Балансировщик]
related_pages:
Как обновить SSL-сертификаты Printum
Когда использовать
- Истёк срок действия сертификатов.
- Изменился hostname или IP-адрес сервера.
- Требуется заменить сертификаты по требованиям ИБ.
Основные приципы
Обновление сертификатов системы производится путём запуска обновления Мониторинга и ПринтМенеджера. При обновлении требуется указать переменные, содержащие ссылки на локальные файлы сертификатов:
Примечание Если во время установки системы в конфигурации Singlenode использовались автоматические сертификаты, то по истечению срока действия требуется обновить их на собственные сертификаты организации.
Singlenode: обновление сертификатов ММониторинга
Офлайн метод:
tar xvf printum-x.x.x.tar.gz
cd printum-x.x.x
sudo -E SSL_CERT=/path/cert.crt \
SSL_KEY=/path/cert.key \
SSL_CERT_CA=/path/ca.crt ./install.sh
Онлайн метод:
sudo curl -L https://s3.printum.io/box/monitoring/install.sh | \
sudo -E SSL_CERT=/path/cert.crt \
SSL_KEY=/path/cert.key \
SSL_CERT_CA=/path/ca.crt bash
-s agent
Singlenode: обновление сертификатов ПринтМенеджер
Офлайн метод:
tar xvf printmanager-x.x.x.tar.gz
cd printmanager-x.x.x
sudo -E SSL_CERT=/path/cert.crt \
SSL_KEY=/path/cert.key \
SSL_CERT_CA=/path/ca.crt ./install.sh
Онлайн метод:
sudo curl -L https://s3.printum.io/distrib/printum-printmanager/install.sh | \
sudo -E SSL_CERT=/path/cert.crt \
SSL_KEY=/path/cert.key \
SSL_CERT_CA=/path/ca.crt bash
Балансировщик: обновление собственных сертификатов через скрипт
автоматической установкиВ файле config.ini обновить пути к новым сертификатам:
[General]
SSL_CERT_CA = /path/to/new/ca.crt
[Balancer]
SSL_CERT = /path/to/balancer/cert.crt
SSL_KEY = /path/to/balancer/cert.key
[Monitoring]
SSL_CERT = /path/to/monitoring/cert.crt
SSL_KEY = /path/to/monitoring/cert.key
[PrintManager_1]
SSL_CERT = /path/to/pm1/cert.crt
SSL_KEY = /path/to/pm1/cert.key
# [PrintManager_2], [PrintManager_3] — аналогично
Запустить скрипт:
sudo ./install_all_offline.sh
Балансировщик: перевыпуск автоматических сертификатов
для установки балансировщика вручнуюВыполнять на сервере балансировщика раз в год:
# Удалить все сертификаты
sudo rm -fr /opt/printum_balancer/certificates
# Выпустить новый корневой сертификат
sudo /opt/printum_balancer/scripts/generate_ca_cert.sh
# Перевыпустить сертификаты для всех серверов
cd /opt/printum_balancer/scripts
sudo ./regenerate_all_certs.sh \
-balancer <BALANCER_ADR> \
-pm <PM_1> \
-pm <PM_2> \
-pm <PM_3>
Где <BALANCER_ADR>, <PM_1>, <PM_2>, <PM_3> — те же адреса, что использовались при первоначальной установке.
Проверка после обновления
# Проверить срок действия нового сертификата М
openssl s_client -connect <адрес_М>:8001 </dev/null 2>/dev/null \
| openssl x509 -noout -dates
# Проверить синхронизацию М–ПМ
cd /opt/printmanager
sudo docker-compose logs printmanager-celery-print-queue --tail=50 | grep -i ssl
Ошибок SSL нет. Синхронизация завершается успешно.
Когда эскалировать
- Обновление сертификатов не устраняет SSL-ошибки.
- Цепочка доверия не проходит проверку.
- PKI управляется заказчиком.