Partilhar via


Suporte a TLS 1.3

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores Azure SQL Database AzureSQL Managed InstanceSQL database in Microsoft Fabric

O SQL Server (a partir do SQL Server 2022 (16.x)), Azure SQL Database e Azure SQL Managed Instance suportam o Transport Layer Security (TLS) 1.3 quando é utilizado o Tabular Data Stream (TDS) 8.0.

Importante

Mesmo com suporte a TLS 1.3 para conexões TDS, o TLS 1.2 ainda é necessário para iniciar serviços de satélite do SQL Server. Não desative o TLS 1.2 na máquina.

O SQL Server 2019 (15.x) e versões anteriores não oferecem suporte ao TLS 1.3.

Diferenças entre TLS 1.2 e TLS 1.3

O TLS 1.3 reduz o número de viagens de ida e volta de duas para uma durante a fase de aperto de mão, tornando-o mais rápido e seguro do que o TLS 1.2. O "hello packet" do servidor que contém o certificado do servidor é criptografado, e uma retomada de Round Trip Time (1-RTT) é descontinuada e substituída pela retomada de 0-RTT, baseada no compartilhamento de chave do cliente. A segurança adicional do TLS 1.3 vem da descontinuação de certos cyphers e algoritmos.

Aqui está uma lista de algoritmos e cifras removidas no TLS 1.3:

  • Cifra de fluxo RC4
  • Troca de chaves RSA
  • Função de hash SHA-1
  • Cifras do modo CBC (bloco)
  • Algoritmo MD5
  • Vários grupos de Diffie-Hellman não efémeros
  • Cifras de força de exportação
  • DES
  • 3DES

Suporte ao motorista

Analise a matriz de suporte ao recurso Driver para determinar quais drivers suportam atualmente o TLS 1.3.

Suporte ao sistema operacional

Atualmente, os seguintes sistemas operacionais suportam TLS 1.3:

Suporte ao SQL Server 2025

O SQL Server 2025 (17.x) introduz suporte ao TLS 1.3 para as seguintes funcionalidades:

Limitações de configuração

A configuração do SQL Server 2025 falha quando o TLS 1.3 é a única versão TLS ativada no sistema operativo. O processo de configuração exige que o TLS 1.2 esteja disponível durante a instalação. Depois de concluída a configuração, o TLS 1.2 pode ser desativado se desejar.

A mensagem de erro durante a configuração é: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - No process is on the other end of the pipe.)

Requisitos de certificação

Ao utilizar o TDS 8.0 com SQL Server 2025, devem ser cumpridos requisitos específicos de certificados:

  • Certificados de confiança: Os certificados devem ser emitidos por uma Autoridade Certificadora (CA) de confiança. Certificados auto-assinados já não são aceites por defeito com o Microsoft OLE DB Driver para SQL Server versão 19.
  • Validação de certificados: TrustServerCertificate deve ser definida como False ou No. O Microsoft OLE DB Driver para SQL Server versão 19 valida a cadeia de confiança do certificado e a validação do certificado não pode ser contornada.
  • Requisitos de Nome Alternativo de Sujeito (SAN): Os certificados devem incluir tanto o nome de domínio totalmente qualificado (FQDN) como o nome Netbios na lista SAN. O SQL Server Management Studio (SSMS) frequentemente utiliza nomes NetBIOS ao estabelecer ligação, e a ausência de entradas pode causar erros de validação.
  • Planeamento de entradas SAN: Inclua todos os nomes possíveis de ligação dos clientes (FQDN, nomes Netbios, alias de serviço) durante a emissão do certificado. Adicionar nomes mais tarde requer criar um novo certificado e reiniciar a instância do SQL Server.

Para mais informações sobre validação de certificados, consulte Encriptação e validação de certificados - Driver OLE DB para SQL Server.

Configurações seguras por padrão no SQL Server 2025

O SQL Server 2025 introduz configurações de segurança por defeito para várias funcionalidades que agora utilizam TDS 8.0 com a encriptação ativada por defeito:

  • SQL Server Agent: Utiliza o Microsoft OLE DB Driver para SQL Server versão 19 com Encrypt=Mandatory e requer certificados de servidor válidos com TrustServerCertificate=False. Quando a única versão TLS ativada é a TLS 1.3, tem de configurar Encrypt=Strict (Forçar Encriptação Rigorosa).

  • Grupos de disponibilidade sempre ligados e FCIs: Usa o Driver ODBC para a versão 18 do SQL Server por Encrypt=Mandatory defeito. Ao contrário de outras funcionalidades, os grupos de disponibilidade Always On e as FCIs permitem TrustServerCertificate=True para cenários de assinatura própria.

  • Servidores vinculados: Usa o Microsoft OLE DB Driver para SQL Server versão 19 por Encrypt=Mandatory padrão. O parâmetro de encriptação deve ser especificado na cadeia de ligação ao direcionar outra instância do SQL Server.

  • Envio de logs: Utiliza o Microsoft OLE DB Driver para SQL Server versão 19 e Encrypt=Mandatory requer certificados de servidor válidos. Ao realizar uma atualização no local a partir de uma versão inferior, que não suporta as configurações de segurança mais recentes, se as definições de encriptação não forem substituídas explicitamente por uma opção mais segura, o envio de registos usará TrustServerCertificate=True para assegurar compatibilidade com versões anteriores. Para aplicar o TLS 1.3 e Encrypt=Strict com o TDS 8.0 após atualização, retira e recria a topologia com os parâmetros atualizados nos procedimentos armazenados de envio de logs.

  • Replicação: (Transacional, Snapshot, Merge) Utiliza o driver Microsoft OLE DB para SQL Server versão 19 com Encrypt=Mandatory e requer certificados válidos com TrustServerCertificate=False.

  • Correio da base de dados: As definições padrão são Encrypt=Optional e TrustServerCertificate=True. Quando o TLS 1.3 é aplicado, estes valores mudam para Encrypt=Strict e TrustServerCertificate=False. Por defeito, o Azure SQL Managed Instance utiliza o protocolo TLS 1.3.

  • PolyBase: Utiliza o driver ODBC para a versão 18 do SQL Server com Encrypt=Yes (Mandatory). PolyBase permite TrustServerCertificate=True para cenários com auto-assinatura.

  • SQL VSS Writer: Ao ligar a uma instância SQL Server 2025 com Encryption=Strict, o SQL VSS Writer usará TLS 1.3 e TDS 8.0 para a parte não Virtual Device Interface (VDI) dessa ligação.

Requisitos específicos de componentes

  • SQL Server Agent com TLS 1.3: Deve usar Forçar Encriptação Rigorosa (TDS 8.0) quando o TLS 1.3 for a única versão ativa. Definições de encriptação mais baixas (Mandatory ou Optional) resultam em falhas de ligação.

  • Trabalhos T-SQL do SQL Server Agent: Os trabalhos T-SQL do SQL Server Agent que se ligam à instância local herdam as definições de encriptação do SQL Server Agent.

  • Módulos PowerShell: SQLPS.exe e o módulo PowerShell SQLPS não são atualmente suportados para TDS 8.0.

  • Grupos de disponibilidade Always On e FCIs: Para configurar encriptação rigorosa com TDS 8.0, use a cláusula com CLUSTER_CONNECTION_OPTIONS e efetue o failover para que as definições sejam aplicadas.