Forçar clientes PostgreSQL a usar SSL?

29

I se configurado ssl = onem postgresql.conf(e instalado um certificado etc.). Isso garante que todos os clientes sempre se conectem por SSL?

(Ou ssl = onseja, impossibilita a conexão sem criptografia SSL?)

Existem outras maneiras de garantir que todos os clientes sempre se conectem por SSL / TLS?

Atenciosamente, KajMagnus

KajMagnus
fonte

Respostas:

27

ssl = on só permite a possibilidade de usar SSL.

Para garantir que todos os clientes estejam usando SSL, adicione hostssllinhas pg_hba.conf, por exemplo,

hostssl  all  all  0.0.0.0/0  md5

e remova todas as hostlinhas. (Bem, talvez fique com as pessoas localhost.)

Peter Eisentraut
fonte
Eu configurei todas as configurações em postgresql.confe pg_hba.conf. No entanto, ainda consigo me conectar sslmode=disable. por exemplo psql "sslmode = desativar host = localhost dbname = test" Perdi alguma coisa aqui?
Andy Aldo
O @AndyAldo seria necessário ver toda a configuração para analisar isso. Isso está fora de escopo aqui.
Peter Eisentraut
13

Não, isso simplesmente permite o uso de SSL. Você também precisa fazer as alterações apropriadas no seu arquivo pg_hga.conf .

gsiems
fonte
2
Ah, devo ter interpretado mal os documentos: pensei que hostsslexigia que o cliente fornecesse seu próprio certificado SSL, mas agora notei que há um certmétodo de autenticação que posso especificar no pg_hga.conf.
KajMagnus 01/12/19
(Obrigado, eu vou upvote sua resposta mais tarde, quando eu tenho o necessário 15 rep.)
KajMagnus