Segurança PostgreSQL: Controle de Acesso, Criptografia, Auditoria e Boas Práticas
Segurança PostgreSQL é um dos principais requisitos para empresas que utilizam bancos de dados em aplicações corporativas, sistemas críticos, plataformas financeiras, ambientes de missão crítica e operações que processam informações sensíveis. Uma estratégia adequada de segurança precisa proteger o banco desde a conexão inicial até o acesso aos dados, administração, auditoria, backup e recuperação.
O PostgreSQL possui mecanismos nativos para autenticação, autorização, gerenciamento de usuários e roles, controle de privilégios, criptografia de conexões, Row-Level Security e registro de atividades. Esses recursos permitem construir arquiteturas de segurança capazes de atender diferentes níveis de exigência operacional.
Em ambientes empresariais, entretanto, segurança não deve ser tratada como uma única configuração. É necessário combinar controles de rede, autenticação, autorização, criptografia, auditoria, monitoramento, atualização, proteção de backups e processos de administração.
O que é Segurança PostgreSQL?
Segurança PostgreSQL é o conjunto de mecanismos, políticas e práticas utilizados para proteger bancos de dados PostgreSQL contra acessos não autorizados, alteração indevida de informações, exposição de dados, comprometimento de credenciais, falhas operacionais e outras ameaças.
Uma arquitetura de segurança PostgreSQL pode envolver diferentes camadas:
- Segurança da infraestrutura.
- Segmentação de rede.
- Firewall.
- Autenticação de usuários.
- Gerenciamento de roles.
- Controle de privilégios.
- Criptografia das conexões.
- Proteção dos dados armazenados.
- Row-Level Security.
- Auditoria.
- Monitoramento.
- Gestão de vulnerabilidades.
- Atualização do PostgreSQL.
- Proteção de backups.
- Disaster Recovery.

Como funciona a segurança do PostgreSQL?
A segurança do PostgreSQL começa no momento em que um cliente tenta estabelecer uma conexão com o servidor. O banco avalia as regras de autenticação configuradas e, depois que a identidade é validada, aplica as permissões associadas à role utilizada.
O arquivo pg_hba.conf possui papel importante nesse processo, pois define regras para autenticação de clientes e pode restringir o acesso de acordo com banco de dados, usuário, endereço de origem e método de autenticação.
Depois da autenticação, o PostgreSQL utiliza roles e privilégios para determinar quais objetos podem ser acessados e quais operações podem ser executadas.
Autenticação
A autenticação determina se uma identidade possui autorização para estabelecer uma conexão com o PostgreSQL.
Autorização
A autorização determina quais recursos estarão disponíveis depois que o usuário ou aplicação for autenticado.
Privilégios
Os privilégios permitem controlar operações sobre bancos de dados, schemas, tabelas, sequências, funções e outros objetos.
Políticas de acesso
Recursos como Row-Level Security permitem aplicar controles ainda mais granulares, inclusive restringindo quais registros determinados usuários podem consultar ou modificar.
Autenticação no PostgreSQL
A autenticação é uma das primeiras camadas de defesa de um ambiente PostgreSQL. Ela determina como usuários e aplicações comprovam sua identidade antes de obter acesso ao banco.
O PostgreSQL oferece diferentes métodos de autenticação, e a escolha deve considerar a arquitetura, o nível de segurança exigido e a integração com os sistemas corporativos existentes.
Em ambientes empresariais, a configuração de autenticação deve ser revisada periodicamente para evitar métodos desnecessariamente permissivos.
- Definir métodos de autenticação apropriados.
- Restringir os endereços de origem.
- Evitar acessos desnecessários.
- Utilizar credenciais fortes.
- Controlar contas administrativas.
- Remover ou desativar contas que não sejam mais necessárias.
pg_hba.conf e controle de acesso
O arquivo pg_hba.conf é um dos componentes centrais da autenticação do PostgreSQL.
Ele permite estabelecer regras que determinam quais clientes podem se conectar, quais bancos podem ser acessados, quais usuários podem realizar a conexão e qual método de autenticação deve ser utilizado.
Uma configuração excessivamente aberta pode aumentar a superfície de exposição do banco de dados.
Por isso, a configuração deve seguir o princípio de negar acessos desnecessários e liberar somente aquilo que é necessário para a operação.
- Restringir redes autorizadas.
- Restringir usuários.
- Restringir bancos acessíveis.
- Utilizar métodos de autenticação adequados.
- Revisar as regras periodicamente.
- Evitar permissões genéricas sem necessidade.
Roles e usuários no PostgreSQL
O PostgreSQL utiliza o conceito de roles para representar identidades e controlar permissões.
Uma arquitetura corporativa deve evitar que todos os usuários compartilhem uma única conta administrativa. A utilização de identidades individuais ou contas específicas para cada aplicação melhora a rastreabilidade e facilita o controle de privilégios.
As roles podem representar diferentes funções dentro do ambiente:
- Administradores de banco de dados.
- Aplicações.
- Desenvolvedores.
- Operadores.
- Usuários somente leitura.
- Usuários de integração.
- Usuários de replicação.
- Contas destinadas a processos específicos.
Princípio do menor privilégio
O princípio do menor privilégio determina que cada usuário, aplicação ou processo deve possuir somente as permissões necessárias para executar sua função.
Esse princípio reduz o impacto de uma credencial comprometida e limita as operações que podem ser realizadas por uma identidade.
Uma aplicação que precisa somente consultar dados, por exemplo, não deve receber privilégios administrativos.
Da mesma maneira, uma aplicação que precisa inserir informações não necessariamente precisa possuir permissões para alterar a estrutura das tabelas.
Separação de funções
Contas administrativas devem ser separadas das contas utilizadas pelas aplicações. Essa separação melhora a segurança e também a capacidade de auditoria.
Controle de superuser
Contas com privilégios elevados devem ser utilizadas somente quando necessário. O uso excessivo de superuser aumenta o impacto potencial de um comprometimento de credenciais.
Privilégios no PostgreSQL
O PostgreSQL permite conceder e revogar privilégios sobre diferentes objetos do banco de dados.
Esse modelo permite construir políticas de acesso alinhadas às responsabilidades de cada usuário ou aplicação.
- Privilégios sobre bancos.
- Privilégios sobre schemas.
- Privilégios sobre tabelas.
- Privilégios sobre sequências.
- Privilégios sobre funções.
- Privilégios sobre outros objetos do banco.
A revisão periódica dos privilégios é importante para identificar permissões antigas, excessivas ou incompatíveis com a função atual de uma conta.
Row-Level Security no PostgreSQL
O Row-Level Security, conhecido como RLS, permite controlar o acesso aos registros de uma tabela por meio de políticas.
Esse mecanismo é especialmente interessante em aplicações que possuem múltiplos clientes, departamentos ou organizações utilizando a mesma estrutura de banco de dados.
Com uma política adequada, usuários diferentes podem acessar a mesma tabela sem necessariamente visualizar os mesmos registros.
Aplicações multi-tenant
Em uma arquitetura multi-tenant, o RLS pode ajudar a impedir que dados de um cliente sejam visualizados por outro cliente.
Controle granular
O RLS permite levar o controle de acesso para além do nível de tabela, permitindo aplicar regras diretamente sobre as linhas.
Segurança no banco de dados
Uma vantagem importante é que a política pode ser aplicada no próprio banco, adicionando uma camada de proteção além dos controles existentes na aplicação.
SSL e TLS no PostgreSQL
A proteção das conexões é fundamental quando informações trafegam entre aplicações e servidores PostgreSQL.
O PostgreSQL oferece suporte a SSL/TLS para proteger a comunicação entre clientes e servidores.
A utilização de conexões protegidas reduz o risco de interceptação dos dados durante o transporte.
Criptografia em trânsito
A criptografia em trânsito protege as informações enquanto elas percorrem a rede.
Certificados
Ambientes corporativos devem considerar a gestão adequada de certificados, autoridades certificadoras e validação da identidade do servidor.
Autenticação mútua
Em determinadas arquiteturas, pode ser necessário utilizar mecanismos em que tanto o cliente quanto o servidor apresentem certificados válidos.
Criptografia de dados no PostgreSQL
Criptografia pode ser aplicada em diferentes camadas de uma arquitetura PostgreSQL.
É importante distinguir a proteção da comunicação da proteção dos dados armazenados.
Criptografia em trânsito
Protege os dados enquanto são transmitidos pela rede.
Criptografia em repouso
Protege informações armazenadas em discos, volumes ou outros meios de armazenamento.
Criptografia de dados específicos
Determinados dados podem exigir mecanismos específicos de proteção, dependendo da classificação da informação e dos requisitos da organização.
Auditoria PostgreSQL
A auditoria permite registrar atividades realizadas no banco de dados e criar informações úteis para investigação, rastreabilidade, conformidade e análise operacional.
Dependendo da configuração, podem ser acompanhados diferentes tipos de eventos:
- Conexões.
- Desconexões.
- Erros.
- Comandos administrativos.
- Operações DDL.
- Operações DML.
- Alterações de privilégios.
- Atividades de usuários privilegiados.
O PostgreSQL possui recursos de logging e pode utilizar extensões especializadas, como pgAudit, para ampliar a capacidade de auditoria.
Segurança PostgreSQL e EDB Postgres Advanced Server
Ambientes empresariais que utilizam o EDB Postgres Advanced Server podem contar com recursos adicionais de segurança, dependendo da versão, edição e configuração adotada.
Entre os recursos disponibilizados pela plataforma estão mecanismos relacionados a auditoria, criptografia, proteção de dados, controle de acesso e outros recursos direcionados a ambientes corporativos.
- Transparent Data Encryption.
- EDB Audit.
- Data Redaction.
- Gerenciamento de perfis.
- Proteção contra SQL Injection.
- Obfuscação de código.
- Virtual Private Database.
- Controle de acesso.
- Row-Level Security.

Transparent Data Encryption
O Transparent Data Encryption, conhecido como TDE, é utilizado para proteger dados armazenados em arquivos do banco de dados.
Esse tipo de mecanismo pode reduzir o risco de exposição caso os arquivos físicos sejam obtidos de forma indevida.
A proteção das chaves de criptografia é parte fundamental dessa arquitetura. A chave não deve ser tratada como um elemento secundário, pois o comprometimento dela pode comprometer a proteção oferecida pela criptografia.
Gestão de chaves
Uma arquitetura empresarial deve considerar armazenamento seguro das chaves, controle de acesso, rotação, recuperação e separação de responsabilidades.
Auditoria com EDB Postgres Advanced Server
O EDB Postgres Advanced Server oferece mecanismos de auditoria que podem registrar diferentes atividades realizadas no banco.
Esses registros podem contribuir para rastreabilidade, investigação de incidentes e atendimento a requisitos de governança.
A política de auditoria deve ser definida de acordo com os requisitos do ambiente, evitando tanto a ausência de informações importantes quanto a geração excessiva de dados sem finalidade operacional.
Segurança contra SQL Injection
SQL Injection é uma classe de vulnerabilidade em que entradas manipuladas podem alterar indevidamente comandos SQL executados pela aplicação.
A principal proteção deve ser implementada no desenvolvimento da aplicação.
- Utilizar consultas parametrizadas.
- Utilizar prepared statements.
- Validar entradas.
- Evitar concatenação insegura de SQL.
- Aplicar o princípio do menor privilégio.
- Separar usuários de aplicação e administração.
O banco de dados pode oferecer mecanismos adicionais de proteção, mas esses recursos não substituem o desenvolvimento seguro.
Segurança das extensões PostgreSQL
As extensões aumentam as funcionalidades do PostgreSQL, mas também devem fazer parte da governança de segurança.
- Instalar somente extensões necessárias.
- Utilizar fontes confiáveis.
- Controlar permissões para instalação.
- Manter extensões atualizadas.
- Acompanhar vulnerabilidades conhecidas.
- Revisar periodicamente as extensões instaladas.
Atualizações e vulnerabilidades PostgreSQL
Manter o PostgreSQL atualizado é uma das práticas fundamentais de segurança.
Uma política corporativa deve acompanhar versões utilizadas, correções disponíveis, vulnerabilidades conhecidas e impacto potencial sobre cada ambiente.
O processo de atualização deve ser controlado e incluir testes antes da aplicação em ambientes críticos.
- Manter inventário das versões.
- Acompanhar avisos de segurança.
- Avaliar impacto das vulnerabilidades.
- Testar atualizações.
- Planejar janelas de manutenção.
- Aplicar correções.
- Validar o ambiente após a atualização.
Segurança PostgreSQL em ambientes corporativos
Em ambientes corporativos, o banco de dados deve estar protegido por múltiplas camadas.
Uma arquitetura adequada pode incluir:
- Firewall.
- Segmentação de rede.
- Controle de acesso.
- Autenticação.
- TLS.
- Roles.
- Privilégios.
- Auditoria.
- Monitoramento.
- Backup.
- Disaster Recovery.
- Gestão de vulnerabilidades.
Essa abordagem reduz a dependência de um único mecanismo de segurança e permite que diferentes controles atuem de maneira complementar.
Segurança dos backups PostgreSQL
Backups também precisam ser protegidos.
Um backup contendo informações sensíveis pode representar um risco tão grande quanto o próprio banco de dados de produção se não possuir controles adequados.
Uma estratégia corporativa deve considerar:
- Controle de acesso aos backups.
- Criptografia.
- Armazenamento separado.
- Política de retenção.
- Proteção contra exclusão indevida.
- Testes periódicos de restauração.
- Monitoramento das operações de backup.
Segurança PostgreSQL e Disaster Recovery
Segurança e Disaster Recovery estão diretamente relacionados.
Em um incidente grave, a organização precisa ser capaz de recuperar o ambiente utilizando cópias confiáveis e procedimentos previamente testados.
O planejamento deve considerar também a possibilidade de que um incidente de segurança afete simultaneamente o ambiente principal e os mecanismos de recuperação.
Por isso, backups, réplicas e ambientes de recuperação devem possuir controles de acesso próprios.
Monitoramento de Segurança PostgreSQL
O monitoramento permite identificar alterações e comportamentos que podem indicar falhas de configuração ou incidentes de segurança.
- Tentativas de autenticação malsucedidas.
- Conexões inesperadas.
- Criação de novas roles.
- Alterações de privilégios.
- Alterações de configuração.
- Atividades de usuários privilegiados.
- Operações anômalas.
- Alterações inesperadas em objetos.
A correlação entre logs do PostgreSQL, sistema operacional, aplicações e infraestrutura pode aumentar a capacidade de detecção e investigação.

Dashboard corporativo de segurança PostgreSQL apresentando autenticação, conexões, privilégios, auditoria, vulnerabilidades, eventos e alertas em tempo real.
Checklist de Segurança PostgreSQL
- Utilizar uma versão suportada do PostgreSQL.
- Aplicar correções de segurança.
- Revisar regularmente o
pg_hba.conf. - Restringir redes autorizadas.
- Utilizar autenticação adequada.
- Evitar superuser para aplicações.
- Aplicar o princípio do menor privilégio.
- Revisar roles e privilégios.
- Utilizar TLS quando necessário.
- Avaliar Row-Level Security.
- Implementar auditoria.
- Proteger backups.
- Monitorar eventos de segurança.
- Controlar extensões.
- Testar restauração de backups.
- Documentar procedimentos administrativos.
Segurança PostgreSQL para aplicações de missão crítica
Aplicações de missão crítica exigem controles de segurança mais rigorosos porque uma indisponibilidade ou comprometimento pode gerar impactos significativos para a organização.
Nesses ambientes, PostgreSQL pode ser integrado a arquiteturas que combinam segurança, alta disponibilidade, replicação, backup, Disaster Recovery e monitoramento.
A segurança deve ser validada continuamente e não somente durante a implantação inicial.
Segurança PostgreSQL e conformidade
Organizações submetidas a requisitos de governança e conformidade precisam demonstrar não apenas que possuem mecanismos de segurança, mas também que esses mecanismos são administrados, monitorados e revisados.
Nesse contexto, controles de acesso, auditoria, rastreabilidade, proteção de dados, gestão de vulnerabilidades e políticas de retenção podem fazer parte da estratégia de governança do banco de dados.
A implementação específica deve sempre considerar os requisitos regulatórios e jurídicos aplicáveis à organização e ao tipo de informação armazenada.
Conclusão
A Segurança PostgreSQL deve ser construída por meio de múltiplas camadas de proteção. Autenticação, roles, privilégios, TLS, Row-Level Security, auditoria, criptografia, monitoramento, atualização e proteção dos backups trabalham em conjunto para reduzir riscos.
Para ambientes corporativos, é importante ampliar essa estratégia para incluir gestão de vulnerabilidades, Disaster Recovery, processos administrativos e revisão periódica das permissões.
Quando requisitos empresariais adicionais são necessários, soluções como o EDB Postgres Advanced Server podem complementar os mecanismos de segurança disponíveis no ecossistema PostgreSQL.
Links Relacionados
- Alta disponibilidade para ambientes PostgreSQL. Alta Disponibilidade PostgreSQL
- Failover para ambientes PostgreSQL. Failover PostgreSQL
- Disaster Recovery para PostgreSQL. Disaster Recovery PostgreSQL
- Monitoramento de ambientes PostgreSQL. Monitoramento PostgreSQL
- PostgreSQL para ambientes corporativos. PostgreSQL Corporativo
- PostgreSQL para aplicações de missão crítica. PostgreSQL para Missão Crítica
- Recursos empresariais do PostgreSQL. Recursos Enterprise PostgreSQL
- EnterpriseDB e o ecossistema PostgreSQL empresarial. EnterpriseDB
- EDB Postgres Advanced Server. EDB Postgres Advanced Server
- Licenciamento EnterpriseDB. Licenciamento EnterpriseDB
Recursos Oficiais
- PostgreSQL — documentação oficial sobre autenticação de clientes. Documentação PostgreSQL — Client Authentication
- PostgreSQL — documentação oficial sobre o arquivo de autenticação de clientes. Documentação PostgreSQL — The pg_hba.conf File
- PostgreSQL — documentação oficial sobre gerenciamento de roles. Documentação PostgreSQL — Database Roles
- PostgreSQL — documentação oficial sobre privilégios. Documentação PostgreSQL — Privileges
- PostgreSQL — documentação oficial sobre Row-Level Security. Documentação PostgreSQL — Row Security Policies
- PostgreSQL — documentação oficial sobre SSL. Documentação PostgreSQL — SSL Support
- PostgreSQL — documentação oficial sobre logging. Documentação PostgreSQL — Error Reporting and Logging
- EnterpriseDB — documentação oficial sobre segurança. EDB Security — Documentação Oficial
- EnterpriseDB — documentação oficial sobre recursos avançados de segurança. EDB Postgres AI — Advanced Security Features
- EnterpriseDB — documentação oficial sobre segurança do EDB Postgres Advanced Server. EDB Postgres Advanced Server — Security Guide
- EnterpriseDB — documentação oficial sobre auditoria. EDB Postgres Advanced Server — EDB Audit Logging
- EnterpriseDB — documentação oficial sobre Transparent Data Encryption. EDB Transparent Data Encryption — Documentação Oficial
FAQ — Perguntas Frequentes
PostgreSQL é seguro para ambientes corporativos?
Sim. PostgreSQL oferece mecanismos de autenticação, autorização, roles, privilégios, Row-Level Security, SSL/TLS e logging que podem fazer parte de uma arquitetura corporativa de segurança.
Como proteger um banco PostgreSQL contra acessos não autorizados?
É necessário combinar autenticação adequada, regras restritivas no pg_hba.conf, controle de roles, princípio do menor privilégio, restrição de rede, TLS e monitoramento.
PostgreSQL possui criptografia?
PostgreSQL oferece suporte a SSL/TLS para proteger conexões. A proteção dos dados armazenados depende da arquitetura utilizada e pode ser complementada por recursos específicos de plataformas empresariais.
O que é Row-Level Security no PostgreSQL?
Row-Level Security permite aplicar políticas que determinam quais registros de uma tabela podem ser acessados por determinados usuários ou contextos.
PostgreSQL possui auditoria?
PostgreSQL possui recursos de logging e pode utilizar extensões como pgAudit para ampliar a capacidade de auditoria. Soluções empresariais também podem disponibilizar mecanismos adicionais.
É importante manter o PostgreSQL atualizado?
Sim. A manutenção de versões suportadas e a aplicação das correções disponíveis são componentes importantes de uma estratégia de segurança.
EDB Postgres possui recursos adicionais de segurança?
Dependendo da versão e da distribuição utilizada, o EDB Postgres Advanced Server pode oferecer recursos adicionais relacionados a auditoria, criptografia, proteção de dados e controle de acesso.
Modernize seu Banco de Dados com a Dominus Tech

👉 Planejando uma Migração Oracle para PostgreSQL?
A Dominus Tech é Parceira Gold da EnterpriseDB e apoia empresas em todas as etapas da modernização de bancos de dados Oracle para PostgreSQL. Nossa equipe possui experiência em ambientes corporativos de missão crítica, oferecendo serviços de assessment, planejamento, migração, otimização de desempenho, alta disponibilidade, observabilidade e suporte especializado para plataformas PostgreSQL Enterprise.
✔ Parceira Gold da EnterpriseDB no Brasil
A migração de Oracle para PostgreSQL representa uma oportunidade estratégica para reduzir custos de licenciamento, modernizar a infraestrutura e construir uma plataforma preparada para o futuro. Com uma metodologia estruturada e ferramentas especializadas da EnterpriseDB, ajudamos organizações a realizar essa transição com segurança, preservando aplicações críticas e minimizando riscos operacionais.
