Andrew Dunstan wrote:


Andrew Chernow wrote:

I think what is missing is a way to deny the execution of queries that don't operate on an object (like a table, sequence, role, schema, etc...), OR queries not covered by the priv system. Object-based queries can be locked down using the existing priv system. Not sure if denying non-object related queries would work; what happens when you call "SELECT NOW()" within an allowed function?



What exactly are you trying to protect against?

In general, my attitude is that databases should not allow direct access from untrusted sources. The API restriction you are talking about is something that is trivially easy to build into middleware, and only the middleware should be allowed access to the database.

cheers

andrew



Why must this be done in middleware? Middleware wouldn't be needed as protection against untrusted sources if random queries could be denied. My little hack in PostgresMain() made it impossible to execute queries unless they are on a white list (there could be better ways of doing this). Now add in SSL and verification of certificates and things are tightly nailed down; as much as the classic application server (middleware) would be ... no?

--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to