23 votos

¿Para qué sirven las cuentas IUSR e IWAM en IIS?

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 ahí?
  • ¿Cuál es la diferencia entre ellos?
  • ¿Significan los nombres algo importante?
  • ¿Hay algún cambio de buenas 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 forma parte de un dominio, ¿cómo cambia esto las cosas?

Parece que es común crear sus propias versiones de estas cuentas cuando se despliegan 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 la mayoría de las configuraciones por defecto.

34voto

K. Brian Kelley Puntos 7714

IUSR e IWAM se remontan a los primeros días de IIS, cuando se instalaba por separado (no como un componente del sistema operativo). Por defecto, si un sitio web permite la autenticación anónima, se utiliza la cuenta IUSR con respecto a los permisos en el SO. Esto puede cambiarse respecto al valor por defecto. Hay algunas recomendaciones de seguridad para al menos cambiar el nombre de la cuenta, para que no sea una cuenta "conocida", al igual que hay una recomendación para cambiar el nombre de la cuenta de administrador en un servidor. Puedes aprender más sobre IUSR y autenticación en MSDN .

IWAM fue diseñado para cualquier aplicación fuera de proceso y sólo se utiliza en IIS 6.0 cuando está en modo de aislamiento de IIS 5.0. Normalmente se ve con objetos COM/DCOM.

Con respecto a las identidades de los grupos de aplicaciones, el valor predeterminado es ejecutarse como Servicio de Red. No debe ejecutarse como Sistema Local porque esa cuenta tiene derechos superiores a los de un administrador. Así que eso te deja básicamente a Servicio de Red, Servicio Local, o una cuenta local/dominio diferente a esas dos.

En cuanto a lo que hay que hacer, depende. Una ventaja de dejarlo como Servicio de Red es que se trata de una cuenta con privilegios limitados en el servidor. Sin embargo, cuando accede a los recursos a través de la red, aparece como Dominio \ComputerName $, lo que significa que puede asignar permisos que permitan a la cuenta del Servicio de Red acceder a recursos como SQL Server que se ejecuta en un cuadro diferente. Además, como aparece como la cuenta del equipo, si habilita la autenticación Kerberos, el SPN ya está en su lugar si está accediendo 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 quiere que una cuenta en particular acceda a los 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, así que esto ya no es estrictamente necesario. Otra razón para considerar el uso de una cuenta de usuario de dominio es si se hace la autenticación Kerberos y se tienen varios servidores web que dan servicio a una aplicación web. Un buen ejemplo es si tienes dos o más servidores web sirviendo a SQL Server Reporting Services. El front-end probablemente sería una url genérica como reports.mydomain.com o reporting.mydomain.com. En ese caso, el SPN sólo puede aplicarse a una cuenta dentro de AD. Si tiene los grupos de aplicaciones que se ejecutan bajo el Servicio de Red en cada servidor, eso no funcionará, porque cuando salen de los servidores, aparecen como Dominio \ComputerName $, lo que significa que tendrías tantas cuentas como servidores sirvieran la aplicación. La solución es crear una cuenta de dominio, establecer la identidad del grupo de aplicaciones en todos los servidores con la misma cuenta de usuario de dominio y crear un SPN, permitiendo así la autenticación Kerberos. En el caso de una aplicación como SSRS, en la que se desea pasar las credenciales de usuario al servidor de la base de datos back-end, entonces la autenticación Kerberos es una necesidad porque entonces vas a tener que configurar la delegación Kerberos.

Sé que es mucho para asimilar, pero la respuesta corta es que, excepto para el Sistema Local, depende.

9voto

Shlomi Fish Puntos 1951

IUSR = Usuario de Internet, es decir, cualquier visitante anónimo y no autentificado de su sitio web (es decir, prácticamente todo el mundo)

IWAM = Internet Web Application Manager, es decir, todas sus aplicaciones ASP y .NET se ejecutarán bajo esta cuenta

En general, el IUSR y el IWAM sólo deberían tener acceso a 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 de tu lista de preguntas, otros con más experiencia en la administración de IIS podrían ayudarte más.

7voto

William Hilsum Puntos 2537

Siempre recurro a esta guía -

http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-70/

Puede encontrar mucho en iis.net

para decirlo de manera simple - IUSR es simplemente cuentas de invitados fuera de la caja que tienen permisos sobre c: \inetpub\wwwroot por defecto.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X