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

     






    Outros meios de obter suporte