Introducción
Los ransomwares representan una amenaza creciente para la continuidad del negocio y la seguridad de la información. En entornos con bases de datos SQL Server, un ataque exitoso puede significar la pérdida total o parcial de los datos, interrupción de operaciones y altos costos de recuperación.
Este documento reúne medidas de prevención y mitigación, combinando prácticas recomendadas por Microsoft y expertos en la industria con el objetivo de fortalecer la seguridad.
1. Medidas Preventivas
1.1 Copias de seguridad (Backups)
- Implementar una política de copias de seguridad (full, diferenciales y logs de transacciones).
- Guardar respaldos en medios desconectados de la red en servicios externos de almacenamiento.
- Probar regularmente la restauración de backups para verificar integridad.
- Cifrar los archivos de backup de SQL Server.
1.2 Actualización y parches
- Mantener SQL Server y Windows actualizados con los últimos parches de seguridad.
- La mayoría de los ataques aprovechan vulnerabilidades ya conocidas y parchadas.
1.3 Antivirus
- Mantener actualizado un antivirus de nivel empresarial en servidores y estaciones de trabajo.
- Aunque el antivirus no es infalible, puede detectar firmas conocidas de ransomware y bloquearlas antes de que actúen.
- Configurar el firewall para permitir acceso a antivirus gestionados por consolas que necesitan de internet para mantener sus bases de datos actualizadas.
1.4 Control de accesos y privilegios
- Aplicar el principio de privilegios mínimos en cuentas de servicio y usuarios.
- Separar cuentas de administración de las de uso diario para reducir la superficie de ataque.
- Implementar autenticación multifactor (MFA) para accesos privilegiados.
- Revisar periódicamente quiénes tienen privilegios de administrador en SQL Server.
- Eliminar SQL logins que sean sysadmin en la instancia
- Eliminar el grupo “administrador” y “domain admin” del grupo sysadmin de SQL server
1.5 Segmentación de red
- Bloquear el acceso directo a archivos y carpetas de SQL Server desde estaciones de trabajo.
- Permitir solo el acceso a través de puertos de SQL Server necesarios.
- Permitir sólo conexiones de salida legítimas desde SQL Server, bloqueando comunicación con servidores externos que puedan ser usados para robo o intercambio de llaves de cifrado.
- Deshabilitar servicios y protocolos innecesarios.
1.6 Cifrado y seguridad de datos
- Usar Transparent Data Encryption (TDE) para proteger datos en reposo.
- Cifrar comunicaciones con TLS.
1.8 Concientización y cultura de seguridad
- Capacitar al personal en detección de phishing y amenazas comunes.
- No abrir correos, enlaces o archivos sospechosos.
1.9 Endurecimiento Servidor
- Cambiar el puerto por defecto de SQL Server(1433).
- Deshabilitar SQL Browser.
- Deshabilitar xp_cmdshell en SQL Server.
2. Medidas de Detección y Monitoreo: Configurar alertas en SQL Server para detectar:
- Creación/borrado masivo de objetos.
- Crecimiento anormal de bases o logs.
- Intentos reiterados de accesos fallidos.
- Monitorear tráfico no autorizado desde el servidor.
3. Medidas de Respuesta ante Incidente
3.1 Contención inmediata
- Aislar servidores comprometidos desconectándolos de la red.
- Deshabilitar cuentas comprometidas.
- Proteger backups recientes de accesos maliciosos.
- No apagar ni reiniciar la instancia.
3.2 Recuperación
- Identificar el último backup limpio y confiable.
- Restaurar en entornos seguros o de contingencia.
- Validar integridad de datos y logs antes de reabrir el servicio.
3.3 Investigación y remediación
- Analizar los logs de SQL Server y Windows para determinar el vector de ataque.
- Actualizar políticas, parches y configuraciones para evitar recurrencias.
- Documentar el incidente y actualizar planes de respuesta.
Conclusión
Al implementar las medidas mencionadas, la organización puede reducir el riesgo de ataque, y en caso de ataque garantizar una recuperación rápida y con el menor impacto posible.