Qual o objetivo?
O objetivo de explicar o que é o pg_hba.conf é garantir que o administrador do sistema compreenda como funciona a primeira camada de defesa do banco de dados PostgreSQL.
O que é o arquivo pg_hba.conf?
O pg_hba.conf (PostgreSQL Host-Based Authentication) é o arquivo responsável por controlar a autenticação e o acesso ao banco de dados. Ele funciona como um firewall interno: antes mesmo de o usuário digitar uma senha,
o PostgreSQL verifica este arquivo para decidir se aquela conexão é permitida, de onde ela vem e qual método de segurança será exigido.
Para que ele serve?
Sempre que um usuário ou aplicação (como o Prosoft) tenta se conectar ao banco de dados, o PostgreSQL consulta este arquivo de cima para baixo para verificar:
Tipo de conexão: Se é local (Unix socket) ou remota (TCP/IP).
Banco de dados: Qual base o usuário está tentando acessar.
Usuário: Quem está tentando logar.
Endereço de Origem: De qual IP ou rede a tentativa está partindo.
Método de Autenticação: Como a senha deve ser validada (ex:
scram-sha-256).
O que é scram-sha-256?
O SCRAM-SHA-256 (Salted Challenge Response Authentication Mechanism) é o método de autenticação padrão e mais seguro para o PostgreSQL.
O seu objetivo principal é elevar o nível de segurança na comunicação entre o cliente (aplicação) e o servidor (banco de dados), protegendo contra ataques comuns.
Diferença de Parâmetros: samenet, samehost e fe80
Ao configurar as permissões, estes termos definem o alcance da regra:
samenet: Permite a conexão de qualquer máquina que pertença à mesma sub-rede IP que o servidor.
samehost: Restringe a conexão apenas à própria máquina (IP local do servidor).
fe80: Refere-se a endereços de link-local do IPv6. É comum aparecer em ambientes Windows onde o tráfego interno prioriza o protocolo IPv6.
Regras de Segurança Obrigatórias ("Copia e Cola")
As linhas abaixo devem ser inseridas no arquivo para garantir o acesso padrão seguro:
Plaintext
# Localhost (IPv4 e IPv6)
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
# Permissão para a rede local
host all all samenet scram-sha-256
# Permissão para o usuário administrador local
host all postgres 127.0.0.1/32 scram-sha-256
# Conexões via Socket local (Sistemas Unix/Linux)
local all all scram-sha-256
Aplicação das Alterações
Qualquer modificação feita no pg_hba.conf não é automática. Para que as novas regras entrem em vigor, é obrigatório reiniciar o serviço do PostgreSQL
ou executar um comando de reload no servidor de banco de dados.
Como Reiniciar o Serviço do PostgreSQL no Windows
Pressione as teclas Windows + R no teclado.
No campo "Abrir", digite services.msc e pressione Enter.
Na lista de serviços, localize o nome do serviço correspondente à sua instalação.
Clique com o botão direito sobre o serviço.
Selecione a opção Reiniciar (ou Restart).