Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
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.
Å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.
Varaktig instancing ska inte köras med utökade behörigheter (administratör).
Data som bearbetas utanför programdomänen bör skyddas.
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
Windows Communication Foundation-slutpunkter (WCF) som används i arbetsflöden bör skyddas. Mer information finns i Översikt över WCF-säkerhet.
Auktorisering på värdnivå kan implementeras med hjälp ServiceAuthorizationManagerav . Mer information finns i Så här skapar du en anpassad auktoriseringshanterare för en tjänst .
ServiceSecurityContext för det inkommande meddelandet är också tillgängligt inifrån arbetsflödet genom att komma åt OperationContext.
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:
Efterlikna en klientens identitet i arbetsflödet
Auktorisering i arbetsflödet, till exempel PrincipalPermission och validering av anspråk
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)
Överföra en klientsäkerhetstoken till en tjänst på serversidan (anspråksbaserad delegering) med hjälp av WS-Trust ActAs