Internet Information Server ofrece desde hace muchos años un concepto llamado Grupo de Aplicaciones, que incluso más comúnmente se suele denominar con su nombre en inglés: "Application Pool".
Un Application Pool es una forma de aislar unas aplicaciones web de otras, confinándolas en su propio proceso y en sus propios límites de seguridad. Son tremendamente útiles ya que nos ayudan con la estabilidad general del sistema, la mejora de la seguridad y la salud de las propias aplicaciones entre otras muchas cosas.
Un mismo grupo de aplicaciones puede contener a varias aplicaciones a la vez, pero lo más habitual es que haya una relación uno a uno entre aplicaciones y grupos de aplicaciones, es decir, uno por cada aplicación.
De este modo para cada grupo de aplicaciones podemos establecer multitud de parámetros, por ejemplo (hay todavía más):
- La identidad bajo la que se ejecuta el proceso de nuestra aplicación (súper-importante y de lo que amos a hablar enseguida).
- Las acciones a llevar a cabo en caso de que se superen ciertos límites de uso de CPU o memoria, de modo que no tengamos aplicaciones acaparadoras que, debido a fugan memoria o consumen muchos recursos, puedan afectar a las demás.
- Si debemos ejecutar el proceso en un único procesador para sacarle partido a la caché, o en varios (afinidad de procesador).
- El tiempo máximo de inactividad antes de descartar un proceso y así liberar recursos de una aplicación que no se usa de modo que queden libres para el resto.
- El número máximo de peticiones que se pueden encolar antes de devolver estatus 503 de servicio no disponible.
- Bajo qué condiciones se debe reciclar el proceso para librar recursos (cada x tiempo, al cabo de x peticiones, si se producen fallos, etc…)
- Si se permite ejecutar aplicaciones de 32 bits en sistemas operativos de 64bits.
- La versión de .NET que ejecuta el proceso
- El modo de integración de la pila de peticiones (integrada o clásica)
Además aislamos a las aplicaciones entre sí, evitando que los problemas de estabilidad o de seguridad de una puedan afectar a las demás. Son útiles para todos, pero para empresas que albergan aplicaciones para otras empresas son una bendición del cielo.
En este post te explico:
- Qué son los grupos de aplicaciones
- Qué es la identidad de un grupo de aplicaciones
- Cómo podemos sacarle partido
- Cómo ha cambiado este aspecto de IIS entre la versión 7 y las más recientes 7.5 y 8.0
- Qué son los usuarios virtuales y cómo podemos establecer permisos en el sistema de archivos para éstos.
LEE EL ARTÍCULO COMPLETO AQUÍ: http://www.jasoft.org/Blog/post/Seguridad-Identidades-de-grupos-de-aplicaciones-en-IIS-75-y-IIS-80.aspx