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 con la que se ejecuta mi aplicación. Aquí hay una lista:
- IIS_IUSRS
- IUSR
- DefaultAppPool
- ASP.NET v4.0
- SERVICIO DE RED
- SERVICIO LOCAL.
¿Que es que?
asp.net
security
iis
user-accounts
Vilx-
fuente
fuente
Respuestas:
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
IIS_WPG
grupo IIS6 . Es un grupo integrado con su seguridad configurada para que cualquier miembro de este grupo pueda actuar como una identidad de grupo de aplicaciones.IUSR:
Esta cuenta es análoga a la antigua
IUSR_<MACHINE_NAME>
cuenta local que era el usuario anónimo predeterminado para los sitios web IIS5 e IIS6 (es decir, el configurado a través de la pestaña Seguridad de directorio de las propiedades de un sitio).Para obtener más información
IIS_IUSRS
yIUSR
ver:DefaultAppPool:
Si un grupo de aplicaciones está configurado para ejecutarse utilizando la función Identidad del grupo de aplicaciones
IIS AppPool\<pool name>
, se creará una cuenta "sintetizada" sobre la marcha para utilizarla como identidad del grupo. En este caso, habrá una cuenta sintetizada llamadaIIS AppPool\DefaultAppPool
creada para el tiempo de vida del grupo. Si elimina el grupo, esta cuenta ya no existirá. Al aplicar permisos a archivos y carpetas, estos deben agregarse usandoIIS AppPool\<pool name>
. Tampoco verá estas cuentas de grupo en el Administrador de usuarios de su computadora. Consulte lo siguiente para obtener más información:ASP.NET v4.0:
-Esta será la identidad del grupo de aplicaciones para el grupo de aplicaciones ASP.NET v4.0. Ver
DefaultAppPool
arribaNETWORK SERVICE:
-La
NETWORK SERVICE
cuenta es una identidad incorporada introducida en Windows 2003.NETWORK SERVICE
es una cuenta con pocos privilegios bajo la cual puede ejecutar sus grupos de aplicaciones y sitios web. Un sitio web que se ejecuta en un grupo de Windows 2003 aún puede suplantar la cuenta anónima del sitio (IUSR_ o lo que haya configurado como identidad anónima).En ASP.NET anterior a Windows 2008, puede hacer que ASP.NET ejecute solicitudes 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<identity impersonate="true" />
configuración en elweb.config
archivo localmente (si esa configuración está bloqueada, un administrador debe hacerla en elmachine.config
archivo).La configuración
<identity impersonate="true">
es común en entornos de alojamiento compartido donde se usan grupos de aplicaciones compartidas (junto con configuraciones de confianza parciales para evitar el desenrollamiento de la cuenta suplantada).En IIS7.x / ASP.NET, el control de suplantación ahora se configura a través de la función de configuración de autenticación de un sitio. Por lo tanto, puede configurar para ejecutarse como la identidad del grupo
IUSR
o una cuenta anónima personalizada específica.LOCAL SERVICE:
La
LOCAL SERVICE
cuenta 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:LOCAL SYSTEM:
No preguntaste sobre esto, pero estoy agregando que está completo. Esta es una cuenta local incorporada. Tiene privilegios y confianza bastante amplios. Nunca debe configurar un sitio web o grupo de aplicaciones para ejecutarse con esta identidad.
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 predeterminado para un nuevo sitio en el MMC de IIS7) es ejecutarlo
Application Pool Identity
. Esto significa establecer la identidad del sitio en la configuración avanzada de su grupo de aplicaciones paraApplication 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 que se haya seleccionado "Identidad del grupo de aplicaciones" :
Cuando se trata de aplicar permisos de archivos y carpetas, otorga a la identidad del grupo de aplicaciones los derechos necesarios. Por ejemplo, si otorga la identidad del grupo de aplicaciones para los
ASP.NET v4.0
permisos del grupo, puede hacerlo a través del Explorador:Haga clic en el botón "Verificar nombres":
O puede hacer esto usando la
ICACLS.EXE
utilidad:... o ... si se llama al grupo de aplicaciones de su sitio,
BobsCatPicBlog
entonces:Espero que esto ayude a aclarar las cosas.
Actualizar:
Acabo de encontrar esta excelente respuesta de 2009 que contiene mucha información útil, que vale la pena leer:
fuente