
Tenemos un equipo con Windows 2008 R2 que ejecuta IIS 7.5 y, debido a un requisito de seguridad, debemos configurar el servicio de publicación World Wide Web para que se ejecute en IUSR. Puedo otorgar permisos a la carpeta IUSR sin problemas. Pero cuando intento seleccionar IUSR para que se ejecute la cuenta del Servicio de publicación World Wide Web, aparece un mensaje que dice que no se puede encontrar al usuario. Actualmente tenemos el servicio ejecutándose en "Cuenta del sistema local". Cualquier ayuda sería muy apreciada.
Respuesta1
IUSR es el contexto de seguridad que se utiliza cuando visitantes anónimos navegan por su sitio web. Recomendaría no usarlo para el servicio WWW.
Antes de IIS7.5, se creaba una cuenta de servicio (IWAM) que era una cuenta local además de la cuenta IUSR local. El nuevo modelo se ejecuta con diferentes identidades de grupo de aplicaciones para que un sitio web no pueda afectar a otro si un sitio se ve comprometido. Probablemente consideraría una cuenta local sin privilegios para el servicio WWW, para limitar las credenciales a ese cuadro en particular.
Probé usando un usuario local para WWW y el Servicio de activación de procesos de Windows, y seguí recibiendo mensajes de error de "esta cuenta no tiene privilegios suficientes" para el Servicio de activación de procesos de Windows. Así que agregué la cuenta local a IIS_IUSRS y a cualquier otro grupo relacionado con IIS, entré en la política de seguridad local y agregué los privilegios en la Asignación de derechos de usuario de la Política de seguridad local:
- Reemplazar un token a nivel de proceso
- Ajustar cuotas de memoria para un proceso
- Generar auditorías de seguridad
- Inicie sesión como un trabajo por lotes
Eso no funcionó, así que agregué "Crear objetos globales" después de encontrar algo en Google que sugería que podría ayudar. No fue así. Pero luego llegó el momento de irme a casa, así que lo deshice todo (a pesar de que era un entorno de prueba).
entonces lo intenté
- Hacerse pasar por un cliente después de la autenticación
Sin alegría. Los servicios se ejecutan como sistema local yel enlace desde el que estaba trabajandodice,
La cuenta del sistema local es una cuenta poderosa que tiene acceso completo a la computadora y actúa como computadora en la red. Si un servicio utiliza la cuenta del sistema local para iniciar sesión en un controlador de dominio, ese servicio tiene acceso a todo el dominio. Algunos servicios están configurados de forma predeterminada para utilizar la cuenta del sistema local y esto no debe cambiarse. La cuenta del sistema local no tiene una contraseña accesible para el usuario.
Lo siento, lo intenté, pero creo que no tienes suerte. Ciertamente podrías intentar otorgarle a una cuenta los privilegios enumerados.aquí:
- SE_ASSIGNPRIMARYTOKEN_NAME (deshabilitado)
- SE_AUDIT_NAME (habilitado)
- SE_BACKUP_NAME (deshabilitado)
- SE_CHANGE_NOTIFY_NAME (habilitado)
- SE_CREATE_GLOBAL_NAME (habilitado)
- SE_CREATE_PAGEFILE_NAME (habilitado)
- SE_CREATE_PERMANENT_NAME (habilitado)
- SE_CREATE_TOKEN_NAME (deshabilitado)
- SE_DEBUG_NAME (habilitado)
- SE_IMPERSONATE_NAME (habilitado)
- SE_INC_BASE_PRIORITY_NAME (habilitado)
- SE_INCREASE_QUOTA_NAME (deshabilitado)
- SE_LOAD_DRIVER_NAME (deshabilitado)
- SE_LOCK_MEMORY_NAME (habilitado)
- SE_MANAGE_VOLUME_NAME (deshabilitado)
- SE_PROF_SINGLE_PROCESS_NAME (habilitado)
- SE_RESTORE_NAME (deshabilitado)
- SE_SECURITY_NAME (deshabilitado)
- SE_SHUTDOWN_NAME (deshabilitado)
- SE_SYSTEM_ENVIRONMENT_NAME (deshabilitado)
- SE_SYSTEMTIME_NAME (deshabilitado)
- SE_TAKE_OWNERSHIP_NAME (deshabilitado)
- SE_TCB_NAME (habilitado)
- SE_UNDOCK_NAME (deshabilitado)
Pero podría ser más fácil obtener un documento de Microsoft que le indique que no haga eso.
Respuesta2
También estoy buscando una manera de hacerlo. Sospecho que el OP tiene los mismos requisitos que yo. Ese sería un requisito JITC del Departamento de Defensa. Aquí lo tienes:
Check Content:
1. Go to Start, Administrative Tools, then Services.
2. Right click on service name World Wide Web Publishing Service, Select Properties, then select the Log On tab.
3. The username next to this account is the web service account ID. If any other user than IUSR is listed, continue to step 4. If the service account IUSR is used to run the service, this is not a finding.
4. Open a command prompt and enter Net User [service account ID], press Enter.
5. Verify the values for Password last set and Password expires to ensure the password has been changed in the past year, and will be required to change within the coming year.
Fix Text:
Configure the service account ID, used to run the web-site, to have its password changed at least annually or use the service account IUSR.
Respuesta3
Tantosniveles de maldad aquí.Versión muy corta:no hagas eso!
Sospecho firmemente que está malinterpretando el requisito de seguridad o que se escribió sin tener en cuenta cómo se diseñó IIS.
WAS necesita ejecutarse como sistema local. Punto final. No es accesible de forma remota, por lo que tiene una superficie de ataque muy limitada, es decir, administradores de computadoras locales.
Una de las razones por las que se ejecuta como sistema local es que divide applicationhost.config en porciones distintas para cada grupo de aplicaciones, que obtiene su propia copia aislada en Inetpub\Temp\AppPools.
Otra es que inicia procesos de trabajo del grupo de aplicaciones (W3WP) con identidades específicas configuradas por el administrador web; es decir, si dice que un grupo de aplicaciones tiene una identidad básica de ApplicationPoolIdentity, esa es una cuenta única con pocos privilegios que se utiliza como identidad básica del proceso cuando no hacerse pasar por otra persona.
Otra más es que no se admite cambiar la identidad de WAS y fue diseñado para ejecutarse como sistema local. Es un proceso privilegiado.
El servicio WWW, que era InetInfo y admitía el procesamiento de páginas en épocas pasadas (es decir, más recientemente, en el período de Windows 2000) pero que ya no lo es, podría ser el objetivo de la recomendación.
Pero ya no participa en el procesamiento de páginas (IIS 6+), solo en configurar HTTP.SYS para uso futuro por parte de W3WP.
Entonces, los grupos de aplicaciones (específicamente, los procesos de trabajo asociados) hacen el trabajo real, y usted puede configurar su identidad básica a través de la pestaña Grupo de aplicaciones y la cuenta específica utilizada para el trabajo anónimo a través de Autenticación -> Configuración anónima.
Sin ver el texto escrito real o comprender su fuente, algo parece mal formado en alguna parte. O como si lo hubiera escrito alguien que sabía un poco sobre los servicios estándar de Win32, pero no mucho sobre IIS.
Para proteger y aislar un sitio IIS y aparentemente lograr el objetivo de la guía (si no lo que se escribió), todo lo que necesita hacer es:
- Utilice la identidad del grupo de aplicaciones como cuenta anónima (o IUSR si su política lo requiere, pero reduce la seguridad (ya que es una cuenta compartida común, en lugar de una cuenta única por sitio)
- Establezca permisos en el contenido para que solo IIS AppPool\AppPoolName tenga permiso de lectura para las carpetas de contenido
Y tu estas listo.