Connessione a postgres con SSL

1

Ho bisogno di aiuto per capire alcune nozioni di base sul server di database postgres e SSL. Sto sviluppando un'applicazione desktop Windows che si connetterà a un database Postgres, in modalità utente singolo, con client e server su un'unica macchina, utilizzando 127.0.0.1.

In alternativa, l'app può essere installata su un'unità di rete, consentendo a più utenti e connessioni. Ad ogni modo, vorrei che tutte le connessioni con SSL fossero attive in modalità di verifica completa.

Questo è quello che ho in 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

In Windows 7, il servizio Postgres si avvia automaticamente all'avvio della macchina, ma ho il seguente errore nel file 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

Penso di aver compreso il motivo di questo errore. È perché un processo di avvio di sistema di Windows sta tentando di connettersi al database postgres e non ho un ID utente postgres denominato SYSTEM o un certificato client per tale utente. Ottengo questo messaggio in pg_log anche quando riavvio postgres tramite Servizi componenti.

Come ho detto, voglio che tutte le connessioni vengano eseguite con SSL attivo. Quindi, dovrei creare un utente denominato SYSTEM in postgres insieme a un certificato client correlato per quell'utente in modo che Windows possa sempre connettersi come SYSTEM con il certificato del client SYSTEM?

È necessario che il processo di SISTEMA Windows si connetta prima al database Postgres, forse per scopi di pulizia, prima che la mia app desktop possa connettersi al database dell'applicazione usando l'id utente dell'applicazione e i certificati client corrispondenti?

Ho letto anche la funzione di postgres per il file pg_service.conf. È qualcosa che potrebbe essere utile per questi due diversi tipi di connessioni, al database di Postgres e al database delle applicazioni? Grazie in anticipo.

    
posta harpagornis 19.12.2014 - 06:57
fonte

0 risposte

Leggi altre domande sui tag