Árvore de páginas

1. Introdução ao pg_hba.conf


O arquivo pg_hba.conf (Host-Based Authentication) é o principal mecanismo de controle de acesso do PostgreSQL. Ele define quais hosts (máquinas), usuários, e bancos de dados podem se conectar, e qual método de autenticação será exigido.

  • Importância: Sem uma configuração correta, o servidor pode ficar vulnerável a acessos não autorizados ou, no extremo oposto, impedir que conexões legítimas sejam estabelecidas.

2. Localização do Arquivo

A localização pode variar de acordo com o sistema operacional e o método de instalação, mas geralmente pode ser encontrado nos seguintes caminhos:

  • Linux (Pacotes Padrão): /etc/postgresql/<versao>/main/pg_hba.conf

  • Instalações via source ou binário: Dentro do diretório de dados (data directory) do cluster PostgreSQL.

3. Anatomia de uma Linha de Configuração 

Cada linha no pg_hba.conf é uma regra que segue a seguinte estrutura:

TipoBanco de DadosUsuárioEndereço IP/RedeMétodo de AutenticaçãoOpções
hostallpostgres127.0.0.1/32scram-sha-256-

Atenção: As regras são lidas sequencialmente de cima para baixo. A primeira regra que corresponder aos parâmetros da conexão é a que será aplicada, e as regras subsequentes são ignoradas.

4. Detalhamento dos Campos

CampoDescriçãoValores ComunsExemplo de Uso
TipoDefine o tipo de conexão.local (socket UNIX), host (IPv4 ou IPv6), hostssl, hostnosslhost
DatabaseO nome do DB alvo.all (todos), sameuser, samerole, nome específicofinanceiro
UserO nome do usuário (role) alvo.all, nome de usuário específico, @nomedarole (grupo)app_backend
AddressO endereço da máquina cliente.127.0.0.1/32 (localhost), 0.0.0.0/0 (qualquer IP), 192.168.1.0/24 (sub-rede)10.10.0.0/16
MethodO mecanismo de autenticação.trust, reject, md5, scram-sha-256, cert, ldap, gssapiscram-sha-256


5. Métodos de Autenticação Cruciais

MétodoDescriçãoNível de SegurançaRecomendação
trustPermite a conexão sem senha.BaixíssimoApenas para local ou testes controlados. Nunca em produção via host.
rejectRejeita a conexão imediatamente.AltoÚtil para bloquear IPs ou usuários específicos.
md5Senha criptografada com MD5.Médio (Legado)Evitar. Usar scram-sha-256 se possível.
scram-sha-256Autenticação de desafio-resposta.AltoPadrão de segurança atual e recomendado.
peerAutentica o usuário pelo nome do usuário do SO.Alto (Local)Apenas para conexões local.


  • Sem rótulos