Quero configurar meu servidor PostgreSQL para habilitar a autenticação com certificado TLS e senha ao mesmo tempo (para a mesma conexão, não apenas habilitar os dois mecanismos de autenticação).
Então, para que um cliente se autentique, ele deve:
- fornecer um certificado válido com o nome de usuário definido no nome comum e assinado por uma autoridade raiz confiável
- forneça uma senha para este usuário específico
Quero fazer isso para melhorar a segurança. Dessa forma, mesmo que meu certificado de cliente ou minha CA raiz vazem, você ainda precisa de uma senha para autenticar.
Não consigo descobrir como fazer isso. Nesta página da documentação do PostgreSQL , é dito que quando você usa o certificado TLS:
Nenhum prompt de senha será enviado ao cliente
Então é possível fazer isso e, se sim, como?
Você pode conseguir isso usando um
hostssl
lin inpg_hba.conf
que temscram-sha-256
como método de autenticação a opção adicionalclientcert=verify-full
. Por exemplo:Então o PostgreSQL insistirá em um certificado de cliente válido, além de solicitar uma senha.
Veja a documentação :