Habilitar conexões criptografadas

Concluído

É possível criptografar dados transmitidos através de uma rede entre uma instância do SQL Server e um aplicativo cliente com Transport Layer Security (TLS). A criptografia TLS é executada dentro da camada de protocolo e está disponível para todos os serviços de banco de dados SQL Server e Azure com suporte.

Transport Layer Security (TLS)

Transport Layer Security (TLS) é um protocolo para criptografar conexões e aumenta a segurança dos dados que estão sendo transmitidos entre redes entre instâncias do SQL Server e aplicativos.

Depois que um certificado privado é emitido por uma autoridade de certificação e é atribuído a um servidor que executa uma instância do SQL Server, o servidor pode usá-lo para validar com segurança as solicitações do cliente. Essa validação requer que o computador que executa o aplicativo cliente esteja configurado para confiar no certificado usado pelo SQL Server.

Para o Banco de Dados SQL do Azure, é possível impor uma versão TLS mínima no nível do servidor. As versões TLS atualmente suportadas são 1.0, 1.1 e 1.2. Se o aplicativo cliente oferecer suporte a conexão criptografada, recomendamos defini-lo para a versão TLS mais recente suportada após testar o aplicativo. Escolher a versão mais recente do TLS é uma boa prática, pois fornece correções adicionais para vulnerabilidades encontradas em versões mais antigas.

Minimal TLS version property for Azure SQL Database.

A configuração de versão mínima do TLS para um Banco de Dados SQL pode ser acessada na tela Firewalls e redes virtuais, conforme mostrado na imagem acima.

A tabela a seguir explica as opções disponíveis dependendo se os aplicativos cliente oferecem suporte a conexões criptografadas.

Scenario Opção
TLS não suportado Deixe a configuração mínima da versão TLS como padrão.
Versão mais recente do TLS suportada Defina a configuração mínima da versão TLS como 1.2.
Versão mais antiga do TLS suportada Defina a configuração mínima da versão TLS como 1.0 ou 1.2. Avalie se as suas cargas de trabalho estão preparadas para o TLS 1.2 e desenvolva um plano de migração.

Habilitar a criptografia TLS oferece privacidade e segurança de dados para comunicações entre instâncias do SQL Server e aplicativos. No entanto, quando o tráfego entre o SQL Server e um aplicativo cliente é criptografado com TLS, uma viagem de ida e volta de rede extra e processamento adicional são necessários no momento da conexão.

Para a Instância Gerenciada SQL do Azure, use az sql mi update o comando da CLI do Azure ou Set-AzSqlInstance o cmdlet do PowerShell para configurar a versão mínima do TLS.

Nota

Por padrão, o Banco de Dados SQL do Azure não requer uma versão mínima específica do TLS. Depois de impor uma versão do TLS, você não pode mais reverter para o padrão.

Certificados

Você deve executar o SQL Server Configuration Manager com uma conta de administrador local para instalar certificados para uso pelo SQL Server.

Além disso, o certificado deve satisfazer as seguintes condições:

  • O certificado deve estar localizado no armazenamento de certificados do computador local ou no armazenamento de certificados do usuário atual.

  • A conta de serviço do SQL Server deve ter permissão para acessar o certificado.

  • O certificado deve estar dentro de um prazo válido.

Nota

Se o acesso correto não for fornecido, a reinicialização do serviço SQL Server falhará.

Para obter uma lista completa dos requisitos ao instalar um certificado TLS, consulte Habilitar conexões criptografadas com o Mecanismo de Banco de Dados.

Configurar instância do SQL Server

Você pode configurar uma instância do SQL Server para usar conexões criptografadas seguindo estas etapas:

  1. No SQL Server Configuration Manager, expanda Configuração de Rede do SQL Server, clique com o botão direito do mouse em Protocolos para <instância> do servidor e selecione Propriedades.

    SQL Server Configuration Manager screen for a SQL Server instance.

  2. Na caixa de diálogo Protocolos para propriedades da instância> do servidor, selecione a guia Certificado e, em seguida, selecione o certificado na lista suspensa Certificado.<

    Protocols dialog box from Configuration Manager.

  3. Na guia Flags, na propriedade ForceEncryption, selecione Sim e clique em OK.

    Protocols for SQL Server instance properties from Configuration Manager.

  4. Reinicie o serviço do SQL Server.

Quando a configuração necessária estiver em vigor, você poderá testar a conexão por meio do SQL Server Management Studio:

  1. Na caixa de diálogo Conectar ao Servidor, preencha as informações de conexão e clique em Opções.

  2. No separador Propriedades da Ligação, clique em Encriptar ligação e, em seguida, em Ligar.

    Connect to Server dialog showing the encrypt connection feature on SSMS.

Todas as etapas devem ter sido executadas corretamente para que você possa se autenticar por meio do SQL Server Management Studio usando TLS.