Casos especiales para cifrar conexiones a SQL Server

El equipo cliente debe confiar en el certificado de servidor para que el cliente pueda solicitar el cifrado SSL, y el certificado ya debe existir en el servidor. El escenario más común para el cifrado de SQL Server implica entornos en los que:

  • Se fuerza el cifrado de todas las conexiones de cliente entrantes a SQL Server.
  • Se usan certificados de una entidad de certificación comercial pública en la que Windows ya confía. El certificado raíz correspondiente para la entidad de certificación se instala en el almacén de certificados de entidades de certificación raíz de confianza en todos los equipos de la red.

En este escenario, no es necesario realizar pasos adicionales para el cifrado correcto después de configurar SQL Server para el cifrado según el procedimiento descrito en Configuración de SQL Server para el cifrado. En este artículo se proporcionan los procedimientos para cifrar conexiones a SQL Server para escenarios menos comunes que no se tratan en Configuración de SQL Server para el cifrado.

Nota:

Para obtener una lista completa de los participantes en el programa de certificados raíz de confianza de Microsoft, vea Lista de participantes: Programa de certificados raíz de confianza de Microsoft.

Uso de un certificado emitido por una entidad de certificación comercial pública cuando solo algunos clientes necesitan conexiones cifradas

  1. Configure el certificado en SQL Server según el procedimiento documentado en Configuración de SQL Server para usar certificados.
  2. Establezca la palabra clave de cifrado en las propiedades de conexión en Yes o True. Por ejemplo, si usa Microsoft ODBC Driver for SQL Server, la cadena de conexión debe especificar Encrypt=yes;.

Uso de un certificado emitido por una entidad de certificación interna o creado mediante New-SelfSignedCertificate o makecert

Escenario 1: Quiere cifrar todas las conexiones a SQL Server

Después de completar ambos procedimientos documentados en Paso 1: Configuración de SQL Server para usar certificados y Paso 2: Configuración de las opciones de cifrado en SQL Server que se indican en Configuración de SQL Server para el cifrado, use una de las opciones siguientes para configurar la aplicación cliente para el cifrado.

Opción 1: configure las aplicaciones cliente para confiar en el certificado del servidor. Esta configuración hará que el cliente omita el paso que valida el certificado de servidor y continúe con el proceso de cifrado. Por ejemplo, si usa SQL Server Management Studio, puede seleccionar Confiar en el certificado del servidor en la página Opciones.

Opción 2: en cada cliente, agregue la entidad emisora del certificado al almacén de entidades raíz de confianza mediante los pasos siguientes:

  1. Exporte el certificado desde un equipo que ejecuta SQL Server mediante el procedimiento documentado en Exportación del certificado de servidor.
  2. Importe el certificado mediante el procedimiento documentado en Adición de una entidad de certificación (CA) privada al almacén de certificados de entidades de certificación raíz de confianza.

Escenario 2: Solo algunos clientes necesitan conexiones cifradas

Después de configurar el certificado para SQL Server como se documenta en Paso 1: Configuración de SQL Server para usar certificados en Configuración de SQL Server para el cifrado, use una de las siguientes opciones para configurar la aplicación cliente para el cifrado:

Opción 1: configure las aplicaciones cliente para que confíen en el certificado de servidor y establezca la palabra clave de cifrado en las propiedades de conexión en Yes o True. Por ejemplo, si usa Microsoft ODBC Driver for SQL Server, la cadena de conexión debe especificar Encrypt=yes;Trust Server Certificate =Yes;.

Para obtener más información sobre los certificados de servidor y el cifrado, consulte Uso de TrustServerCertificate.

Opción 2: en cada cliente, agregue la entidad emisora del certificado al almacén de entidades raíz de confianza y especifique los parámetros de cifrado en Yes en la cadena de conexión:

  1. Exporte el certificado desde un equipo que ejecuta SQL Server mediante el procedimiento documentado en Exportación del certificado.
  2. Importe el certificado.
  3. Establezca la palabra clave de cifrado en las propiedades de conexión en Yes o True. Por ejemplo, si usa Microsoft OLE DB Driver for SQL Server, se debe especificar Use Encryption for Data = True; en la cadena de conexión.

Uso del certificado autofirmado creado automáticamente por SQL Server

Escenario 1: Quiere cifrar todas las conexiones entrantes a SQL Server

  1. Habilite el cifrado en SQL Server mediante el procedimiento documentado en Paso 2: Configuración de las opciones de cifrado en SQL Server en Configuración de SQL Server para el cifrado.

  2. Configure las aplicaciones cliente para confiar en el certificado del servidor. Al confiar en el certificado de servidor, el cliente omitirá el paso que valida el certificado de servidor y continuará con el proceso de cifrado. Por ejemplo, si usa SQL Server Management Studio, puede seleccionar Confiar en el certificado del servidor en la página Opciones.

Escenario 2: Solo algunos clientes necesitan conexiones cifradas

Configure las aplicaciones cliente para que confíen en el certificado de servidor y establezca la palabra clave de cifrado en las propiedades de conexión en Yes o True. Por ejemplo, si usa Microsoft ODBC Driver for SQL Server, la cadena de conexión debe especificar Encrypt=yes;Trust Server Certificate =Yes;.

Advertencia

Las conexiones SSL que se cifran mediante un certificado autofirmado no proporcionan una seguridad elevada porque la longitud de la clave en los certificados autofirmados es más corta que la clave de los certificados generados por la entidad de certificación. Son susceptibles de sufrir ataques de tipo "Man in the middle". No se debe confiar en SSL mediante certificados autofirmados en un entorno de producción o en servidores que están conectados a Internet.

Nota:

No se requiere ninguna configuración adicional en SQL Server para este escenario.

Pasos siguientes