Werkstroombeveiliging
Windows Workflow Foundation (WF) is geïntegreerd met verschillende technologieën, zoals Microsoft SQL Server en Windows Communication Foundation (WCF). Interactie met deze technologieën kan leiden tot beveiligingsproblemen in uw werkstroom als dit onjuist wordt gedaan.
Notitie
Werkstromen beschrijven de volgorde van uitvoering en afhankelijkheden tussen korte of langlopende taken. Als mechanisme voor het uitvoeren van code moeten alleen vertrouwde code worden geladen en uitgevoerd. Ontwikkelaars moeten ervoor zorgen dat alleen vertrouwde werkstromen worden gebruikt met toepassingen die gebruikmaken van WF.
Beveiligingsproblemen met persistentie
Werkstromen die gebruikmaken van een Delay activiteit en persistentie moeten opnieuw worden geactiveerd door een service. Windows AppFabric maakt gebruik van de Werkstroombeheerservice (WMS) om werkstromen opnieuw te activeren met verlopen timers. WMS maakt een WorkflowServiceHost om de opnieuw geactiveerde werkstroom te hosten. Als de WMS-service is gestopt, worden persistente werkstromen niet opnieuw geactiveerd wanneer hun timers verlopen.
Toegang tot duurzame instancing moet worden beveiligd tegen schadelijke entiteiten buiten het toepassingsdomein. Bovendien moeten ontwikkelaars ervoor zorgen dat schadelijke code niet kan worden uitgevoerd in hetzelfde toepassingsdomein als de duurzame instancing-code.
Duurzame instancing mag niet worden uitgevoerd met verhoogde machtigingen (Administrator).
Gegevens die buiten het toepassingsdomein worden verwerkt, moeten worden beveiligd.
Toepassingen waarvoor beveiligingsisolatie is vereist, mogen niet hetzelfde exemplaar van de schemaabstractie delen. Dergelijke toepassingen moeten verschillende winkelproviders gebruiken of winkelproviders die zijn geconfigureerd voor het gebruik van verschillende store-instantieringen.
Sql Server-beveiligingsproblemen
Wanneer grote aantallen onderliggende activiteiten, locaties, bladwijzers, hostextensies of bereiken worden gebruikt, of wanneer bladwijzers met zeer grote nettoladingen worden gebruikt, kan geheugen worden uitgeput of kan er onnodige hoeveelheden databaseruimte worden toegewezen tijdens persistentie. Dit kan worden verzacht met behulp van beveiliging op object- en databaseniveau.
Wanneer u het exemplaararchief gebruikt SqlWorkflowInstanceStore, moet het beveiligd zijn.
Gevoelige gegevens in het exemplaararchief moeten worden versleuteld. Zie SQL Server Encryption voor meer informatie.
Omdat de database-verbindingsreeks vaak is opgenomen in een configuratiebestand, moet ACL (Windows-beveiliging) worden gebruikt om ervoor te zorgen dat het configuratiebestand (Web.Config meestal) veilig is en dat aanmeldings- en wachtwoordgegevens niet zijn opgenomen in de verbindingsreeks. Windows-verificatie moet worden gebruikt tussen de database en de webserver.
Overwegingen voor WorkflowServiceHost
WcF-eindpunten (Windows Communication Foundation) die in werkstromen worden gebruikt, moeten worden beveiligd. Zie WCF-beveiligingsoverzicht voor meer informatie.
Autorisatie op hostniveau kan worden geïmplementeerd met behulp van ServiceAuthorizationManager. Zie Procedure : Een aangepast autorisatiebeheer maken voor een service voor meer informatie.
De ServiceSecurityContext voor het binnenkomende bericht is ook beschikbaar vanuit de werkstroom door toegang te krijgen tot OperationContext.
WF Security Pack CTP
De Microsoft WF Security Pack Community Technology Preview (CTP) 1 is een reeks activiteiten en hun implementatie op basis van Windows Workflow Foundation in .NET Framework 4 (WF 4) en Windows Identity Foundation (WIF). Het Microsoft WF Security Pack CTP 1 bevat zowel activiteiten als hun ontwerpers die laten zien hoe u eenvoudig verschillende beveiligingsscenario's kunt inschakelen met behulp van werkstroom, waaronder:
Een clientidentiteit imiteren in de werkstroom
Autorisatie in de werkstroom, zoals PrincipalPermission en validatie van claims
Geverifieerde berichten met clientCredentials die zijn opgegeven in de werkstroom, zoals gebruikersnaam/wachtwoord of een token dat is opgehaald uit een STS (Security Token Service)
Een clientbeveiligingstoken doorsturen naar een back-endservice (op claims gebaseerde delegatie) met behulp van WS-Trust ActAs