Introducción
El año pasado obtuvimos un requisito para garantizar conexiones cifradas a nuestras instancias de SQL Server. Antes, no creíamos que fuera necesario:los servicios de aplicaciones accedían internamente a todas nuestras instancias. Aún así, las conexiones seguras protegen la instancia y los clientes de los ataques como intermediarios, así que lo hicimos.
El cifrado de conexión difiere del cifrado de datos transparente, pero necesita un certificado en ambos casos. En este artículo, describimos el procedimiento para configurar una conexión cifrada para instancias de SQL Server.
Configuración del complemento de certificado en MMC
Un certificado es un documento firmado digitalmente que contiene claves públicas y privadas que cifran las conexiones. Las claves públicas y privadas son un "par de claves":la clave pública cifra los datos y solo la clave privada puede descifrarlos.
Los certificados son emitidos por una autoridad de certificación, una entidad en la que tanto el servidor como el cliente confían. En nuestro caso, generamos un certificado del servidor que aloja SQL Server.
Comenzamos este proceso iniciando Microsoft Management Console (mmc.exe) .
Cuando se inicia MMC, navegamos a Archivo> Agregar y quitar complementos... (Figura 1). Aquí, agregamos el complemento Administrador de certificados a nuestra consola para administrar los certificados en el servidor. Tenga en cuenta que hay otras formas de llegar a este punto.
Queremos administrar los certificados desde nuestra cuenta de computadora de tal manera que otros administradores no tengan problemas con los permisos cuando también necesitan administrar certificados (Figura 2).
En este artículo, nos ocupamos de la administración de certificados en la computadora local donde está instalada nuestra instancia de SQL Server (Figura 3).
Una vez que completemos el proceso de creación del complemento Certificado, podemos ponerlo en uso.
Comience seleccionando Todas las tareas> Solicitar nuevo certificado :
Inscripción de un certificado MMC
La acción de la Figura 5 inicia un asistente; lo ejecutaremos rápidamente. Los detalles son más relevantes para el administrador de Windows, pero lo crucial es obtener un certificado válido que SQL Server pueda usar.
Verifique las condiciones necesarias:
Seleccione una política de inscripción y el tipo de certificado que desea. En nuestro caso, seleccionamos la política configurada por nuestro Administrador de Dominio para propósitos como este. Puede hablar con su administrador de dominio para definir la mejor opción en su entorno.
La inscripción de certificados es el proceso de solicitar un certificado digital a una Autoridad de certificación. En algunos entornos, la CA es parte de la infraestructura de clave pública.
Configuración del servidor SQL
Ahora, cuando tengamos el certificado, vamos a SQL Server y lo configuramos para usar ese certificado.
- Abra el Administrador de configuración de SQL Server y navegue por Configuración de red de SQL Server> Protocolos para MS SQL Server .
- Haga clic con el botón derecho en este elemento y seleccione Propiedades del menú desplegable (Figura 11):
- En las Propiedades ventana, seleccione el Certificado pestaña. Si ha realizado la inscripción del certificado correctamente, debería verlo en el menú desplegable etiquetado como Certificado (Figura 12). Al hacer esto, asociamos este certificado con la instancia de SQL Server. Tenga en cuenta que también podemos ver los detalles del certificado en el Administrador de configuración de SQL Server.
- Una vez que hayamos terminado de aplicar el certificado válido, repasamos las Banderas y configure Forzar cifrado marca a SÍ . Garantiza que todas las conexiones a SQL Server estén encriptadas.
El protocolo criptográfico que utiliza SQL Server para el cifrado de las conexiones dependerá de la configuración del sistema operativo. Luego, debe reiniciar la instancia de SQL Server. Carga este nuevo certificado después.
Podemos ver los datos en el Visor de eventos de Windows:el registro de errores de SQL Server. También podemos verificar el cifrado de las conexiones con herramientas como Network Monitor de Sys Internals (Figura 14).
Conclusión
Por lo general, se requiere una conexión cifrada en organizaciones preocupadas por la seguridad. En este artículo, hemos compartido nuestra experiencia sobre cómo configurar conexiones cifradas en SQL Server.
Nuestro enfoque implicó inscribir un certificado, aplicar ese certificado a una instancia de SQL Server y habilitar el cifrado forzado. Es esencial tener en cuenta que cuando configura Force Encryption en SÍ en SQL Server, todos los clientes que se conectan a la instancia deben usar el mismo protocolo criptográfico.
Referencias
- Habilitar conexiones cifradas
- Certificados de SQL Server y claves asimétricas