Kaspersky Security Center 15.1 Linux

Сценарий: аутентификация PostgreSQL Server

Развернуть все | Свернуть все

Рекомендуется использовать TLS-сертификат для аутентификации сервера PostgreSQL. Вы можете использовать сертификат доверенного центра сертификации (CA) или самоподписанный сертификат.

Сервер администрирования поддерживает как одностороннюю, так и двустороннюю SSL-аутентификацию для PostgreSQL.

Выполните следующие шаги, чтобы настроить SSL-аутентификацию для PostgreSQL:

  1. Сгенерируйте сертификат для сервера PostgreSQL.

    Выполните следующие команды:

    openssl req -new -x509 -days 365 -nodes -text -out psql.crt -keyout psql.key -subj "/CN=psql"

    chmod og-rwx psql.key

  2. Сгенерируйте сертификат для Сервера администрирования.

    Выполните следующие команды. Значение 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

  3. Настройте аутентификацию клиентского сертификата.

    Измените pg_hba.conf следующим образом:

    hostssl mydb myuser 192.168.1.0/16 scram-sha-256

    Убедитесь, что в pg_hba.conf нет записи, начинающейся с host.

  4. Укажите сертификат 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>'

  5. Перезапустите демон PostgreSQL.

    Выполните следующую команду:

    systemctl restart postgresql-14.service

  6. Укажите флаг сервера для Сервера администрирования.

    Односторонняя 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

  7. Перезапустите службу Сервера администрирования.
В начало
[Topic 257050]