Cómo SQL Server utiliza un certificado cuando está activada la opción Forzar cifrado de protocolo

Resumen

Este artículo describe cómo SQL Server utiliza, localiza y valida un certificado cuando la opción Forzar cifrado de protocolo está activada en el cliente o en el servidor para habilitar el cifrado de la biblioteca de red.


Nota: Los conceptos y las discusiones en este artículo se aplican a SQL Server 2000 también se aplican a SQL Server 2005. Sin embargo, en SQL Server 2005, utilice la opción ForceEncryption en lugar de la opción Forzar cifrado de protocolo . Puede establecer el valor de la opción ForceEncryption en para habilitar conexiones de cifrado para una instancia de SQL Server. Para obtener más información, consulte la "Cómo: habilitar conexiones de cifrado para el motor de base de datos (Administrador de configuración de SQL Server)" tema en los libros en pantalla de SQL Server 2005.

Más información

Cómo SQL Server utiliza los certificados

SQL Server 2000 admite la opción Forzar cifrado de protocolo para controlar el cifrado de la biblioteca de red. Cuando el Forzar cifrado de protocolo está activada, SQL Server utiliza Secure Sockets Layer (SSL) para cifrar toda la comunicación entre el cliente y SQL Server. Se requiere un certificado porque el cifrado SSL funciona únicamente con instancias de SQL Server 2000 que se ejecutan en un equipo que tiene un certificado asignado de una entidad de certificación pública.

Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

276553 cómo habilitar el cifrado SSL para SQL Server 2000 con Certificate Server

Para obtener más información acerca de cómo activar el cifrado SSL para SQL Server 2000, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

316898 cómo habilitar el cifrado SSL para SQL Server 2000 con Microsoft Management Console

Si se activa la opción Forzar cifrado de protocolo en el cliente utilizando la herramienta de red de cliente de SQL Server, se cifra sólo comunicación de ese cliente para SQL Server. Si ese cliente intenta conectarse a otro equipo que está ejecutando SQL Server, el cliente intenta cifrar la comunicación. Si la opción Forzar cifrado de protocolo está activada en el cliente, dicho cliente ya no es compatible con versiones anteriores. Por lo tanto, el cliente no puede conectarse a Microsoft SQL Server 6.5 o 7.0 de Microsoft SQL Server. Si el equipo que ejecuta SQL Server a la que intenta conectarse el cliente no tiene instalado un certificado, el cliente recibe este mensaje de error:


Cifrado no compatible con SQL Server
Por lo tanto, si un cliente solicita el cifrado, debe instalarse un certificado en el equipo que está ejecutando SQL Server. Después de instalar el certificado en el equipo que está ejecutando SQL Server, debe reiniciar SQL Server para utilizar el certificado. Si no se reinicia SQL Server después de instalar el certificado, no se podrán conectar los clientes con el cifrado activado y aparece el mismo mensaje de error:


Cifrado no compatible con SQL Server
Si se activa la opción Forzar cifrado de protocolo en el servidor mediante la utilidad de red del servidor, se cifra la comunicación entre todos los clientes y SQL Server. Por lo tanto, si un certificado no está instalado en el equipo que está ejecutando SQL Server, o si SQL Server no puede validar el certificado, SQL Server no puede iniciarse. El registro de errores de SQL Server tendrán este texto:



2001-08-23 15:12:09.48 servidor cifrado solicitado pero no válido se encontró certificado. Terminación de SQL Server.
2001-08-23 15:12:09.62 server Error: 17826, gravedad: 18, estado: 1
2001-08-23 15:12:09.62 server no pudo configurar la biblioteca de red 'SSNETLIB'..
2001-08-23 15:12:09.67 server Error: 17059, gravedad: 18, estado: 0
2001-08-23 15:12:09.67 server error del sistema operativo-1073723998:..
2001-08-23 15:12:09.67 server no se puede cargar las bibliotecas de red.
2001-08-23 15:12:09.74 servidor de SQL Server no pudo crear el subproceso FRunCM.

Cómo SQL Server busca un certificado

Para SQL Server 2000 golden versión, SQL Server examina el almacén de certificados para buscar un certificado con el mismo nombre que el dominio nombre completo sistema (FQDN) del nombre del equipo de SQL Server. Si implementa con un clúster de conmutación por error de SQL Server, debe instalar el certificado de servidor con el FQDN del servidor virtual en todos los nodos del clúster de conmutación por error.

A partir de Service Pack 1 de Microsoft SQL Server 2000, SQL Server busca un valor binario que se denomina certificados en esta clave del registro:

HKLM\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib
Si está utilizando SQL Server 2005, puede encontrar la entrada de registro de certificado bajo la siguiente subclave del registro:

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib

Nota: MSSQL.x es un marcador de posición para el valor correspondiente de la instancia de SQL Server.

Si falta el valor del certificado o establecido en una cadena de longitud cero, SQL Server examina el almacén de certificados para buscar un certificado con el mismo nombre que el FQDN del nombre del equipo de SQL Server. Si se establece el valor del registro, SQL Server intenta utilizar ese certificado.

Cómo SQL Server verifica que el certificado es válido

  • Propiedad de Uso mejorado de claves del certificado tiene que estar activado para autenticación de servidor. Para comprobar que el certificado se utiliza para la autenticación de servidor, utilice el complemento certificados de Microsoft Management Console (MMC), haga doble clic en el nombre del certificado y, a continuación, seleccione Detalles. Haga clic en la propiedad de Uso mejorado de claves y, a continuación, compruebe que el valor es:
        Server Authentication(1.3.6.1.5.5.7.3.1).  
  • Asegúrese de que el nombre del certificado es el mismo como el FQDN de SQL Server o el valor configurado en el registro (como se describió anteriormente).
  • Debe instalar el certificado en la carpeta de certificados - usuario actual \Personal mientras ha iniciado sesión como la cuenta de inicio de SQL Server. Esto asegurará que el certificado se colocarán en la carpeta de Certificados personales de la cuenta de inicio de SQL Server. Si ha iniciado sesión con una cuenta de usuario es diferente de la cuenta de inicio de SQL Server, poner el certificado en la carpeta Certificates\Local Computer Personal Certificates . Esta acción resuelve el problema de tener certificados almacenados en la cuenta de usuario equivocada.

    Para ver la carpeta del Usuario actual , siga estos pasos:
    1. Inicio de sesión como la cuenta de inicio de SQL Server.
    2. Utilice el complemento certificados de MMC para comprobar la ubicación del certificado.
Propiedades

Id. de artículo: 318605 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios