Configurar as opções de segurança para conexões - Amazon Redshift

Configurar as opções de segurança para conexões

O Amazon Redshift oferece suporte a conexões Secure Sockets Layer (SSL) para criptografar dados e certificados do servidor para validar o certificado do servidor ao qual o cliente se conecta.

Conexão usando SSL

Para oferecer suporte a conexões SSL, o Amazon Redshift cria e instala um certificado SSL emitido AWS Certificate Manager (ACM) em cada cluster. Os certificados ACM são publicamente confiáveis pela maioria dos sistemas operacionais, navegadores da Web e clientes. Poderá ser necessário baixar um pacote de certificados, caso seus clientes ou aplicações SQL se conectarem ao Amazon Redshift usando SSL com a opção de conexão sslmode definida como require, verify-ca ou verify-full. Se o cliente precisar de um certificado, o Amazon Redshift fornecerá um certificado de pacote da seguinte forma:

  • Baixe o pacote em https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt.

    • O número de soma de verificação MD5 esperado é 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • O número da soma de verificação sha256 é 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    Não use o pacote de certificados anterior localizado em https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt.

  • Na Região da AWS da China, baixe o pacote de https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt.

    • O número de soma de verificação MD5 esperado é 418dea9b6d5d5de7a8f1ac42e164cdcf.

    • O número da soma de verificação sha256 é 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

    Não use os pacotes de certificados anteriores localizados em https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/redshift-ca-bundle.crt e https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem

Importante

O Amazon Redshift mudou a maneira como os certificados SSL são gerenciados. Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. Para obter mais informações, consulte Transição para certificados ACM das conexões SSL.

Por padrão, os bancos de dados de cluster aceitam tanto as conexões SSL quanto as que não utilizam SSL. Para configurar seu cluster para solicitar uma conexão SSL, configure o parâmetro require_SSL como true no parameter group que está associado ao cluster.

O Amazon Redshift oferece suporte a um modo SSL compatível com Federal Information Processing Standard (FIPS) 140-2. O modo SSL compatível com a FIPS está desativado por padrão.

Importante

Habilite o modo SSL compatível com FIPS somente se o sistema precisar ser compatível com FIPS.

Para habilitar o modo SSL compatível com FIPS, defina os parâmetros use_fips_ssl e require_SSL como true no grupo de parâmetros que está associado ao cluster do Amazon Redshift ou ao grupo de trabalho do Redshift sem servidor. Para ter informações sobre como modificar um grupo de parâmetros em um cluster, consulte Grupos de parâmetros do Amazon Redshift. Para ter informações sobre como modificar um grupo de parâmetros, consulte Configurar uma conexão SSL compatível com FIPS com o Amazon Redshift sem servidor .

O Amazon Redshift oferece suporte ao protocolo de acordo de chave Elliptic Curve Diffie—Hellman Ephemeral (ECDHE). Com o ECDHE, o cliente e o servidor têm, cada um, um par de chaves públicas/privadas de curva elíptica que é usado para estabelecer um segredo compartilhado através de um canal inseguro. Não é necessário configurar nada no Amazon Redshift para habilitar o ECDHE. Se você se conectar a partir de uma ferramenta de cliente SQL que usa ECDHE para criptografar a comunicação entre o cliente e o servidor, o Amazon Redshift usa a lista de cifras fornecida para fazer a conexão apropriada. Para obter mais informações, consulte Elliptic curve diffie—hellman na Wikipedia e Cifras no site do OpenSSL.

Uso do SSL e dos certificados CA confiáveis no ODBC

Se você estabelecer a conexão usando os drivers ODBC mais recentes do Amazon Redshift (versão 1.3.7.1000 ou posterior), ignore esta seção. Para baixar os drivers mais recentes, consulte Configurar uma conexão ODBC.

Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. Para obter mais informações, consulte Conexão usando SSL.

Você pode verificar se o certificado baixado corresponde ao número de checksum MD5 esperado. Para isso, você pode usar o programa Md5sum em sistemas operacionais Linux ou outra ferramenta em sistemas operacionais Windows e macOS X.

Os DSNs do ODBC contêm uma configuração sslmode que determina como lidar com a criptografia para conexões de cliente e verificação de certificado de servidor. O Amazon Redshift oferece suporte ao seguinte valores sslmode da conexão do cliente:

  • disable

    O SSL é desabilitado e a conexão não é criptografada.

  • allow

    O SSL será usado se o servidor exigir.

  • prefer

    O SSL será usado se o servidor for compatível. O Amazon Redshift oferece suporte ao SSL, portanto, o SSL é usado quando você define sslmode como prefer.

  • require

    O SSL é necessário.

  • verify-ca

    O SSL deve ser usado e o certificado de servidor deve ser verificado.

  • verify-full

    O SSL deve ser usado. O certificado de servidor deve ser verificado, e o nome do host do servidor deve corresponder ao nome do host atribuído no certificado.

É possível determinar se o SSL é usado, e se os certificados do servidor são verificados em uma conexão entre o cliente e o servidor. Para fazer isso, você precisa revisar a configuração sslmode do ODBC DSN no cliente e a configuração require_SSL do cluster do Amazon Redshift no servidor. A tabela a seguir descreve o resultado da criptografia para várias combinações de configuração de clientes e servidores:

sslmode (cliente) require_SSL (servidor) Resultado
disable false A conexão não é criptografada.
disable true A conexão não pode ser estabelecida porque o servidor exige SSL e o cliente está com o SSL desabilitado para esta conexão.
allow true A conexão é criptografada.
allow false A conexão não é criptografada.
prefer ou require true A conexão é criptografada.
prefer ou require false A conexão é criptografada.
verify-ca true A conexão é criptografada e o certificado do servidor foi verificado.
verify-ca false A conexão é criptografada e o certificado do servidor foi verificado.
verify-full true A conexão é criptografada e o certificado do servidor e o nome do host foram verificados.
verify-full false A conexão é criptografada e o certificado do servidor e o nome do host foram verificados.

Conexão usando o certificado de servidor com o ODBC no Microsoft Windows

Se você deseja se conectar ao seu cluster usando SSL e o certificado do servidor, primeiro baixe o certificado para o seu computador cliente ou instância do Amazon EC2. Depois, configure o DSN do ODBC.

  1. Baixe o pacote de autoridade de certificação do Amazon Redshift para o seu computador cliente na pasta lib no diretório de instalação do driver e salve o arquivo como root.crt. Para baixar as informações, consulte Conexão usando SSL.

  2. Abra ODBC Data Source Administrator e adicione ou edite a entrada de DSN do sistema para a conexão ODBC. Em SSL Mode, selecione verify-full, a menos que você use um alias DNS. Se você usa um alias DNS, selecione verify-ca. Em seguida, escolha Salvar.

    Para obter mais informações sobre a configuração do DSN do ODBC, consulte Configurar uma conexão ODBC.

Utilização de SSL e dos certificados de servidor em Java

O SSL fornece uma camada de segurança criptografando os dados transferidos entre o cliente e o cluster. Usar um certificado de servidor fornece uma camada extra de segurança, validando que o cluster é um cluster do Amazon Redshift. Para isso, ele verifica o certificado de servidor que é instalado automaticamente em todos os clusters provisionados. Para obter mais informações sobre como usar certificados de servidor com o JDBC, acesse Configuração do cliente na documentação do PostgreSQL.

Conexão por meio de certificados CA confiáveis em Java

Importante

O Amazon Redshift mudou a maneira como os certificados SSL são gerenciados. Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. Para obter mais informações, consulte Conexão usando SSL.

Para se conectar por meio de certificados CA confiáveis

Você pode usar o arquivo redshift-keytool.jar para importar certificados CA no pacote de autoridade de certificação do Amazon Redshift para um Java TrustStore ou seu TrustStore privado.

  1. Se você usa a opção -Djavax.net.ssl.trustStore de linha de comando Java, remova-a da linha de comando, se possível.

  2. Baixe o redshift-keytool.jar.

  3. Execute um destes procedimentos:

    • Para importar o pacote de autoridade de certificação do Amazon Redshift para um Java TrustStore, execute o comando a seguir.

      java -jar redshift-keytool.jar -s
    • Para importar o pacote de autoridade de certificação do Amazon Redshift para o seu TrustStore privado, execute o seguinte comando:

      java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password>