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 ArquivoA 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: 3. Anatomia de uma Linha de Configuração Cada linha no pg_hba.conf é uma regra que segue a seguinte estrutura: | Tipo | Banco de Dados | Usuário | Endereço IP/Rede | Método de Autenticação | Opções | host | all | postgres | 127.0.0.1/32 | scram-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| Campo | Descrição | Valores Comuns | Exemplo de Uso | | Tipo | Define o tipo de conexão. | local (socket UNIX), host (IPv4 ou IPv6), hostssl, hostnossl | host | | Database | O nome do DB alvo. | all (todos), sameuser, samerole, nome específico | financeiro | | User | O nome do usuário (role) alvo. | all, nome de usuário específico, @nomedarole (grupo) | app_backend | | Address | O 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 | | Method | O mecanismo de autenticação. | trust, reject, md5, scram-sha-256, cert, ldap, gssapi | scram-sha-256 |
5. Métodos de Autenticação Cruciais| Método | Descrição | Nível de Segurança | Recomendação | trust | Permite a conexão sem senha. | Baixíssimo | Apenas para local ou testes controlados. Nunca em produção via host. | reject | Rejeita a conexão imediatamente. | Alto | Útil para bloquear IPs ou usuários específicos. | md5 | Senha criptografada com MD5. | Médio (Legado) | Evitar. Usar scram-sha-256 se possível. | scram-sha-256 | Autenticação de desafio-resposta. | Alto | Padrão de segurança atual e recomendado. | peer | Autentica o usuário pelo nome do usuário do SO. | Alto (Local) | Apenas para conexões local. |
|