Configuração de Transparent Data Encryption (TDE) no PostgresApp para macOS

O PostgresApp é uma aplicação de código aberto que fornece uma instância do PostgreSQL para o sistema operativo macOS, conhecida pela sua facilidade de uso e desempenho eficiente. Para proteger dados sensíveis, a configuração do Transparent Data Ancryption (TDE) torna-se essencial. Esta funcionalidade encripta automaticamente os dados ao escrevê-los no disco e desencripta-os ao lê-los, operando de forma transparente para a aplicação.

![Ícone da aplicação PostgresApp](https://raw.gitcode.com/gh_mirrors/po/PostgresApp/raw/3304d8fd021e93d50898116e0764ac85538ebac4/Artwork/App Icon/app_icon_1024.png?utm_source=gitcode_repo_files)

Pré-requisitos para a Configuração

Antes de iniciar, assegure que o PostgresApp está instalado com a versão mais recente. O serviço de base de dados deve estar parado e é crucial efetuar uma cópia de segurança de todos os dados, por exemplo, utilizando a ferramenta pg_dump.

Passos para Habilitar o TDE

1. Localizar os Ficheiros de Configuarção

Os ficheiros de configuração centrais do PostgreSQL dentro do PostgresApp encontram-se no diretório de dados. O caminho padrão é semelhante a ~/Library/Application Support/Postgres/var-9.6. Os ficheiros relevantes são:

  • postgresql.conf
  • pg_hba.conf

2. Ativar a Encriptação via SSL no postgresql.conf

Abra o ficheiro postgresql.conf e modifique ou adicione as seguintes linhas:

shared_preload_libraries = 'pgcrypto'
ssl = on
ssl_cert_file = '/caminho/para/server.crt'
ssl_key_file = '/caminho/para/server.key'

3. Reforçar a Autenticação no pg_hba.conf

Para aumetnar a segurança, altere o método de autenticação de trust para md5:

# Conexões via socket local
local   all             all                                     md5
# Conexões locais IPv4
host    all             all             127.0.0.1/32            md5

4. Gerar Certificados SSL

Execute os seguintes comandos no terminal para criar um certificado autoassinado. Certifique-se de navegar primeiro para o diretório de dados do PostgreSQL.

openssl req -new -x509 -nodes -days 365 -out server.crt -keyout server.key
chmod 600 server.key

5. Reiniciar o Serviço

Abra a aplicação PostgresApp, pare todos os servidores de base de dados e inicie-os novamente para que as alterações entrem em vigor.

Verificação da Configuração

Após estabelecer uma conexão, execute a seguinte consulta SQL para confirmar que o SSL está ativo:

SELECT name, setting FROM pg_settings WHERE name IN ('ssl', 'ssl_cert_file', 'ssl_key_file');

Se o parâmetro ssl tiver o valor on, a configuração foi bem-sucedida.

Resolução de Problemas Comuns

Se a ligação à base de dados falhar após a configuração, verifique as permissões dos ficheiros de certificado e chave. O ficheiro server.key deve ter permissões restritas (ex.: 600). Os backups realizados com pg_dump incluirão os dados encriptados; a restauração requer que a configuração TDE esteja igualmente presente no servidor de destino.

Tags: PostgresApp postgresql TDE macOS database-encryption

Publicado em 6-15 05:01 por Thomas