Поделиться через


Безопасность рабочих процессов

Windows Workflow Foundation (WF) интегрирован с несколькими различными технологиями, такими как Microsoft SQL Server и Windows Communication Foundation (WCF). В случае неправильной настройки взаимодействие с этими технологиями может вызвать проблемы безопасности в рабочем процессе.

Вопросы безопасности сохраняемости

  1. Рабочие процессы, которые используют действия Delay и сохраняемость, должны повторно активироваться службой. Windows AppFabric использует службу Workflow Management Service (WMS) для повторной активации рабочих процессов с истекшими таймерами. WMS создает объект WorkflowServiceHost для размещения повторно активированного рабочего процесса. Если служба WMS остановлена, сохраненные рабочие процессы не будут активироваться повторно при истечении их таймеров.

  2. Доступ к устойчивым экземплярам должен быть защищен от вредоносных сущностей, внешних относительно домена приложения. Кроме того, разработчики должны гарантировать, что вредоносный код будет невозможно выполнить в том же домене приложения, что и код устойчивого экземпляра.

  3. Устойчивый экземпляр не должен выполняться с разрешениями более высокого уровня (администратора).

  4. Данные, обрабатываемые за пределами домена приложения, должны быть защищены.

  5. Приложения, требующие изоляции безопасности, не должны использовать совместно один и тот же экземпляр абстракции схемы. Такие приложения должны использовать различные поставщики хранилищ или поставщики хранилищ, настроенные на создание разных экземпляров хранилищ.

Вопросы безопасности SQL Server

  • Если используется большое количество дочерних действий, расположений, закладок, расширений узла и областей или используются закладки с очень большим объемом полезных нагрузок, может быть исчерпана память или во время сохранения будет выделен чрезмерно большой объем пространства базы данных. Избежать этого можно с помощью мер безопасности на уровне объекта и на уровне базы данных.

  • Если используется SqlWorkflowInstanceStore, хранилище экземпляров должно быть защищено.

  • Конфиденциальные данные в хранилище экземпляров должны быть зашифрованы. Дополнительные сведения см. в статье SQL Server Encryption.

  • Так как строка подключения базы данных часто содержится в файле конфигурации, следует использовать безопасность уровня Windows (ACL) для обеспечения защиты файла конфигурации (обычно это Web.Config), а также для того, чтобы гарантировать, что сведения об имени входа и пароле не содержатся в строке подключения. В качестве альтернативы между базой данных и веб-сервером можно использовать аутентификацию Windows.

Рекомендации по WorkflowServiceHost

Пакет безопасности WF CTP

Предварительная версия технологии microsoft WF Security Pack (CTP) 1 — это набор действий и их реализация на основе Windows Workflow Foundation в платформа .NET Framework 4 (WF 4) и Windows Identity Foundation (WIF). Пакет безопасности Microsoft WF CTP 1 содержит действия и их конструкторы, которые демонстрируют простое включение различных сценариев обеспечения безопасности с помощью рабочих процессов, в том числе следующие:

  1. Олицетворение удостоверения клиента в рабочем процессе

  2. Авторизация в рабочих процессах, например PrincipalPermission и проверка утверждений

  3. Обмен сообщениями с использованием проверки подлинности (с применением определенных в рабочем процессе ClientCredentials), например с использованием имени пользователя и пароля или токена, полученного от службы токенов безопасности (STS)

  4. Сквозная передача токена безопасности клиента внутренней службе (делегирование на основе утверждений) с помощью WS-Trust ActAs