Alguém sabe dizer como o PostgreSQL armazena as senhas dos usuários
internamente?

Ao que me parece ele calcula o MD5 da senha com algum sal...

Isso mesmo. O sal é o nome do usuário.

Sabendo que o MD5 é vulnerável, alguém não conseguiria fazer um ataque
remotamente usando uma rainbow table?

Só se você tiver acesso ao MD5, o que pode ser feito:
1) tendo acesso à tabela pg_shadow no servidor.
2) monitorando o tráfego da rede.

No caso (1), só superusuários do cluster têm acesso à tabela, então, não dê acesso de superusuários a usuários ordinários, o que é má prática por mais umas 200 razões.

No caso (2), é só usar SSL na conexão, o que é feito hoje por padrão.

Sem acesso ao MD5, nada de rainbow table.

Veja este site antigo sobre um possível algoritmo de quebra:
http://pentestmonkey.net/blog/cracking-postgres-hashes

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

Reply via email to