Delen via


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

  1. 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.

  2. 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.

  3. Duurzame instancing mag niet worden uitgevoerd met verhoogde machtigingen (Administrator).

  4. Gegevens die buiten het toepassingsdomein worden verwerkt, moeten worden beveiligd.

  5. 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

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:

  1. Een clientidentiteit imiteren in de werkstroom

  2. Autorisatie in de werkstroom, zoals PrincipalPermission en validatie van claims

  3. 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)

  4. Een clientbeveiligingstoken doorsturen naar een back-endservice (op claims gebaseerde delegatie) met behulp van WS-Trust ActAs