Segurança /

Segurança Máxima: Upgrade de Criptografia no Amazon Aurora MySQL 8.4 LTS

O fim do TLS legado e do SHA-1. Entenda os impactos do TLS 1.3 obrigatório e autenticação SHA-2 no novo Aurora MySQL.

Segurança Máxima: Upgrade de Criptografia no Amazon Aurora MySQL 8.4 LTS

A versão LTS (Long Term Support) 8.4 do Amazon Aurora MySQL traz avanços significativos de performance, mas o verdadeiro destaque reside na postura rigorosa de segurança digital. Visando atender a regulações globais como PCI-DSS v4.0 e HIPAA, o Aurora MySQL 8.4 adota padrões modernos de criptografia em trânsito e em repouso por padrão.

A maior mudança operacional que afeta engenheiros de banco de dados e desenvolvedores é a descontinuação de protocolos e ciphers antigos, exigindo conformidade imediata dos clientes de conexão.

Mudanças Cruciais no Tráfego de Conexão

Por padrão, as novas instâncias do Aurora MySQL 8.4 desabilitam conexões que utilizem criptografia TLS 1.0 e TLS 1.1. Conexões cifradas agora requerem TLS 1.2 ou, preferencialmente, TLS 1.3.

graph TD
    ClientTLS10[Cliente Antigo: TLS 1.0] -->|Conexão Rejeitada| Aurora[(Aurora MySQL 8.4)]
    ClientTLS13[Cliente Moderno: TLS 1.3] -->|Conexão Autorizada - SHA2| Aurora
    Aurora -->|Criptografia em Repouso| KMS[AWS KMS Key]

Protocolos de Autenticação Seguros

Além da criptografia do tráfego, o método de autenticação padrão mudou de mysql_native_password (que utiliza hash SHA-1) para caching_sha2_password (SHA-256).

Mecanismo de AutenticaçãoAlgoritmo HashStatus no Aurora 8.4Recomendação
mysql_native_passwordSHA-1Descontinuado / LegadoEvitar o uso
caching_sha2_passwordSHA-256Padrão NativoRecomendado
AWS Authentication IAMToken Dinâmico (SigV4)SuportadoAltamente Recomendado

Como Atualizar a Configuração dos Clientes

Para evitar falhas de conexão (“Handshake failures”) após migrar para o Aurora 8.4, garanta que os drivers de banco de dados e as strings de conexão estejam atualizados. Veja o exemplo de configuração de um cliente seguro em Node.js com o driver mysql2:

const mysql = require('mysql2/promise');
const fs = require('fs');

async function connectToAurora() {
  const connection = await mysql.createConnection({
    host: 'aurora-cluster.cluster-xyz.us-east-1.rds.amazonaws.com',
    user: 'app_user',
    database: 'prod_db',
    ssl: {
      ca: fs.readFileSync('us-east-1-bundle.pem'),
      minVersion: 'TLSv1.2' // Força o uso de criptografia moderna
    }
  });
  console.log('Conexão segura estabelecida via TLS 1.2+');
}

Ao adotar essa postura de segurança reforçada, o Aurora MySQL reduz a área de superfície de ataques do tipo Man-in-the-Middle e protege as transações mais sensíveis na nuvem.


Saiba Mais