Documento técnico sobre seguridad y privacidad (resumen)Capítulo 10

Capítulo 10: Registro, monitoreo y respuesta a incidentes

La observabilidad de FileBolt debe ajustarse a los límites del conocimiento cero: el sistema debe identificar fallos, detectar ataques y cuantificar el rendimiento sin crear nuevos vectores de filtración de datos sensibles. Este capítulo define qué eventos se registran, prohíbe explícitamente registrar cierta información, describe los métodos de alerta y de detección de anomalías, y detalla el proceso de respuesta a incidentes de seguridad (IR) y los principios de comunicación externa.

10.0 Resumen

  • DEBERÍA: los registros y el monitoreo cubren solo los eventos operativos y de seguridad necesarios, y usan agregación y muestreo para minimizar la retención de detalles sin procesar.
  • NO DEBE: ningún registro, APM ni informe de errores debe contener la CEK, fragmentos de URL (location.hash) ni URL completas que incluyan fragmentos.
  • NO DEBE: no se registra contenido en texto plano, fragmentos descifrados ni material de claves derivable.
  • DEBE: establecer detección y alertas para enumeración, fuerza bruta, picos de tráfico y patrones anómalos, con medidas de contención preparadas.
  • DEBE: mantener un proceso de respuesta a incidentes (triaje, contención, análisis forense, remediación, revisión y comunicación).

10.1 Eventos registrados (minimalismo)

Los registros y el monitoreo del sistema DEBERÍAN cubrir solo el conjunto de eventos «necesarios para las operaciones y la seguridad», y evitar que contenido de los usuarios o credenciales sensibles entren en los sistemas de observabilidad. Los eventos se clasifican en ciclo de vida, autenticación, almacenamiento/red y protección de seguridad, y se recomienda agregarlos.

10.1.1 Eventos del ciclo de vida de la transferencia

  • Creación de la transferencia (generación del transferId)
  • Subida de fragmento completada (se registra a nivel de texto cifrado, no de texto plano)
  • Escritura/actualización del manifiesto
  • Limpieza por caducidad, eliminación/revocación por parte del usuario (incluidos el inicio y la finalización de la tarea de limpieza)
  • Inicio/finalización de la descarga (se mide a nivel de descarga de texto cifrado)

10.1.2 Eventos de autenticación y autorización

  • Emisión de tokens de sesión, fallos de validación (ámbito no coincidente, caducado, revocado, etc.)
  • Fallo de validación del token de inicio de sesión de larga duración (acción de administración denegada)
  • Patrones de acceso sospechosos: picos anómalos de 401/403/404

Nota: se registra únicamente el «resultado y el código de motivo». NO DEBE registrarse el texto plano de los tokens, del encabezado Authorization ni de los parámetros de firma.

10.1.3 Métricas de estado y rendimiento del sistema

  • Latencia de las solicitudes (p50/p95/p99), tasas de error, rendimiento
  • Tasas de fallo de lectura/escritura del almacenamiento de objetos, tasas de fallo al obtener del origen, número de reintentos
  • Anomalías en los nodos edge, acumulación en las colas, tasas de éxito de las tareas de limpieza en segundo plano
  • Tendencias de ancho de banda y tráfico (dimensiones agregadas)

10.1.4 Eventos de protección de seguridad

  • Activaciones de la limitación de frecuencia, coincidencias con reglas de WAF/cortafuegos
  • Superación de umbrales por sospecha de enumeración o fuerza bruta
  • Patrones anómalos de concurrencia y tráfico (alta concurrencia desde el mismo origen, actividad anormal sobre un recurso)

10.1.5 Agregación y muestreo

  • DEBERÍA: agregar recuentos y cuantiles de latencia por minuto/hora para reducir los registros granulares.
  • DEBERÍA: muestrear las solicitudes correctas de alta frecuencia y conservar los detalles necesarios solo para los errores y las rutas anómalas.
  • DEBERÍA: conservar campos de clasificación estables (p. ej., eventType, reasonCode) en los eventos anómalos para facilitar la auditoría y el análisis automático.

10.2 Información prohibida (CEK, fragmento de URL, credenciales)

Una clave para mantener el compromiso de conocimiento cero es aplicar de forma estricta una política de «prohibición de datos sensibles» en todos los sistemas de observabilidad. Esta política debe cubrir: registros del servidor, APM, informes de errores, monitoreo de terceros, registros del cliente y la salida de la consola del navegador.

10.2.1 Lo que el servidor NO DEBE registrar

  • La CEK (clave de cifrado de contenido) y cualquier material derivable
  • El fragmento de URL (#...), location.hash y las URL completas que incluyan fragmentos
  • Contenido en texto plano: texto plano de archivos, contenido de vistas previas, fragmentos descifrados o cualquier resumen en texto plano
  • Texto plano de credenciales sensibles: tokens de sesión, tokens de larga duración, texto plano del encabezado Authorization, texto plano de los campos de firma de las URL firmadas

Si es necesario registrar URL para depurar: DEBE sanearse (eliminar el fragmento; ocultar o eliminar las consultas sensibles) y aplicarse a nivel de código (sin depender de una convención manual).

10.2.2 Lo que el cliente NO DEBE registrar

  • No imprimir location.href (puede contener el fragmento) en entornos de producción
  • No incluir URL con fragmentos, la CEK ni el noncePrefix en los informes de errores
  • Los registros de depuración y la salida de las herramientas de desarrollo deberían estar desactivados o reducidos al mínimo de forma predeterminada

DEBERÍA: encapsular en el frontend una función unificada de registro/informe que realice internamente el saneamiento de URL y el filtrado de campos sensibles antes de emitir o enviar la información.

10.3 Métricas de monitoreo y alertas (disponibilidad, rendimiento, seguridad)

10.3.1 Alertas de disponibilidad y rendimiento

  • Alertas de tasa de error: picos de 5xx, aumento anómalo de 4xx (distinguir los fallos de autenticación del abuso)
  • Alertas de latencia: superación de umbrales de p95/p99, anomalías al obtener del origen en una región
  • Alertas de almacenamiento: aumento de los fallos de escritura en el almacenamiento de objetos y de los tiempos de espera de lectura
  • Alertas de las tareas de limpieza: acumulación de limpiezas por caducidad pendientes, reintentos excesivos de las tareas de eliminación

10.3.2 Alertas de seguridad

  • Aumento anómalo de la tasa de activaciones de la limitación de frecuencia
  • 401/403/404 de alta frecuencia desde el mismo origen, con sospecha de enumeración o fuerza bruta
  • Ancho de banda o concurrencia de descarga anómalos en un solo recurso, con sospecha de saturación de tráfico o hotlinking
  • Los cambios críticos de políticas (p. ej., reglas de WAF, cambios de CSP o de encabezados) deberían activar auditorías de cambios y alertas (si procede)

10.3.3 Gobernanza de las alertas

  • DEBERÍA: clasificar las alertas (P0/P1/P2) con rutas de guardia y escalado.
  • DEBERÍA: aplicar antirrebote o agregación por ventanas a las métricas ruidosas para evitar la fatiga de alertas.
  • DEBERÍA: adjuntar a cada alerta la información de diagnóstico mínima (código de motivo, gráfico de tendencia, región/ruta afectada), sin datos sensibles.

10.4 Detección de anomalías e identificación de abusos

Los servicios de transferencia de archivos se enfrentan de forma natural a riesgos de enumeración, fuerza bruta, saturación de tráfico y abuso de recursos. Esta sección describe las señales detectables y los principios de respuesta. Los umbrales y las estrategias concretos deben ajustarse de forma dinámica según la escala del negocio y el coste de los falsos positivos.

10.4.1 Patrones de anomalía habituales

  • Enumeración: sondeo masivo de transferId o rutas de recursos en poco tiempo, picos de 404/401/403.
  • Fuerza bruta: intentos de alta frecuencia con códigos cortos, contraseñas o tokens, curva anómala de tasa de fallos.
  • Saturación de tráfico: ancho de banda anómalo en un solo recurso, gran número de conexiones simultáneas desde el mismo origen, descargas repetidas.
  • Anomalías de protocolo: orden irracional de fragmentos, subidas duplicadas, interrupciones/reintentos frecuentes, patrones anómalos de user agent.

10.4.2 Estrategias de mitigación (principios)

  • DEBERÍA: limitación de frecuencia, bloqueo escalonado, mecanismos de desafío (si procede) y políticas dinámicas según ASN/región/huella digital.
  • DEBERÍA: adoptar estrategias más suaves (p. ej., retraso, limitación de ancho de banda por tramos) en las rutas sensibles a los falsos positivos (los usuarios normales pueden descargar con frecuencia).
  • DEBE: conservar los desencadenantes auditables (código de motivo, categoría de umbral) de las acciones realizadas y ofrecer canales de soporte (si procede).

10.5 Proceso de respuesta a incidentes

FileBolt DEBE establecer un proceso de respuesta a incidentes de seguridad (IR) que garantice una contención rápida de los daños, la posibilidad de revisión y una comunicación transparente. Los eventos que puedan afectar a los compromisos de conocimiento cero (p. ej., XSS, inyección en la cadena de suministro, filtración de fragmentos en los registros) deberían tratarse con la máxima prioridad.

  1. Triaje: clasificar por alcance y gravedad del impacto (p. ej., P0/P1/P2) y definir rutas de escalado y responsables.
  2. Contención: aislar con rapidez las fuentes de riesgo (bloquear los orígenes del ataque, desactivar temporalmente funciones, endurecer políticas, rotar claves/tokens).
  3. Análisis forense y revisión: reconstruir la cronología a partir de registros y métricas mínimos; documentar las decisiones, el impacto, la remediación y las mejoras.
  4. Remediación y verificación: desplegar parches, pruebas de regresión, verificación de seguridad y, si es necesario, repetir los análisis de terceros.
  5. Comunicación y divulgación: explicar con transparencia a los usuarios y al público sin ampliar la superficie de ataque; publicar informes del incidente en la página de estado si es necesario.

La comunicación externa debería aclarar: si el material de claves o el texto plano pudieron quedar expuestos, el alcance del impacto, las medidas adoptadas y las acciones que deben realizar los usuarios (si las hay).

10.6 Retención de datos y control de acceso

Los registros y los datos de monitoreo son en sí mismos activos sensibles. Deberían aplicarse los periodos de retención útiles más cortos y un control de acceso de mínimo privilegio para reducir los riesgos de filtración y abuso.

  • DEBERÍA: fijar periodos de retención diferenciados según el tipo de registro (algo más largos para errores y eventos de seguridad, más cortos o sin retención para el detalle de las solicitudes correctas).
  • DEBERÍA: usar acceso de mínimo privilegio (RBAC) en las plataformas de registro y monitoreo y conservar las auditorías de acceso.
  • DEBERÍA: sanear y minimizar los datos al exportar o compartir registros (prohibido incluir credenciales sensibles e información personal identificable).

10.7 Principios de monitoreo e integración de terceros

Las herramientas de APM o de seguimiento de errores de terceros pueden recopilar de forma predeterminada URL, encabezados, campos de formularios e información del dispositivo. Si se usa monitoreo de terceros, hay que asegurarse de que sus límites de recopilación no incumplan los compromisos de conocimiento cero.

  • DEBE: no cargar scripts de terceros en las páginas de descarga/descifrado (en coherencia con el capítulo 9).
  • DEBE: configurar explícitamente la recopilación de terceros: sin fragmentos, sin texto plano de encabezados sensibles, sin contenido en texto plano.
  • DEBERÍA: unificar el saneamiento de URL en los informes; prohibir o enmascarar con fuerza las cargas que puedan contener campos sensibles.
  • DEBERÍA: priorizar las métricas agregadas del lado del servidor frente al seguimiento granular en el cliente para reducir la superficie de recopilación en los dispositivos.

10.8 ID de afirmaciones relacionadas (reservado)

Este capítulo abarca la «prohibición de registrar datos sensibles, las alertas y la IR, y las restricciones del monitoreo de terceros». Los ID de afirmación correspondientes se añadirán al Apéndice: lista maestra de ID de afirmaciones, que es la única fuente autorizada.