Skip to main content

Требования к SSL-сертификатам для Printum


title: Требования к SSL-сертификатам для Printum slug: trebovaniya-k-ssl-sertifikatam tags: [ssl, сертификат, tls, SAN, требования, установка] domain: Security type: Reference audience: partner-engineer product_versions: "4.x" status: ready related_components: [Мониторинг, ПринтМенеджер, Балансировщик] related_pages:

    kak-obnovit-printum ts-ssl-hostname-mismatch ts-ssl-self-signed-in-chain ts-ssl-unable-to-get-local-issuer

    Требования к сертификатам безопасности

    Когда использовать

    Перед выпуском собственных сертификатов для установки или обновления Printum.


    Состав сертификатов

    Для базовой (сингл) схемы нужны три файла:

    Файл Описание
    ca.crt Корневой сертификат (CA)
    server.crt Сертификат сервера
    server.key Закрытый ключ сертификата сервера

    Если используется промежуточный CA — он тоже должен быть передан отдельным файлом.

    Для схемы с балансировщиком — отдельный сертификат и ключ для каждого сервера (HAProxy, Мониторинг, каждый ПринтМенеджер, сервер БД+NFS).


    Привязка сертификата

    • Установка по системы IP: сертификат выпускается на IP-адрес сервера.
    • Установка по системы FQDN: сертификат выпускается на FQDN (доменному имени).

    Должно соблюдаться соответствие между адресом сервера и адресом в выпускаемом сертификате: если система установлена по FQDN, а сертификат выпущен на IP или наоборот — возникнет ошибка Hostname mismatch.


    Обязательные атрибуты

    SSL-сертификат сервера:

    • X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication
    • X509v3 Subject Alternative Name (SAN) — обязателен. Должен содержать все адреса сервера:
    DNS:server1.example.com
    DNS:server1
    IP:10.0.0.1
    

    Без SAN будет ошибка unable to get local issuer certificate.

    Корневой сертификат (CA):

    • X509v3 Key Usage: Digital Signature, Certificate Sign

    Формат

    • Данные в сертификатах — в незашифрованном текстовом виде, кодировка UTF-8.
    • Поддерживаемые расширения: .cer, .crt, .pem (для сертификатов), .key (для ключа).
    • Корневой сертификат — отдельный файл. Нельзя включать его содержимое в server.crt.

    Типовые ошибки и их причины

    Ошибка в логах Причина
    Hostname mismatch Адрес сервера не совпадает с CN или SAN сертификата
    self signed certificate in certificate chain Содержимое CA включено в server.crt
    unable to get local issuer certificate Отсутствует поле SAN в сертификате

    Подробнее — в соответствующих troubleshooting-статьях (ссылки ниже).


    Схема с балансировщиком HAProxy

    Сертификат и ключ к нему должны быть предоставлены отдельно для каждого сервера. Корневой сертификат остаётся общим.

    Пример комплекта сертификатов для развёртывания системы в конфигурации балансировщика:

    Сервер Роль
    Сервер HAProxy Балансировщик
    Сервер 1 Мониторинг
    Сервер 2 ПринтМенеджер №1
    Сервер 3 ПринтМенеджер №2
    Сервер 4 ПринтМенеджер №3
    Сервер 5 База данных ПринтМенеджеров и NFS-хранилище

    Необходимые файлы:

    • Корневой сертификат (.cer/.crt/.pem) — один общий для всех серверов.
    • Сертификат сервера и ключ — для каждого из 6 серверов отдельно.

    Примечание: Для филиальных ПринтМенеджеров требуются собственные сертификаты с общим корневым сертификатом.


    Альтернатива: автоматические сертификаты

    Мониторинг и ПМ позволяют использовать самоподписанные сертификаты, автоматически генерируемые при установке без дополнительных параметров. Самоподписанные сертификаты подходят для работы системы в конфигурации сингл, где Мониторинг и ПМ устанавливаются на один сервер. При использовании самоподписанных сертификатов веб-браузеры будут показывать предупреждение о недоверии на входе в ЛК и панели администратора.