Compartir a través de


Seguridad de los componentes en cola

Cuando un cliente realiza una llamada de método a un objeto en cola, la llamada se realiza realmente a la grabadora, que la empaqueta como parte de un mensaje al servidor. El agente de escucha lee el mensaje de la cola y lo pasa al reproductor. El reproductor invoca el componente de servidor real y realiza la misma llamada de método. El componente de servidor debe observar el contexto de llamada de seguridad del cliente (no el contexto de llamada de seguridad del jugador) cuando el jugador realiza la llamada al método. La grabadora serializa el contexto de llamada de seguridad del cliente en el mensaje y el jugador lo desmariza en el servidor antes de realizar la llamada al método. En lo que respecta al objeto de servidor, no hay ninguna diferencia en el contexto de seguridad entre una llamada directa desde el cliente y una llamada indirecta del jugador. En concreto, los métodos invocados se ejecutan con los privilegios del remitente.

Un componente en cola com+ admite la semántica de seguridad basada en roles, al igual que otros componentes creados para su uso con aplicaciones COM+. Por lo tanto, los componentes de una aplicación en cola pueden usar interfaces mediante programación para detectar la pertenencia a roles de su autor de llamada (ISecurityCallContext::IsCallerInRole) o un usuario específico (ISecurityCallContext::IsUserInRole). Se recomienda que cualquier componente en cola con un posible impacto en la seguridad use estas interfaces para comprobar explícitamente las credenciales del remitente.

La identidad del autor de la llamada es la identidad asociada a una llamada de método. La seguridad basada en roles usa la identidad del autor de la llamada y está presente en el contexto de llamada de seguridad. En los componentes en cola, la identidad del autor de la llamada se representa como datos en el mensaje Message Queuing. Message Queuing autentica la identidad del remitente del mensaje. Cuando la identidad del autor de la llamada y la identidad del remitente del mensaje son las mismas, Message Queuing autentica tanto el mensaje como el autor de la llamada. Este es el caso habitual.

Nota

Los componentes en cola de COM+ no admiten la seguridad de estilo de suplantación, lo que permite a un servidor obtener un token de acceso correspondiente a la identidad del cliente y usarlo para realizar comprobaciones de control de acceso o para actuar bajo el contexto de seguridad del cliente.

 

Cuando el autor de la llamada de un componente en cola interactúa con el componente a través de una grabadora fuera de proceso, las identidades del autor de la llamada y el remitente del mensaje (grabadora) pueden ser diferentes. En este caso, los componentes en cola de COM+ comprueban que el remitente del mensaje es miembro del rol de usuario de confianza de QC en el servidor. Además, la grabadora fuera de proceso requiere un certificado de autenticación porque message Queuing lo autentica.

Los miembros del rol Usuario de confianza de QC pueden especificar una identidad arbitraria, lo que significa que un miembro malintencionado podría ejecutar una llamada de componente en cola con privilegios elevados. Por lo tanto, se recomienda mantener el número de usuarios en un mínimo absoluto.

Debido al riesgo de un ataque sofisticado asociado a cualquier mecanismo que propague la identidad a través de una red, así como el riesgo de un ataque simple por denegación de servicio inundando las colas con solicitudes no ejecutables, se recomienda implementar el servicio de componentes en cola com+ solo en una red de hosts de confianza, por ejemplo, en una red privada o en una red privada virtual, o detrás de un firewall configurado correctamente.

Los componentes en cola de COM+ se ejecutan a través de DCOM, por lo que puede ayudar a proteger la integridad y el secreto de las llamadas al método en cola seleccionando privacidad de paquetes como la configuración nivel de autenticación de llamadas en la pestaña seguridad de de la aplicación en cola hoja propiedades.

de seguridad de COM+

limitaciones de seguridad de en el modo de grupo de trabajo

Especificar el protocolo de autenticación