Es tarde por la tarde y acabo de recibir una tarea muy interesante. Un cliente mío quiere conectarse a su Microsoft SQL Server a través de la red pública, sin VPN, y me pregunta cómo podemos asegurar mejor esta conexión. ¡Lo primero que me vino a la mente fue el cifrado!
Entonces le dije que forzáramos el cifrado para el tráfico que pasa por el puerto 1433, para que podamos mitigar tanto como sea posible esta laguna gigante que está accediendo a Microsoft SQL Server directamente a través de la red pública.

Ahora, para poder incluso iniciar el proceso de configuración de cifrado, primero necesitamos lo más importante de todos los demás: un certificado que tenga lo siguiente Propiedad de uso de clave mejorada: autenticación de servidor 1.3.6.1.5.5.7.3.1.
Por lo tanto, al implementar un certificado autofirmado o comprar uno legítimo, debemos asegurarnos de que Uso de claves string es exactamente como el que se indicó anteriormente. Ahora el 99% de las veces, un certificado autofirmado es suficiente para el cifrado, pero puede obtener uno válido de uno de los proveedores de confianza.

Bien, ahora que me he asegurado de tener el certificado correcto, entremos y le digamos a SQL qué certificado usar. Para eso necesitamos copiar el Huella digital del certificado e ingrese la siguiente clave de registro:
HKLMSOFTWAREMicrosoftMicrosoft SQL ServerMSSQL14.MSSQLSERVERMSSQLSERVERSuperSocketNetLib

En esa clave específica hay un valor llamado Certificado. Necesitamos copiar y pegar la huella digital del certificado en ese valor.
En mi caso, se verá así:

Ahora vayamos al Administrador de configuración de SQL Server y luego vayamos a Configuración de red de SQL Server, debajo Protocolos para MSSQLSERVER ir Propiedades y luego el Certificado lengüeta. Ahí es donde veremos el certificado que acabamos de implementar en el registro. Todo lo que queda es elegir el certificado y luego reiniciar el servicio SQL Server.


A continuación, iremos y forzaremos el cifrado en el protocolo haciendo clic derecho en el Configuración nativa del cliente SQL y asegúrate Forzar cifrado se establece en si.

Ahora que hemos configurado el certificado, regresemos a SQL Server Services y reiniciemos el servicio haciendo clic derecho en el SQL Server (MSSQLSERVER) servicio y elegir Reiniciar.

¡Voila, ahora hemos configurado el puerto 1433 para cifrar la comunicación!
El siguiente paso es configurar las conexiones cifradas en nuestra aplicación o si nos conectamos desde SQL Server Management Studio.
Para hacerlo en SSMS, debemos seguir los siguientes pasos:
- Haga clic en Conectar al motor de base de datos
- En el Conectar al servidor cuadro de diálogo ir a Opciones
- Sobre el Propiedades de conexión haga clic en la pestaña Cifrar conexión
Eso es todo, bastante simple y directo. Espero que hayas disfrutado de este artículo y espero que vuelvas para ver más artículos interesantes.