Как обновить 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:
- trebovaniya-k-ssl-sertifikatam
- kak-obnovit-printum
Как обновить SSL-сертификаты Printum
Когда использовать
- Истёк срок действия сертификатов.
- Изменился hostname или IP-адрес сервера.
- Требуется заменить сертификаты по требованиям ИБ.
Singlenode: обновление сертификатов М
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: обновление сертификатов ПринтМенеджер
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 управляется заказчиком.