From: | raf <raf(at)raf(dot)org> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Stored procedure code no longer stored in v14 and v15, changed behaviour |
Date: | 2022-12-02 13:47:17 |
Message-ID: | Y4oB5RLrbTFLGWsW@raf.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, Dec 02, 2022 at 03:00:09PM +0200, Pasi Oja-Nisula <pon(at)iki(dot)fi> wrote:
> On Fri, 2 Dec 2022 at 02:24, raf <raf(at)raf(dot)org> wrote:
> > Same here. Accessing the loaded stored procedure source
> > is how I audit the state of stored procedures in the
> > database against the code in the code repository.
>
> Exactly. If our software is audited, how can I reliably prove to auditor
> that the running version of the procedure has not been tampered with
> either by customer, rogue developer or some malicious party?
> Suggested solution "store the text in user table" does not work, because
> it requires following a process. And the process overriding changes are those
> we are interested in.
>
> I'm not so much concerned about whether the stored procedure text compiles
> anymore (because of object name changes etc.) I just really would like to
> have the exact source code stored with the database. So if release management
> goes horribly wrong, there is at least the possibility to compare procedure
> text manually.
>
> Pasi
That's a different concern to mine. I just want to be
able to check that multiple test systems all have the
same schema and stored procedures, and to be able to
reload an old database, apply any schema updates made
since it was backed up, and load/drop any stored
procedures that were added/changed/removed since then
without having to reload all of them. So storing
procedure code in a user table would be OK. I just have
to update my db loading/auditing tools for v14+. It was
great to be able to make use of the source in pg_proc
for my needs, but that's not what it was for. I was
just lucky it was there.
If you're concerned about tampering by
customers/users/developers, you can either set
permissions to prevent it in some cases, and when you
can't prevent it, make it tamper-evident by logging
actions to somewhere remote and monitoring for what
concerns you. That should satisfy auditors.
cheers,
raf
From | Date | Subject | |
---|---|---|---|
Next Message | Dominique Devienne | 2022-12-02 13:48:03 | Re: Stored procedure code no longer stored in v14 and v15, changed behaviour |
Previous Message | Dominique Devienne | 2022-12-02 13:39:03 | Re: Stored procedure code no longer stored in v14 and v15, changed behaviour |