Query Service opções de SSL

Para maior segurança, o Adobe Experience Platform Query Service fornece suporte nativo para conexões SSL para criptografar comunicações cliente/servidor. Este documento aborda as opções de SSL disponíveis para conexões de clientes de terceiros com o Query Service e como se conectar usando o valor do parâmetro SSL verify-full.

Pré-requisitos

Este documento supõe que você já tenha baixado um aplicativo de cliente de desktop de terceiros para uso com os dados da plataforma. Instruções específicas sobre como incorporar segurança SSL ao se conectar com um cliente de terceiros são encontradas em sua respectiva documentação do guia de conexão. Para obter uma lista de todos os clientes Query Service compatíveis, consulte a visão geral das conexões de clientes.

Opções de SSL disponíveis available-ssl-options

A Platform oferece suporte a várias opções SSL para atender às suas necessidades de segurança de dados e equilibrar a sobrecarga de processamento da criptografia e do intercâmbio de chaves.

Os diferentes valores de parâmetro sslmode fornecem diferentes níveis de proteção. Ao criptografar seus dados em movimento com certificados SSL, ajuda a impedir ataques "man-in-the-middle" (MITM), espionagem e representação. A tabela abaixo fornece um detalhamento dos diferentes modos SSL disponíveis e o nível de proteção fornecido.

NOTE
O valor SSL disable não tem suporte da Adobe Experience Platform devido à conformidade de proteção de dados necessária.
sslmode
Proteção contra espionagem
Proteção MITM
Descrição
allow
Parcial
Não
A segurança não é uma prioridade, a velocidade e uma baixa sobrecarga de processamento são mais importantes. Esse modo só optará pela criptografia se o servidor insistir nela.
prefer
Parcial
Não
A criptografia não é necessária, mas a comunicação será criptografada se o servidor permitir.
require
Sim
Não
A criptografia é necessária em todas as comunicações. A rede é confiável para se conectar ao servidor correto. A validação do certificado SSL do servidor não é necessária.
verify-ca
Sim
Depende da política de CA
A criptografia é necessária em todas as comunicações. A validação do servidor é necessária antes que os dados sejam compartilhados. Isso requer que você configure um certificado raiz no seu diretório base do PostgreSQL. Detalhes fornecidos abaixo
verify-full
Sim
Sim
A criptografia é necessária em todas as comunicações. A validação do servidor é necessária antes que os dados sejam compartilhados. Isso requer que você configure um certificado raiz no seu diretório base do PostgreSQL. Os detalhes são fornecidos abaixo.
NOTE
A diferença entre verify-ca e verify-full depende da política da CA (autoridade de certificação) raiz. Se você criou sua própria CA local para emitir certificados privados para seus aplicativos, o uso do verify-ca geralmente fornece proteção suficiente. Se estiver usando uma CA pública, o verify-ca permitirá conexões com um servidor que outra pessoa pode ter registrado com a CA. verify-full deve ser sempre usado com uma CA raiz pública.

Ao estabelecer uma conexão de terceiros com um banco de dados da Platform, é recomendável usar sslmode=require no mínimo para garantir uma conexão segura para seus dados em movimento. O modo SSL verify-full é recomendado para uso na maioria dos ambientes sensíveis à segurança.

Configurar um certificado raiz para verificação do servidor root-certificate

IMPORTANT
Os certificados TLS/SSL em ambientes de Produção para a API Postgres interativa do serviço de consulta foram atualizados na quarta-feira, 24 de janeiro de 2024.
Embora esse seja um requisito anual, nesta ocasião o certificado raiz na cadeia também foi alterado, pois o provedor de certificados TLS/SSL do Adobe atualizou sua hierarquia de certificados. Isso pode afetar determinados clientes Postgres se a lista de Autoridades de certificação não tiver o certificado raiz. Por exemplo, um cliente PSQL CLI pode precisar ter os certificados raiz adicionados a um arquivo explícito ~/postgresql/root.crt, caso contrário, isso pode resultar em um erro. Por exemplo, psql: error: SSL error: certificate verify failed. Consulte a documentação oficial do PostgreSQL para obter mais informações sobre esse problema.
O certificado raiz a ser adicionado pode ser baixado de https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem.

Para garantir uma conexão segura, o uso do SSL deve ser configurado no cliente e no servidor antes que a conexão seja feita. Se o SSL só estiver configurado no servidor, o cliente poderá enviar informações confidenciais, como senhas, antes de se estabelecer que o servidor requer alta segurança.

Por padrão, PostgreSQL não executa nenhuma verificação do certificado do servidor. Para verificar a identidade do servidor e garantir uma conexão segura antes que dados confidenciais sejam enviados (como parte do modo SSL verify-full), você deve colocar um certificado raiz (autoassinado) no computador local (root.crt) e um certificado folha assinado pelo certificado raiz no servidor.

Se o parâmetro sslmode estiver configurado como verify-full, a libpq verificará se o servidor é confiável verificando a cadeia de certificados até o certificado raiz armazenado no cliente. Em seguida, ele verifica se o nome do host corresponde ao nome armazenado no certificado do servidor.

Para permitir a verificação do certificado do servidor, você deve colocar um ou mais certificados raiz (root.crt) no arquivo PostgreSQL em seu diretório base. O caminho do arquivo seria semelhante a ~/.postgresql/root.crt.

Habilitar o modo SSL verify-full para uso com uma conexão Query Service de terceiros instructions

Se você precisar de um controle de segurança mais rigoroso que o sslmode=require, poderá seguir as etapas destacadas para conectar um cliente de terceiros ao Query Service usando o modo SSL do verify-full.

NOTE
Há muitas opções disponíveis para obter um certificado SSL. Devido a uma tendência crescente em certificados não autorizados, a DigiCert é usada neste guia, pois eles são um provedor global confiável de soluções de alta garantia TLS/SSL, PKI, IoT e assinatura.
  1. Navegue até a lista de certificados raiz DigiCert disponíveis

  2. Pesquise por "DigiCert Global Root G2" na lista de certificados disponíveis.

  3. Selecione Baixar PEM para baixar o arquivo no computador local.
    A lista de certificados raiz DigiCert disponíveis com Download PEM realçado.

  4. Renomeie o arquivo de certificado de segurança para root.crt.

  5. Copie o arquivo para a pasta PostgreSQL. O caminho de arquivo necessário é diferente dependendo do seu sistema operacional. Se a pasta ainda não existir, crie-a.

    • Se você estiver usando o macOS, o caminho é /Users/<username>/.postgresql
    • Se você estiver usando o Windows, o caminho é %appdata%\postgresql
TIP
Para encontrar o local do arquivo %appdata% em um sistema operacional Windows, pressione Windows Win + R e insira %appdata% no campo de pesquisa.

Depois que o arquivo CRT DigiCert Global Root G2 estiver disponível na pasta PostgreSQL, você poderá se conectar a Query Service usando a opção sslmode=verify-full ou sslmode=verify-ca.

Próximas etapas

Ao ler este documento, você compreenderá melhor as opções de SSL disponíveis para conectar um cliente de terceiros ao Query Service e também como habilitar a opção SSL verify-full para criptografar seus dados em movimento.

Se ainda não tiver feito isso, siga as orientações em conectando um cliente de terceiros ao Query Service.

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb