Introducción al Administrador de IIS en IIS

Tobin Titus describe su apariencia y funcionamiento

Compatibilidad

Versión Notas
IIS 7.0 y versiones posteriores Las características descritas en este artículo se presentaron en IIS 7.0.
IIS 6.0 y versiones anteriores Las características que se describen en este artículo no se admiten en versiones anteriores de IIS 7.0.

Introducción

Tanto IIS 7.0 como las versiones posteriores tienen una nueva interfaz de usuario con respecto a las versiones anteriores de IIS: el Administrador de IIS. En este artículo se describe la apariencia y el funcionamiento, la delegación de características, la interacción con la configuración y la comunicación remota. Tenga en cuenta que es posible que algunas versiones de IIS no tengan varias de las funciones o características que se describen en este documento.

¿Por qué ha tenido que cambiar? Estas son algunas de las principales razones:

  • IIS y ASP.NET funcionan conjuntamente: los usuarios de IIS 6.0 hacen clic con el botón derecho en un sitio web, seleccionan "Todas las propiedades" y obtienen un cuadro de diálogo con una serie de pestañas para diferentes configuraciones. Con IIS 7.0 y versiones posteriores, el Administrador de IIS necesitaba mostrar la configuración de nuevas características, como el almacenamiento en caché de salida, el seguimiento de solicitudes con errores y el filtrado de solicitudes, así como la configuración de ASP.NET y las partes pertinentes de .NET Framework. La nueva funcionalidad habría requerido muchas más pestañas nuevas, una opción que es inaceptable.
  • Administración delegada: mover nuestra configuración desde la metabase al sistema de configuración de .NET significa que los usuarios pueden, si se les permite, establecer la configuración de IIS en archivos web.config. Por ejemplo, la configuración de una aplicación http://www.contoso.com/sales se puede escribir en el archivo de configuración raíz applicationHost.config, en el archivo web.config del sitio http://www.contoso.com/ o directamente en el archivo web.config de la aplicación. El nuevo Administrador de IIS tiene que: 1) permitir que cualquier administrador controle la configuración permitida en los archivos web.config, 2) mostrar el administrador o usuario en el que se escribe la configuración. El Administrador de IIS anterior no podía realizar estas operaciones.
  • Razones de ingeniería: el software tiene una vida útil. El tiempo aporta nuevas tecnologías, nuevos requisitos, nuevas convenciones y hay un punto en el que la actualización del software existente requiere más trabajo y es más cara que si se recompila el software. El Administrador de IIS se acercaba al final de su vida útil.

¿Hay algo más que desee saber? Una vez que hemos decidido reescribir el Administrador de IIS, hemos aprovechado la oportunidad de mejorar de varias formas:

  • Extensibilidad: la ampliación de la versión IIS 6.0 del Administrador de IIS era extremadamente difícil. El nuevo Administrador de IIS facilita mucho la incorporación de páginas de características, nodos de vista de árbol y elementos de menú; todo ello mediante código administrado y WinForms. Los clientes remotos del Administrador de IIS que se conectan al servidor detectan y descargan las nuevas extensiones del Administrador de IIS.
  • Administración remota: la administración remota se realiza completamente a través de HTTPS, lo que facilita la administración y el uso del firewall. El servicio de administración web (WMSVC) es un componente que se puede instalar opcionalmente y que permite la administración remota.
  • Nueva apariencia y funcionamiento: el Administrador de IIS necesitaba un modelo más escalable para exponer la configuración y la vista de la lista de características resultante se parece al Panel de control. Las vistas de lista se pueden ordenar, agrupar y ver de diferentes maneras, lo que facilita la búsqueda. La navegación del Administrador de IIS también ha tenido una sensación más similar al explorador con una barra de direcciones del Explorador de Windows.

Nota:

Este documento se escribió para Windows Server 2008. Es posible que Windows Vista® no tenga algunas de las funciones o características que se describen en este documento.

Nuevos apariencia y funcionamiento

El Administrador de Internet Information Services (IIS) tenía navegación del tipo Adelante/Atrás en las versiones anteriores y el nuevo Administrador de IIS lo supera, ya que agrega una barra de direcciones que funciona como el Explorador de Windows.

Captura de pantalla de la pantalla I I S Manager que muestra la página principal del sitio web predeterminado.

Figura 1: Nuevo Administrador de IIS

Página principal

La página principal le resultará muy familiar en cuanto empiece a usar el Administrador de IIS. La lista de características del centro se puede ordenar por nombre o descripción de la característica, se puede agrupar por área o categoría, y se puede ver en diferentes diseños.

Captura de pantalla del panel principal del sitio web predeterminado que muestra la agrupación, las vistas y la lista de características.

Figura 2: Agrupación en el Administrador de IIS

Ámbitos de características

Los nodos del servidor, sitio, aplicación, directorio virtual y carpeta de la vista de árbol muestran una página principal con una lista de características. La mayoría de las características aparecen en las páginas principales de todos estos nodos, pero hay excepciones.

Estas características aparecen en la página principal del servidorsolo porque son información, datos o configuración de todo el servidor:

  • Restricciones de ISAPI y CGI
  • Certificados (pero no aparece en las conexiones remotas)
  • Servicio de administración (pero no aparece en las conexiones remotas)
  • Procesos de trabajo

Estas características aparecen en todos los lugares, salvo en la página principal del servidor, porque son configuración de la aplicación y no son lógicas en el nivel de servidor, o bien porque funcionan mejor de esa manera (SSL):

  • Usuarios de pertenencia
  • Roles de pertenencia
  • Perfil
  • SSL

Las características asociadas a la delegación tienen reglas especiales de los lugares en que aparecen:

  • Delegación de características: siempre aparece solo para el nodo raíz de una conexión
  • Administradores: solo aparece para los nodos de servidor, sitio y aplicación

Diseños de página de características

En IIS hay tres tipos de páginas

Página de lista

Las páginas de lista contienen listas. La mayoría de las páginas de lista permiten agrupar por valores en una o varias columnas. Las principales páginas de lista principales, como Sitios y Grupos de aplicaciones, permiten filtrar las entradas de lista buscando en una columna de lista las entradas que coincidan con una cadena de búsqueda.

Captura de pantalla de una parte de la pantalla I I S Manager que muestra el menú Ir y el panel Acciones.

Figura 3: Página de lista del Administrador de IIS

Las tareas Agregar, Editar o Quitar del panel de tareas le permiten manipular el contenido de la lista. La configuración de las características que no son específicas de una entrada de lista, por ejemplo, si se especifica que los errores personalizados se deben invalidar mediante errores detallados en las solicitudes locales, generalmente se configuran a través de la tarea Editar configuración de características....

Captura de pantalla de la página de configuración de características que muestra el panel de alertas.

Figura 4: Acciones del Administrador de IIS

Cuadrícula de propiedades

Las páginas de la cuadrícula de propiedades muestran cuadrículas de las propiedades relacionadas. El selector Mostrar de la parte superior de la cuadrícula de propiedades le permite elegir si desea ver nombres de propiedad descriptivo, los nombres de propiedad de configuración o ambos. En la captura de pantalla siguiente se muestran ambos nombres.

Captura de pantalla de la página de cuadrícula de propiedades que muestra nombres descriptivos y de configuración.

Figura 5: Cuadrículas de propiedades en el Administrador de IIS

Diálogo

Las páginas de los cuadros de diálogo tienen casillas, cuadros de texto y botones de radio, y generalmente son el tipo de página más conocido. Para guardar los cambios, use la opción Aplicar/cancelar del panel de tareas.

Vista de contenido

La vista de contenido es una pantalla de solo lectura; en esta vista no se pueden crear, copiar, mover ni eliminar archivos o carpetas. Para acceder a la vista de contenido, haga clic en "Vista de contenido" en el conmutador Vista de características/Vista de contenido de la parte inferior del panel central del Administrador de IIS, o bien haga clic con el botón derecho en un nodo de la vista de árbol y seleccione "Cambiar a Vista de contenido".

La única manera de establecer la configuración de un archivo es cambiar a Vista de contenido, seleccionar el archivo y hacer clic en "Cambiar a Vista de características" en el menú contextual o en el panel de tareas.

Captura de pantalla que muestra las opciones Vista características y Vista de contenido.

Figura 6: Cambiar a Vista de características

Delegación de características

Si es administrador del servidor y no es la persona principal que proporciona contenido al servidor, o si es desarrollador y desea tener más control sobre la configuración de IIS para la aplicación, es posible que le interese la delegación de características.

La delegación de características de IIS significa administrar:

  • el bloqueo de secciones de configuración para controlar qué configuración se puede establecer en web.config (por lo general, una sección de configuración de IIS es un módulo de IIS)
  • el conjunto de usuarios de sitio y aplicación que tienen permiso para usar el Administrador de IIS para ver la configuración y establecer la configuración de características con secciones de configuración desbloqueadas

A continuación encontrará una explicación rápida de la delegación de características en el Administrador de IIS. Para ver un tutorial detallado, consulte Administración de la delegación de características.

Bloqueo de configuración

Si cualquier sección de la configuración está "bloqueada" de forma predeterminada, solo se puede configurar en applicationHost.config. El Administrador de IIS proporciona un medio para que los administradores del servidor "desbloqueen" las secciones de configuración de IIS. Una vez desbloqueada una sección de configuración, los usuarios que no sean administradores puede establecerla en los archivos web.config.

Por ejemplo, la característica "Páginas de error personalizadas" del Administrador de IIS interactúa con la configuración en la sección "system.webServer/httpErrors". Si el administrador del servidor usa el Administrador de IIS o appcmd para desbloquear la sección de configuración system.web/httpErrors, la sección httpErrors aparecerá en una etiqueta de ubicación con overrideMode="allow" en applicationHost.config:

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors/>
    </system.webServer>
</location>

OverrideMode="allow" significa que es válido establecer la configuración de httpErrors en un archivo web.config:

<configuration>
   <system.webServer>
      <httpErrors>
         <remove statusCode="404" subStatusCode="-1" />
         <error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
      </httpErrors>
   </system.webServer>
</configuration>

Consulte la sección "Conexiones de servidor, sitio y aplicación", que encontrará a continuación, para ver cómo afecta el bloqueo de la configuración a las conexiones. Para obtener información detallada sobre los bloqueos de la configuración, consulte Uso del bloqueo de la configuración.

Administradores de sitio y de aplicación

Además, los administradores del servidor pueden permitir que usuarios que no sean administradores utilicen el Administrador de IIS para conectarse a un sitio o una aplicación. Los usuarios que no son administradores que se pueden conectar a sitios o aplicaciones se denominan "Administradores de sitio" o "Administradores de aplicación" y pueden:

  • Administrar la configuración desbloqueada para su sitio o aplicación (la configuración se escribe en archivos web.config)
  • Ver los valores de la configuración bloqueada sin poder modificarlas
  • Agregar otros administradores de sitio o aplicación para su sitio o aplicación

Para obtener información sobre cómo crear administradores de sitio y aplicación, consulte la documentación en líneaCreación administradores de sitio y aplicación para la delegación.

Conexiones de servidor, sitio y aplicación

Los administradores de máquinas son los únicos que pueden usar el Administrador de IIS para conectarse a un servidor web. Las conexiones de servidor pueden escribir en archivos de configuración raíz, applicationHost.config y root web.config, y en todos los archivos web.config distribuidos. Si una sección de la configuración está bloqueada en applicationHost.config, la característica correspondiente se leerá o escribirá en una conexión de servidor porque los cambios que se producen en la configuración se escriben en applicationHost.config en una etiqueta de ubicación.

Tanto los administradores de máquinas como los administradores de sitio designados pueden conectarse a sitios web. Las conexiones de sitio solo pueden escribir en archivos web.config de la carpeta raíz del sitio. Si una sección de la configuración está bloqueada en applicationHost.config, la característica correspondiente aparecerá como de solo lectura en las conexiones del sitio porque estas no pueden escribir la configuración en applicationHost.config (incluso en una etiqueta de ubicación). Esto afecta tanto a los administradores de máquinas como a los administradores de sitio.

Figura 7: Jerarquía de configuraciones en el Administrador de IIS

Tanto los administradores de máquinas, como los administradores de aplicación y los administradores de sitio del sitio primario de la aplicación pueden conectarse a una aplicación. Las conexiones de la aplicación solo pueden escribir en archivos web.config de la carpeta raíz de la aplicación. Si una sección de configuración está bloqueada en applicationHost.config o en el archivo web.config del sitio, la característica correspondiente aparecerá como de solo lectura en las conexiones de la aplicación.

Para obtener información sobre cómo conectarse a un servidor, un sitio o una aplicación, consulte la documentación en línea en Administración de conexiones en IIS 7.0.

Configuración

Aunque nunca cambie el bloqueo de la configuración y nunca use la delegación de características, en algún momento se preguntará cómo decide el Administrador de IIS dónde escribir la configuración. Hay dos reglas que definen este comportamiento:

  • ApplicationHost.config y root Web.config: si la característica se enumera en el área ASP.NET del Administrador de IIS, la configuración de nivel de servidor se escribirá en el archivo root web.config para .NET Framework, versión 2.0. Si la característica se enumera en el área de IIS del Administrador de IIS, la configuración del nivel de servidor se escribirá en applicationHost.config. La única excepción a esta regla es Autenticación mediante formularios, que se encuentra en la característica Autenticación del área de IIS.
  • Configuración bloqueada y desbloqueada: todas las secciones de la configuración de ASP.NET y algunas de la configuración de IIS están desbloqueadas de forma predeterminada. En las secciones desbloqueadas, el Administrador de IIS escribirá en el archivo web.config del sitio si la configuración se cambia del sitio o la configuración de una aplicación si se cambia la configuración de una aplicación. La mayoría de las secciones de la configuración de IIS están bloqueadas de forma predeterminada. En las secciones bloqueadas, el Administrador de IIS siempre escribirá en applicationHost.config incluso al modificar la configuración de sitios y aplicaciones.

Barra de estado

La barra de estado muestra el lugar en que el Administrador de IIS va a escribir la configuración:

Configuración: '<config_file_object_path>' <config_file_name>, <location path="<path>">

<config\_file\_object\_path> es la ruta de acceso al objeto archivo de configuración, por ejemplo:

  • "localhost": configuración de nivel de servidor; applicationHost.config para las características de IIS, root web.config para las características de ASP.NET.
  • "localhost/Default Web Site": el archivo web.config de la carpeta física del sitio web predeterminado
  • "localhost/Default Web Site/careers/technical": el archivo web.config de la carpeta física que se asigna a la dirección URL "/careers/technical" del sitio web predeterminado

<config\_file\_name> es el nombre del archivo de configuración de destino, por ejemplo:

  • "applicationHost.config o root Web.config": applicationHost.config para las características de IIS y root web.config para las características de ASP.NET
  • "web.config": un archivo web.config en el espacio de nombres web

<location\_path> es la ruta de acceso de la ubicación al objeto que se va a configurar (para más información sobre las rutas de acceso de la ubicación, consulte Introducción a la configuración). Esta parte del texto solo aparece si la sección de configuración de la característica está bloqueada en un nivel superior.

Captura de pantalla que muestra la vista Cambiar a características seleccionada y el panel Acciones.

Ejemplo: escribir en ApplicationHost.config frente a en root Web.config

La compresión es una característica de IIS y aparece en IIS si agrupa o filtra la lista de características de la página principal por Área. Si ha navegado a la página Compresión de nivel de servidor y deshabilita la compresión estática, el Administrador de IIS escribirá esta configuración en %windir%\Windows\system32\inetsrv\applicationHost.config:

<urlCompression doStaticCompression="false" />

La compilación de .NET es la configuración de .NET Framework y aparece en ASP.NET si agrupa o filtra la lista de características de la página principal por área. Si ha navegado a la página Compilación de .NET de nivel de servidor y establece el lenguaje predeterminado en C#, el Administrador de IIS agregará el atributo defaultLanguage a la sección de compilación en el archivo root web.config, es decir %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config, :

<compilation defaultLanguage="C#">

En la barra de estado de ambas situaciones aparecerá: Configuración: "localhost" applicationHost.config o root web.config

Ejemplo: escribir en una configuración bloqueada o desbloqueada

La sección de la configuración "defaultDocument" de IIS está desbloqueada de forma predeterminada. Si configura el documento predeterminado del sitio web predeterminado, el Administrador de IIS escribirá esta configuración en %windir%\inetpub\wwwroot\web.config:

<configuration>
   <system.webServer>
      <defaultDocument>
         <files>
            <clear />
            <add value="default.aspx" />
      </defaultDocument>
   </system.webServer>
</configuration>

En la barra de estado aparecerá: Configuración: "Sitio web predeterminado" web.config

La sección de la configuración "httpErrors" de IIS está desbloqueada de forma predeterminada. Si personaliza la respuesta HTTP 404 para el sitio web predeterminado, el Administrador de IIS escribirá esta configuración en %windir%\Windows\system32\inetsrv\applicationHost.config:

<location path="Default Web Site" overrideMode="Allow">
  <system.webServer>
     <httpErrors>
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
     </httpErrors>
  </system.webServer>
</location>

En la barra de estado aparecerá: 'localhost' applicationHost.config o root web.config, <location path="Default Web Site">

La comunicación remota del Administrador de IIS tanto para IIS 6.0 como para las versiones anteriores se realizó a través de MMC y siempre se habilitó. Tanto con IIS 7.0 como con las versiones posteriores, la comunicación remota del Administrador de IIS debe estar habilitada explícitamente. Toda la administración remota se realiza a través de HTTPS y se controla mediante un componente de IIS denominado Servicio de administración web (WMSVC). Si desea habilitar la administración remota tanto de IIS 7.0 como de las versiones posteriores a través del Administrador de IIS, lea Habilitación de la comunicación remota del Administrador de IIS.

Servicio de administración web (WMSVC)

El servicio de administración web (WMSVC) es un servidor web independiente (hostable web core (HWC)) hospedado en un servicio NT. Después de instalar e iniciar WMSVC, escucha en el puerto 8172 todas las direcciones IP sin asignar. Espera recibir solo cuatro tipos de solicitudes y a cada una de ellas la atiende su propio controlador:

  • Solicitudes de inicio de sesión en login.axd
  • Solicitudes de descarga de código en download.axd
  • Solicitudes de servicio de administración a service.axd
  • Solicitudes de ping a ping.axd

Solicitudes de inicio de sesión

El Administrador de IIS envía una solicitud de inicio de sesión a través de la conexión a WMSVC para iniciar una conexión. La autenticación es NTLM o básica, en función de lo que el usuario haya seleccionado cuando se le ha pedido que especifique sus credenciales en el cuadro de diálogo de conexión.

Captura de pantalla del cuadro de diálogo de inicio de sesión que muestra las secciones N T L M y Basic.

Figura 9: Especificación de credenciales

Solicitudes de descarga de código

Si el inicio de sesión se realiza correctamente, WMSVC devuelve una lista de módulos de la interfaz de usuario para la conexión. Por ejemplo, cada página del Administrador de IIS, como "Páginas de error personalizadas" corresponde a un módulo. Si hay algún módulo que el Administrador de IIS no tenga, realizará una solicitud de descarga de los archivos binarios del módulo (por ejemplo, esto sucedería si un administrador del servidor instalara un nuevo producto de seguridad de RSA en su servidor de producción, pero no instalara el producto en la máquina de escritorio que usa para conectarse al servidor).

Solicitudes de servicio de administración

Una vez que se establece la conexión, el usuario final interactúa con el Administrador de IIS que provoca solicitudes de servicio de administración. Las solicitudes de servicio de administración solicita dirigen los servicios del módulo en WMSVC para leer o escribir la configuración, el estado del runtime y los proveedores en el servidor.

Solicitudes de ping

Las solicitudes de ping se realizan desde el servicio WMSVC al servidor web (HWC) que hospeda. Las solicitudes de ping son un mecanismo sencillo para asegurarse de que el núcleo web hospedable sigue respondiendo.

Configuración de servicio
WMSVC tiene un conjunto muy pequeño de configuraciones editables almacenadas en el registro. Cada vez que se inicia el servicio, los archivos de configuración web se vuelven a generar en %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\. Ni siquiera los administradores pueden editar los archivos de configuración web.

Captura de pantalla que muestra los archivos de configuración web.

Figura 10: Cambio de la configuración en el Registro

Seguridad

La comunicación remota del Administrador de IIS y del servicio de administración web (WMSVC) se ha revisado varias veces para garantizar que la funcionalidad es sencilla y segura. Estas son algunas de las medidas de seguridad tomadas:

  • RequiereSSL (HTTPS) en todas las conexiones para proteger los datos pasados entre el cliente remoto del Administrador de IIS y WMSVC
  • Se ejecuta como servicio local con un conjunto de permisos reducido

Configuración de Hostable Web Core (HWC) bloqueada, lo que incluye un conjunto mínimo de módulos necesarios y reglas de filtrado de solicitudes meticulosamente diseñadas.