Настройка SSL-соединения
Настройка SSL-соединения осуществляется на этапе подготовки СУБД PostgreSQL (см. Подготовка СУБД PostgreSQL).
1. Настройка SSL-соединения на сервере PostgreSQL
-
Из Центра сертификации скопируйте в папку
/etc/postgresql/16/main
на сервер PostgreSQL подготовленные:-
сертификат Центра сертификации (например,
ca.crt
); -
подписанный сертификат сервера PostgreSQL (например,
server.crt
); -
сгенерированный закрытый ключ сервера PostgreSQL (например,
server.key
).
-
-
Для сертификатов и закрытого ключа установите:
-
доступ на чтение и запись только для владельцев:
chmod 600 ca.crt server.crt server.key
-
владельца и группу пользователя
postgres
:chown postgres:postgres ca.crt server.crt server.key
-
-
В конфигурационном файле
/etc/postgresql/12/main/postgresql.conf
[1]:-
включите поддержку зашифрованных соединений:
ssl = on
-
укажите путь к файлу сертификата Центра сертификации:
ssl_ca_file = '/etc/postgresql/16/main/ca.crt'
-
укажите путь к файлу сертификата сервера PostgreSQL:
ssl_cert_file = '/etc/postgresql/16/main/server.crt'
-
укажите путь к файлу закрытого ключа сервера PostgreSQL:
ssl_key_file = '/etc/postgresql/16/main/server.key'
-
-
Для доступа модуля к серверу PostgreSQL только по доверенному сертификату в конфигурационном файле
/etc/postgresql/12/main/pg_hba.conf
[1] укажите:-
тип подключения
hostssl
; -
метод аутентификации по сертификату
cert
, если не требуется дополнительная аутентификация по паролю; -
параметр аутентификации
clientcert
. При значении:-
verify-full
сервер PostgreSQL проверяет, подписан ли сертификат доверенным центром (CA) и совпадает ли имя клиента с именем в сертификате (CN); -
verify-ca
сервер PostgreSQL проверяет, подписан ли сертификат клиента доверенным центром (CA).Пример 1. Пример настройки подключения# TYPE DATABASE USER ADDRESS METHOD hostssl all rubackup_backuper 127.0.0.1/32 cert clientcert=verify-ca
Если параметр
clientcert
не указан, сервер не требует и не проверяет сертификат клиента.
-
-
-
Для применения изменений перезапустите сервер:
sudo systemctl restart postgresql
2. Настройка SSL-соединения на узле с модулем PostgreSQL
-
Из Центра сертификации перенесите в любую папку на узле с модулем PostgreSQL:
-
сертификат Центра сертификации (например,
ca.crt
); -
сертификат для модуля PostgreSQL (например,
postgresql.crt
); -
сгенерированный закрытый ключ для модуля PostgreSQL (например,
postgresql.key
).
-
-
Для сертификатов и закрытого ключа установите:
-
доступ на чтение и запись только для владельцев:
chmod 600 ca.crt postgresql.crt postgresql.key
-
владельца и группу пользователя:
chown suser:suser ca.crt postgresql.crt postgresql.key
где
suser
— пользователь, от имени которого будет запущен клиент СРК с установленным модулем PostgreSQL.
-
-
Для настройки SSL-соединения с СУБД в конфигурационном файле
/opt/rubackup/etc/rb_module_postgresql.conf
(см. Конфигурационный файл модуля) укажите:-
режим SSL в параметре
sslmode
; -
путь до сертификата Центра сертификации в параметре
sslrootcert
; -
путь до сертификата для модуля PostgreSQL в параметре
sslcert
; -
путь до сгенерированного закрытого ключа для модуля PostgreSQL в параметре
sslkey
.
-