Vous n'êtes pas identifié(e).

#1 21/03/2011 12:42:27

gngassam
Membre

authentification via pgbouncer

Bonjour,

j'ai quelques soucis de sécurité via pgbouncer. J'utilise pgbouncer comme pooler. Etant le DBA, Dès que je cree un utilisateur dans la base avec mot de passe, l'admin pgbouncer n'est pas forcer de tenir compte de ce mot de passe pour se connecter. Il lui suffit de mettre dans son fichier mot de passe de pg_bouncer le mot de passe qu'il souhaite. et il arrive a se connecter. Est-ce normal?
je souhaiterai authentifier les utilisateurs entre la connexion pgbouncer--->postgreSQL.

sur pgbouncer:
-------------------

pgbouncer.ini:
postgres= host=postgresdatabaseserver dbname=postgres port=5435
auth_type = md5

userlist.txt:
"postgres" "postgres"

sur le serveur de base:
-----------------------------

pg_hba.conf
host    all         all         pgbouncerserver/32        md5

psql> alter user postgres password 'es';
ALTER

A partir d'un client:

1)
psql -h pgbouncerserver -Upostgres
Password:postgres (l'utilisateur reussi à se connecter avec le mot de passe de pgbouncer alors que son mot de passe dans la base est 'es')

2)
psql -h pgbouncerserver -Upostgres
Password:es
psql: ERROR:  Auth failed (l'utilisateur ne peut pas se connecter avec le mot de passe de la base )

Environnement:
postgreSQL 8.4.4
pgbouncer 1.3.4

Merci.

Hors ligne

#2 21/03/2011 14:39:59

gleu
Administrateur

Re : authentification via pgbouncer

Lorsque vous modifiez le mot de passe d'un utilisateur sur PostgreSQL, il faut aussi le modifier dans le fichier userlist.txt. L'exemple a dû fonctionner car il y avait déjà un pool disponible ayant cette connexion de disponible.


Guillaume.

Hors ligne

#3 21/03/2011 16:12:29

gngassam
Membre

Re : authentification via pgbouncer

merci, c'était ca, en redemarrant ca a effectivement changé, je voulais en etre sur avant d'effectuer un redémarrage en prod.

Hors ligne

#4 21/03/2011 17:41:25

gngassam
Membre

Re : authentification via pgbouncer

pour la suite:

est-il possible de se connecter via pgbouncer en utilisant un fichier d'authentification pgpass (ou pgpass est il lié a la libpq+psql)?

Merci

Hors ligne

#5 21/03/2011 17:44:10

Marc Cousin
Membre

Re : authentification via pgbouncer

pgbouncer est transparent pour les applications clientes, entre autres celles qui utilisent la libpq. Donc le pgpass fonctionnera sans problème, puisque c'est la libpq qui implémente sa lecture.


Marc.

Hors ligne

#6 21/03/2011 17:56:31

gngassam
Membre

Re : authentification via pgbouncer

ok,
mais le soucis c'est que tous mes scripts sont sur la machine ou tourne la base de donnees, cependant bien qu'étant sur la meme machine, je suis obligé, afin de respecter les procedures, d'utiliser le pooler distant (application cliente:psql).

Le pooler quant a lui n'utilise pas d'application cliente postgreSQL (mais un string de connexion en utilisant le fichier texte userlist.txt).

ca ne pose pas de problème?

Hors ligne

#7 21/03/2011 17:59:51

Marc Cousin
Membre

Re : authentification via pgbouncer

Il faudra que le script s'authentifie sur pgbouncer. L'entrée dans le pgpass doit donc permettre de se connecter à pgbouncer, pas à la base finale. C'est le rôle de pgbouncer de se connecter à cette base finale.

À moins que je n'aie pas compris la question smile


Marc.

Hors ligne

#8 21/03/2011 18:16:29

gngassam
Membre

Re : authentification via pgbouncer

si tu as bien compris ma question wink,

cependant j'arrive toujour pas a me connecter via cette methode

sur postgresdatabaseserver :
----------
psql -p5435 postgres -h pgbouncerserver -U postgres
psql: ERROR:  Auth failed

.pgpass:
pgbouncerserver :5435:*:postgres:es

j'ai l'impression que pgbouncer n'arrivepas à décoder les paramètres de connexions.

Hors ligne

#9 21/03/2011 18:29:50

Marc Cousin
Membre

Re : authentification via pgbouncer

Rien dans la log de pgbouncer ?


Marc.

Hors ligne

#10 21/03/2011 18:31:25

gleu
Administrateur

Re : authentification via pgbouncer

Si ça vient d'un copier/coller, il y a un espace entre pgbouncerserver et :5435. En tout cas, pour moi, .pgpass/psql et pgbouncer, ça fonctionne.


Guillaume.

Hors ligne

#11 21/03/2011 18:41:22

gngassam
Membre

Re : authentification via pgbouncer

ok,

ca confirme que je dois avoir quelques erreurs de conf. Je me met à leur recherche.

merci pour votre intervention.

Hors ligne

Pied de page des forums