Re: Have an encrypted pgpass file

From: Marco van Eck <marco(dot)vaneck(at)gmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: thomas(dot)munro(at)enterprisedb(dot)com, Craig Ringer <craig(at)2ndquadrant(dot)com>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Have an encrypted pgpass file
Date: 2018-08-01 15:33:39
Message-ID: CAE35ztPKvPE4xA7+jCGY+O5kL_9FtZ-owPDrUpXMvpU168pGgA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

After explaining the patch to a college we identified potentially execution
of another user when it is defined in as a command parameter. To protect
agains it I've removed the possibility to pass the 'passcommand'. With the
result libpq only allows the PGPASSCOMMAND environment variable, which can
only be defined by the executing user, and will be executed by the same
user. It only reduces the need of unencrypted password's in a file.

I think this solution is secure enough, shall we solve this feature-request?

Regards, Marco

On Tue, Jul 24, 2018 at 4:00 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Marco van Eck <marco(dot)vaneck(at)gmail(dot)com> writes:
> > Indeed having unencrypted password lying (.pgpass or PGPASSWORD or -W)
> > around is making my auditors unhappy, and forcing me to enter the
> password
> > over and over again. With a simple test it seems the password entered by
> > the user also stays in memory, since it is able to reset a broken
> > connection. Finding the password in memory is not trivial, but prevention
> > is always preferred.
>
> > It might be an idea to wipe the password after the login, and
> decrypt/read
> > it again if it needs to reconnect. Would this make the solution more
> > secure? I had a quick look at the code and the patch would stay compact.
> > Please let me know of doing this would make sense.
>
> We're basically not going to accept any added complication that's designed
> to prevent memory-inspection attacks, because in general that's a waste
> of effort. All you're doing is (slightly) reducing the attack window.
>
> regards, tom lane
>

Attachment Content-Type Size
pgpasscommand_v2.patch application/x-patch 8.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2018-08-01 15:55:31 Re: Online enabling of checksums
Previous Message Tom Lane 2018-08-01 15:20:20 Re: Explain buffers wrong counter with parallel plans