Modelo de seguridad para Windows Server AppFabric
Debe proteger las aplicaciones de .NET Framework que Windows Server AppFabric administra de modo que los usuarios puedan obtener acceso únicamente a los servicios y los datos para los que dispongan de autorización. Para ello, debe identificar a los usuarios, comprobar que son los que dicen ser y determinar si disponen de permiso para ver la información o realizar la tarea solicitada. El intercambio de mensajes entre el cliente y el servidor debe tener lugar a través de un canal seguro para proteger la transferencia de información privada. Las tecnologías de Microsoft compatibles con AppFabric ofrecen servicios integrados que permiten a las compañías conectarse de forma segura a las aplicaciones, así como usarlas. Los administradores de AppFabric no necesitan mantener varios conjuntos de bases de datos de usuarios, y todos los servicios para cientos de servidores de intranet pueden administrarse fácilmente desde una única herramienta gráfica. La integración de las tecnologías y los productos de seguridad de Microsoft compatibles con AppFabric permite asignar a los usuarios el acceso a todos los recursos necesarios para ejecutar sus aplicaciones.
Partes clave de la seguridad de AppFabric
El objetivo principal del modelo de seguridad de AppFabric es proporcionar un mecanismo sencillo, pero a la vez eficaz, para la mayoría de los usuarios de AppFabric. Debido a su integración con los modelos de seguridad existentes de Windows, .NET Framework, IIS y SQL Server, los usuarios pueden sacar provecho de la información de seguridad existente y los conjuntos de aptitudes para usar el modelo de seguridad de AppFabric. Específicamente, usa los conceptos de seguridad de Windows, .NET Framework, IIS y SQL Server para imponer diferentes niveles de seguridad en las aplicaciones WCF y WF que administra. Puesto que AppFabric únicamente agrega mejoras secundarias a una imagen de seguridad de Microsoft ya eficaz, su modelo de seguridad resulta familiar a los administradores que ya conocen los conceptos de seguridad de Microsoft. Como resultado, el costo total de la propiedad es inferior a largo plazo para los clientes de AppFabric. Si ya está familiarizado con estos productos y tecnologías, puede proteger fácilmente la aplicación al seguir las guías de ayuda de la sección Seguridad y protección.
AppFabric usa los conceptos de seguridad existentes de la manera siguiente:
Seguridad de Windows. AppFabric saca provecho de la seguridad del sistema de archivos y los grupos de Windows. La eficaz arquitectura de seguridad de Windows se usa de manera coherente en todos los componentes de una aplicación, con la autenticación unida al acceso controlado a los recursos de AppFabric. Para obtener más información, vea Seguridad de Windows.
Seguridad de .NET Framework. AppFabric usa la seguridad de Windows Communication Foundation para sus servicios de WCF y WF. WCF es una plataforma de programación distribuida basada en mensajes SOAP y la seguridad de los mensajes entre clientes y servicios es esencial para proteger los datos. WCF proporciona una plataforma versátil e interoperable para intercambiar mensajes seguros en función de la infraestructura de seguridad existente y los estándares de seguridad reconocidos para mensajes SOAP. WCF usa conceptos que le resultarán familiares si ha creado aplicaciones seguras y distribuidas con tecnologías existentes como, por ejemplo, HTTPS, la seguridad integrada de Windows o nombres de usuario y contraseñas para autenticar usuarios. Para obtener más información, vea Seguridad de IIS y de .NET Framework.
Seguridad de IIS. AppFabric saca provecho de un subconjunto de características de seguridad de IIS porque sus servicios están hospedados en Servicio de activación de procesos de Windows (WAS) y sus herramientas de administración se muestran en el Administrador de IIS. IIS se integra estrechamente en el sistema operativo Windows para proporcionar los niveles más elevados de seguridad para aplicaciones y datos. IIS se integra con el modelo de seguridad de Windows NT y sus servicios de sistema operativo, por ejemplo, el directorio y el sistema de archivos. AppFabric usa el concepto de identidad de grupo de aplicaciones cuando los servicios de flujo de trabajo de AppFabric deben obtener acceso a la base de datos de persistencia en tiempo de ejecución. IIS usa las mismas listas de control de acceso (ACL) de Windows NT Server que todos los demás servicios de Windows. Además, debido a que IIS usa la base de datos de usuarios de Windows NT Server, los administradores de AppFabric no necesitan crear cuentas de usuario separadas en cada servidor web, y los usuarios de intranet solo necesitan iniciar sesión en la red una vez. Para obtener más información, vea Seguridad de IIS y de .NET Framework.
Seguridad de SQL Server. AppFabric crea roles de base de datos de SQL Server para controlar el acceso a sus bases de datos de persistencia y seguimiento. AppFabric usa la autenticación integrada de Windows para obtener acceso a sus bases de datos de SQL Server. La seguridad integrada usa la identidad de Windows actual establecida en el subproceso de llamada para obtener acceso a las bases de datos de SQL Server. A continuación, puede asignar la identidad de Windows a las bases de datos y los permisos de SQL Server de AppFabric. Para obtener más información, vea Seguridad de SQL Server.
Roles conceptuales de seguridad de AppFabric
Para entender el modelo de seguridad de AppFabric, le ayudará comprender los atributos de los tres roles de seguridad de AppFabric. Estos roles son puramente conceptuales, y no encontrará entidades con estos nombres en ningún lugar del modelo de seguridad. Sin embargo, los roles conceptuales se manifiestan en los correspondientes grupos de seguridad físicos de Windows asignados y roles de base de datos de SQL Server. En la solución de seguridad, se asignan usuarios y permisos a estos roles de la manera siguiente:
Observadores del servidor de aplicaciones. Este rol administrativo ofrece una visibilidad completa de los datos de persistencia y seguimiento de la aplicación. Los observadores del servidor de aplicaciones pueden:
Enumerar aplicaciones y servicios
Ver la configuración de las aplicaciones y los servicios
Ver los datos de seguimiento
Examinar instancias persistentes
Administradores del servidor de aplicaciones. Este rol administrativo proporciona el control completo sobre la configuración, el seguimiento y la persistencia de las aplicaciones. Los administradores del servidor de aplicaciones pueden ejecutar todas las tareas que el grupo Observadores del servidor de aplicaciones puede realizar, además de las siguientes:
Suspender, reanudar, finalizar, cancelar y eliminar instancias persistentes
Crear y quitar orígenes y recopiladores de eventos
Ver, purgar y archivar datos de seguimiento
Usuarios del servidor de aplicaciones. IIS usa el rol de tiempo de ejecución en tiempo de ejecución para asignar las identidades de todos los grupos de aplicaciones que hospedan aplicaciones. Esto proporciona a los servicios contenidos en las aplicaciones acceso compartido a las bases de datos de persistencia y a los servicios del sistema.
Todo lo que necesita saber como usuario de AppFabric es que hay tres roles conceptuales de AppFabric que se usan al diseñar la solución de seguridad. Los usuarios y los permisos apropiados se asignan tal como se indica en esta documentación a sus grupos y cuentas de Windows NT correspondientes, grupos de aplicaciones de IIS y roles de base de datos e inicios de sesión de SQL Server. Para obtener más información y una guía de seguridad importante sobre el uso de los roles de AppFabric, los permisos de seguridad que tienen y cómo se asignan a los grupos de seguridad de Windows y los roles de base de datos de SQL Server, vea Seguridad de Windows, Seguridad de IIS y de .NET Framework, y Seguridad de SQL Server.
Ámbito de seguridad de AppFabric
AppFabric usa cuentas de seguridad de Windows y roles de base de datos e inicios de sesión de SQL Server para determinar el acceso que un usuario o aplicación tiene a los recursos del sistema, tales como las bases de datos de persistencia, los datos de temporizador, los datos de seguimiento y los archivos de configuración. El acceso a estos recursos se produce en los niveles de aplicación y administración, que son las dos áreas del ámbito lógico relacionadas con el modelo de seguridad de AppFabric. El ámbito de aplicación abarca el proceso de ejecución de los servicios de AppFabric hospedados como aplicaciones de IIS. El ámbito de administración se relaciona con la administración de AppFabric desde un punto de vista de administración. Para comprender más el uso de los tres roles de seguridad de AppFabric, examinemos su uso en el contexto del ámbito de aplicación y de administración.
Ámbito de aplicación
El ámbito de aplicación define la ejecución real de los servicios de .NET Framework que están configurados en AppFabric y hospedados en el espacio de proceso de WAS bajo IIS. No se refiere a la administración ni a las herramientas; éstas se encuentran en el ámbito de administración. Los conceptos del ámbito de aplicación se aplican al rol conceptual de seguridad Usuarios del servidor de aplicaciones de AppFabric. Este rol se asigna al grupo IIS_IUSRS de Windows, que es un grupo de seguridad de Windows que se usa para la cuenta de servicio de IIS. Para obtener más información, vea Seguridad de Windows, Seguridad de IIS y de .NET Framework, y Seguridad de SQL Server.
Cada aplicación se ejecuta dentro de un grupo de aplicaciones. Éste puede ser el grupo de aplicaciones predeterminado, o bien puede crear y configurar un grupo de aplicaciones propio. (La creación y configuración de un grupo de aplicaciones es una función administrativa que se explica en la sección “Ámbito de administración” más abajo). Un grupo de aplicaciones se usa para agrupar aplicaciones y servicios en el mismo espacio de proceso de trabajo, por lo que comparten parámetros de configuración y otras entidades del sistema operativo. Puesto que cada proceso de trabajo funciona como una instancia separada del ejecutable de proceso de trabajo (W3WP.EXE), el proceso de trabajo que da servicio a un grupo de aplicaciones se separa del proceso de trabajo que da servicio a otro. Esto permite el aislamiento de aplicaciones si hospeda una aplicación en su propio grupo de aplicaciones. El aislamiento de aplicaciones garantiza que si se produce un error en una aplicación web, no afectará a las aplicaciones que se ejecutan en otros grupos de aplicaciones.
Otra ventaja del aislamiento de aplicaciones es el aislamiento de seguridad personalizado. Esto asegura que se usa la entidad de seguridad configurada del proceso de trabajo que hospeda el grupo de aplicaciones (que contiene el servicio de .NET Framework de AppFabric) cuando se obtiene acceso a los recursos descendentes, tal como SQL Server. La identidad de grupo de aplicaciones predeterminada es la cuenta Network_Service. Puede asignar una propia identidad de cuenta de Windows personalizada propia cuando se configura el grupo de aplicaciones en IIS. En tiempo de ejecución, WAS reenvía los mensajes entrantes de la cola del grupo de aplicaciones al proceso de trabajo W3WP.EXE adecuado mediante los enlaces de aplicación web especificados en la metabase de IIS. Así es como AppFabric permite la activación con protocolos distintos de HTTP para extremos y servicios de WCF. IIS toma dinámicamente todas las cuentas de Windows de sus grupos de aplicaciones y las agrega al grupo de seguridad local BUILTIN\IIS_IUSRS de Windows. Esto significa que si crea un grupo de aplicaciones propio para la aplicación, IIS agrega automáticamente la identidad del grupo de aplicaciones al grupo IIS_IUsers de Windows.
El uso de varios grupos de aplicaciones con diferentes identidades de seguridad permite el aislamiento de aplicaciones para el acceso a las bases de datos de persistencia y seguimiento de AppFabric en tiempo de ejecución. De forma predeterminada, estas bases de datos se comparten completamente con todas las identidades autenticadas de AppFabric que usan sus grupos de aplicaciones hospedadas. Si necesita un nivel de seguridad superior al usar el aislamiento, puede asignar a entidades específicas usadas por grupos de aplicaciones de IIS específicos permisos más específicos para recursos de base de datos determinados. También puede controlar la seguridad en tiempo de ejecución al crear bases de datos propias para aplicaciones específicas, y asegurarse de que la conexión a esas bases de datos personalizadas se establece para las identidades específicas. O bien, puede aislar una sola aplicación de la base de datos de seguimiento y únicamente permitirle el acceso a la base de datos de persistencia.
El ámbito de aplicación también se aplica a los servicios del sistema que AppFabric instala y usa:
Servicio de recopilación de eventos. Recopila eventos originados por AppFabric y las aplicaciones hospedadas.
Servicio de administración de flujos de trabajo. Procesa los comandos de control de flujo de trabajo, activa las instancias de flujo de trabajo con temporizadores de expiración y reinicia los servicios de flujo de trabajo abandonados.
Ambos servicios se ejecutan como la cuenta NTAuthority\LocalService. La cuenta LocalService tiene permiso para emitir eventos de seguimiento y también para manipular instancias persistentes (finalizar, suspender y reanudar).
El incremento de los controles de seguridad generalmente reduce el rendimiento. Aunque el aislamiento de aplicaciones aumenta las capacidades de seguridad, también necesita más uso de memoria y recursos de proceso ya que existen varios procesos. Para conservar recursos, puede aislar aplicaciones con el modelo appDomain de .NET Framework en lugar de usar procesos separados. Dos o más aplicaciones pueden coexistir con seguridad con el mismo proceso dentro de diferentes appDomains y respetar los valores de memoria virtual y datos de cada una.
Ámbito de administración
El ámbito de administración define la administración y las herramientas relacionadas con la administración de aplicaciones. No está relacionado con la ejecución real de los servicios de .NET Framework configurados en AppFabric; esto se encuentra bajo el ámbito de aplicación. Los conceptos del ámbito de administración se aplican a los roles conceptuales de seguridad Administradores del servidor de aplicaciones y Observadores del servidor de aplicaciones de AppFabric.
El ámbito de administración está relacionado con la administración de AppFabric y las tecnologías compatibles desde un punto de vista de administración y servicios del sistema. Puede realizar operaciones de administración antes de que se ejecute una aplicación, por ejemplo, implementar y configurar una aplicación de .NET Framework en AppFabric. También puede realizar operaciones de administración durante la ejecución cuando se ha conservado un estado de flujo de trabajo y el próximo paso se debe procesar a través de la interfaz de usuario de AppFabric. Por ejemplo, puede que deba reanudarse un flujo de trabajo suspendido. El permiso de seguridad para administrar la configuración y ejecución de los servicios de .NET Framework configurados en AppFabric se basa en si es miembro de grupos de seguridad de Windows específicos. El ámbito de administración también se aplica al Servicio de recopilación de eventos y al Servicio de administración de flujos de trabajo, pero en este caso desde un punto de vista de administración y control en lugar de desde el punto de vista de aplicación.
Los roles conceptuales Administradores del servidor de aplicaciones y Observadores del servidor de aplicaciones se asignan respectivamente a los grupos locales de seguridad AS_Administrators y AS_Observers de Windows NT. El grupo AS_Administrators contiene el identificador del servicio (SID) del Servicio de administración de flujos de trabajo y del Servicio de recopilación de eventos. Después de registrar los servicios en el Administrador de control de servicios, sus SID permanecen constantes. Esto significa que el Servicio de recopilación de eventos y el Servicio de administración de flujos de trabajo serán miembros de AS_Administrators, independientemente de la identidad con la que se ejecuten. Generalmente, esta identidad es NTAuthority\LocalService. Por lo tanto, el uso de los SID, en lugar de las identidades de servicio, garantiza que ningún otro proceso o servicio que se ejecute con la identidad NTAuthority\LocalService pueda ser miembro de AS_Administrators. Para obtener más información sobre los roles conceptuales de seguridad de AppFabric, vea Seguridad de Windows, Seguridad de IIS y de .NET Framework, y Seguridad de SQL Server.
AppFabric garantiza la seguridad del ámbito de administración en tiempo de instalación. Cuando los cmdlets de Windows PowerShell crean las bases de datos de seguimiento y persistencia en tiempo de instalación, los roles de base de datos de SQL Server apropiados se crean según los roles conceptuales de seguridad de AppFabric correspondientes. Por ejemplo, todos los roles creados en SQL Server para AS_Observers son roles de lector (el rol MonitoringDbReader para el seguimiento y System.Activities.DurableInstancing.InstanceStoreObservers para la persistencia). Los roles de base de datos de SQL Server definidos para la cuenta de inicio de sesión AS_Administrators incluyen todos los roles de base de datos vinculados a la cuenta de inicio de sesión AS_Observers y a otros roles para crear y modificar entidades de base de datos desde un punto de vista administrativo.
De forma predeterminada, la instalación de AppFabric ejecuta algunos de los cmdlets de AppFabric durante su proceso. AppFabric crea todos los grupos de seguridad de Windows locales necesarios y las cuentas para la instalación de un único servidor de AppFabric. Si usa AppFabric en más de un servidor, deberá crear manualmente los grupos de dominio de Windows y asignarlos a los grupos de seguridad de Windows adecuados para ese servidor a fin de administrar remotamente la instalación de AppFabric. Como administrador, debe crear grupos de dominios como manifestaciones físicas de los roles conceptuales de seguridad Administradores del servidor de aplicaciones y Observadores del servidor de aplicaciones (es decir, DOMAIN\MyAppFabricAdmins y DOMAIN\MyAppFabricObservers). A continuación, puede asignar estas cuentas de dominio a los grupos LOCAL\AS_Administrators y LOCAL\AS_Observers de todos los equipos de AppFabric del dominio.
Modelo de seguridad para scripts personalizados de Windows PowerShell y cmdlets de AppFabric
AppFabric no proporciona un modelo de seguridad nuevo para los scripts personalizados de Windows PowerShell ni para los numerosos cmdlets de Windows PowerShell que contiene la versión AppFabric. Igual que con otros aspectos de su modelo de seguridad, AppFabric saca provecho de los modelos de seguridad existentes y de su tecnología compatible. En este caso, AppFabric usa el modelo de seguridad de Windows PowerShell para imponer la seguridad de los scripts personalizados y cmdlets de AppFabric empaquetados previamente.
Cuando se ejecuta un script de AppFabric para Windows PowerShell, se hace con la identidad de su proceso de hospedaje. Esto significa que la entidad de seguridad del usuario que ejecuta el cmdlet se pasa como identificador del proceso. No hay manera de usar la suplantación para ejecutar el cmdlet bajo un contexto de seguridad que no sea el del usuario que ejecuta el proceso de hospedaje.
Aunque puede ejecutar interactivamente comandos de Windows PowerShell de forma predeterminada, la ejecución de scripts de Windows PowerShell está deshabilitada inicialmente por motivos de seguridad. Debe habilitarla mediante la directiva del grupo de ejecución de script de Windows PowerShell para permitir ejecutar los scripts.
Los scripts de Windows PowerShell que se envían con AppFabric están firmados digitalmente con un certificado adquirido de una entidad de certificación (CA). La firma de una entidad con un certificado digital de una entidad de certificación protege la integridad del paquete. Con el uso de una operación de hash de una sola dirección y los algoritmos de cifrado de claves públicas, el proceso de firma asegura la detección de toda modificación realizada en un paquete después de que lo firme el autor y el bloqueo posterior de la ejecución del script. También puede usar las firmas digitales para comprobar que la entidad firmada se haya creado efectivamente por la parte que reclama su creación. Una alternativa simple y menos costosa a usar una entidad de certificación es usar una entidad de certificación local y Microsoft Certificate Server para generar un certificado autofirmado. Puede proteger mejor el certificado mediante el cifrado de clave privada.
Seguridad Nota |
---|
El uso de una entidad de certificación local para firmar un paquete de script de Windows PowerShell es el nivel mínimo en la directiva de confianza. Aunque un paquete firmado localmente sea confiable en el sistema local, no es confiable si se ejecuta en sistemas externos. |
Administración de identidades federadas e inicio de sesión único (SSO)
Los sistemas de autenticación federados también se denominan sistema de inicio de sesión único (SSO) web. Los sistemas federados funcionan a través de los límites de las organizaciones y conectan procesos que usan diferentes tecnologías, almacenamiento de identidades, enfoques de seguridad y modelos de programación. Con los Servicios de federación de Active Directory (ADFS), las personas de una compañía pueden usar sus cuentas de Active Directory existentes para obtener acceso a servidores hospedados por una compañía diferente. ADFS también establece una relación de confianza entre las dos compañías y una experiencia agilizada de inicio de sesión único (SSO) para los usuarios finales. Además, permite a las organizaciones compartir de forma segura la información de identidad de un usuario.
Una aplicación basada en HTTP administrada por AppFabric es, de muchas maneras, simplemente una aplicación de IIS. Si necesita integrar la administración de identidades federadas y la autenticación SSO web con la aplicación, puede usar ADFS como lo haría para una aplicación de IIS. ADFS asigna la cuenta de inicio de sesión que obtiene acceso a la aplicación a una cuenta de dominio y, a continuación, la autentica mediante la cuenta de dominio para IIS.
Puesto que .NET Framework 4 usa WCF y su modelo de seguridad para la comunicación entre sus servicios administrados y los clientes correspondientes, el modelo de IIS tradicional de compatibilidad con sólo aplicaciones basadas en HTTP se extiende más allá de HTTP. Si usa HTTP sin la autenticación de transporte o con una aplicación distinta de HTTP, use la interfaz de programación en el servicio para implementar el procesamiento de identidad de notificaciones. Una aplicación que tiene en cuenta las notificaciones usa notificaciones que están presentes en un token de seguridad ADFS para tomar decisiones de autorización y proporcionar la personalización de aplicaciones adicionales. Igual que con ADFS, debe comprender cómo funciona el procesamiento de identidad de notificaciones con una aplicación de IIS para integrar el procesamiento de notificaciones con la aplicación.
En esta sección
Vea también
Otros recursos
CTP del paquete de seguridad de WF
2011-12-05