PostgreSQL: Liberação de redes no pg_hba.conf

PostgreSQL: Liberação de redes no pg_hba.conf

O PostgreSQL fornece alguns níveis de segurança de acesso. O primeiro é o acesso a determinada redes (IP ou Faixa de IPs) com a definição de obrigatoriedade de utilização ou não de um mecanismo de autenticação, que é configurado no arquivo pg_hba.conf

Segue modelo:

  • local: Utilizando soquete local do host / servidor;
  • host: Utilizando o protocolo TCP/IP;
  • hostssl: Utilizando o protocolo TCP/IP, somente com SSL
  • hostnossl: Utilizando o protocolo TCP/IP, somente sem SSL.
  • user: Especifica para o registro sobre qual role no cluster é aplicada a regra
  • address: Especifica quais endereços de máquinas clientes podem se conectar
  • auth-method: Especifica qual será o método de autenticação

Tipos de auth-methods:

  • trust – Permite conexão sem qualquer autenticação
  • reject – Rejeita a conexão de imediato
  • md5 – Obrigad que a conexão seja feita com hash MD5
  • password – Aceita que a senha fornecida na conexão esteja sem nenhuma criptografia

Segue abaixo um exemplo de liberação somente para a rede 192.168.0.0/24 e localhost.

# TYPE  DATABASE        USER            ADDRESS                 METHOD 
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
## Nessa regras estou liberando acesso de qualquer origem. 
host    all             all            192.168.0.0/24               password
# IPv6 local connections:
host    all             all             ::1/128                 password
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            password
host    replication     all             ::1/128                 password

Abs!