Skip to main content

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

Назначение

Состав, формат и обязательные атрибуты SSL-сертификатов для установки Printum. Набор файлов зависит от схемы установки и способа привязки (по IP или по FQDN):

Конфигурация Что требуется
Сингл Один комплект сертификатов (корневой + серверный + ключ) на весь сервер
Кластер Active-Active Отдельный сертификат и ключ на каждый сервер, корневой сертификат общий
Филиальная сеть Собственный сертификат на сервере каждого филиального ПринтМенеджера, корневой сертификат общий

Можно ли использовать автоматически создаваемые сертификаты?

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

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

Сингл

Нужны три файла:

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

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

Кластер

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

Все сертификаты должны быть выпущены одним корневым удостоверяющим центром (CA).

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

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

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

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

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

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

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

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

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

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

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

SSL-сертификат сервера должен соответствовать следующим требованиям:

  • X509v3 Extended Key Usage — TLS Web Server Authentication, TLS Web Client Authentication.
  • Алгоритм — RSA, длина ключа не менее 2048 бит.
  • X509v3 Subject Alternative Name (SAN) — обязателен и должен содержать все доменные имена и/или IP-адреса, по которым будет доступен сервер.

Пример SAN для одного сервера:

DNS:server1.example.com
DNS:server1
IP:10.0.0.1

В кластере у каждого сервера — свой сертификат с собственным набором SAN (свои DNS-имена и IP); общий сертификат с одним SAN на весь кластер не используется.

Без 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 в сертификате

Связанные статьи