Требования к сертификатам безопасности
Назначение
Состав, формат и обязательные атрибуты SSL-сертификатов для установки Printum. Набор файлов зависит от схемы установки и способа привязки (по IP или по FQDN):установки:
| Конфигурация | Что требуется |
|---|---|
| Сингл | Один комплект сертификатов (корневой + серверный + ключ) на весь |
| Кластер Active-Active | Отдельный сертификат и ключ на каждый сервер, корневой сертификат |
| Филиальная сеть | Собственный сертификат на сервере каждого филиального ПринтМенеджера, корневой сертификат |
МожноИспользование лиавтоматических использовать автоматически создаваемые сертификаты?сертификатов
Да,Мониторинг нои ПринтМенеджер могут генерировать самоподписанные сертификаты при установке, если не указано использование собственных. Использование автоматических сертификатов допустимо только для конфигурации Сингл.
При их использовании веб-браузеры будут показывать предупреждение о недоверии при входе в Личный кабинет и панели администратора. Для Кластера и Филиальной сети такие сертификаты не подходят — там требуется отдельный сертификат на каждый сервер (см. ниже).
Состав сертификатов
Сингл
Нужны три файла:
| Файл | Описание |
|---|---|
ca.crt |
Корневой сертификат (CA) |
server.crt |
Сертификат сервера |
server.key |
Закрытый ключ сертификата сервера |
Если используется промежуточный CA сертификат — он тоже должен быть передан отдельным файлом.
Кластер
Отдельный сертификат и ключ для каждого сервера (HAProxy, Мониторинг, каждый ПринтМенеджер, сервер БД + NFS).
Корневой сертификат — общий для всех серверов.
Все сертификаты должны быть выпущены одним корневым удостоверяющим центром (CA).
Требования к сертификатам для кластера
Сертификат и ключ к нему должны быть предоставлены отдельно для каждого сервера. Корневой сертификат остаётся общим.
Пример комплекта сертификатов для развёртывания системы в конфигурации с балансировщиком:балансировщиком, состоящей из 6 серверов:
| Сервер | Роль |
|---|---|
| Сервер |
Балансировщик |
| Сервер |
Мониторинг |
| Сервер |
ПринтМенеджер №1 |
| Сервер |
ПринтМенеджер №2 |
| Сервер |
ПринтМенеджер №3 |
| Сервер |
База данных и 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.,CRL Sign
critical
Формат
- Данные в сертификатах — в незашифрованном текстовом виде, кодировка 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 в сертификате |