NEXIA Switch se somete de forma continua a pruebas de intrusión de caja negra ejecutadas por nosotros mismos contra una réplica de laboratorio aislada —sin tráfico de clientes ni rutas a operadores reales—, para no arriesgar servicio ni facturación durante el ensayo. Este documento resume la metodología y los controles verificados. Por higiene de seguridad no publicamos direcciones, nombres de host, puertos internos, rutas privadas, umbrales exactos ni ningún dato que sirva de mapa a un atacante: solo el qué se probó y el cómo respondió el sistema.
Metodología
- Caja negra, desde afuera. La herramienta ataca como lo haría un tercero sin información privilegiada. No se accede al servidor para probar ni se debilita ninguna defensa para "llegar más lejos".
- La defensa es el criterio de éxito. Que el sistema rechace, rete, limite o bloquee un intento cuenta como control validado. Solo se abre un hallazgo cuando el sistema falla en defenderse (filtra datos, acepta una acción que debía negar, etc.).
- Causa raíz y regresión. Todo hallazgo se corrige en el código fuente —no con parches manuales sobre la máquina— y se acompaña de una prueba que detecta el problema si alguien intenta reintroducirlo.
- Cobertura por superficie. Se audita el panel/API web y el plano de señalización de voz (SIP), que son las dos puertas expuestas del sistema.
Superficie web — controles verificados
| Categoría | Control validado |
|---|---|
| Transporte / cabeceras | HSTS, política de contenido (CSP gobernada por la aplicación), nosniff, anti-clickjacking y políticas de referrer/permissions presentes. |
| Exposición de archivos | El árbol servido no entrega dotfiles, esquemas, respaldos ni artefactos de código. |
| Sesión | Cookies de sesión con atributos de protección (HttpOnly, Secure, SameSite). |
| Autenticación (CSRF) | El token anti-CSRF está ligado a la sesión y se valida antes que las credenciales; los tokens forjados se rechazan. |
| Autenticación (errores) | Los errores son genéricos: no se filtran trazas ni detalles internos. |
| Autenticación (enumeración) | La respuesta es uniforme para usuarios válidos e inexistentes: no se puede deducir qué cuentas existen. |
| Autenticación (fuerza bruta) | La limitación de intentos en el borde corta las ráfagas de acceso. |
| Autorización (deny-by-default) | Los endpoints de datos exigen sesión válida; sin ella, se niegan. |
| Aislamiento de cliente | El área de cliente se restringe a la identidad de la propia sesión, no a un parámetro manipulable: el acceso indebido a datos de otro cliente por manipulación de identificador queda neutralizado por diseño. |
| Integridad de facturación | El canal interno de ingesta de registros de llamada no es alcanzable desde internet: no se pueden inyectar registros falsos. |
| Elusión | Sin elusión de control de acceso mediante cabeceras de confianza forjadas ni métodos HTTP alternos. |
Superficie de señalización SIP — controles verificados
| Categoría | Control validado |
|---|---|
| Registro | El registro de una extensión exige autenticación digest: un intento anónimo es retado, nunca aceptado. |
| Establecimiento de llamada | La señalización de llamada exige autenticación; un intento sin credenciales no progresa. |
| Suplantación de origen | No se confía en la identidad afirmada por cabeceras manipulables del cliente: la suplantación de un origen "de confianza" es rechazada. |
| Fuga de versión | El nodo de señalización no revela software ni versión en sus respuestas. |
| Enumeración de extensiones | Respuesta uniforme: no se puede inferir qué extensiones existen. |
| Barridos automatizados | Los escaneos de señalización se cortan solos: tras un número acotado de sondeos el borde deja de responder y bloquea el origen. |
Gestión de hallazgos y divulgación
El ciclo es hallazgo → parche de causa raíz → prueba de regresión → publicación, y solo se publica después de parchear y verificar. Nunca describimos públicamente una vulnerabilidad viva. El registro de parches lista los huecos ya cerrados; el más reciente fue la exposición del documento de esquema de la API, corregido y con la corrección incorporada al instalador para que no reaparezca en instalaciones futuras.
Mejora continua
La cobertura se amplía en cada iteración con nuevos vectores y superficies. Un resultado "sin hallazgos" no es un certificado permanente: es la foto de que, en lo auditado hasta la fecha, el sistema se defendió como debía. Seguimos probándolo, y cada cierre queda documentado acá.