Сценарий: аутентификация PostgreSQL Server
Развернуть все | Свернуть все
Рекомендуется использовать TLS-сертификат для аутентификации сервера PostgreSQL. Вы можете использовать сертификат доверенного центра сертификации (CA) или самоподписанный сертификат.
Сервер администрирования поддерживает как одностороннюю, так и двустороннюю SSL-аутентификацию для PostgreSQL.
Выполните следующие шаги, чтобы настроить SSL-аутентификацию для PostgreSQL:
- Сгенерируйте сертификат для сервера PostgreSQL.
Выполните следующие команды:
openssl req -new -x509 -days 365 -nodes -text -out psql.crt -keyout psql.key -subj "/CN=psql"
chmod og-rwx psql.key
- Сгенерируйте сертификат для Сервера администрирования.
Выполните следующие команды. Значение CN должно соответствовать имени пользователя, который подключается к PostgreSQL от имени Сервера администрирования. По умолчанию имя пользователя – postgres.
openssl req -new -x509 -days 365 -nodes -text -out postgres.crt -keyout postgres.key -subj "/CN=postgres"
chmod og-rwx postgres.key
- Настройте аутентификацию клиентского сертификата.
Измените pg_hba.conf следующим образом:
hostssl mydb myuser 192.168.1.0/16 scram-sha-256
Убедитесь, что в pg_hba.conf нет записи, начинающейся с host
.
- Укажите сертификат PostgreSQL.
Односторонняя SSL-аутентификация
Измените postgresql.conf следующим образом (укажите правильный путь к файлам .crt и .key):
listen_addresses ='localhost, server-ip'
ssl = on
ssl_cert_file = '<psql.crt>'
ssl_key_file = '<psql.key>'
Двусторонняя SSL-аутентификация
Измените postgresql.conf следующим образом (укажите правильный путь к файлам .crt и .key):
listen_addresses ='localhost, server-ip'
ssl = on
ssl_ca_file = '<postgres.crt>'
ssl_cert_file = '<psql.crt>'
ssl_key_file = '<psql.key>'
- Перезапустите демон PostgreSQL.
Выполните следующую команду:
systemctl restart postgresql-14.service
- Укажите флаг сервера для Сервера администрирования.
Односторонняя SSL-аутентификация
С помощью утилиты klscflag создайте флаг сервера KLSRV_POSTGRES_OPT_SSL_CA и укажите путь к сертификату в качестве его значения.
Запустите командную строку и измените текущую директорию на директорию с утилитой klscflag. Утилита klscflag находится в директории, в которой установлен Сервер администрирования. По умолчанию задан путь /opt/kaspersky/ksc64/sbin.
Выполните следующую команду:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CA -v <
путь к
psql.crt> -t s
Двусторонняя SSL-аутентификация
С помощью утилиты klscflag создайте флаги сервера и укажите путь к файлам сертификатов в качестве их значений.
Запустите командную строку и измените текущую директорию на директорию с утилитой klscflag. Утилита klscflag находится в директории, в которой установлен Сервер администрирования. По умолчанию задан путь /opt/kaspersky/ksc64/sbin.
Выполните следующие команды:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CA -v <
путь к
psql.crt
> -t s
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_CERT -v <
путь к
postgres.crt
> -t s
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_SSL_KEY -v <
путь к
postgres.key
> -t s
Если postgres.key
требует кодовую фразу, создайте флаг KLSRV_POSTGRES_OPT_TLS_PASPHRASE и укажите кодовую фразу в качестве его значения:
klscflag -fset -pv klserver -n KLSRV_POSTGRES_OPT_TLS_PASPHRASE -v <
кодовая фраза
> -t s
- Перезапустите службу Сервера администрирования.
В начало
[Topic 257050]