Solução de problemas de estabelecimento de conexão SSL/TLS com o DynamoDB - Amazon DynamoDB

Solução de problemas de estabelecimento de conexão SSL/TLS com o DynamoDB

O Amazon DynamoDB está meio ao processo de migração de nossos endpoints para certificados confiáveis assinados pela autoridade de certificação Amazon Trust Services (ATS), em vez de uma autoridade de certificação externa. Em dezembro de 2017, lançamos na região EU-WEST-3 (Paris) os certificados confiáveis emitidos pela Amazon Trust Services. Todas as novas regiões lançadas depois de dezembro de 2017 têm endpoints com certificados emitidos pela Amazon Trust Services. Este guia mostra como você valida e resolve problemas de conexão SSL/TLS.

Como testar seu aplicativo ou serviço

A maioria dos SDKs e interfaces de linha de comando (CLIs) da AWS é compatível com a autoridade de certificação Amazon Trust Services. Se estiver usando uma versão do AWS SDK for Python ou CLI lançada antes de 29 de outubro de 2013, você deverá atualizá-la. Os SDKs e CLIs para .NET, Java, PHP, Go, JavaScript e C++ não contêm nenhum certificado. Os certificados provém do sistema operacional subjacente. O SDK para Ruby tem incluído pelo menos uma das CAs exigidas desde o 10 de junho de 2015. Antes dessa data, o SDK para Ruby V2 não continha certificados. Caso você use uma versão não compatível, personalizada ou alterada do AWS SDK ou caso use um armazenamento personalizado de confiança, é provável que não precise da compatibilidade necessária para a autoridade de certificação Amazon Trust Services.

Para validar o acesso aos endpoints do DynamoDB, você precisará desenvolver um teste que acesse a API do DynamoDB ou a API do DynamoDB Streams na região EU-WEST-3 e validar se o handshake do TLS tem êxito. Os endpoints específicos que você precisará acessar nesse teste são:

Se seu aplicativo não for compatível com a autoridade de certificação Amazon Trust Services, você verá uma das falhas a seguir:

  • Erros de negociação de SSL/TLS

  • Um longo atraso antes de o software receber um erro, o que indica uma falha de negociação de SSL/TLS. O tempo de atraso depende da estratégia de repetição e de configuração de tempo limite do cliente.

Como testar o navegador cliente

Para verificar se seu navegador consegue se conectar ao Amazon DynamoDB, abra o URL a seguir: https://dynamodb.eu-west-3.amazonaws.com. Se o teste for bem-sucedido, você verá uma mensagem como esta:

healthy: dynamodb.eu-west-3.amazonaws.com

Se o teste não for bem-sucedido, será exibido um erro semelhante a este: https://untrusted-root.badssl.com/.

Como atualizar o aplicativo de software cliente

Os aplicativos que acessam endpoints de API do DynamoDB ou DynamoDB Streams (seja por meio de navegadores ou programaticamente) precisarão atualizar a lista de CA confiável nas máquinas clientes se ainda não forem compatíveis com as CAs a seguir:

  • Amazon Root CA 1

  • Starfield Services Root Certificate Authority – G2

  • Starfield Class 2 Certification Authority

Se os clientes já confiarem em QUALQUER uma das três CAs acima, confiarão nos certificados usados pelo DynamoDB e nenhuma ação será necessária. Contudo, se os clientes ainda não confiarem em nenhuma das CAs acima, as conexões HTTPS com as APIs do DynamoDB ou do DynamoDB Streams falharão. Para obter mais informações, visite esta publicação de blog: https://aws.amazon.com/blogs/security/how-to-prepare-for-aws-move-to-its-own-certificate-authority/.

Como atualizar o navegador cliente

Você pode atualizar o pacote de certificado em seu navegador simplesmente atualizando seu navegador. Instruções para os navegadores mais comuns podem ser encontradas no site do respectivo navegador:

Como atualizar manualmente seu pacote de certificado

Se você não conseguir acessar a API do DynamoDB ou do DynamoDB Streams, precisará atualizar o pacote de certificado. Para isso, você precisará importar pelo menos uma das CAs exigidas. Você pode encontrá-las em https://www.amazontrust.com/repository/.

Os seguintes sistemas operacionais e linguagens de programação são compatíveis com os certificados da Amazon Trust Services:

  • Versões do Microsoft Windows com atualizações em janeiro de 2005 ou mais recentes instaladas, Windows Vista, Windows 7, Windows Server 2008 e versões mais recentes.

  • MacOS X 10.4 com Java para MacOS X 10.4 Release 5, MacOS X 10.5 e versões mais recentes.

  • Red Hat Enterprise Linux 5 (março de 2007), Linux 6 e Linux 7 e CentOS 5, CentOS 6 e CentOS 7

  • Ubuntu 8.10

  • Debian 5.0

  • Amazon Linux (todas as versões)

  • Java 1.4.2_12, Java 5 atualização 2 e todas as versões mais recentes, incluindo Java 6, Java 7 e Java 8

Se ainda assim não conseguir se conectar, consulte a documentação do software ou o fornecedor do sistema operacional ou entre em contato com o AWS Support em https://aws.amazon.com/support para receber assistência adicional.