Conta não-senha padrão do PostgreSQL

1

Eu tenho um banco de dados PostgreSQL e nossa ferramenta de vulnerabilidade interna reclamando sobre Default Unpassworded Account . O problema que eu não posso perceber qual conta sem senha. Eu criei algumas contas, mas todo mundo tem senha. A conta postgres também tem senha.

Quando eu executo: psql template1 -c '\du' , recebo a seguinte saída:

                              List of roles
  Role name   |                   Attributes                   | Member of
--------------+------------------------------------------------+-----------
 account1     | Superuser, Create role, Create DB              | {}
 account2     |                                                | {}
 postgres     | Superuser, Create role, Create DB, Replication | {}
 account3     | Password valid until infinity                  | {}
 account4     | Password valid until infinity                  | {}

Algum conselho de como resolver esse problema? Obrigado.

    
por Anatoly 05.03.2017 / 12:03

1 resposta

0

Ok, parece que encontrei a solução, graças a este tópico de SO: link

Quando emiti select * from pg_shadow;

  usename    | usesysid | usecreatedb | usesuper | usecatupd | userepl |               passwd                | valuntil | useconfig
--------------+----------+-------------+----------+-----------+---------+-------------------------------------+----------+-----------
 postgres     |    16384 | f           | f        | f         | f       |                                     | infinity |
 account1     |    17513 | f           | f        | f         | f       |                                     | infinity |
 account2     |    17679 | f           | f        | f         | f       | 11111111111111111111111111111111111 |          |
 account3     |       10 | t           | t        | t         | t       | 11111111111111111111111111111111111 |          |
 account4     |    16385 | t           | t        | t         | f       | 11111111111111111111111111111111111 |          |
(5 rows)

Portanto, as funções postgres e account1 de fato não tinham as senhas.

Senha atualizada para estas contas: ALTER ROLE postgres WITH PASSWORD 'mysuperstrongpasswordhere';

E parece que agora tudo está bem.

    
por 05.03.2017 / 12:29

Tags