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

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

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

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

Аутентификация сервера PostgreSQL состоит из следующих этапов:

  1. Генерация сертификата для сервера PostgreSQL

    В кроссплатформенной утилите на основе OpenSSL выполните следующие команды:

    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 all all 0.0.0.0/0 md5

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

  4. Задание сертификата PostgreSQL

    Односторонняя SSL-аутентификация

    Двусторонняя SSL-аутентификация

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

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

    systemctl restart postgresql-14.service

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

    Односторонняя SSL-аутентификация

    Двусторонняя SSL-аутентификация

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