Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
postgres 12.3 linux x86_64 centos 7.
J'ai un standby qui se connecte au primaire, j'ai mis "trust" dans pg_hba.conf.
J'aimerais que le standby utilise un certificat (j'ai déjà des certificats self-signed via la procédure https://www.postgresql.org/docs/12/ssl-tcp.html).
Comment est-il possible se spécifier les certificats dans le connect string du standby pour éviter le "trust"?
Merci.
Hors ligne
L'URL que vous donnez ne correspond à aucune page (erreur 404).
Pour une authentification par certificat, cela se passe dans le fichier pg_hba.conf du serveur. https://www.postgresql.org/docs/12/auth-cert.html donne les détails.
Guillaume.
Hors ligne
En fait, fluxbb est un peu stupide et a inclus la parenthèse fermante dans l'URL. Il suffisait de supprimer la parenthèse pour que j'accède à la page
Pour indiquer les certificats, il suffit d'utiliser les options de connect string détaillées dans https://www.postgresql.org/docs/12/libp … CT-SSLCERT
Guillaume.
Hors ligne
It doesn't really work!
On master:
From pgadmin, if I give the root.crt to client
hostssl dpa2 dpa2 192.168.20.140/32 md5
=> client can connect if it has root.crt and password.
I would like standby to be able to connect using only root.crt
On primary I tried:
hostssl replication all 10.12.51.122/32 cert
then
hostssl replication all 10.12.51.122/32 md5
and in standby's postgreql.conf
primary_conninfo = 'host=192.168.50.122 user=postgres sslrootcert=/var/lib/pgsql/.postgresql/root.crt'
But I get:
2020-07-06 08:18:12.180 CEST [35311] FATAL: could not connect to the primary server: FATAL: client certificates can only be checked if a root certificate store is available
FATAL: no pg_hba.conf entry for replication connection from host "10.12.51.122", user "postgres", SSL off
certificates are right:
[postgres@pgdpa01 data]$ openssl verify -CAfile root.crt server.crt
server.crt: OK
I would just like ssl to be used between primary and standby, so that data are not in clear text on a wan. How how how?
Dernière modification par albourg (06/07/2020 08:28:53)
Hors ligne
Il n'y a pas besoin de certificat côté client pour chiffrer la communication, on peut se contenter de sslmode=require dans la chaîne de connexion.
par défaut c'est sslmode=prefer, c'est-à-dire qu'il essaie avec SSL puis si ça ne marche pas, sans SSL. C'est pourquoi on trouve ce "SSL off" dans le message d'erreur:
FATAL: could not connect to the primary server: FATAL: client certificates can only be checked if a root certificate store is available
FATAL: no pg_hba.conf entry for replication connection from host "10.12.51.122", user "postgres", SSL off
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
J'ai le root.crt sur le standby
Donc si le pg_hba du primaire, j'ai
hostssl replication all <standby ip>/32 trust
et sur le standby:
primary_conninfo = 'host=<primary ip> user=postgres sslrootcert=/var/lib/pgsql/.postgresql/root.crt sslmode=require'
La connection sera cryptée grace au root.crt?
Hors ligne
Pour moi elle sera chiffrée du fait de sslmode=require.
Je ne suis pas sûr que sslrootcert=/var/lib/pgsql/.postgresql/root.crt serve à quelque chose dans ce cas de figure.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1