Заставить клиентов PostgreSQL использовать SSL?

29

Я настроил ssl = onв postgresql.conf(и установил сертификат и так далее). Гарантирует ли это, что все клиенты всегда будут подключаться через SSL?

(Т.е. делает ssl = onли это невозможным подключение без шифрования SSL?)

Существуют ли другие способы гарантировать, что все клиенты всегда подключаются через SSL / TLS?

С наилучшими пожеланиями, KajMagnus

KajMagnus
источник

Ответы:

27

ssl = on Включает только возможность использования SSL.

Чтобы убедиться, что все клиенты используют SSL, добавьте hostsslстроки pg_hba.conf, например,

hostssl  all  all  0.0.0.0/0  md5

и удалите все hostстроки. (Ну, может быть, оставьте те для localhost.)

Питер Айзентраут
источник
Я установил все настройки в postgresql.confи pg_hba.conf. Однако я все еще могу связаться с sslmode=disable. Например, psql "sslmode = отключить хост = localhost dbname = test".
Энди Альдо
@ AndyAldo Чтобы проанализировать это, нужно увидеть всю конфигурацию. Это выходит за рамки здесь.
Питер Айзентраут
13

Нет, это просто позволяет использовать SSL. Вам также необходимо внести соответствующие изменения в ваш файл pg_hga.conf .

gsiems
источник
2
О, должно быть, я неправильно прочитал документы: я думал, hostsslчто клиент должен предоставить свой собственный сертификат SSL, но теперь я заметил, что есть certметод аутентификации, который я могу указать в pg_hga.conf.
КаджМагнус
(Спасибо, я опишу ваш ответ позже, когда у меня будет необходимое 15 повторений.)
KajMagnus