Compartilhar via


Casos especiais para criptografar conexões com o SQL Server

Um computador cliente precisa confiar no certificado do servidor para que o cliente possa solicitar a criptografia TLS e o certificado já deve existir no servidor. O cenário mais comum para criptografia de SQL Server envolve ambientes que:

Nesse cenário, você não precisa executar etapas extras para criptografia bem-sucedida depois de configurar o SQL Server para criptografia de acordo com o procedimento descrito em Criptografar conexões com o SQL Server importando um certificado. Este artigo fornece os procedimentos para criptografar conexões com o SQL Server para cenários menos comuns que não são abordados em Conexões criptografadas com o SQL Server importando um certificado.

Observação

Para obter uma lista completa de participantes do Programa Raiz Confiável da Microsoft, confira Lista de participantes – Programa Raiz Confiável da Microsoft.

Usar um certificado emitido por uma autoridade de certificação comercial pública e apenas alguns clientes precisarão de conexões criptografadas

  1. Configure o certificado no SQL Server de acordo com o procedimento documentado em Configurar o SQL Server para usar certificados.

  2. Especifique a palavra-chave de criptografia nas propriedades de conexão como Yes ou True. Por exemplo, se você estiver usando o Microsoft ODBC Driver for SQL Server, a cadeia de conexão deverá especificar Encrypt=yes;.

Usar um certificado emitido por uma AC interna ou criado usando New-SelfSignedCertificate ou makecert

Cenário 1: você deseja criptografar todas as conexões com o SQL Server

Depois de concluir ambos os procedimentos documentados na Etapa 1: Configurar o SQL Server para usar certificados e a Etapa 2: Definir configurações de criptografia no SQL Server no artigo Criptografar conexões com o SQL Server importando um certificado, use uma das seguintes opções para configurar seu aplicativo cliente para criptografia.

Opção 1: configurar aplicativos cliente para Confiar no Certificado do Servidor. Essa configuração faz com que o cliente ignore a etapa que valida o certificado do servidor e prossiga com o processo de criptografia. Por exemplo, se você estiver usando o SSMS (SQL Server Management Studio) 20 e versões posteriores, selecione Confiar em Certificado do Servidor na página Logon (ou na página Opções em versões anteriores).

opção 2: Em cada cliente, adicione a autoridade de emissão do certificado ao repositório de autoridade raiz confiável executando as seguintes etapas:

  1. Exporte o certificado de um computador que está executando o SQL Server usando o procedimento documentado em Exportar certificado do servidor.

  2. Importe o certificado usando o procedimento documentado em Exportar e importar certificados.

Cenário 2: apenas alguns clientes precisam de conexões criptografadas

Depois de configurar o certificado para uso do SQL Server conforme documentado na Etapa 1 em Criptografar conexões com o SQL Server importando um certificado, use uma das seguintes opções para configurar seu aplicativo cliente para criptografia:

Opção 1: configure aplicativos cliente para confiar no certificado do servidor e especifique a palavra-chave de criptografia nas propriedades de conexão como Sim ou Verdadeiro. Por exemplo, se você estiver usando o Microsoft ODBC Driver for SQL Server, a cadeia de conexão deverá especificar Encrypt=Yes;TrustServerCertificate=Yes;.

Para obter mais informações sobre certificados de servidor e criptografia, confira Como usar o TrustServerCertificate.

opção 2: em cada cliente, adicione a autoridade de emissão do certificado ao repositório de autoridade raiz confiável e especifique parâmetros de criptografia para Sim na cadeia de conexão:

  1. Exporte o certificado de um computador que está executando o SQL Server usando o procedimento documentado em Exportar certificado.

  2. Importar certificado.

  3. Especifique a palavra-chave de criptografia nas propriedades de conexão como Yes ou True. Por exemplo, se você estiver usando o Microsoft OLEDB Driver for SQL Server, a cadeia de conexão deverá especificar Use Encryption for Data = True;

Usar o certificado autoassinado criado automaticamente pelo SQL Server

Cenário 1: você deseja criptografar todas as conexões de entrada com o SQL Server

  1. Habilite a criptografia no SQL Server usando o procedimento Etapa 2: definir as configurações de criptografia no SQL Server documentadas em Conexões criptografadas com o SQL Server importando um certificado.

  2. Configure os aplicativos cliente para confiar no certificado do servidor. Confiar no certificado do servidor fará com que o cliente ignore a etapa que valida esse certificado e prossiga com o processo de criptografia. Por exemplo, se você estiver usando o SSMS (SQL Server Management Studio) 20 e versões posteriores, selecione Confiar em Certificado do Servidor na página Logon (ou na página Opções em versões anteriores).

Cenário 2: apenas alguns clientes precisam de conexões criptografadas

Configure os aplicativos cliente para confiar no certificado do servidor e especifique a palavra-chave de criptografia nas propriedades de conexão como Yes ou True. Por exemplo, se você estiver usando o Microsoft ODBC Driver for SQL Server, a cadeia de conexão deverá especificar Encrypt=Yes;TrustServerCertificate=Yes;.

Nenhuma configuração extra é necessária no SQL Server para este cenário.

Aviso

As conexões TLS/SSL criptografadas usando um certificado autoassinado não fornecem segurança forte, pois o comprimento da chave nos certificados autoassinados é menor do que a chave nos certificados gerados pela AC. Eles são suscetíveis a ataques de man-in-the-middle. Você não deve depender do TLS/SSL usando certificados autoassinados em um ambiente de produção ou em servidores conectados à Internet.