- Os principais navegadores estão indo além do SSL3.0 e TLS1.0.
- O Conselho de Segurança do PCI declarou uma data de fim de vida para que esses protocolos sejam considerados criptografia suficientemente forte.
Precisamos nos afastar desses protocolos, para usar outros mais novos e mais fortes. Em servidores Windows, você pode facilmente desabilitar esses protocolos antigos e, em vez disso, oferecer apenas TLS1.1 ou superior. No entanto, conforme observado em outro lugar , o Microsoft SQL Server 2008 R2 e o SQL Server 2012 (padrão, pelo menos) não serão iniciados se esses protocolos inferiores estiverem desabilitados. No entanto, há um número crescente de versões do MS SQL Server. Existem as edições SQL Server Standard, Business Intelligence, Enterprise, Express, Web e Compact. E, claro, há o SQL Server 2008, 2012, 2014 e (em pré-lançamento) 2016.
Qual dessas edições oferece suporte ou oferecerá suporte ao uso apenas de protocolos TLS1.1 ou superior?
A Microsoft revelou recentemente (sem muito alarde) que investirá no TLS 1.2 e eliminará o SSL. Deve ser relevante para todas as edições do SQL Server.
ATUALIZAÇÃO 2016-01-29 : A Microsoft anunciou suporte oficial para TLS 1.2 em 2008, 2008 R2, 2012 e 2014 . Downloads e outras informações podem ser encontradas no KB #3135244 .
Escrevi no blog sobre alguns dos problemas mencionados, bem como um aviso se você estiver usando endpoints criptografados em 2014:
A postagem também aponta para a compilação correta para download (ou outra ação) dependendo da @@versão.
Se essa mudança afetará todas as versões existentes, apenas 2014 e acima, ou apenas 2016, ainda não se sabe.A citação abaixo parece implicar que pelo menos 2014 fará parte do trabalho - e suspeito que grande parte do investimento será nas bibliotecas do cliente, não no mecanismo, então é viável que funcione para qualquer versão que o próximo lançamento dos drivers ODBC/Native Client terão suporte.Eu peguei isso de um deck de PowerPoint de Kevin Farlee, da Microsoft, e recebi permissão para compartilhar as informações, embora eu não saiba quanto disso foi redistribuído neste momento. Aqui está a citação exata do deck:
Além disso, se você observar o KB #3052404 , parece que há patches para fazê-lo funcionar com 2012 SP+ e 2014 (os patches não serão necessários para 2016), mas nenhuma indicação de que haverá qualquer portabilidade para o SQL Server 2005, 2008 , ou 2008 R2 (e, francamente, eu ficaria bastante surpreso).Como nas outras respostas: você precisa de uma CU recente para TLS1.2. Ver:
CORREÇÃO: você não pode usar o protocolo Transport Layer Security versão 1.2 para se conectar a um servidor que esteja executando o SQL Server 2014 ou o SQL Server 2012 :
Depois de habilitar apenas o TLS 1.2, você possivelmente encontrará dois erros:
Além disso, você precisa atualizar o driver SNAC/OBDC em todos os clientes que se conectam ao SQL Server.
A lista completa de compilações de SQL Server e Client Driver, juntamente com links de download e outras alterações de configuração que podem ser necessárias, estão contidas no seguinte artigo da Base de Conhecimento de Suporte da Microsoft:
Suporte TLS 1.2 para Microsoft SQL Server
A partir de 29 de janeiro de 2016, o Microsoft SQL Server oferece suporte ao TLS 1.2 para:
...e principais drivers de clientes como:
Postagem no blog da equipe de engenharia do SQL Server sobre o lançamento:
Suporte TLS 1.2 para SQL Server 2008, 2008 R2, 2012 e 2014
Lista de compilações que suportam TLS 1.2 junto com os locais de download de componentes de cliente e servidor (KB3135244):
Suporte TLS 1.2 para Microsoft SQL Server (inclui correções .NET para DB Mail)
Observação: o conteúdo acima foi atualizado desde a versão inicial para corrigir um defeito na atualização original que causava o encerramento intermitente do serviço ao se conectar a uma instância do SQL Server 2008 ou SQL Server 2008 R2 . Isso é descrito no KB 3146034:
Terminações de serviço intermitentes ocorrem após a instalação de qualquer versão do SQL Server 2008 ou SQL Server 2008 R2 do KB3135244
Posso confirmar que, como SQL 2012 SP2 CU7, que tem suporte TLS 1.2 para SQL 2012 de CU6, você não pode desabilitar o TLS 1.0 no nível do servidor e se conectar ao SQL Server usando uma conexão de estúdio de gerenciamento não criptografada em uma instância que não força a criptografia do cliente.
Isso ocorre em uma instância que não usa TDE ou outros certificados.
Vou tentar amanhã depois de gerar um certificado confiável para o servidor e habilitar conexões criptografadas, mas neste momento o TLS 1.0 não pode ser desabilitado no SQL 2012, mesmo que ele suporte TLS 1.2.
Editar:
Gerei um certificado para o servidor de banco de dados de nossa autoridade de certificação interna e consegui estabelecer uma conexão criptografada do estúdio de gerenciamento com o servidor SQL, até que o protocolo TLS 1.0 foi desabilitado, momento em que não consegui mais me conectar. O mesmo comportamento de quando não há um certificado e um certificado autoassinado é usado para criptografar a sessão de logon.
Descobri que, mesmo com o SQL 2014 SP1 CU1, tive que usar caixas separadas para IIS e SQL. Eu me deparei com alguns problemas aparentemente relacionados ao longo do caminho e detalhei as etapas neste post .
Os pontos-chave são:
Aqui está o que eu fiz nos servidores front e back
Abra
gpedit.msc
. No Editor de Diretiva de Grupo Local, clique duas vezes em "Configurações do Windows" no nó "Configuração do computador" e clique duas vezes em "Configurações de segurança".No nó "Configurações de segurança", clique duas vezes em "Políticas locais" e clique em "Opções de segurança".
No painel de detalhes, clique duas vezes em "Criptografia do sistema: use algoritmos compatíveis com FIPS para criptografia, hash e assinatura".
Na caixa de diálogo "Criptografia do sistema: usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura", clique em "Ativado" e clique em "OK" para fechar a caixa de diálogo. Feche o Editor de Diretiva de Grupo Local.