Cenni preliminari sull'amministrazione dei criteri di sicurezza

Nota importanteImportante

In .NET Framework versione 4, Common Language Runtime non fornisce più criteri di sicurezza per i computer.È consigliabile l'utilizzo di criteri di restrizione software Windows in sostituzione dei criteri di sicurezza CLR.Le informazioni incluse in questo argomento si applicano a .NET Framework 3.5 e versioni precedenti e non alle versioni 4 e successive.Per ulteriori informazioni su questa e altre modifiche, vedere Modifiche della sicurezza in .NET Framework 4.

Il sistema di sicurezza di .NET Framework è retto da un insieme configurabile di regole denominato criteri di sicurezza. Mediante tali criteri l'utente finale o l'amministratore è in grado di regolare le impostazioni che determinano a quali risorse il codice sia autorizzato ad accedere e decidere, in definitiva, quale codice possa essere effettivamente eseguito.

Si supponga, ad esempio, che un amministratore che opera in uno scenario aziendale non consideri attendibile il software proveniente da una specifica società. È possibile che il software prodotto da tale società sia gradito dai dipendenti, ma provochi un aumento del traffico di rete o l'instabilità delle workstation. L'amministratore può pertanto impostare criteri di sicurezza a livello aziendale che limitano il livello di accesso alle risorse del computer consentito a software un dotato di uno specifico nome sicuro crittografato, ossia un identificatore univoco del programma. Può inoltre impostare criteri che impediscono del tutto l'esecuzione del software proveniente da quell'editore.

In questo argomento viene fornita una panoramica sull'amministrazione dei criteri di sicurezza. Per ulteriori informazioni, vedere Gestione dei criteri di sicurezza.

Evidenza, gruppi di codice e set di autorizzazioni

Il codice basato su Common Language Runtime è distribuito in unità denominate assembly. In fase di caricamento, in base all'ambiente di esecuzione viene esaminata l'evidenza contenuta in ogni assembly: essa identifica le informazioni relative all'assembly quali la firma digitale dell'autore del codice e la posizione di origine del codice. In base all'evidenza, il modulo di gestione della sicurezza di Common Language Runtime associa l'assembly a un gruppo di codice secondo i criteri di sicurezza. I gruppi di codice sono definiti per verificare specifiche forme di evidenza e sono associati a set di autorizzazioni. Gli assembly appartenenti a un gruppo di codice ricevono le autorizzazioni definite dai set di autorizzazioni associate. Per ulteriori informazioni sull'evidenza, i gruppi di codice e le autorizzazioni, vedere Modello dei criteri di sicurezza.

Autorizzazioni

Le autorizzazioni sono semplici oggetti che rappresentano il diritto di accesso a una risorsa protetta. Le autorizzazioni sono configurabili e un singolo oggetto autorizzazioni può assumere più forme. L'oggetto FileIOPermissionrappresenta, ad esempio, il diritto di accedere, creare, leggere, scrivere o modificare file presenti nel disco rigido locale. Perché sia significativa, è necessario che un'autorizzazione contenga informazioni specifiche sul tipo di accesso rappresentato. È possibile configurare un oggetto FileIOPermission in modo che rappresenti il diritto di leggere un file specifico, leggere e scrivere un file specifico o leggere tutti i file contenuti in un'intera directory. I diritti rappresentati da un'autorizzazione e ricevuti dagli assembly possono essere completamente configurati dall'amministratore del computer. Mentre le applicazioni possono generare e configurare oggetti autorizzazioni come qualsiasi altro oggetto, solo i criteri di sicurezza possono concedere autorizzazioni a un'applicazione. In definitiva, gli amministratori controllano la concessione delle autorizzazioni. Per esaminare un elenco delle autorizzazioni più comuni, vedere Autorizzazioni di accesso al codice.

Livelli dei criteri di sicurezza

Nel modello di sicurezza sono definiti quattro livelli di criteri di sicurezza, ognuno corrispondente a un diverso scenario di amministrazione e di hosting. I vari livelli sono descritti nella seguente tabella: il criteri definiti a livello aziendale sono il livello più alto, i criteri definiti a livello di dominio applicazione quello più basso.

Livello di criteri

Descrizione

Criteri aziendali

Definiti da amministratori aziendali che impostano i criteri per domini aziendali.

Criteri a livello di computer

Definiti da amministratori di computer che impostano i criteri per un computer.

Criteri a livello di utente

Definiti da utenti che impostano criteri per un singolo account di accesso.

Criteri a livello di dominio applicazione

Definiti dall'host di runtime, vale a dire un'applicazione che ospita Common Language Runtime, per l'impostazione di criteri in fase di caricamento. Questo livello non può essere amministrato.

Ciascun livello di criteri è costituito da una gerarchia di gruppi di codice. Gli amministratori di ciascun livello di criteri possono creare gruppi di codice personalizzati con i relativi set di autorizzazioni associati. In fase di caricamento, nell'ambito del sistema di sicurezza dall'accesso di codice vengono esaminati tutti i livelli di criteri e la concessione di autorizzazioni risultante è data dall'intersezione di tutte le autorizzazioni consentite per ciascun livello. Gli amministratori di un livello di criteri inferiore non possono estendere criteri decisi a livello superiore, ma possono limitarli nella misura desiderata. I criteri di sicurezza predefiniti si trovano a livello di computer.

Le impostazioni di sicurezza predefinite sono le seguenti:

  • I livelli utente e aziendale sono impostati come senza restrizioni.

  • Il livello del computer contiene le specifiche impostazioni di sicurezza e le relative restrizioni.

  • Le impostazioni definite in tutti e tre i livelli costituiscono le impostazioni predefinite.

Si noti che l'assenza di restrizioni per il livello utente e il livello aziendale non comporta la concessione a un assembly di autorizzazioni prive di restrizioni. Dal momento che a livello di computer sono definite numerose restrizioni e tutti e tre i livelli sono considerati un insieme, la concessione di autorizzazioni che ne risulta non è senza restrizioni. Per ulteriori informazioni, vedere Modello dei criteri di sicurezza.

Associazione di gruppi di codice a set di autorizzazioni

La gestione dei criteri comporta l'associazione dei gruppi di codice a set di autorizzazioni al livello di criteri amministrato.

I gruppi di codice contengono una condizione di appartenenza, l'associazione a un set di autorizzazioni e specifici attributi. L'evidenza che un assembly presenta all'ambiente di esecuzione viene confrontata con la condizione di appartenenza specificata per un gruppo di codice. Se tale evidenza corrisponde alla condizione di appartenenza, l'assembly otterrà l'ingresso nel gruppo di codice. Gli amministratori identificano e classificano gli assembly in gruppi di codice specificando condizioni di appartenenza e assegnando a tali gruppi di codice set di autorizzazioni. I gruppi di codice possono eventualmente essere utilizzati per specificare che è necessario che nessun livello di criteri inferiore al livello corrente o che nessun gruppo di codice diverso dal gruppo corrente venga preso in considerazione al momento di assegnare le autorizzazioni.

I seguenti tipi di evidenza incorporata possono essere utilizzati come condizioni di appartenenza:

  • La directory di installazione dell'applicazione

  • L'hash di crittografia dell'assembly

  • La firma digitale dell'editore dell'assembly

  • Il sito di origine dell'assembly

  • Il nome sicuro crittografato dell'assembly

  • L'URL di origine dell'assembly

  • L'area di origine dell'assembly

È possibile diminuire o aumentare le autorizzazioni concesse agli assembly in base a una qualsiasi combinazione delle suddette condizioni di appartenenza. Poiché è possibile creare condizioni di appartenenza personalizzate, nell'elenco precedente non sono contemplate tutte le possibilità. Per ulteriori informazioni, vedere Evidenza.

Vedere anche

Concetti

Sicurezza dall'accesso di codice

Altre risorse

Procedure consigliate per i criteri di sicurezza

Configurazione dei criteri di sicurezza

Gestione dei criteri di sicurezza