users services multiple iusr internet information iis_wpg for built apppool application asp.net security iis user-accounts

asp.net - services - iusr



¿Cuáles son todas las cuentas de usuario para IIS/ASP.NET y en qué se diferencian? (1)

Bajo Windows Server 2008 con ASP.NET 4.0 instalado, hay una gran cantidad de cuentas de usuario relacionadas, y no puedo entender cuál es cuál, en qué difieren, y cuál es REALMENTE la cuenta de mi aplicación. Aquí hay una lista:

  • IIS_IUSRS
  • IUSR
  • DefaultAppPool
  • ASP.NET v4.0
  • SERVICIO DE RED
  • SERVICIO LOCAL.

¿Que es que?


Esta es una muy buena pregunta y, lamentablemente, muchos desarrolladores no hacen suficientes preguntas sobre la seguridad de IIS / ASP.NET en el contexto de ser un desarrollador web y configurar IIS. Así que aquí va ...

Para cubrir las identidades enumeradas:

IIS_IUSRS:

Esto es análogo al antiguo grupo IIS_WPG . Es un grupo integrado con su seguridad configurada de manera que cualquier miembro de este grupo puede actuar como una identidad de grupo de aplicaciones.

IUSR:

Esta cuenta es análoga a la antigua IUSR_<MACHINE_NAME> local IUSR_<MACHINE_NAME> que era el usuario anónimo predeterminado para los sitios web de IIS5 e IIS6 (es decir, la configurada a través de la pestaña Seguridad de directorio de las propiedades de un sitio).

Para obtener más información sobre IIS_IUSRS y IUSR consulte:

Descripción de las cuentas integradas de usuarios y grupos en IIS 7

DefaultAppPool:

Si un grupo de aplicaciones está configurado para ejecutarse con la función Identidad del grupo de aplicaciones, se creará sobre la marcha una cuenta "sintetizada" llamada IIS AppPool/<pool name> para usarla como la identidad del grupo. En este caso, se creará una cuenta sintetizada llamada IIS AppPool/DefaultAppPool para la vida útil de la agrupación. Si elimina el grupo, esta cuenta ya no existirá. Al aplicar permisos a archivos y carpetas, estos deben agregarse mediante IIS AppPool/<pool name> . Tampoco verá estas cuentas de grupo en el Administrador de usuarios de su computadora. Vea lo siguiente para más información:

Identidades del grupo de aplicaciones

ASP.NET v4.0: -

Esta será la identidad del grupo de aplicaciones para el grupo de aplicaciones ASP.NET v4.0. Ver DefaultAppPool arriba.

NETWORK SERVICE: -

La cuenta de NETWORK SERVICE es una identidad incorporada introducida en Windows 2003. El NETWORK SERVICE es una cuenta con privilegios bajos en la que puede ejecutar sus grupos de aplicaciones y sitios web. Un sitio web que se ejecuta en un grupo de Windows 2003 todavía puede suplantar la cuenta anónima del sitio (IUSR_ o lo que haya configurado como la identidad anónima).

En ASP.NET anterior a Windows 2008, podría tener solicitudes de ejecución de ASP.NET bajo la cuenta del grupo de aplicaciones (generalmente, NETWORK SERVICE ). Alternativamente, puede configurar ASP.NET para suplantar la cuenta anónima del sitio a través de la configuración <identity impersonate="true" /> en web.config archivo web.config localmente (si esa configuración está bloqueada, entonces un administrador de la machine.config deberá realizarla machine.config archivo machine.config ).

La configuración de <identity impersonate="true"> es común en los entornos de alojamiento compartido donde se usan grupos de aplicaciones compartidas (junto con una configuración de confianza parcial para evitar el desenvolvimiento de la cuenta suplantada).

En IIS7.x / ASP.NET, el control de suplantación ahora está configurado a través de la función de configuración de autenticación de un sitio. Por lo tanto, puede configurarlo para que se ejecute como la identidad del grupo, IUSR o una cuenta anónima personalizada específica.

LOCAL SERVICE:

La cuenta de LOCAL SERVICE es una cuenta integrada utilizada por el administrador de control de servicios. Tiene un conjunto mínimo de privilegios en la computadora local. Tiene un alcance de uso bastante limitado:

Cuenta de servicio local

LOCAL SYSTEM:

No preguntaste por esta, pero estoy agregando para completar. Esta es una cuenta local incorporada. Tiene privilegios y confianza bastante amplios. Nunca debe configurar un sitio web o grupo de aplicaciones para ejecutar bajo esta identidad.

Cuenta LocalSystem

En la práctica:

En la práctica, el enfoque preferido para asegurar un sitio web (si el sitio tiene su propio grupo de aplicaciones, que es el valor predeterminado para un sitio nuevo en la MMC de IIS7) es ejecutar bajo Application Pool Identity . Esto significa configurar la Identidad del sitio en la Configuración avanzada de su grupo de Application Pool Identity para Application Pool Identity :

En el sitio web, debe configurar la función de autenticación:

Haga clic derecho y edite la entrada de autenticación anónima:

Asegúrese de seleccionar "Identidad de grupo de aplicaciones" :

Cuando llega a aplicar los permisos de archivos y carpetas, concede a la identidad del grupo de aplicaciones todos los derechos necesarios. Por ejemplo, si está concediendo la identidad del grupo de aplicaciones para los permisos del grupo ASP.NET v4.0 , puede hacerlo mediante el Explorador:

Haga clic en el botón "Comprobar nombres":

O puede hacer esto usando la utilidad ICACLS.EXE :

icacls c:/wwwroot/mysite /grant "IIS AppPool/ASP.NET v4.0":(CI)(OI)(M)

... o ... si el grupo de aplicaciones de su sitio se llama BobsCatPicBlog entonces:

icacls c:/wwwroot/mysite /grant "IIS AppPool/BobsCatPicBlog":(CI)(OI)(M)

Espero que esto ayude a aclarar las cosas.

Actualizar:

Me topé con esta excelente respuesta de 2009 que contiene un montón de información útil, que vale la pena leer:

¿La diferencia entre la cuenta ''Sistema local'' y la cuenta ''Servicio de red''?