heygrc
Respuesta

¿Cómo exigir MFA para el acceso privilegiado (SOC 2)?

el equipo de heygrc

Restringir quién puede acceder a funciones sensibles es el objetivo de SOC 2 CC6.1 (controles de acceso lógico), y para acciones privilegiadas una sesión válida suele no ser suficiente por sí sola. Exige un segundo factor en el momento de la acción privilegiada, deniega por defecto si falta y registra la verificación, de modo que acceder a una ruta de administrador requiera más que una sesión robada o persistente.

  1. Identificar las rutas privilegiadas

    Determina qué acciones se consideran privilegiadas: puntos finales administrativos, cambios de roles y permisos, acceso o exportación masiva de datos y modificaciones en la configuración de seguridad. Estas son las rutas donde una sola sesión comprometida causa el mayor daño, y donde un segundo factor justifica su costo.

  2. Exigir el segundo factor en la acción, denegar por defecto

    Verifica que se haya cumplido un segundo factor (o un refuerzo reciente) antes de ejecutar la acción privilegiada, no solo al inicio de sesión, y deniega por defecto si falta en lugar de permitir el acceso. La verificación debe realizarse en la ruta del servidor que ejecuta la acción, para que no pueda omitirse llamando directamente al endpoint.

admin/roles.ts+1 -0
export async function setRole(session, target, role) {+  if (!session.mfaVerified) return deny("step-up required")  await db.roles.set(target, role)  return ok()}
heygrcSOC 2 CC6.1

El cambio de rol privilegiado ahora requiere un segundo factor verificado y deniega por defecto sin él, reforzando el control de acceso lógico que aborda CC6.1.