Управление файлами cookie, которые используются для рекламы, таких как персонализация рекламы, ремаркетинг и анализ эффективности рекламы.
8.3.16. Настройка SSL для PostgreSQL
При установке и удалении сертификата выполняется перезапуск инстанса.
Шифрование TLS/SSL используется для защиты передаваемых данных между клиентом и сервером. С помощью данной инструкции можно настроить шифрование с использованием собственного SSL-сертификата с проверкой на соответствие адреса хоста.
- Сгенерируйте файлы сертификата и ключа (в команде вместо
example.psql.toolsв двух строках используйте адрес хоста вашего инстанса):openssl req -x509 -newkey rsa:2048 \ -sha256 -days 365 \ -nodes \ -keyout server-key.pem \ -out server-cert.pem \ -subj "/CN=example.psql.tools" \ -addext "subjectAltName=DNS:example.psql.tools" \ -addext "keyUsage=digitalSignature,keyEncipherment" \ -addext "extendedKeyUsage=serverAuth" - Установите сертификат в разделе «PostgreSQL» на вкладке «Настройки → SSL» (поле с паролем приватного ключа оставьте пустым, если не указывали его при генерации сертификата и ключа):

- Проверьте адрес хоста в установленном сертификате (в команде используйте ваши данные для подключения:
example.psql.tools— хост,12345— порт):openssl s_client -connect example.psql.tools:12345 -starttls postgres -showcerts </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -ext subjectAltNameБез установленного сертификата вывод выглядит так:
subject -issuer -ext subjectAltName subject=CN = adm.tools issuer=CN = adm.tools No extensions in certificateПосле установки сертификата в выводе будет адрес хоста вашего инстанса:
subject=CN = example.psql.tools issuer=CN = example.psql.tools X509v3 Subject Alternative Name: DNS:example.psql.tools - Подключитесь к инстансу с использованием сертификата и убедитесь, что соединение зашифровано (в команде используйте ваши данные для подключения:
example.psql.tools— хост,12345— порт,user— пользователь):psql "host=example.psql.tools port=59264 dbname=db1 user=user sslmode=verify-full sslrootcert=server-cert.pem"Выполните SQL-запрос:
SELECT ssl, version, cipher, bits, client_dn FROM pg_stat_ssl WHERE pid = pg_backend_pid();Если всё настроено верно, подключение проходит успешно и вывод выглядит так:
ssl | version | cipher | bits | client_dn -----+---------+------------------------+------+----------- t | TLSv1.3 | TLS_AES_256_GCM_SHA384 | 256 |