Настройка 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(см. Конфигурационный файлrb_module_postgresql.conf) укажите:-
режим SSL в параметре
sslmode; -
путь до сертификата Центра сертификации в параметре
sslrootcert; -
путь до сертификата для модуля PostgreSQL в параметре
sslcert; -
путь до сгенерированного закрытого ключа для модуля PostgreSQL в параметре
sslkey.
-