Безопасность очередных компонентов

Когда клиент вызывает метод к объекту в очереди, вызов выполняется в средство записи, который упаковывают его как часть сообщения на сервер. Прослушиватель считывает сообщение из очереди и передает его проигрывателю. Проигрыватель вызывает фактический компонент сервера и вызывает тот же вызов метода. Компонент сервера должен наблюдать за контекстом вызова безопасности клиента (а не контекста вызова безопасности проигрывателя), когда проигрыватель вызывает метод. Средство записи маршалирует контекст вызова безопасности клиента в сообщение, а проигрыватель размыкает его на сервере перед вызовом метода. Что касается объекта сервера, то нет никакой разницы в контексте безопасности между прямым вызовом от клиента и косвенным вызовом от проигрывателя. В частности, методы, вызываемые с правами отправителя.

Компонент COM+ в очереди поддерживает семантику безопасности на основе ролей, как и другие компоненты, созданные для использования с приложениями COM+. Поэтому компоненты приложения очереди могут использовать программные интерфейсы для обнаружения членства в роли вызывающего объекта (ISecurityCallContext::IsCallerInRole) или конкретного пользователя (ISecurityCallContext::IsUserInRole). Рекомендуется использовать любой компонент очереди с потенциальным воздействием на безопасность, чтобы явно проверка учетные данные отправителя.

Вызывающий идентификатор — это удостоверение, связанное с вызовом метода. Удостоверение вызывающего объекта используется безопасностью на основе ролей и присутствует в контексте вызова безопасности. В очередных компонентах удостоверение вызывающего абонента представлено как данные в сообщении очереди сообщений. Очередь сообщений проверяет подлинность удостоверения отправителя сообщения. Когда удостоверение вызывающего и отправитель сообщения совпадают, очередь сообщений проходит проверку подлинности как сообщения, так и вызывающего абонента. Это обычное дело.

Примечание.

Компоненты COM+ в очереди не поддерживают безопасность в стиле олицетворения, которая позволяет серверу получить маркер доступа, соответствующий удостоверению клиента, и использовать его для выполнения управления доступом проверка или действия в контексте безопасности клиента.

 

Когда вызывающий компонент в очереди взаимодействует с компонентом с помощью внепроцессного средства записи, удостоверения вызывающего объекта и отправителя сообщений (записывателя) могут отличаться. В этом случае компоненты COM+ в очереди проверяют, является ли отправитель сообщения членом роли доверенного пользователя QC на сервере. Кроме того, для средства записи вне процесса требуется сертификат проверки подлинности, так как он проходит проверку подлинности с помощью очереди сообщений.

Члены роли доверенного пользователя QC могут указывать произвольное удостоверение, что означает, что злоумышленник может выполнять вызов компонента очереди с повышенными привилегиями. Поэтому рекомендуется, чтобы число таких пользователей сохранялось до абсолютного минимума.

Из-за риска сложной атаки, связанной с любым механизмом распространения удостоверений по сети, а также риска простой атаки типа "отказ в обслуживании", заполнив очереди неисправными запросами, рекомендуется развернуть службу компонентов COM+ в очереди только в сети доверенных узлов, например, в частной сети или виртуальной частной сети или за соответствующим образом настроенным брандмауэром.

Компоненты COM+ в очереди выполняются через DCOM, поэтому вы можете защитить целостность и секретность вызовов в очереди, выбрав параметр "Конфиденциальность пакетов" в качестве параметра "Уровень вызовов проверки подлинности" на вкладке "Безопасность" листа свойств приложения очереди.

БЕЗОПАСНОСТЬ COM+

Ограничения безопасности в режиме рабочей группы

Указание протокола проверки подлинности