Dela via


Arbetsflödessäkerhet

Windows Workflow Foundation (WF) är integrerat med flera olika tekniker, till exempel Microsoft SQL Server och Windows Communication Foundation (WCF). Om du interagerar med dessa tekniker kan det medföra säkerhetsproblem i arbetsflödet om det görs på ett felaktigt sätt.

Kommentar

Arbetsflöden beskriver körningsordningen och beroenden mellan kort- eller långvariga uppgifter. Som en mekanism för kodkörning ska endast betrodd kod läsas in och köras. Utvecklare måste se till att endast betrodda arbetsflöden används med program som använder WF.

Säkerhetsfrågor relaterade till datalagring

  1. Arbetsflöden som använder både en Delay-aktivitet och beständighet måste återaktiveras av en tjänst. Windows AppFabric använder Workflow Management Service (WMS) för att återaktivera arbetsflöden med utgångna timers. WMS skapar en WorkflowServiceHost som värd för det återaktiverade arbetsflödet. Om WMS-tjänsten stoppas återaktiveras inte beständiga arbetsflöden när deras timer upphör att gälla.

  2. Åtkomst till varaktig instansiering bör skyddas mot illasinnade entiteter utanför programdomänen. Dessutom bör utvecklare se till att skadlig kod inte kan köras i samma programdomän som den varaktiga instancingkoden.

  3. Varaktig instancing ska inte köras med utökade behörigheter (administratör).

  4. Data som bearbetas utanför programdomänen bör skyddas.

  5. Program som kräver säkerhetsisolering bör inte dela samma instans av schemaabstraktionen. Sådana tillämpningar bör använda olika lagringsleverantörer, eller lagringsleverantörer som har konfigurerats att använda olika lagringsinstansieringar.

Säkerhetsproblem för SQL Server

  • När ett stort antal barnaktiviteter, platser, bokmärken, värdtillägg eller omfång används, eller när bokmärken med mycket stora nyttolaster används, kan minnet ta slut, eller onödiga mängder databasutrymme kan allokeras vid datauthållighet. Detta kan minimeras med hjälp av säkerhet på objektnivå och databasnivå.

  • När du använder SqlWorkflowInstanceStoremåste instansarkivet skyddas.

  • Känsliga data i instanslagret ska krypteras. Mer information finns i SQL Server-kryptering.

  • Eftersom databasen anslutningssträng ofta ingår i en konfigurationsfil bör säkerhet på Windows-nivå (ACL) användas för att säkerställa att konfigurationsfilen (Web.Config vanligtvis) är säker och att inloggnings- och lösenordsinformation inte ingår i anslutningssträng. Windows-autentisering ska användas mellan databasen och webbservern i stället.

Överväganden för WorkflowServiceHost

CTP för WFs säkerhetspaket

Microsoft WF Security Pack Community Technology Preview (CTP) 1 är en uppsättning aktiviteter och deras implementering baserat på Windows Workflow Foundation i .NET Framework 4 (WF 4) och Windows Identity Foundation (WIF). Microsoft WF Security Pack CTP 1 innehåller både aktiviteter och deras designers som visar hur du enkelt aktiverar olika säkerhetsrelaterade scenarier med hjälp av arbetsflödet, inklusive:

  1. Efterlikna en klientens identitet i arbetsflödet

  2. Auktorisering i arbetsflödet, till exempel PrincipalPermission och validering av anspråk

  3. Autentiserade meddelanden med ClientCredentials som anges i arbetsflödet, till exempel användarnamn/lösenord eller en token som hämtats från en säkerhetstokentjänst (STS)

  4. Överföra en klientsäkerhetstoken till en tjänst på serversidan (anspråksbaserad delegering) med hjälp av WS-Trust ActAs