Pregunta

(Se ha hecho una cuestión de veta similar antes de Pero tanto la pregunta como la respuesta aceptada no proporcionan los detalles que estoy buscando)

Con la intención de ejecutar un servicio web ASMX en una cuenta de dominio dedicada cuáles son escenarios de uso y/o pros y contras de usar un grupo de aplicaciones con la identidad de la cuenta de dominio versus suplantación?

Tenemos 3 pequeños servicios web internos que se ejecutan bajo una carga relativamente baja y nos gustaría cambiarlos a ejecutarse bajo sus propias cuentas de dominio (con el propósito de seguridad integrada con SQL Server, etc.). Parece que tengo la opción de crear grupos de aplicaciones dedicados para cada aplicación, o tener un solo grupo de aplicaciones para todas las aplicaciones y usar suplantación en cada una.

Entiendo que los grupos de aplicaciones proporcionan aislamiento del proceso de los trabajadores y hay consideraciones para el rendimiento al usar suplantación, sin embargo, a los que aparte, ¿qué más dictarían la opción correcta?

¿Fue útil?

Solución

Por lo general, elegirá una identidad diferente para el proceso de trabajadores (o hacer suplantación de ASP.NET) porque es necesario acceder a recursos locales/de red que necesitan permisos específicos. La desventaja obvia es que su código de aplicación puede ejecutarse con más permisos de los que necesita y, por lo tanto, aumentar la vulnerabilidad contra los ataques maliciosos.

La suplantación de ASP.NET tendría más gastos generales porque se deben cambiar el contexto del usuario para cada solicitud. Sugeriré ir con un enfoque de grupo de aplicaciones separado; solo la desventaja con el enfoque del grupo de aplicaciones es que tiene un proceso para cada uno de ellos y, por lo tanto, habrá gastos generales (desde la perspectiva del sistema operativo) para cada proceso. Si sus aplicaciones son más pequeñas y no tienen fuertes demandas de memoria, entonces esto no debería ser un problema,

Otros consejos

Si desea que sus servicios web se conecten a SQL a través de la autenticación de Windows, seguramente querrá configurar cada aplicación con la opción de grupo de aplicaciones dedicada. Esto requiere la menor cantidad de configuración y administración.

Si sigue la ruta de suplantación, deberá dar cuenta del problema de "dos saltos". Cuando un usuario llama a un servicio web que está utilizando suplantación, el servicio web puede acceder local Recursos, como ese usuario. Sin embargo, si el servicio web intenta conectarse a un recurso no local (por ejemplo, una base de datos que se ejecuta en un servidor separado), el resultado será un error de autenticación. La razón es que NTLM evita que sus credenciales hagan más de un "salto". Para solucionar esto, necesitaría usar la delegación de Kerberos. La delegación no es difícil de configurar, pero requiere privilegios de administración de dominios, lo que puede dificultar las cosas en algunos entornos corporativos.

Además, el uso de suplantación significa que debe administrar los permisos de la base de datos para cada usuario que pueda visitar su servicio web. La combinación de roles de bases de datos y grupos publicitarios contribuirá en gran medida a simplificar esto, pero es un paso administrativo adicional que es posible que no desee realizar. También es un posible riesgo de seguridad, ya que ciertos usuarios pueden terminar con privilegios que son mayores de lo que anticipan sus servicios web.

La suplantación es útil cuando necesita una experiencia de usuario final común con otros servicios de Windows que se basan en la seguridad de Windows.

Por ejemplo, los servidores de Microsoft SharePoint usan suplantación porque puede acceder a las bibliotecas de documentos de SharePoint con navegadores web y con la interfaz de usuario estándar de Windows Shares (conectar / desconectar a una acción de red, según el SMB protocolo). Para garantizar que la seguridad sea consistente entre los dos, en este caso, usted necesitar interpretación.

Aparte de este tipo de escenario, la suplantación no es útil (pero puede costar mucho en términos de escalabilidad)

Pros para el grupo de aplicaciones:

No tiene que ser un programador de .NET para comprender lo que está sucediendo.

El aspecto de seguridad deja el dominio del programador y cae bajo el mandato de la infraestructura

Fácil de cambiar a través de IIS con verificaciones adecuadas de SAFTEY que el nombre de usuario es correcto al configurar el grupo de aplicaciones. Es decir, no le permitirá ingresar a un nombre de usuario incorrecto.

Pros de suplantación:

  1. Los privilegios se pueden documentar y remontarse a través de los cambios en la configuración a través del historial de control de origen si los archivos de configuración se almacenan allí.

Contras de suplantación:

  1. Para cambiar el usuario, debe estar familiarizado con la configuración de .NET en lugar de solo configurar un sitio web

No estoy seguro de poder pensar en mucho más.

Mi intestino dice ir con diferentes grupos de aplicaciones para cada uno de los sitios web, pero es su fiesta.

Le aconsejaría que revise la página siguiente para obtener detalles de seguridad ...

https://www.attosol.com/sample-aspx-page-to-show-security-details-in-asp-net/

Una vez que haya terminado con esto, verá "con precisión" cómo la suplantación cambia la identidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top