#Prosoft

I1174 - Segurança e Conectividade (pg_hba.conf) - Prosoft Instalações

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:

  1. Tipo de conexão: Se é local (Unix socket) ou remota (TCP/IP).

  2. Banco de dados: Qual base o usuário está tentando acessar.

  3. Usuário: Quem está tentando logar.

  4. Endereço de Origem: De qual IP ou rede a tentativa está partindo.

  5. 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

  1. Pressione as teclas Windows + R no teclado.

  2. No campo "Abrir", digite services.msc e pressione Enter.

  3. Na lista de serviços, localize o nome do serviço correspondente à sua instalação.

  4. Clique com o botão direito sobre o serviço.

  5. Selecione a opção Reiniciar (ou Restart).