Como posso resolver um erro de conexão SSL ERRO 2026 ao me conectar a uma instância de banco de dados do Amazon RDS para MySQL ou Aurora?

5 minuto de leitura
0

Estou tentando me conectar à minha instância ou cluster de banco de dados do Amazon Relational Database Service (Amazon RDS) usando o Secure Sockets Layer (SSL). Recebi o seguinte erro: “ERRO 2026 (HY000): Erro de conexão SSL" Como posso resolver o ERRO 2026 do Amazon RDS para MySQL, Amazon Aurora para MySQL ou Amazon Aurora Serverless?

Breve descrição

Há três tipos diferentes de mensagens de erro para ERRO 2026:

  • ERRO 2026 (HY000): Erro de conexão SSL: Falha na validação do certificado SSL
  • ERRO 2026 (HY000): Erro de conexão SSL: O servidor não oferece suporte a SSL
  • ERRO 2026 (HY000): Erro de conexão SSL: ASN: confirmação incorreta de outra assinatura

Consulte as etapas de solução de problemas a seguir para cada mensagem de erro.

Resolução

ERRO 2026 (HY000): Erro de conexão SSL: Falha na validação do certificado SSL

Para solucionar esse erro, primeiro valide se você está usando o endpoint do cluster ou o endpoint da instância de banco de dados. Para saber como o Amazon RDS oferece suporte ao SSL, consulte Usar SSL com uma instância de banco de dados MySQL ou Usar SSL com clusters de banco de dados do Aurora MySQL.

Se você usar um cliente que ofereça suporte a Nomes Alternativos do Assunto (SAN), poderá usar somente o endpoint do cluster. Se o seu cliente não oferecer suporte a SAN, você deverá usar o endpoint da instância primária de banco de dados.

Observação: o cliente de linha de comando padrão do MySQL não oferece suporte a SAN.

Se você receber esse erro ao tentar se conectar ao endpoint do cluster, tente se conectar ao endpoint da instância de banco de dados primária na string de conexão. Por exemplo, você pode se conectar ao endpoint do cluster. No exemplo a seguir, o endpoint do cluster é abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com. O endpoint da instância de banco de dados é abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com.

Conecte-se usando o endpoint do cluster

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure

Conecte-se usando o endpoint da instância de banco de dados

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem
--ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26

ERRO 2026 (HY000): Erro de conexão SSL: O servidor não oferece suporte a SSL

Você pode receber esse erro se a versão do servidor ou do mecanismo que você usa não oferecer suporte a SSL. Para resolver esse erro, migre para um mecanismo que ofereça suporte a conexões SSL.

ERRO 2026 (HY000): Erro de conexão SSL: SSL_CTX_set_default_verify_paths falhou ou ERRO 2026 (HY000): Erro de conexão SSL: ASN: confirmação incorreta de outra assinatura

Você pode receber esse erro se o identificador do certificado (nome do arquivo do certificado) não estiver correto. Você também pode receber esse erro se o identificador do certificado não for suportado pelo cliente MySQL, como ocorre, por exemplo, com o Aurora Serverless. Se você usa clusters do Aurora Serverless e usa o cliente MySQL para se conectar ao Aurora Serverless, deverá usar os comandos do MySQL compatíveis com o MySQL 8.0.

Certifique-se de usar o nome correto do identificador do certificado e o caminho correto para o certificado para se conectar com êxito. Antes de se conectar, confirme se você baixou o certificado correto. Para obter mais informações, consulte Usar SSL para criptografar uma conexão com uma instância de banco de dados.

Em uma instância do Amazon Elastic Compute Cloud (Amazon EC2), o arquivo do certificado raiz está no diretório Downloads. No exemplo a seguir, você insere o caminho incorreto, o que resulta no ERRO 2026:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed

Observação: este exemplo usa a string de conexão no diretório inicial, mas o certificado raiz fica no diretório Downloads.

No exemplo a seguir, você usa o caminho para o certificado raiz para se conectar com êxito:

[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca /home/ec2-user/Downloads/rds-combined-ca-bundle.pem
--ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26

Você também pode receber esse erro se não tiver permissões para o diretório onde o certificado está armazenado. Certifique-se de que o certificado esteja em um diretório ao qual você tenha as permissões de acesso. Veja os exemplos a seguir para se conectar com e sem permissões:

Conexão com permissões insuficientes

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 700 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed

Conexão com as permissões corretas

[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 755 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 810

Informações relacionadas

Usar TLS/SSL com o Aurora Serverless

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos