Работа с сертификатами и ключами SSL

В этом разделе описан процесс создания собственных ключей и сертификатов вместо тех, которые входят в стандартную поставку RuBackup. В комплекте поставки RuBackup есть необходимые для работы SSL-сертификаты клиента и сервера.

Сертификаты, необходимые для работы RuBackup, располагаются в каталоге /opt/rubackup/keys и предоставляются в составе пакета rubackup-common.

В процессе подключения к серверу клиент отправляет свой сертификат /opt/rubackup/keys/client/clientCert.crt для проверки подлинности клиента сервером. Также клиент принимает от сервера его сертификат /opt/rubackup/keys/server/serverCert.crt и проверяет его подлинность с использованием серверного корневого сертификата /opt/rubackup/keys/rootCA/serverRootCACert.crt. Сервер проверяет подлинность полученного клиентского сертификата с помощью клиентского корневого сертификата /opt/rubackup/keys/rootCA/clientRootCACert.crt.

При подключении к серверу оконный менеджер отправляет свой сертификат /opt/rubackup/keys/rbm/rbmCert.crt на проверку. Также он принимает от сервера его сертификат /opt/rubackup/keys/server/serverCert.crt и проверяет его подлинность с использованием серверного корневого сертификата /opt/rubackup/keys/rootCA/serverRootCACert.crt. Сервер проверяет подлинность полученного сертификата оконного менеджера с помощью клиентского корневого сертификата /opt/rubackup/keys/rootCA/clientRootCACert.crt.

Для взаимодействия с сервером лицензий и проверки его на подлинность используется корневой сертификат сервера лицензий /opt/rubackup/keys/rootCA/licenseServerRootCACert.crt.

Размещение сертификатов и ключей

Файлы приватных ключей следует хранить в надёжном месте, недоступном ни с сервера, ни с клиента RuBackup.

При замене сертификатов на собственные необходимо убедиться, что все сертификаты обновлены на всех узлах, где установлены компоненты RuBackup: клиент, сервер, медиасервер, резервный сервер, оконный менеджер, REST API сервис и другие.

Использование цепочки сертификатов

Иногда клиентский или серверный сертификат подписывается не корневым клиентским или серверным сертификатом, а промежуточным сертификатом, который, в свою очередь, подписан корневым или следующим промежуточным сертификатом. Это называется цепочкой сертификатов.

Чтобы RuBackup мог работать с такой цепочкой сертификатов, необходимо объединить все промежуточные и корневой сертификаты в единый корневой клиентский или серверный сертификат.

Цепочка сертификатов
@startuml
object "ROOT CA" as 1
object "Intermediate CA 1" as 2
object "Intermediate CA 2" as 3
object "SSL Certificate" as 4

1 ..|> 2
2 ..|> 3
3 ..|> 4
@enduml