Configurar Secure Socket Layer no Oracle Cloud Infrastructure Database com PostgreSQL

Introdução

O Oracle Cloud Infrastructure Database com PostgreSQL (OCI Database with PostgreSQL) suporta apenas criptografia SSL (Secure Socket Layer) para instâncias de banco de dados. Usando SSL, você pode criptografar a conexão entre seus aplicativos e as instâncias de banco de dados PostgreSQL.

A criptografia SSL é essencial para proteger as conexões do cliente com o OCI Database with PostgreSQL, garantindo a proteção de dados durante a transmissão. Ao configurar o tipo de conexão hostssl e usar o parâmetro sslmode, você pode controlar o nível de verificação SSL para segurança adicional. Por padrão, o TLSv1.2 é ativado para conexões de cliente e servidor, alinhando-se às práticas padrão do setor. Para um ambiente PostgreSQL totalmente seguro e compatível, é fundamental aproveitar essas definições de SSL.

Para conexões de cliente seguras, o OCI Database with PostgreSQL só permite o tipo de conexão hostssl no arquivo pg_hba.conf. A entrada hostssl garante que as conexões TCP/IP sejam criptografadas usando SSL, exigindo que os clientes usem SSL para autenticação. Você também pode especificar o nível de verificação SSL por meio do parâmetro sslmode, que inclui opções como require, verify-ca e verify-full.

No momento, os parâmetros ssl_max_protocol_version e ssl_min_protocol_version são configurados no OCI Database with PostgreSQL para usar o TLSv1.2 para conexões de cliente e servidor. No entanto, é importante observar que o OCI Database with PostgreSQL não pode impor versões TLS específicas, pois esses parâmetros são variáveis do sistema somente leitura.

Para obter mais informações sobre suporte a SSL em bancos de dados PostgreSQL, consulte Conexões TCP/IP Seguras com SSL.

Observação: O suporte a SSL está disponível em todas as regiões do OCI para PostgreSQL.

Objetivos

Modos SSL

A tabela a seguir ilustra os riscos tratados por diferentes valores sslmode, bem como as implicações de segurança e os custos indiretos associados para cada um.

sslmode Proteção contra espionagem Proteção MITM Instrução
disable No No Não me importo com segurança e não quero pagar a sobrecarga da criptografia.
permitir Talvez No Não me importo com a segurança, mas pagarei a sobrecarga da criptografia se o servidor insistir nela.
preferido Talvez No Não me importo com criptografia, mas quero pagar a sobrecarga da criptografia se o servidor suportar.
Exigir Sim No Quero que meus dados sejam criptografados e aceito a sobrecarga. Confio que a rede irá garantir que eu sempre me conecte ao servidor que eu quero.
verify-ca Sim Depende da política de CA Quero meus dados criptografados e aceito a sobrecarga. Quero ter certeza de que me conecto a um servidor em que confio.
verificação completa Sim Sim Quero meus dados criptografados e aceito a sobrecarga. Quero ter certeza de que me conecto a um servidor em que confio e que é o que eu especifico.

Para obter mais informações sobre as várias sslmodes, consulte a Tabela 31-1 DESCRIÇÕES DE MODO SSL.

No OCI Database with PostgreSQL, o sslmode deve ser definido como require ou superior (verify-ca ou verify-full), pois não há suporte para conexões não SSL devido a requisitos regulatórios e de conformidade. A conectividade SSL é obrigatória para garantir que todas as conexões em trânsito sejam criptografadas, de acordo com os padrões de conformidade da OCI.

Os certificados usados no OCI Database with PostgreSQL são emitidos por uma Autoridade de Certificação (CA) privada gerenciada por meio do serviço OCI Certificates, que adere às configurações aprovadas pela OCI padronizadas. Essa abordagem difere dos certificados autoassinados tradicionais, que geralmente utilizam configurações não padrão geradas com ferramentas como OpenSSL.

Estabelecer uma Conexão com o OCI Database with PostgreSQL usando Vários Modos SSL

As tentativas de conexão com o OCI Database with PostgreSQL sem SSL são rejeitadas com a seguinte mensagem.

no pg_hba.conf entry for host "yy.yy.yy.yy", user "xxxxx", database "zzzzzz", no encryption

Sempre que a mensagem de erro acima for exibida, é recomendável verificar o valor do modo SSL e definir o parâmetro sslmode como require ou mais recente para resolver o problema.

Determinar as versões de TLS no OCI Database with PostgreSQL

A imagem a seguir exibe o status de criptografia da sua conexão quando você se conecta à instância do OCI Database with PostgreSQL.

image

Você pode executar a consulta a seguir para recuperar informações do pg_settings.

image

Você pode coletar informações detalhadas sobre o uso de SSL da sua instância do OCI Database with PostgreSQL por processo, cliente e aplicativo usando a consulta a seguir.

image

Você pode usar a view do sistema pg_stat_ssl para ver o status SSL de todas as conexões. Para obter mais informações, consulte a Tabela 27.8. View pg_stat_ssl.

image

Configurar o Modo SSL em Diferentes Ferramentas GUI

Veja a seguir algumas ferramentas de GUI de código-fonte aberto que podem ser usadas para estabelecer conexão com bancos de dados PostgreSQL do OCI. Esta tarefa demonstra como configurar o sslmode para o require ou superior nessas ferramentas para evitar problemas de conectividade ao estabelecer conexão com bancos de dados PostgreSQL do OCI.

Confirmações

Mais Recursos de Aprendizado

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.