Kerberos delegación no restringida para el usuario

2

He notado que hay una opción para configurar "Confiar en este usuario para la delegación a cualquier servicio" que se puede configurar para los usuarios del servicio. He leído mucho sobre la delegación sin restricciones con respecto a las computadoras, pero no he visto usuarios mencionados en ninguna parte.

¿Puede alguien aclarar qué hace esto en comparación con configurar esto para una computadora? Entiendo que con una computadora, por ejemplo, una aplicación web, el servidor podría usar el ticket de cualquier usuario que se conecte a ella y delegarlo en el servidor de DB o en cualquier otro servidor (cuando se habla de delegación sin restricciones).

Pero, ¿qué sucede en el contexto de un usuario que tiene este mismo derecho? ¿Puede el usuario simplemente solicitar el ticket de cualquier usuario y delegarlo? ¿Cómo puede el usuario obtener acceso a los tickets en primer lugar y qué se necesita para hacerse pasar por otros usuarios? ¿Solo un boleto TGT exportado?

¡Muchas gracias!

    
pregunta ptr0x01 17.10.2018 - 11:22
fuente

2 respuestas

1

Cuando haces Kerberos Restricción Delegada (o cualquier cosa antes de Delegación basada en recursos ) en Windows, asigna derechos de delegación a la identidad del proceso que acepta los tickets de kerberos del salto de entrada.

En resumen, si el proceso se ejecuta como un usuario del dominio, ese usuario necesita la delegación habilitada. Si se ejecuta como una identidad de tipo de sistema, la computadora lo hace. Pero siempre debe restringir la delegación, o usar el modelo de delegación basado en recursos más reciente (donde en lugar de identificar los SPN de back-end, identifique las Identidades de front-end que pueden delegar a la identidad del servicio de destino desde la identidad del servicio de destino).

La delegación

no restringida es una mala idea. Podría considerarse mejor como una solución provisional en Windows 2000 que ganó restricciones rápidamente en Windows Server 2003. Permite la suplantación de identidad de cualquier principal de servicio calificado (lea: Usuario o ordenador) a otro servicio, sin restricciones. Obtenga el boleto de alguien, haga cualquier cosa que pueda hacer, de modo que el control de un conjunto de servicios con delegación no restringida significa el control de cualquier usuario conectado.

Para las aplicaciones web de IIS, eso generalmente significa la cuenta del grupo de aplicaciones: la identidad básica (que no tiene suplantación de cliente) de los procesos w3wp.exe asociados con ese grupo de aplicaciones. Si el grupo de aplicaciones se ejecuta como LocalSystem (no haga eso), Local Service , Network Service o ApplicationPoolIdentity , entonces la identidad utilizada para decodificar los tickets y la delegación de bordillos es la cuenta de la computadora. (Un par de otras advertencias como UseAppPoolCredential = true o UseKernelMode = false también pueden hacer que se use una identidad de usuario no personalizada para intentar descodificar un ticket, pero eso está fuera del alcance).

A cualquier Principal de Seguridad se le pueden asignar derechos de delegación. Al dar a cualquier objeto de usuario un Nombre principal del servicio (SPN, use SetSPN.exe), que las computadoras tienen de forma predeterminada (HOST / nombre de computadora), se habilitará la pestaña Delegación en DSA.msc.

Una excepción a lo anterior es Cuentas de servicio administradas por grupo (gMSAs), que debe ser su primera opción para cualquier servicio nuevo que use una identidad de dominio para ejecutar un servicio, ya que administra de forma automática su contraseña compleja, lo que impide su fácil uso a largo plazo. ataques de contraseña en la cuenta misma.

    
respondido por el TristanK 16.12.2018 - 23:51
fuente
0

Específicamente, está destinado a cuentas de usuario que se utilizan como cuentas de servicio, en lugar de usar una cuenta de computadora.

    
respondido por el Steve 17.10.2018 - 22:40
fuente

Lea otras preguntas en las etiquetas