¿Qué son las cuentas IUSR e IWAM en IIS?

23

Estoy buscando una buena explicación de las cuentas IUSR e IWAM utilizadas por IIS para ayudarme a configurar mejor nuestro entorno de alojamiento:

  • ¿Por qué están ellos ahí?
  • ¿Cual es la diferencia entre ellos?
  • ¿Los nombres representan algo significativo?
  • ¿Hay algún cambio en las mejores prácticas que deba hacer?
  • IIS también me da opciones para ejecutar grupos de aplicaciones como Servicio de red, Servicio local o Sistema local. ¿Debería?
  • Mi servidor web es parte de un dominio, ¿cómo cambia esto las cosas?

Parece común crear sus propias versiones de estas cuentas al implementar varios sitios en un servidor, lo que plantea algunas preguntas adicionales:

  • ¿Cuándo podría querer crear mis propias cuentas IUSR e IWAM?
  • ¿Cómo debo crear estas cuentas adicionales para que tengan los permisos correctos?

Estoy usando tanto IIS 6 como IIS 7 con configuraciones principalmente predeterminadas.

Error generico
fuente

Respuestas:

33

IUSR e IWAM se remontan a los primeros días de IIS cuando lo instaló por separado (no como un componente del sistema operativo). De manera predeterminada, si un sitio web permite la autenticación anónima, la cuenta IUSR se usa con respecto a los permisos en el sistema operativo. Esto se puede cambiar de forma predeterminada. Hay algunas recomendaciones de seguridad para al menos cambiar el nombre de la cuenta, por lo que no es una cuenta "conocida", al igual que hay una recomendación para cambiar el nombre de la cuenta de administrador en un servidor. Puede obtener más información sobre IUSR y la autenticación en MSDN .

IWAM fue diseñado para cualquier aplicación fuera de proceso y solo se usa en IIS 6.0 cuando está en modo de aislamiento IIS 5.0. Usualmente lo viste con objetos COM / DCOM.

Con respecto a las identidades del grupo de aplicaciones, el valor predeterminado es ejecutarse como el Servicio de red. No debe ejecutarse como Sistema local porque esa cuenta tiene derechos mayores que los de un administrador. Entonces, eso básicamente lo deja en el Servicio de red, Servicio local o una cuenta local / de dominio que no sean esos dos.

En cuanto a qué hacer, depende. Una ventaja de dejarlo como Servicio de red es que es una cuenta de privilegios limitados en el servidor. Sin embargo, cuando accede a los recursos a través de la red, aparece como Domain \ ComputerName $, lo que significa que puede asignar permisos que permiten que la cuenta del Servicio de red acceda a recursos como SQL Server que se ejecuta en un cuadro diferente. Además, dado que aparece como la cuenta de la computadora, si habilita la autenticación Kerberos, el SPN ya está en su lugar si accede al sitio web por el nombre del servidor.

Un caso en el que consideraría cambiar el grupo de aplicaciones a una cuenta de dominio de Windows en particular si desea que una cuenta en particular acceda a recursos en red, como una cuenta de servicio que acceda a SQL Server para una aplicación basada en la web. Hay otras opciones dentro de ASP.NET para hacer esto sin cambiar la identidad del grupo de aplicaciones, por lo que esto ya no es estrictamente necesario. Otra razón por la que consideraría usar una cuenta de usuario de dominio es que estaba haciendo la autenticación Kerberos y tenía varios servidores web que daban servicio a una aplicación web. Un buen ejemplo es si tenía dos o más servidores web que sirven SQL Server Reporting Services. El front end probablemente tenga una url genérica, como reports.mydomain.com o reporting.mydomain.com. En ese caso, el SPN solo se puede aplicar a una cuenta dentro de AD. Si tiene los grupos de aplicaciones ejecutándose bajo el Servicio de red en cada servidor, eso no funcionará, porque cuando salen de los servidores, aparecen como Dominio \ NombreDeEquipo $, lo que significa que tendría tantas cuentas como servidores de servidores. aplicación La solución es crear una cuenta de dominio, establecer la identidad del grupo de aplicaciones en todos los servidores en la misma cuenta de usuario de dominio y crear el único SPN, permitiendo así la autenticación Kerberos. En el caso de una aplicación como SSRS, donde es posible que desee pasar las credenciales de usuario al servidor de base de datos de fondo, la autenticación Kerberos es imprescindible porque tendrá que configurar la delegación Kerberos. d tener tantas cuentas como servidores tenía para servir la aplicación. La solución es crear una cuenta de dominio, establecer la identidad del grupo de aplicaciones en todos los servidores en la misma cuenta de usuario de dominio y crear el único SPN, permitiendo así la autenticación Kerberos. En el caso de una aplicación como SSRS, donde es posible que desee pasar las credenciales de usuario al servidor de base de datos de fondo, la autenticación Kerberos es imprescindible porque tendrá que configurar la delegación Kerberos. d tener tantas cuentas como servidores tenía para servir la aplicación. La solución es crear una cuenta de dominio, establecer la identidad del grupo de aplicaciones en todos los servidores en la misma cuenta de usuario de dominio y crear el único SPN, permitiendo así la autenticación Kerberos. En el caso de una aplicación como SSRS, donde es posible que desee pasar las credenciales de usuario al servidor de base de datos de fondo, la autenticación Kerberos es imprescindible porque tendrá que configurar la delegación Kerberos.

Sé que es mucho para asimilar, pero la respuesta corta es, a excepción del sistema local, depende.

K. Brian Kelley
fuente
Vale la pena señalar que las recomendaciones para cambiar el nombre de estas cuentas no provienen de Microsoft. Las cuentas del sistema tienen SID estáticos y bien documentados y son fácilmente pirateables independientemente del nombre para mostrar.
Thomas
9

IUSR = Usuario de Internet, es decir, cualquier visitante anónimo y no autenticado de su sitio web (es decir, casi todos)

IWAM = Administrador de aplicaciones web de Internet, es decir, todas sus aplicaciones ASP y .NET se ejecutarán con esta cuenta

En general, IUSR e IWAM SOLO deberían tener acceso a exactamente lo que necesitan. Nunca se les debe dar acceso a nada más, en caso de que estas cuentas se vean comprometidas, entonces no pueden acceder a nada crítico.

Eso es todo lo que puedo ayudar con su lista de preguntas, ¡otras personas con más experiencia en la administración de IIS podrían ayudarlo más!

Mark Henderson
fuente