Segurança de fluxo de trabalho

O WF (Windows Workflow Foundation) é integrado a várias tecnologias diferentes, como Microsoft SQL Server e WCF (Windows Communication Foundation). Interagir com essas tecnologias pode gerar problemas de segurança no fluxo de trabalho se feito de modo inadequado.

Observação

Os fluxos de trabalho descrevem a ordem de execução e as dependências entre tarefas de execução curta ou longa. Como um mecanismo de execução de código, somente código confiável deve ser carregado e executado. Os desenvolvedores devem garantir que apenas fluxos de trabalho confiáveis sejam usados com aplicativos que usam o WF.

Problemas de segurança de persistência

  1. Fluxos de trabalho que usam uma necessidade de atividade e de persistência Delay de ser reactivated por um serviço. Windows AppFabric usa o serviço de gerenciamento (WMS) de fluxo de trabalho para reativar fluxos de trabalho com timers expirados. WMS cria WorkflowServiceHost para hospedar o fluxo de trabalho reactivated. Se o serviço de WMS é interrompida, os fluxos de trabalho mantidas não reactivated quando seus timers eles expiram.

  2. Acesso a métodos de como exemplo de bens deve ser protegido contra as entidades mal-intencionados externos ao domínio do aplicativo. Além disso, os desenvolvedores devem garantir que o código mal-intencionado não pode ser executado no mesmo domínio de aplicativo que o código de instâncias durável.

  3. Citar como exemplo de bens não deve ser executado com permissões elevadas (de administrador).

  4. Os dados que estão sendo processadas fora do domínio de aplicativo devem ser protegidos.

  5. Aplicativos que requerem isolamento de segurança não devem compartilhar a mesma instância de abstração de esquema. Esses aplicativos devem usar diferentes provedores de armazenamento, ou provedores de armazenamento configurados para usar instanciações diferentes de armazenamento.

Problemas de segurança do SQL Server

  • Quando um grande número de atividades filhos, locais, indexadores, hospedam extensões, ou os escopos são usados, ou quando os indicadores com as carrega úteis muito grandes são usados, a memória pode ser esgotada, ou as quantidades inadequadas do espaço de base de dados podem ser atribuídas durante a persistência. Isso pode ser abrandado utilizando em nível de objeto e a segurança de base de dados - nível.

  • Ao usar SqlWorkflowInstanceStore, o armazenamento de instância deve ser protegido.

  • Dados confidenciais no armazenamento de instância devem ser criptografados. Para obter mais informações, veja Criptografia do SQL Server.

  • Desde que a cadeia de conexão caracteres de base de dados é incluída com frequência em um arquivo de configuração, a segurança do windows nível (ACL) deve ser usada para garantir que o arquivo de configuração (Web.Config) geralmente é seguro, e que o logon e informações de senha não estão incluídos na cadeia de conexão. A autenticação do Windows deve ser usada entre o base de dados e o servidor web em vez disso.

Considerações para WorkflowServiceHost

Bloco CTP de segurança de WF

O pacote CTP (visualização de tecnologia da comunidade) 1 de segurança do Microsoft WF é um conjunto de atividades e sua implementação baseado no Windows Workflow Foundation no .NET Framework 4 (WF 4) e no Windows Identity Foundation (WIF). O bloco CTP 1 de segurança do Microsoft WF contém ambas as atividades e seus designers que ilustram como facilmente ative vários cenários relacionados a segurança usando o fluxo de trabalho, incluindo:

  1. Representando uma identidade de cliente no fluxo de trabalho

  2. Autorização de Em- fluxo de trabalho, como PrincipalPermission e validação de reivindicações

  3. Autenticada mensagem usando ClientCredentials especificado no fluxo de trabalho, como o nome de usuário ou senha/um token recuperado de um serviço (STS) de símbolo de segurança

  4. Fluxo um símbolo de segurança de cliente a um serviço back-end (delegação reivindicação- base) usando a ws-trust Ata