Compatibilidad de SQL Server con los nuevos estándares TLS

30
  • Los principales navegadores van más allá de SSL3.0 y TLS1.0.
  • El Consejo de Seguridad PCI ha declarado una fecha de finalización de la vida útil para que estos protocolos se consideren cifrado suficientemente fuerte.

Necesitamos alejarnos de estos protocolos, para usar los más nuevos y más fuertes. En los servidores de Windows, puede desactivar fácilmente estos protocolos antiguos y, en su lugar, ofrecer solo TLS1.1 o superior. Sin embargo, como se señaló en otra parte , Microsoft SQL Server 2008 R2 y SQL Server 2012 (Estándar, al menos) no se iniciarán si esos protocolos inferiores están deshabilitados. Sin embargo, hay un número creciente de versiones de MS SQL Server. Hay ediciones SQL Server Standard, Business Intelligence, Enterprise, Express, Web y Compact. Y, por supuesto, hay SQL Server 2008, 2012, 2014 y (en versión preliminar) 2016.

¿Cuál de estas ediciones admite o admitirá el uso de solo protocolos TLS1.1 o superiores?

Mark Goldfain
fuente
Como nota al margen: los requisitos de PCI aquí cubren la transmisión general de datos, por lo que envolver cualquier comunicación SQL a través de redes públicas y / o inalámbricas en una VPN / túnel que implemente mejores estándares debería ser suficiente. Tampoco pueden cubrir comunicaciones locales en absoluto; así que si nada fuera de su VLAN puede tocar la instancia de SQL debido a la configuración adecuada de SQL y / o firewalls y otros filtros, es posible que no tenga que preocuparse por este PoV. Ninguno de estos hechos lo ayudará si necesita exponer una instancia de SQL a la red pública, por supuesto, ¡pero esa idea me asusta de todos modos!
David Spillett

Respuestas:

19

Microsoft ha revelado recientemente (sin mucha fanfarria) que invertirán en TLS 1.2 y eliminarán SSL. Debe ser relevante para todas las ediciones de SQL Server.

ACTUALIZACIÓN 2016-01-29 : Microsoft ha anunciado el soporte oficial para TLS 1.2 en 2008, 2008 R2, 2012 y 2014 . Se pueden encontrar descargas y otra información en KB # 3135244 .

Escribí en un blog sobre algunos de los problemas que se han mencionado, así como una advertencia si está utilizando puntos finales cifrados en 2014:

La publicación también apunta a la compilación correcta para descargar (u otra acción) dependiendo de la versión @@.

Queda por ver si este movimiento afectará a todas las versiones existentes, solo 2014 y superiores, o solo 2016. La cita a continuación parece implicar que al menos 2014 será parte del trabajo, y sospecho que gran parte de la inversión estará en las bibliotecas del cliente, no en el motor, por lo que es factible que funcione para cualquier versión que la próxima versión de los controladores ODBC / Native Client serán compatibles.

Obtuve esto de un mazo de PowerPoint de Kevin Farlee de Microsoft, y me dieron permiso para compartir la información, aunque no sé cuánto se ha redistribuido en este momento. Aquí está la cita exacta de la baraja:

Cifrado en vuelo: protege los datos entre el cliente y el servidor contra espías y ataques de intermediarios. Actualización a TLS 1.2 en CY 15, eliminación gradual de SSL.

Además, si mira KB # 3052404 , parece que hay parches para que funcione con 2012 SP + y 2014 (los parches no serán necesarios para 2016), pero no hay indicios de que habrá un back-porting a SQL Server 2005, 2008 o 2008 R2 (y, francamente, me sorprendería bastante).

Aaron Bertrand
fuente
6

Como en las otras respuestas: necesita una CU reciente para TLS1.2. Ver:

REVISIÓN: no puede utilizar el protocolo de seguridad de la capa de transporte versión 1.2 para conectarse a un servidor que ejecuta SQL Server 2014 o SQL Server 2012 :

  • Actualización acumulativa 1 para SQL Server 2014 SP1
  • Actualización acumulativa 8 para SQL Server 2014
  • Actualización acumulativa 1 para SQL Server 2012 SP3
  • Actualización acumulativa 10 para SQL Server 2012 SP2

Después de habilitar solo TLS 1.2, posiblemente encuentre dos errores:

  1. El Agente SQL Server 2014 no se iniciará. Solución: instale SQL Server 2012 SNAC desde el enlace de descarga en KB3135244
  2. SQL Server Management Studio no se puede conectar. Solución: instale la revisión de .NET Framework aplicable de KB3135244

Además, debe actualizar el controlador SNAC / OBDC en todos los clientes que se conectan al servidor SQL.

La lista completa de compilaciones de SQL Server y Client Driver, junto con enlaces de descarga y otros cambios de configuración que pueden ser necesarios se encuentran en el siguiente artículo de la Base de conocimiento de soporte técnico de Microsoft:

Compatibilidad con TLS 1.2 para Microsoft SQL Server

Jens W.
fuente
¿Por qué todavía no puedo iniciar SQL Server 2012 incluso con la actualización acumulativa 1 para SQL Server 2012 SP3 instalado?
NickG
4

A partir del 29 de enero de 2016, Microsoft SQL Server admite TLS 1.2 para:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012; y
  • SQL Server 2014

... y los principales controladores de clientes como:

  • Cliente nativo del servidor
  • Controlador ODBC de Microsoft para SQL Server
  • Controlador JDBC de Microsoft para SQL Server
  • ADO.NET (SqlClient).

Publicación de blog del equipo de ingeniería de SQL Server sobre el lanzamiento:

Compatibilidad con TLS 1.2 para SQL Server 2008, 2008 R2, 2012 y 2014

Lista de compilaciones que admiten TLS 1.2 junto con las ubicaciones de descarga de componentes de cliente y servidor (KB3135244):

Compatibilidad con TLS 1.2 para Microsoft SQL Server (incluye correcciones .NET para DB Mail)

Nota: Lo anterior se ha actualizado desde la versión inicial para corregir un defecto en la actualización original que causó la finalización intermitente del servicio al conectarse a una instancia de SQL Server 2008 o SQL Server 2008 R2 . Esto se describe en KB 3146034:

Las terminaciones de servicio intermitentes ocurren después de instalar cualquier versión de SQL Server 2008 o SQL Server 2008 R2 desde KB3135244

Amit Banerjee
fuente
2

Puedo confirmar que, como SQL 2012 SP2 CU7, que tiene el soporte TLS 1.2 para SQL 2012 desde CU6, no puede deshabilitar TLS 1.0 a nivel de servidor y ser capaz de conectarse al servidor SQL utilizando una conexión de estudio de administración sin cifrar en una instancia que no fuerza el cifrado del cliente.

Esto está en una instancia que no utiliza TDE u otros certificados.

Lo intentaré mañana después de generar un certificado de confianza para el servidor y habilitar las conexiones cifradas, pero en este momento TLS 1.0 no se puede deshabilitar en SQL 2012, a pesar de que es compatible con TLS 1.2.

Editar:

Generé un certificado para el servidor de la base de datos de nuestra Autoridad de Certificación interna y pude establecer una conexión de estudio de administración cifrada con el servidor SQL, hasta que se deshabilitó el protocolo TLS 1.0, momento en el que ya no pude conectarme. El mismo comportamiento que cuando no se tiene un certificado y un certificado autofirmado se usa para cifrar la sesión de inicio de sesión.

Cooper Van Valkenburgh
fuente
2

Descubrí que, incluso con SQL 2014 SP1 CU1, tenía que usar cuadros separados para IIS y SQL. Me encontré con algunos problemas aparentemente relacionados en el camino, y detallé los pasos en esta publicación .

Los puntos clave son:

  • Poner IIS y SQL en cuadros separados
  • Deshabilite TLS1.0 entrante y habilite TLS1.0 saliente en el cuadro IIS
  • Habilite TLS1.0 en ambos sentidos en el cuadro SQL.
Factura pendiente
fuente
1

Esto es lo que hice en los servidores frontal y posterior

  1. Abierto gpedit.msc. En el Editor de directivas de grupo local, haga doble clic en "Configuración de Windows" en el nodo "Configuración del equipo" y luego haga doble clic en "Configuración de seguridad".

  2. En el nodo "Configuración de seguridad", haga doble clic en "Políticas locales" y luego haga clic en "Opciones de seguridad".

  3. En el panel de detalles, haga doble clic en "Criptografía del sistema: use algoritmos compatibles con FIPS para el cifrado, el hash y la firma".

  4. En el cuadro de diálogo "Criptografía del sistema: utilice algoritmos que cumplan con FIPS para el cifrado, el hash y la firma", haga clic en el cuadro de diálogo "Activado" y luego haga clic en "Aceptar" para cerrar el cuadro de diálogo. Cierre el Editor de políticas de grupo local.

Michael Zeydelis
fuente
Asumo que esto es a la dirección de cómo configurar TLS 1.2, en contraposición a la pregunta original real, de los cuales versiones de SQL Server hacen de soporte algo más allá de TLS 1.0, tal vez en un servidor web con un servidor SQL? Si es posible, aclare esto en la respuesta misma.
RDFozz
Gracias, pero ... En la pregunta original, traté de hacerlo algo general, pero realmente tenía que ver con hacer coincidir un requisito mínimo y un conjunto de tecnologías a mediados de 2015 cuando se planteó. Se ha vuelto tan anticuado ahora que creo que debería cerrarse. Cualquier respuesta como esta anterior probablemente debería estar dirigida a alguna versión más nueva de la pregunta que se aplique mejor a los problemas de hoy. Actualmente no tengo esa pregunta, yo mismo.
Mark Goldfain el