Okay, in other words, there's no way to completely defend oneself from DoS attacks which require having a session? If so, is there a scenario where some bad actor can create a new user for themselves (to connect to the database with), and not be able to do anything more damaging than that? For example, if I can do an SQL injection, then I can do something more clever than running a CREATE ROLE. And if not, then there's no point in worrying about privileges in a single-tenant database? Beyond human error safeguards.
Olegs
On Sat, Feb 17, 2018 at 10:08 PM, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:
On Saturday, February 17, 2018, Olegs Jeremejevs <olegs@xxxxxxxxxxxxxx> wrote:Thanks for the reply.> I'm not sure whether you are really being limited/forced here or if you are thinking that having CREATE and USAGE on a schema is more powerful than it is...As far as I know, having these permissions has a DoS potential, though, admittedly, negligible, if the rest of the database is secured properly. Just wanted to play safe and revoke them.To an extent it is possible to DoS so long as you have a session and access to pg_catalog. Having create and usage on public doesn't meaningfully (if at all) expand the risk surface area. Default also provides for creating temporary tables.David J.