Conectándose a Postgres con SSL

1

Necesito ayuda para comprender algunos conceptos básicos sobre el servidor de base de datos de Postgres y SSL. Estoy desarrollando una aplicación de escritorio de Windows que se conectará a una base de datos de postgres, en modo de usuario único, con el cliente y el servidor en una máquina, utilizando 127.0.0.1.

Alternativamente, la aplicación podría instalarse en una unidad de red, permitiendo múltiples usuarios y conexiones. De cualquier manera, me gustaría que todas las conexiones con SSL estén activadas en modo de verificación completa.

Esto es lo que tengo en pg_hba.conf:

# TYPE  DATABASE   USER    ADDRESS    METHOD
hostssl  all   all     127.0.0.1/32   cert  clientcert=1
hostssl  all   all     ::1/128        cert  clientcert=1

En Windows 7, el servicio postgres se inicia automáticamente cuando inicio la máquina, pero aparece el siguiente error en el archivo pg_log.

FATAL:  connection requires a valid client certificate
no pg_hba.conf entry for host "127.0.0.1", user "SYSTEM", database "postgres", SSL off

Creo que entiendo la razón de este error. Se debe a que un proceso de SISTEMA de inicio de Windows está intentando conectarse a la base de datos de postgres y no tengo una identificación de usuario de postgres llamada SISTEMA o un certificado de cliente para dicho usuario. También recibo este mensaje en pg_log cuando reinicio postgres a través de Servicios de componentes.

Como dije, quiero que todas las conexiones se realicen con SSL. Entonces, ¿debería crear un usuario llamado SYSTEM en postgres junto con un certificado de cliente relacionado para ese usuario para que Windows siempre pueda conectarse como SYSTEM con el certificado de cliente de SYSTEM?

¿Es necesario que el proceso del SISTEMA de Windows se conecte primero a la base de datos de postgres, tal vez para fines de mantenimiento, antes de que mi aplicación de escritorio pueda conectarse a la base de datos de la aplicación utilizando el ID de usuario de la aplicación y los certificados de cliente correspondientes?

También he leído sobre la función en postgres para el archivo pg_service.conf. ¿Es eso algo que sería útil para estos dos tipos diferentes de conexiones, a la base de datos de Postgres y a la base de datos de mi aplicación? Gracias de antemano.

    
pregunta harpagornis 19.12.2014 - 06:57
fuente

0 respuestas

Lea otras preguntas en las etiquetas