Configuración del Sniffer DataSunrise para MS SQL Server
La característica principal de Microsoft SQL Server es que su aplicación cliente principal, SQL Server Management Studio, siempre requiere encriptación, incluso si la casilla Encriptar conexión no está marcada.
Esto significa para cualquier sniffer que es imposible escuchar el tráfico encriptado o que el sniffer requerirá la clave privada del servidor para su descifrado. El sniffer de DataSunrise puede descifrar el tráfico SSL si dispone de la clave privada, por lo que nos centraremos en configurar un servidor para la operación de DataSunrise en modo sniffer.
Por defecto, el servidor está configurado para trabajar con claves efímeras — no existen claves estáticas ni certificados establecidos para él. El certificado y la clave se generan para cada conexión. Tal estrategia garantiza un alto nivel de seguridad en todas las conexiones del servidor. Así es evidente que el proveedor criptográfico integrado de Microsoft en las versiones más recientes de Windows ha incrementado el nivel de prioridad de todos sus cifrados efímeros. Y ahora se vuelve cada vez más difícil activar cifrados más apropiados para el sniffing sin una configuración adicional del servidor.
Certificado
Para deshabilitar los cifrados efímeros y obtener una clave privada estática, es necesario instalar un certificado. Esto se puede hacer a través del Administrador de Configuraciones de SQL Server (característica Protocolos para MSSQLSERVER, configuraciones de SQL Server Network, pestaña Certificado):
Aquí podemos seleccionar un certificado de la lista que se ha subido desde el almacén de certificados de Windows local.
Existen algunos requisitos de Microsoft para preparar el certificado.
- El certificado debe estar en el almacén de certificados del equipo local o en el almacén de certificados del usuario actual.
- La hora del sistema actual debe ser posterior a la propiedad Válido desde del certificado y anterior a la propiedad Válido hasta del mismo.
- El certificado debe estar destinado para la autenticación del servidor. Esto requiere que la propiedad de Uso Ampliado de Clave del certificado especifique Autenticación del Servidor (1.3.6.1.5.5.7.3.1).
- El certificado debe crearse utilizando la opción KeySpec de AT_KEYEXCHANGE.
- La propiedad Subject del certificado debe indicar que el nombre común (CN) es el mismo que el nombre del host o el nombre de dominio completo (FQDN) del equipo servidor. Si SQL Server se ejecuta en un clúster de conmutación por error, el nombre común debe coincidir con el nombre del host o FQDN del servidor virtual y los certificados deben estar provisionados en todos los nodos del clúster de conmutación por error.
Para crear un certificado que cumpla con estas condiciones, se puede utilizar la utilidad Make Cert incluida en el Windows SDK.
makecert -r -pe -n "CN= HERE24322118" -b 01/09/2016 -e 01/09/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 En este ejemplo se creará el certificado “HERE24322118” y se colocará en el almacén de certificados local. En esta etapa, este certificado puede ser seleccionado de la lista de certificados del Administrador de Configuración de SQL Server. Y tras el reinicio del servidor, podrá utilizarse para asegurar las conexiones de red.
Clave del Servidor
El siguiente paso es obtener la clave del servidor. Para ello, es necesario exportarla desde un almacén de certificados y extraer key.pem de certname.pfx:
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes Key.pem es la clave privada que requiere el sniffer.
<>El servidor está configurado y se ha obtenido su clave privada, pero aún utiliza algoritmos efímeros debido al proveedor criptográfico. Para deshabilitar los algoritmos de intercambio de claves efímeros, es necesario consultar la correspondiente guía de Microsoft o su interpretación a través de GUI — IIScrypto.
Aquí es necesario deshabilitar 2 algoritmos de intercambio de claves: Diffie-Hellman y ECDH. Los cambios se aplicarán después de reiniciar el servidor host.
Instalación de la Clave en DataSunrise
El paso final es instalar la clave en DataSunrise. Para ello, abrimos la pestaña Configuraciones, seleccionamos la base de datos requerida, abrimos la ventana de Certificados, la pestaña Clave Privada y pegamos la clave privada copiada del archivo.
La configuración del servidor y del firewall para el sniffing de SQL Server se ha completado. Y seguiremos pensando en cómo hacer que la protección de su infraestructura sea más sencilla y eficiente.
