O PostgreSQL mantém os metadados (informações sobre o BD) no que
chamamos de catálogo do sistema. Esse catálogo é de certo modo
compartilhado por todas as sessões. Onde os "flat files" entram na
história? O problema é que como as informações necessárias para
autenticação estão no catálogo (banco de dados) não há uma maneira de
autenticar-se sem utilizar uma conexão pré-estabelecida (para ler algo
do catálogo é necessário estar conectado). Daí, o que o PostgreSQL faz é
manter atualizado as informações sobre banco de dados (pg_database) e
usuários (pg_auth) no sistema de arquivos (global/*) para que o sistema
de autenticação funcione.
Valeu, Euler.

Pelo que entendi, o arquivo seria usado para autenticar o usuário "antes" de estabelecer a conexão com o banco.
Bem, fiz alguns testes, tentando simular uma quebra de segurança
1) excluí o arquivo: não houve problema, conectei normalmente
2) alterei o md5 da senha "na mão": não houve problema, a conexão continuou apenas com a senha original 3) sobrepus o arquivo com outro: também não houve problema, a conexão continuou apenas com a senha original.

Ou seja, pelo que vi, realmente ele não causa um perigo na segurança, como acontece (ou acontecia, não sei como está na versão 2.0) no Firebird, que permitia acesso através da sobreposição do security.fbd. Apenas continuo então não entendendo a finalidade dele. Se o seu conteúdo não afeta a conexão, então em que situação ele é utilizado pelo PostgreSQL?

No  caso da tabela pg_auth (usuários) ela armazena o login, senha dentre
outras informações. Dependendo do tipo de autenticação que se utiliza
ele pode ou não armazenar a senha ali; ela só armazena a senha em texto
(sem criptografia) caso o tipo de autenticação seja *password*. Esse
tipo de autenticação foi desaconselhada desde a versão 7.2 e só está
disponível para compatibilidade com versões anteriores.
Não há o que temer, o PostgreSQL é um dos bancos de dados mais seguros
do mundo. Não é a toa que ele tem pouquíssimas queixas do pessoal da
área de segurança ao contrário dos concorrentes comerciais.


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

Responder a