Re: user-based query white list - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: user-based query white list
Date
Msg-id 1228651448.18526.2.camel@huvostro
Whole thread Raw
In response to Re: user-based query white list  (Andrew Chernow <ac@esilo.com>)
Responses Re: user-based query white list
List pgsql-hackers
On Sat, 2008-12-06 at 13:30 -0500, Andrew Chernow wrote:
> Grzegorz Jaskiewicz wrote:
> > 
> > On 2008-12-06, at 18:21, Andrew Chernow wrote:
> > 
> >> Looking for a way to limited a user to a specific set of queries.  I 
> >> don't think this can be done right now ... or can it?  Has this 
> >> feature request surfaced in the past?
> >>
> >> I currently need this as an extra security measure for a libpq client 
> >> app (want to block arbitrary queries from malicious attackers).  The 
> >> easiest way I found was to add some query_string checks into 
> >> backend/tcop/postgres.c for the 'Q' and 'P' commands in 
> >> PostgresMain().  Seems to work just fine.  If it doesn't match, I 
> >> issue an ereport FATAL since that is seen as a "malicious query 
> >> execution attempt".
> >>
> >> I think it is something rather simple to design/implement (probably 
> >> use a table of user allowed queries, support regex matches, etc.. 
> >> loaded at session startup and SIGHUP).
> > 
> > Can it be done with views, and adjusting permissions so user is only 
> > allowed to use few views ??
> > 
> > 
> 
> Not sure.  The client I am working on only calls functions, small API to 
> interact with (no knowledge of views or tables).  

Then grant access to those functions only.

> Even if that were not the 
> case, would views stop a client from sending in other queries, like "SELECT 1+1" 
> or something that could bog down the server?

Use statement_timeout GUC to prevent bogging

------------
Hannu





pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: problem i get for Patch "blomming filter"
Next
From: "Hitoshi Harada"
Date:
Subject: Re: Windowing Function Patch Review -> Standard Conformance