Udostępnij za pośrednictwem


Zabezpieczenia przepływu pracy

Program Windows Workflow Foundation (WF) jest zintegrowany z kilkoma różnymi technologiami, takimi jak Microsoft SQL Server i Windows Communication Foundation (WCF). Interakcja z tymi technologiami może spowodować problemy z zabezpieczeniami w przepływie pracy, jeśli zostanie wykonana nieprawidłowo.

Uwaga

Przepływy pracy opisują kolejność wykonywania i zależności między zadaniami krótkimi lub długotrwałymi. Jako mechanizm wykonywania kodu należy załadować i wykonać tylko zaufany kod. Deweloperzy muszą mieć pewność, że tylko zaufane przepływy pracy są używane z aplikacjami korzystającymi z platformy WF.

Obawy dotyczące zabezpieczeń trwałości

  1. Przepływy pracy korzystające z Delay aktywności i utrwalania powinny zostać ponownie aktywowane przez usługę. Program Windows AppFabric używa usługi zarządzania przepływami pracy (WMS) do ponownego aktywowania przepływów pracy z wygasłymi czasomierzami. Program WMS tworzy obiekt WorkflowServiceHost do hostowania ponownie aktywowanego przepływu pracy. Jeśli usługa WMS zostanie zatrzymana, utrwalone przepływy pracy nie zostaną ponownie aktywowane po wygaśnięciu czasomierzy.

  2. Dostęp do trwałego stancingu powinien być chroniony przed złośliwymi jednostkami spoza domeny aplikacji. Ponadto deweloperzy powinni upewnić się, że nie można wykonać złośliwego kodu w tej samej domenie aplikacji co trwały kod instancingu.

  3. Trwałe instancjonowanie nie powinno być wykonywane z podwyższonym poziomem uprawnień (administrator).

  4. Dane przetwarzane poza domeną aplikacji powinny być chronione.

  5. Aplikacje wymagające izolacji zabezpieczeń nie powinny współużytkować tego samego wystąpienia abstrakcji schematu. Takie aplikacje powinny używać różnych dostawców magazynu lub dostawców magazynów skonfigurowanych do używania różnych wystąpień magazynu.

Problemy z zabezpieczeniami programu SQL Server

  • Gdy jest używana duża liczba działań podrzędnych, lokalizacji, zakładek, rozszerzeń hosta lub zakresów albo gdy są używane zakładki z bardzo dużymi ładunkami, pamięć może zostać wyczerpana lub nadmierne ilości miejsca w bazie danych można przydzielić podczas trwałości. Można temu zapobiec przy użyciu zabezpieczeń na poziomie obiektu i na poziomie bazy danych.

  • W przypadku korzystania z SqlWorkflowInstanceStore, magazyn wystąpień musi być zabezpieczony.

  • Dane poufne w magazynie instancji powinny być szyfrowane. Aby uzyskać więcej informacji, zobacz Szyfrowanie programu SQL Server.

  • Ponieważ ciąg połączenia bazy danych jest często zawarty w pliku konfiguracji, należy użyć zabezpieczeń na poziomie systemu Windows (ACL), aby zapewnić, że plik konfiguracji (zazwyczaj Web.Config) jest bezpieczny, a informacje logowania i hasła nie są uwzględniane w ciągu połączenia. Zamiast tego należy użyć uwierzytelniania systemu Windows między bazą danych a serwerem sieci Web.

Zagadnienia dotyczące elementu WorkflowServiceHost

WF Pakiet Bezpieczeństwa CTP

Program Microsoft WF Security Pack Community Technology Preview (CTP) 1 to zestaw działań i ich implementacja oparta na programie Windows Workflow Foundation w programie .NET Framework 4 (WF 4) i programie Windows Identity Foundation (WIF). Pakiet Microsoft WF Security Pack CTP 1 zawiera zarówno aktywności, jak i ich projektantów, które ilustrują, jak łatwo włączyć różne scenariusze związane z zabezpieczeniami przy użyciu przepływów pracy, w tym:

  1. Personifikacja tożsamości klienta w przepływie pracy

  2. Autoryzacja w przepływie pracy, taka jak PrincipalPermission i walidacja oświadczeń

  3. Uwierzytelnione komunikaty przy użyciu elementu ClientCredentials określonego w przepływie pracy, takiego jak nazwa użytkownika/hasło lub token pobrany z usługi tokenu zabezpieczającego (STS)

  4. Przekazywanie tokenu zabezpieczeń klienta do usługi zaplecza (delegowanie oparte na oświadczeniach) przy użyciu WS-Trust ActAs