Protección del hospedaje y la persistencia

El almacén de persistencia es una parte clave de la arquitectura de Windows Server AppFabric. Este almacén admite la durabilidad de las instancias de Windows Workflow Foundation (WF) a medida que pasan por los distintos estados de ejecución. Puede manipular las instancias de servicio de flujo de trabajo persistente mediante las herramientas administrativas disponibles en AppFabric. Debe proporcionar a los usuarios de AppFabric que ejecutan las herramientas administrativas permisos de acceso al almacén de persistencia, así como a las aplicaciones en tiempo de ejecución, para la lectura y escritura en este almacén de datos. También debe controlar el acceso al almacén de persistencia en los niveles de ámbito de administración y de aplicación.

Una consideración de seguridad importante es cuando se produce el hospedaje de una aplicación. El aislamiento de la aplicación protege los datos de manera que otras aplicaciones no los pueden ver, ni obtener acceso a ellos. Además, el control de la identidad de la aplicación para el acceso descendente de recursos es un elemento clave del modelo de seguridad de AppFabric. Esta identidad afecta al principio de seguridad que la aplicación usa cuando intenta obtener acceso al almacén de persistencia.

El hospedaje y la persistencia se encuentran dentro de los ámbitos de aplicación y administración, y deben protegerse de forma diferente dentro de cada área. Los permisos específicos se establecen mediante la inclusión en diversos grupos de seguridad. El ámbito de seguridad de aplicación afecta a los permisos de los que dispone una aplicación en tiempo de ejecución, y se asigna al rol conceptual Usuarios del servidor de aplicaciones. El ámbito de seguridad de administración afecta a las herramientas y las operaciones relacionadas que un administrador y los servicios del sistema pueden ejecutar. Los permisos se asignan a los roles conceptuales Administradores de servidor de aplicaciones y Operadores de servidor de aplicaciones.

Protección de datos de persistencia

Cuando una instancia de un servicio es persistente, su estado del sistema se guarda en el almacén de persistencia. Con frecuencia, las aplicaciones recopilan y transmiten información de identificación personal u otros datos confidenciales. Si los datos se incluyen en el estado de aplicación cuando un servicio es persistente, se guardan en el almacén de persistencia. Varios servidores, sitios y aplicaciones pueden compartir un único almacén de persistencia. Debido al diseño, los datos de persistencia se agregan a los servidores y sitios que comparten un almacén, para facilitar la administración del estado de la actividad de posiblemente miles de instancias de un servicio en un entorno de gran tamaño. Esto permite que una instancia de un servicio sea persistente mientras se ejecuta en un servidor de AppFabric y que luego se reanude en otro servidor si los criterios de equilibrio de carga lo necesitan.

Después de almacenar los datos en el almacén de persistencia, estarán visibles para todos los miembros del rol de base de datos AS_Administrators y todos los miembros de los roles sysadmin y dbo de SQL Server. Puesto que los datos de persistencia son vulnerables a la exposición, ya sea inadvertida o intencionadamente, debe reducir el riesgo mediante la administración correcta de los permisos.

Puede proteger los datos del almacén de persistencia de las siguientes maneras:

  • Use diferentes almacenes de persistencia. Puede crear un almacén de persistencia alternativo y configurarlo en el mismo servidor o en otro diferente mediante los cmdlets de AppFabric para crear el almacenamiento y mediante la página Configuración de base de datos de persistencia de AppFabric para configurarlo. A continuación, puede configurar determinadas aplicaciones para que únicamente usen ese almacén. Esto proporciona a las aplicaciones especificadas un almacén de datos de persistencia privado al que ninguna otra aplicación puede obtener acceso.

  • Separe el almacén de persistencia y seguimiento en dos almacenes independientes. De forma predeterminada, la tabla y las entidades de los almacenes de persistencia y de seguimiento se crean en el almacén DefaultApplicationServerExtensions durante la instalación. Puede dedicar un almacén a la persistencia únicamente y el otro al seguimiento. Este método aísla a las aplicaciones y los usuarios de los ámbitos de administración y de aplicación del acceso a un único almacén dual y, por lo tanto, del acceso a todas las tablas de persistencia y seguimiento.

  • Use grupos de Windows y roles de SQL Server. El acceso a un almacén de persistencia de SQL Server se implementa mediante los roles de base de datos de SQL Server. Durante la inicialización de un almacén de instancia, el administrador puede insertar grupos de Windows en los roles de SQL Usuarios de almacén de instancias, Lectores de almacén de instancias y Administradores de almacén de instancias. Para obtener más información sobre la protección de datos en almacenes de persistencia con grupos de Windows y roles de SQL Server, vea Configuración de seguridad para almacenes de persistencia.

  • Manipule las características de persistencia. Puede usar las extensiones que AppFabric agrega al Administrador de IIS con el fin de habilitar y deshabilitar las características de persistencia para un servicio de flujo de trabajo específico, para todos los servicios de flujo de trabajo de una aplicación, para todas las aplicaciones de un sitio web o para todos los sitios web de un servidor. Puede definir una directiva de persistencia en un nivel superior y hacer que todos los niveles inferiores de las jerarquías de IIS y WAS hereden la configuración de la directiva.

  • Use diferentes identidades de grupo de aplicaciones. Al usar identidades diferentes para grupos de aplicaciones IIS, puede restringir o expandir los permisos de SQL Server para todo el almacén de persistencia o para las entidades individuales que contiene. Se trata de una técnica de seguridad específica que se ejecuta en los niveles de IIS y SQL Server, y que no es compatible directamente con las herramientas de AppFabric.

Protección del hospedaje

Use el aislamiento del proceso para separar los servicios de ámbito de administración de AppFabric con muchos privilegios, tal como el Servicio de recopilación de eventos y el Servicio de administración de flujos de trabajo, de los procesos de trabajo de aplicación del ámbito de aplicación de pocos privilegios. Los servicios de AppFabric se ejecutan dentro del ámbito de administración y tienen acceso completo a sus respectivos almacenes de seguimiento y persistencia. Todos los procesos de trabajo de aplicación y los usuarios se ejecutan en el ámbito de aplicación, generalmente en el contexto de una identidad de grupo de aplicaciones.

En el ámbito de aplicación, un aislamiento de hospedaje mayor ofrece una vista más específica de la seguridad. Una aplicación contiene uno o más servicios de .NET Framework y todos se ejecutan en el mismo proceso. Para proteger estos servicios de .NET Framework entre sí, pueden ejecutarse en el contexto de diferentes AppDomains. Un proceso de .NET Framework contiene uno o varios AppDomains de .NET Framework, cada uno de los cuales es un entorno aislado en el que se ejecutan aplicaciones. En un grupo de aplicaciones de IIS, puede haber una o varias aplicaciones que se ejecuten simultáneamente si están configuradas para compartir un grupo de aplicaciones. Por lo tanto, AppDomains son una manera fácil de imponer el aislamiento de ejecución sin tener que crear sobrecarga de otro proceso con todos sus recursos.

Si necesita una solución de hospedaje más aislado, configure cada aplicación para que se ejecute en su propio grupo de aplicaciones con su propia identidad. Se trata de una manera de dar a las aplicaciones diferentes identidades cuando obtienen acceso al almacén de persistencia. IIS coloca estas identidades en el grupo de seguridad de Windows IIS_IUSRS en tiempo de ejecución. Desde el punto de vista de la seguridad, la ejecución en un espacio de proceso separado es casi idéntica a la ejecución en un dominio de aplicación separado, ya que ninguna otra aplicación puede obtener acceso a códigos o datos de una aplicación determinada. Tenga en cuenta que con la adición de procesos se genera sobrecarga de otros recursos del sistema operativo y de cambio de contexto en el procesador porque a cada proceso le corresponde su propia parte de CPU.

  2011-12-05