Casos especiais para criptografar conexões com o SQL Server

O computador cliente deve confiar no certificado do servidor para que o cliente possa solicitar a criptografia SSL 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 adicionais para criptografar com sucesso após configurar o SQL Server para criptografia de acordo com o procedimento descrito em Configuração do SQL Server para Criptografia. 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 Configuração do SQL Server para Criptografia.

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 procedimentos descritos na Etapa 1: configurar o SQL Server para usar certificados e na Etapa 2: definir configurações de criptografia no SQL Server, documentadas em Configuração do SQL Server para Criptografia, use uma das opções a seguir para configurar seu aplicativo cliente para criptografia.

Opção 1: configure os aplicativos cliente para Confiar no Certificado do Servidor. Essa configuração fará 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 SQL Server Management Studio, poderá selecionar Confiar no Certificado do Servidor na página Opções.

Opção 2: em cada cliente, adicione a autoridade emissora do certificado ao repositório de autoridades raiz confiáveis 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 Adicionar uma AC (Autoridade de Certificação) privada ao repositório de certificados das Autoridades de Certificação Raiz Confiáveis.

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

Depois de configurar o certificado do SQL Server, use conforme documentado na Etapa 1: configurar o SQL Server para usar certificados em Configuração do SQL Server para Criptografia e use uma das seguintes opções para configurar seu aplicativo cliente para criptografia:

Opção 1: 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;Trust Server Certificate =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 emissora do certificado ao repositório de autoridades raiz confiáveis e especifique os parâmetros de criptografia como Yes 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 descrito na Etapa 2: definir configurações de criptografia no SQL Server, documentado em Configuração do SQL Server para criptografia.

  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 SQL Server Management Studio, poderá selecionar Confiar no Certificado do Servidor na página Opções.

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;Trust Server Certificate =Yes;.

Aviso

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

Observação

O SQL Server não requer nenhuma configuração adicional para esse cenário.

Próximas etapas