> Pessoal, sou novato no Postgres, e trago uma dúvida que já foi muito
> discutida por ai, só que não encontrei nada conclusivo.

Sim, sua dúvida é totalmente conclusiva.

> Como proteger um banco de dados Postgres contra acesso indevido, sendo que
> basta qualquer um alterar
> o arquivo de configuração pg_hba.conf colocando o modo de autenticação
> "trust" no servidor
> para conseguir acesso total ao servidor Postgres inclusive como
> super-usuário sem informar senha alguma?

Aí é que está sua má interpretação: o arquivo pg_hba.conf, por padrão,
só pode ser alterado pelo usuário "postgres" ou "root", que você deve
permitir acesso somente a alguns usuários.
Se você possui administradores de sistema, o acesso a esses usuários
só pode ser confiado a eles. Se você não confia nem neles, dê poderes
de sudo restritos para quem pode mexer aí (mas reveja seus conceitos
de quem pode ou não fazer as coisas).

> É possível desativar esse tipo de autenticação durante a instalação do
> servidor, para que assim mesmo
> que o pg_hba.conf seja alterado esse modo não esteja disponível?

Só alterando o código fonte.

> Não há como estabelecer esse tipo de segurança sem depender de fatores
> externos ao SGDB, como
> por exemplo, sem depender da configuração do SO para restringir quem pode ou
> não acessar o arquivo de configuração?

Sim. É exatamente aí que você pode atuar.

> já trabalhei com firebird e ele tem um problema parecido: basta que alguem
> copie o arquivo de banco de dados e leve para outra máquina, instale o
> firebird, e como na instalação a senha do super-usuário é conhecida, ele tem
> acesso completo a todo o banco de dados. caso não haja solução para o
> problema do Postgres gostaria de saber se esse problema ocorre somente nos
> SGDB's OpenSource ou se os SGDB's comerciais, como o Oracle ou o SQL Server
> tambem são assim, tendo sua segurança dependentes do sistema operacional,
> bastando a pessoa ter acesso ao servidor para conseguir acessar qualquer
> banco de dados, seja alterando algum arquivo de configuração ou seja
> copiando os arquivos do banco e levando para outro computador.

Esse problema no PostgreSQL não existe.
Os arquivos de dados são de propriedade do usuário "postgres" (numa
instalação convencional) e ninguém mais pode nem mesmo listar o
diretório.

Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a