Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
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
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
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
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
Marc.
Hors ligne
si tu as bien compris ma question ,
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
Rien dans la log de pgbouncer ?
Marc.
Hors ligne
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
ok,
ca confirme que je dois avoir quelques erreurs de conf. Je me met à leur recherche.
merci pour votre intervention.
Hors ligne
Pages : 1