Comprenda el riesgo de sus políticas. Haga preguntas sobre políticas en lenguaje natural. Solicitar un demo →

Published:

Sobre el privilegio mínimo, JIT y la autorización fuerte

by Rich Mogull

He trabajado como profesional de seguridad por más de 20 años. No podría contar la cantidad de veces que he pronunciado las palabras “privilegio mínimo”. Es como un pequeño mantra, sentado en la misma banca que “defensa en profundidad” y “amenaza interna”.

Pero decirle a alguien que aplique el privilegio mínimo y salir de la sala equivale a que el médico le diga que “coma más sano” mientras lo reprueba en el examen físico del seguro y sale de la sala antes de cobrarle de más.

El privilegio mínimo es real. Importa. A diferencia de cambiar las contraseñas cada 90 días, puede tener un impacto material en la mejora de su seguridad.

El privilegio mínimo también es realmente difícil. Especialmente a escala. Y no funciona para sus usuarios más importantes.

¿Por qué? Porque el privilegio mínimo no son los privilegios mínimos que necesita en ese momento, son los privilegios mínimos que podría llegar a necesitar para hacer su trabajo… alguna vez. Y cuando alguien necesita hacer algo fuera del alcance definido cuando esos privilegios se mapearon por primera vez, se inicia un lento proceso de cambio que debe atravesar distintos equipos y gerentes.

O a veces simplemente tiene que convencer a Bob de que le dé acceso. Y Bob es algo hostil y defensivo porque no confía en nadie y no quiere que lo culpen cuando usted cometa un error.

Incluso con el privilegio mínimo, si un atacante obtiene esas credenciales (la principal fuente de brechas de seguridad nativas del cloud), probablemente aún pueda hacer daño. Porque aunque el privilegio mínimo no siempre es demasiado terrible de implementar para el usuario o empleado promedio, es realmente difícil de aplicar a desarrolladores y administradores que, por diseño, necesitan más privilegios.

Así como tenemos MFA para la autenticación fuerte, necesitamos algo para la autorización fuerte.

Aquí es donde entra en juego el acceso Just in Time (JIT). En lugar de intentar determinar de antemano todos los privilegios que alguien necesita, esa persona puede solicitar permisos con tiempo limitado en cualquier momento. Ahora creo que JIT debería ser el estándar para el acceso administrativo y sensible.

Recomiendo el privilegio mínimo como un excelente concepto para el acceso general de usuarios, pero JIT es mejor para cualquier nivel de acceso de administración, desarrollo o acceso sensible en el cloud.

Just in Time

JIT es una variante de PIM/PAM. La gestión de acceso privilegiado y la gestión de identidades privilegiadas son sistemas diseñados para escalar los privilegios de un usuario. Operan con un nivel más bajo hasta que se necesita escalar, y estos sistemas usan múltiples técnicas para otorgar acceso ampliado, normalmente durante una sesión con tiempo limitado. Hoy no es el día para entrar en los matices, pero la ventaja es que permiten flexibilidad manteniendo la seguridad. Alguien debe solicitar privilegios adicionales cuando los necesita, de modo que incluso si sus credenciales se ven comprometidas el atacante sigue estando limitado.

“JIT” (Just in Time) es una técnica para PAM/PIM (o, en realidad, para cualquier acceso). Un usuario tiene credenciales base que podrían no tener acceso a nada en absoluto, y luego sus privilegios se escalan a petición. Nosotros mismos usamos JIT (y está disponible en Cloud Defense), y Netflix publicó una herramienta de código abierto llamada ConsoleMe basada en su herramienta interna. Azure tiene un servicio integrado (pero con un costo adicional) llamado Entra ID Privileged Identity Management. (Entra ID es lo que solíamos llamar Azure AD antes de que alguien decidiera que era buena idea confundir a millones de clientes por motivos de marca). Hay más opciones, estos son solo ejemplos.

Para reforzar la seguridad, JIT debe usar un flujo de aprobación fuera de banda y otorgar acceso con tiempo limitado. Eso es lo básico. La solicitud y la aprobación deben circular por una ruta distinta de la autenticación normal, como una forma de MFA. La diferencia es que MFA es un factor fuera de banda para la autenticación (demostrar que usted es quien dice ser) y JIT es una forma de autorización (usted solicita y recibe permiso para hacer algo).

Gestionar la fricción

Tanto el privilegio mínimo como JIT introducen fricción. Es decir, todo lo que hacemos en seguridad introduce algún tipo de fricción, especialmente Bob. Con el privilegio mínimo, la fricción principal es la carga de definir e implementar privilegios, y lo que se rompe cuando alguien no tiene los privilegios que necesita. Con JIT, la fricción es el proceso de enviar y recibir una aprobación.

Tras haber usado e investigado tanto el privilegio mínimo como JIT durante mucho tiempo, he aprendido técnicas para reducir la fricción. En algunos casos, se obtienen procesos más rápidos y mejores que la forma en que históricamente hemos hecho las cosas

  • El flujo de solicitud y aprobación debe ser en tiempo real. Esto significa aprobaciones mediante ChatOps, mensajes de texto o el chip 5G implantado con su vacuna contra la COVID.
  • Para accesos con menos privilegios, como el acceso de lectura a algunos registros, puede y debe admitir una autoaprobación. ¿En qué ayuda esto? Porque sigue usando el proceso fuera de banda y reduce la capacidad de un atacante de aprovechar credenciales perdidas, robadas o expuestas.
  • También puede admitir aprobaciones automáticas en las que ni siquiera necesita hacer clic para autoaprobar. ¿En qué ayuda esto? Puede aprobar automáticamente, pero también usar su canal fuera de banda para notificar que se escalaron privilegios. Probablemente lo haya visto si alguna vez agregó un dispositivo de Netflix o Hulu a su cuenta. La concientización por sí sola puede ser increíblemente eficaz.
  • Si esto es para desarrolladores, necesita admitir la línea de comandos y otras herramientas que ellos usan. Vaya hacia ellos. Hágalo súper fácil de usar. Si los obliga a iniciar sesión en una herramienta de seguridad, el proyecto fracasará.
  • Si los aprobadores no responden, de forma instantánea, usted fracasará. No haga de Bob el único aprobador.

Lleve esta capacidad a sus desarrolladores y administradores en las herramientas que ya usan. Hágalo rápido y sin fricción. Idealmente, hágalo más fácil y rápido que abrir un gestor de contraseñas o navegar por un portal de SSO repleto de 374 cuentas de cloud entre las cuales elegir. Cómprele unas galletas a Bob. Con chispas de chocolate. (Ah, espere, ese soy yo).

También puede usar la automatización para reducir la fricción del acceso con privilegio mínimo. El Duckbill Group implementó su propia versión de privilegio mínimo automatizado usando otra tecnología con la ayuda de Chris Farris. Herramientas como AWS Access Advisor existen para ayudarle a monitorear los permisos utilizados y reducir su alcance. La automatización está ahí para ayudarle a implementar el privilegio mínimo a escala, y también puede ser un complemento de JIT.

Cuándo usar cada uno

El privilegio mínimo no es en absoluto un concepto muerto. Sigue siendo el estándar de oro para los usuarios y empleados cotidianos que necesitan un nivel de acceso bastante constante. JIT es mejor para accesos con más privilegios, especialmente a entornos de producción, y especialmente en el cloud, donde las exposiciones de credenciales son LA mayor fuente de brechas de seguridad. Aquí es donde nosotros mismos lo usamos:

  • Acceso de lectura de los desarrolladores a producción.
  • Acceso de cambio de los desarrolladores a producción (fuera de CI/CD). Mucho más restringido y con más aprobadores requeridos.
  • Acceso administrativo a cuentas de producción.
  • Acceso para respuesta a incidentes.
  • Acceso a algunas cuentas de desarrollo, ya que puede ser más rápido que volver al portal de SSO, especialmente cuando se trabaja en la línea de comandos.

Ya no creo que el privilegio mínimo por sí solo sea un concepto válido para ningún nivel significativo de acceso privilegiado en el cloud (IaaS/PaaS), incluso cuando usamos MFA fuerte. Es demasiado difícil delimitar correctamente los permisos a escala, con el paso del tiempo. JIT es una opción mucho mejor en estos casos de uso. El privilegio mínimo sigue siendo muy viable cuando se necesitan permisos constantes en el tiempo, especialmente combinado con un buen registro de accesos y MFA. JIT es el compañero de MFA. Es la autorización fuerte que acompaña a su autenticación fuerte. A medida que seguimos trasladando operaciones más críticas a planos de gestión expuestos a Internet, JIT es el camino.

Privilegio mínimo, JIT y autorización fuerte | FireMon