Re: Replication using mTLS issue

From: Drew Zoellner <drewtzoellner(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org, postgres(at)thewickedtribe(dot)net
Subject: Re: Replication using mTLS issue
Date: 2024-06-21 17:21:07
Message-ID: CAGWxRFdmR8W0O7CK-UTcBjPxRp-MSh0J_jC4GmE3JA2FaP_yaQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Tom, thanks for the response!

So the same user is able to connect using a non replication connection
using the same mtls certificate and pg_ident.conf map. So it seems like the
cert & map are working for this user.

hostssl all pgrepmgr_nonprod 100.0.0.0/8 cert map=pgrepmgr_nonprod_map

This above seems to be the rule that matched the non replication connection
which was successful.

I have tried relaxing the pg_hba.conf line to all like you suggested for
the username and also for IPs and other combinations, unfortunately nothing
was working.

I have been sure to use SELECT pg_reload_conf(); to update changes made to
the pg_hba.conf. I have additionally used SELECT pg_hba_file_rules(); to
verify the rules are showing up as expected from the live DB perspective.

Since non replication connections are working, and the only change to HBA
conf for the replication connection is just all -> replication , it seems
like it should be matching. Any other suggestions?

Thanks, Drew.

On Fri, Jun 21, 2024 at 11:46 AM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Drew Zoellner <drewtzoellner(at)gmail(dot)com> writes:
> > Hi Postgres team, I’m receiving an issue matching pg_hba rules that I
> can’t
> > seem to sort out. I am trying to use mtls certificate authentication for
> > physical replication connections but keep receiving the following error…
>
> > pg_receivewal: error: FATAL: no pg_hba.conf entry for replication
> > connection from host "100.84.12.223", user "pgrepmgr_nonprod", SSL on
>
> > My pg_hba.conf file contains
> > hostssl replication pgrepmgr_nonprod 100.0.0.0/8 cert
> map=pgrepmgr_nonprod_map
>
> Hm, the match failure must be on user name. What certificate are you
> using on the client side, and what user name does pgrepmgr_nonprod_map
> map it to? Does it succeed if you weaken the hba entry to
>
> hostssl replication all 100.0.0.0/8 cert map=pgrepmgr_nonprod_map
>
> > Is cert authentication supported for replication connections?
>
> Should be. But you might find it easier to debug the auth failure
> in a non-replication context, ie add
>
> hostssl all pgrepmgr_nonprod 100.0.0.0/8 cert
> map=pgrepmgr_nonprod_map
>
> and then see if you can connect with the same credentials from psql
> or your favorite other client.
>
> BTW, don't forget you have to signal the postmaster to reload
> configuration after any change in these files.
>
> regards, tom lane
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2024-06-21 18:24:01 Re: Replication using mTLS issue
Previous Message Tom Lane 2024-06-21 16:46:22 Re: Replication using mTLS issue