Condividi tramite


Istruzioni sulla protezione dei servizi del flusso di lavoro

Di seguito è riportato un insieme di istruzioni sulla protezione da seguire durante la creazione e la distribuzione di servizi del flusso di lavoro.

  • Nella comunicazione tra il client e il servizio o tra il servizio e il database di persistenza, utilizzare messaggi firmati e crittografati per impedire a utenti malintenzionati di leggere o modificare i dati inviati sulla rete. Per ulteriori informazioni sui livelli di protezione dei messaggi, vedere Understanding Protection Level.

  • Per l'autenticazione o l'autorizzazione, utilizzare autorizzazioni e attestazioni di entità di protezione anziché ID di conversazione o ID di istanza. Per ulteriori informazioni sull'utilizzo di autorizzazioni e attestazioni di entità di protezione, vedere How to: Restrict Access With the PrincipalPermissionAttribute.

  • Per impedire a utenti malintenzionati di rappresentare il servizio del flusso di lavoro, utilizzare ACL e assembly firmati riferiti a fonti attendibili.

  • Per impedire a utenti malintenzionati di disassemblare l'assembly del servizio flusso di lavoro e leggere le informazioni di associazione o i valori delle proprietà definiti staticamente (o entrambi) contenuti al suo interno, seguire le istruzioni sull'offuscamento.

  • Bloccare l'accesso al database di persistenza ed eseguire il controllo del database per individuare eventuali violazioni di accesso. Se si devono archiviare dati serializzati nel file system, utilizzare ACL e controllo file.

  • Assicurarsi che la cache della channel factory sul client non sia accessibile pubblicamente per impedire a utenti malintenzionati di utilizzare un account utente del dominio applicazione per modificare la cache della channel factory e reindirizzare i client a un altro servizio del flusso di lavoro.

  • Proteggere i file di configurazione utilizzando ACL ed eventualmente crittografare la stringa di connessione contenuta nell'elemento connectionStrings per impedire a utenti malintenzionati di rilevare la stringa di connessione utilizzata per la connessione al database.

  • È consigliabile disporre di un file di database che utilizza ASP NET VirtualPathProvider anziché distribuire il file di markup e di regole effettivo in IIS.

  • Presentare un insieme minimo di autorizzazioni al processo che ospita il servizio del flusso di lavoro ed evitare di eseguire il processo (pool di applicazioni IIS) con privilegi amministrativi.

  • Assicurarsi che i componenti di terze parti, quali attività personalizzate, servizi di hosting personalizzati e componenti di invio personalizzati, siano tutti attendibili e conformi al tema di protezione complessiva dell'applicazione.

  • Utilizzare la chiave del Registro di sistema MaxFieldLength per consentire a HTTP.sys di limitare la dimensione delle intestazioni HTTP che il servizio riceve dai client. Ciò impedirà a utenti malintenzionati di allegare cookie di contesto HTTP di grandi dimensioni ai messaggi inviati al server. Per ulteriori informazioni sull'impostazione di questa chiave del Registro di sistema, vedere la pagina relativa alle impostazioni del Registro di sistema HTTP.sys per IIS (la pagina potrebbe essere in inglese).

  • Utilizzare EncryptandSign o il protocollo di trasporto HTTPS per impedire a utenti malintenzionati di leggere un'intestazione di contesto riservata o informazioni cookie in transito tra il client e il servizio.

  • Tenere presente che, quando si utilizza un contesto di associazione per il trasporto della sessione, l'identità è modificabile nel corso di una sessione.

Vedere anche

Altre risorse

Considerazioni sulla protezione dei servizi del flusso di lavoro e dei servizi durevoli

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.