Procedura: bloccare gli endpoint nell'organizzazione

Le aziende di grandi dimensioni spesso richiedono che le applicazioni vengano sviluppate in conformità con le politiche di sicurezza aziendali. Nell'argomento seguente viene illustrato come installare e sviluppare una convalida dell'endpoint client che può essere utilizzata per convalidare tutte le applicazioni client Windows Communication Foundation (WCF) installate nei computer.

In questo caso, la convalida è una convalida client perché questo comportamento dell'endpoint viene aggiunto alla sezione client <commonBehaviors> nel file machine.config. WCF carica i comportamenti dell'endpoint comuni solo per le applicazioni client e carica i comportamenti del servizio comuni solo per le applicazioni di servizio. Per installare questa stessa convalida per le applicazioni di servizio, la convalida deve essere un comportamento del servizio. Per ulteriori informazioni, vedere la sezione <commonBehaviors>.

Nota

I comportamenti del servizio o dell'endpoint non contrassegnati dall'attributo (APTCA) AllowPartiallyTrustedCallersAttribute aggiunti alla sezione <commonBehaviors> di un file di configurazione, non vengono eseguiti quando l'applicazione viene eseguita in un ambiente parzialmente attendibile e non viene generata alcuna eccezione in tali circostanze. Per imporre l'esecuzione di comportamenti comuni, ad esempio convalide, è necessario:

-- Contrasssegnare il proprio comportamento comune con l'attributo AllowPartiallyTrustedCallersAttribute in modo tale che questo possa essere eseguito se distribuito come applicazione parzialmente attendibile. Si noti che una voce di registro può essere impostata nel computer per impedire l'esecuzione delle assembly APTCA. Per ulteriori informazioni, vedere How to: Make APTCA Assemblies Inaccessible to Partially Trusted Code.

-- Verificare che, se l'applicazione viene distribuita come completamente attendibile, gli utenti non possano modificare le impostazioni di protezione per l'accesso al codice per eseguire l'applicazione in ambiente parzialmente attendibile. In tal caso, la convalida personalizzata non viene eseguita e non viene generata alcuna eccezione. Per verificare tali circostanze, vedere l'opzione levelfinal utilizzando Code Access Security Policy Tool (Caspol.exe).

Per ulteriori informazioni, vedere Procedure consigliate in ambienti parzialmente attendibili e Scenari di distribuzione supportati.

Creazione della convalida dell'endpoint.

  1. Creare un IEndpointBehavior con i passaggi di convalida desiderati nel metodo Validate. Nel codice seguente ne viene illustrato un esempio.

  2. Creare nuovo BehaviorExtensionElement che registra la convalida dell'endpoint creata nel passaggio 1, come illustrato nell'esempio di codice seguente.

  3. Verificare che l'assembly compilato sia firmato con un nome sicuro. Per ulteriori informazioni, vedere Strong Name Tool (Sn.exe) e i comandi del compilatore per il linguaggio utilizzato.

Installazione della convalida nel computer di destinazione

  1. Installare la convalida dell'endpoint utilizzando il meccanismo appropriato. In un'azienda, è possibile utilizzare a tale fine Criteri di gruppo e Systems Management Server (SMS).

  2. Installare un assembly con nome sicuro nella global assembly cache utilizzando Global Assembly Cache Tool (Gacutil.exe).

  3. Utilizzare i tipi di spazio dei nomi System.Configuration per:

    1. Aggiungere l'estensione alla sezione <behaviorExtensions> utilizzando un nome completo e bloccare l'elemento.
    2. Aggiungere l'elemento di comportamento alla proprietà EndpointBehaviors della sezione <commonBehaviors> e bloccare l'elemento. (Per installare una convalida nel servizio, tale convalida deve essere un IServiceBehavior e deve essere aggiunta alla proprietà ServiceBehaviors. Nell'esempio di codice seguente viene illustrata la configurazione corretta dopo i passaggi a. e b., con la sola eccezione che non è presente un nome sicuro.
    3. Salvare il file machine.config. Nell'esempio di codice seguente vengono eseguite tutte le attività nel passaggio 3, ma viene salvata localmente una copia del file machine.config modificato.

Esempio

Nell'esempio di codice seguente viene illustrato come aggiungere un comportamento comune al file machine.config e salvare una copia sul disco. InternetClientValidatorBehavior è tratto dall'esempio Security Validation.

Protezione

Si potrebbe inoltre desiderare di crittografare gli elementi del file di configurazione. Per ulteriori informazioni, vedere la sezione Vedere anche.

Vedere anche

Altre risorse

Crittografia di elementi del file di configurazione tramite DPAPI
Crittografia di elementi del file di configurazione tramite RSA