Ir al contenido

Análisis de seguridad

MCP-Go-MSSQL ha sido diseñado siguiendo estándares de seguridad reconocidos y aplica defensa en profundidad en todas las capas.

VectorMitigación
SQL InjectionPrepared statements exclusivos, sin concatenación dinámica
Acceso no autorizadoModo solo lectura + whitelist de tablas
Intercepción de datosTLS obligatorio en todas las conexiones
Agotamiento de recursosConnection pooling con límites configurables
Fuga de informaciónErrores genéricos al cliente, detalles solo en logs internos
Escalada de privilegiosValidación multi-tabla en JOINs y subqueries
  • OWASP Top 10 (2021): A01-Broken Access Control, A03-Injection, A02-Cryptographic Failures
  • CWE Top 25 (2024): CWE-89 (SQL Injection), CWE-306 (Missing Auth), CWE-798 (Hardcoded Credentials)
  • NIST Cybersecurity Framework: Identify, Protect, Detect, Respond
  • Cifrado TLS obligatorio (encrypt=true)
  • Validación de certificados en producción (trustservercertificate=false)
  • Certificados autofirmados solo permitidos en modo desarrollo
  • Sanitización automática de datos sensibles en logs
  • Límite de tamaño de consulta (1 MB)
  • Rechazo de entrada vacía
  • Bloqueo de comandos del sistema (xp_cmdshell, OPENROWSET, etc.)
  • Prepared statements para todas las queries sin excepción
  • Validación de todas las tablas referenciadas en modificaciones
  • Connection pooling con límites de conexiones activas
  • Timeouts configurables para prevenir conexiones colgadas
  1. Ejecutar con MSSQL_READ_ONLY=true en producción
  2. Definir MSSQL_WHITELIST_TABLES solo para tablas temporales de IA
  3. Usar un usuario de base de datos con permisos mínimos
  4. Monitorear los logs de seguridad periódicamente
  5. Rotar credenciales de forma regular