RE: pg_cron problème

From: Alain Benard <alain(dot)benard(at)inrae(dot)fr>
To: Sébastien Lardière <sebastien(at)lardiere(dot)net>, "pgsql-fr-generale(at)postgresql(dot)org" <pgsql-fr-generale(at)postgresql(dot)org>
Subject: RE: pg_cron problème
Date: 2023-02-02 15:09:03
Message-ID: 77d843ecc6d54ff285e377a941def6fb@IDFDCPRIPEXMU06.inra.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Merci Sébastien même si je n’ai pas tout compris.
Le souci est que ça fonctionnait avant sans avoir besoin d’authentification peer. Le peu d’informations disponibles pour cette extension, en plus de donner un acces postgres à quiconque peut écrire dans la table des jobs, n’incite vraiment pas à son utilisation même si l’idée pouvait paraître intéressante.
Je crois que je vais tenter une réinstallation propre de l’extension et si ça ne marche pas je la mettrai à la corbeille.
A+
Alain.
De : Sébastien Lardière <sebastien(at)lardiere(dot)net>
Envoyé : jeudi 2 février 2023 15:46
À : Alain Benard <alain(dot)benard(at)inrae(dot)fr>; pgsql-fr-generale(at)postgresql(dot)org
Objet : Re: pg_cron problème

On 02/02/2023 15:24, Alain Benard wrote:
Bonjour,
Nous avons migré de postgres 9.6 à 12 en décembre 2021 et une collègue qui utilise pg_cron me signale que ça ne fonctionne plus depuis cette date. La migration de la base avec pg_cron a été un casse tête car nous sommes passé par des dump et la conf de postgresql.conf se mord la queue entre le share_libraries et la base qui doit déjà être présente avec un schéma pg_cron maisbon on y est parvenu.
Nous avons des messages de ce type :
dupond(at)db_poisson LOG: provided user name (dupond) and authenticated user name (postgres) do not match
2023-02-02 03:00:00.030 CET [3781003] dupond(at)db_poisson FATAL: Peer authentication failed for user "dupond"
2023-02-02 03:00:00.030 CET [3781003] dupond(at)db_poisson DETAIL: Connection matched pg_hba.conf line 94: "local all all peer"
2023-02-02 03:00:00.032 CET [3477723] LOG: cron job 2 connection failed

Pour info le propriétaire de l’extension (select * from pg_extension) n’est pas postgres et je ne sais comment le changer ni si c’est nécessaire.

Les jobs ne s’exécutant pas ma collègue (non administrateur du serveur) a tenté de mettre l’utilisateur postgres dans la colonne username de la table job et visiblement ça passe. Pour moi c’est une grosse faille de sécurité.

Qu’est-ce qui a pu changer entre les versions de postgres et que puis-je vérifier ?
Merci par avance.
Alain.

Bonjour,

Le message fait référence à une règle authentification présente dans votre fichier pg_hba.conf, utilisant comme cible l'authentification peer (voir : https://www.postgresql.org/docs/12/auth-peer.html )

Si l'authentification fonctionne pour l'utilisateur postgres de l'instance, c'est que le client est lui même lancé en tant qu'utilisateur postgres dans votre OS.

Au passage, il s'agit d'une connexion via la socket UNIX, donc, le risque, en terme de sécurité, est relativement réduit.

Pour autoriser l'utilisateur de votre choix, il faut l'y ajouter une règle dans ce fichier pg_hba.conf, par exemple, avant la ligne existante :

local db_poisson dupond scram-sha-265
local all all peer

Puis, recharger la configuration. Attention, l'ordre des lignes dans ce fichier est important.

--

Sébastien

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Sébastien Lardière 2023-02-02 15:29:32 Re: pg_cron problème
Previous Message Sébastien Lardière 2023-02-02 14:45:56 Re: pg_cron problème