Cómo habilitar el cifrado de SSL para una instancia de SQL Server con Microsoft Management Console

Se aplica: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise Edition

Resumen


Este artículo paso a paso describe cómo instalar un certificado en un equipo que ejecuta Microsoft SQL Server con Microsoft Management Console (MMC) y describe cómo habilitar el cifrado de SSL en el servidor o para clientes específicos.

Nota: No puede usar este método para usar un certificado en un servidor en clúster con SQL Server. Para instancias en clúster, consulte el método descrito en "Habilitar un certificado para SSL en una instalación en clúster de SQL Server", más adelante en este artículo. 

Si su empresa ha implementado una entidad de certificación de empresa, puede solicitar certificados para un servidor independiente SQL Server y usar el certificado para el cifrado de Capa de sockets seguros (SSL).

Puede habilitar la opción Forzar cifrado de protocolo en el servidor o en el cliente. 

Nota Para habilitar Forzar cifrado de protocolo en el servidor, use la Herramienta de red de servidor o el Administrador de configuración de SQL Server, en función de la versión de SQL Server. Para habilitar Forzar cifrado de protocolo en el cliente, use la Herramienta de red de cliente o el Administrador de configuración de SQL Server.  

Importante: Si habilita el cifrado de SSL con la Herramienta de red de cliente (para clientes de SQL Server 2000) o con las páginas de configuración de SQL Native Client <versión> (32 bits) o de configuración de SQL Native Client <versión> en el Administrador de configuración de SQL Server, todas las conexiones desde ese cliente solicitarán cifrado de SSL a todos los servidores SQL Server a los que se conecte dicho cliente.

Si habilita Forzar cifrado de protocolo en el servidor, debe instalar un certificado en el servidor.

Si quiere habilitar Forzar cifrado de protocolo en el cliente, debe tener un certificado en el servidor y el cliente debe tener la entidad de certificación raíz de confianza actualizada para confiar en el certificado del servidor.

Nota: Si utiliza SQL Server para habilitar las conexiones cifradas para una instancia de SQL Server, puede establecer el valor de la opción ForceEncryption en . Para obtener más información, consulte "Habilitar conexiones de cifrado al motor de la base de datos (Administrador de configuración de SQL Server)" en los Libros en pantalla de SQL Server:
  

Instalar un certificado en un servidor con Microsoft Management Console (MMC)

Para usar cifrado de SSL, debe instalar un certificado en el servidor. Realice los pasos siguientes para instalar el certificado con el complemento Microsoft Management Console (MMC).

Cómo configurar el complemento MMC
  1. Para abrir el complemento Certificados, siga estos pasos:
    1. Para abrir la consola MMC, haga clic en Inicio y en Ejecutar. En el cuadro de diálogo Ejecutar, escriba:

      MMC
       
    2. En el menú Consola, haga clic en Agregar o quitar complemento....
    3. Haga clic en Agregar y, después, en Certificados. Haga clic en Agregar de nuevo.
    4. Se le preguntará si desea abrir el complemento para la cuenta de usuario actual, la cuenta de servicio o la cuenta de equipo. Seleccione la Cuenta de equipo.
    5. Seleccione Equipo local y, a continuación, haga clic en Finalizar.
    6. Haga clic en Cerrar en el cuadro de diálogo Agregar un complemento independiente.
    7. Haga clic en Aceptar en el cuadro de diálogo Agregar o quitar complemento. Sus certificados instalados están ubicados en la carpeta Certificados en el contenedor Personal.
  2. Use el complemento MMC para instalar el certificado en el servidor:
    1. Haga clic para seleccionar la carpeta Personal en el panel de la izquierda.
    2. Haga clic con el botón derecho del ratón en el panel de la derecha, seleccione Todas las tareas y, después, haga clic en Solicitar un nuevo certificado....
    3. Se abre el cuadro de diálogo Asistente para solicitud de certificados. Haga clic en Siguiente. Seleccione El tipo de certificado es "equipo".
    4. En el cuadro de texto Nombre descriptivo puede escribir un nombre descriptivo para el certificado o dejar el cuadro de texto en blanco y completar el asistente. Una vez finalice el asistente, verá el certificado en la carpeta con el nombre de dominio completo del equipo.
    5. Si desea habilitar el cifrado para un cliente o clientes específicos, omita este paso y continúe con la sección Habilitar cifrado para un cliente específico de este artículo.

      En SQL Server 2000, para habilitar el cifrado en el servidor abra la Herramienta de red en el servidor donde está instalado el certificado y haga clic para activar la casilla Forzar cifrado de protocolo. Reinicie el servicio MSSQLServer (SQL Server) para que el cifrado surta efecto. El servidor ya está listo para usar cifrado de SSL.

      En SQL Server 2005 y versiones posteriores, para habilitar el cifrado en el servidor, abra el Administrador de configuración de SQL Server y haga lo siguiente:
      1. En el Administrador de configuración de SQL Server, expanda Configuración de red de SQL Server, haga clic con el botón derecho del ratón en Protocolos para <instancia del servidor> y seleccione Propiedades.
      2. En la pestaña Certificado, seleccione el certificado deseado del menú desplegable Certificado y haga clic en Aceptar.
      3. En la pestaña Marcas, seleccione en el cuadro Forzar cifrado y haga clic en Aceptar para cerrar el cuadro de diálogo.
      4. Reinicie el servicio de SQL Server.

Habilitar un certificado para SSL en una instalación en clúster de SQL Server

El certificado usado por SQL Server para cifrar conexiones está especificado en la siguiente clave del Registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate

Esta clave contiene una propiedad del certificado denominada thumbprint que identifica cada certificado en el servidor. En un entorno en clúster, esta clave se establecerá en NULL, aunque exista el certificado correcto en el almacén. Para resolver este problema, debe realizar los siguientes pasos adicionales en cada nodo del clúster, una vez haya instalado el certificado en cada nodo:
 
  1. Navegue hasta el almacén de certificados donde se guarda el certificado FQDN. En la página de propiedades del certificado, vaya a la pestaña Detalles y copie el valor de la huella digital del certificado en una ventana del Bloc de notas.
  2. En el Bloc de notas, quite los espacios entre los caracteres hexadecimales del valor de la huella digital.
  3. Inicie regedit, navegue hasta la siguiente clave del Registro y copie el valor del paso 2:
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<instancia>\MSSQLServer\SuperSocketNetLib\Certificate
  4. Si el servidor virtual de SQL se encuentra actualmente en este nodo, conmute por error a otro nodo del clúster y reinicie el nodo donde se ha realizado el cambio del Registro.
  5. Repita este procedimiento en todos los nodos.

Puede ver capturas de pantalla de este procedimiento en la siguiente entrada de blog de MSDN:
 

Habilitar el cifrado para un cliente específico

Para que el cliente solicite el cifrado de SSL, el equipo del cliente debe confiar en el certificado del servidor, y el certificado ya debe existir en el servidor. Debe usar el complemento MMC para exportar la entidad de certificación raíz de confianza que utiliza el certificado del servidor:
  1. Para exportar la entidad de certificación raíz de confianza (CA) del certificado del servidor, siga estos pasos:
    1. Abra MMC y busque su certificado en la carpeta Personal.
    2. Haga clic con el botón derecho del ratón en el nombre del certificado y haga clic en Abrir.
    3. Revise la pestaña Ruta de certificación. Anote el primer elemento.
    4. Navegue hasta la carpeta Entidades de certificación raíz de confianza y busque la Entidad de certificación que anotó en el paso C.
    5. Haga clic con el botón derecho del ratón en CA, seleccione Todas las tareas y haga clic en Exportar.
    6. Seleccione todos los valores predeterminados y guarde el archivo exportado en su disco, donde el equipo cliente pueda acceder al archivo.
  2. Siga estos pasos para importar el certificado en su equipo cliente:
    1. Navegue hasta el equipo cliente con el complemento MMC y busque la carpeta Entidades de certificación raíz de confianza.
    2. Haga clic con el botón derecho del ratón en la carpeta Entidades de certificación raíz de confianza, seleccione Todas las tareas y haga clic en Importar.
    3. Examine y seleccione el certificado (archivo .cer) que ha generado en el paso 1. Seleccione los valores predeterminados para completar la parte restante del asistente.
    4. Use la Herramienta de red de cliente de SQL Server.
    5. Haga clic para seleccionar la opción Forzar cifrado de protocolo. El cliente ya está listo para usar cifrado de SSL.
       

Cómo probar la conexión del cliente

Para probar la conexión del cliente puede hacer lo siguiente:
 
  • Use SQL Management Studio.

    O bien
  • Use cualquier aplicación ODBC u OLEDB donde pueda cambiar la cadena de conexión. 
SQL Server Management Studio


Para realizar una prueba con SQL Server Management Studio, siga estos pasos:  
  1. Navegue hasta la página de configuración del cliente de SQL Server <versión> en el Administrador de configuración de SQL Server.
  2. En las ventanas de propiedades, establezca la opción Forzar cifrado de protocolo en "Sí".
  3. Conéctese al servidor que está ejecutando SQL Server usando SQL Server Management Studio.
  4. Supervise la comunicación con el Monitor de red de Microsoft o un analizador de protocolos de red.

Ejemplo de cadenas de conexión de la aplicación ODBC u OLEDB

Si usa cadenas de conexión de ODBC u OLEDB desde un proveedor como SQL Native Client, agregue la palabra clave Cifrar y establézcala en verdadero en su cadena de conexión. A continuación, supervise la comunicación con una herramienta como el Monitor de red de Microsoft o un analizador de protocolos de red.
 

Solución de problemas

Después de instalar correctamente el certificado, este no aparece en la lista Certificado de la pestaña Certificado.

Nota: La pestaña Certificado se encuentra en el cuadro de diálogo Propiedades de protocolos para <NombreDeInstancia> que se abre desde el Administrador de configuración de SQL Server.

Este problema se produce porque puede haber instalado un certificado no válido. Si el certificado no es válido, no se enumerará en la pestaña Certificado. Para determinar si el certificado que ha instalado es válido, siga estos pasos:
  1. Abra el complemento Certificados. Para ello, consulte el paso 1 en la sección "Cómo configurar el complemento MMC".
  2. En el complemento Certificados, expanda Personal y Certificados.
  3. En el panel derecho, busque el certificado que ha instalado.
  4. Determine si el certificado cumple con los requisitos siguientes:
    • En el panel derecho, el valor de la columna Propósito planteado para este certificado debe ser Autenticación de servidor.
    • En el panel derecho, el valor de la columna Emitido a debe ser el nombre del servidor.
  5. Haga doble clic en el certificado y determine si cumple con los requisitos siguientes:
    • En la pestaña General, recibirá el mensaje siguiente:
      Tiene una clave privada que corresponde con este certificado.
    • En la pestaña Detalles, el valor para el campo Asunto debe ser el nombre del servidor.
    • El valor del campo Uso mejorado de clave debe ser Autenticación de servidor (<número>).
    • En la pestaña Ruta de certificación, el nombre del servidor debe aparecer en Ruta de certificación.
Si alguno de estos requisitos no se cumple, el certificado es inválido.

Más información