Procedura consigliata per la sicurezza nelle soluzioni Office (System 2003)
Aggiornamento: novembre 2007
Si applica a |
---|
Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati. Tipo di progetto
Versione Microsoft Office
Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione. |
Quando si pianificano i criteri di sicurezza per le personalizzazioni a livello di documento e i componenti aggiuntivi a livello di applicazione, è opportuno prendere in considerazione gli aspetti descritti di seguito.
Aggiunta di condizioni ai criteri di sicurezza
Microsoft .NET Framework fornisce due metodi principali per la distribuzione dei criteri:
Compilazione di un file Windows Installer (.msi) tramite lo strumento .NET Framework Configuration. Per ulteriori informazioni, vedere Distribuzione dei criteri di sicurezza.
Modifica diretta dei criteri mediante la creazione di script nello strumento Criteri di sicurezza dall'accesso di codice (Caspol.exe). Per ulteriori informazioni, vedere Configurazione dei criteri di protezione tramite lo Strumento criteri di protezione dall'accesso di codice (Caspol.exe).
L'utilizzo di Windows Installer consente una valutazione più esatta dei criteri poiché l'intero livello dei criteri (in genere Enterprise o Computer) viene copiato sul computer dell'utente finale; tuttavia, possono verificarsi conflitti se gruppi diversi all'interno di un'azienda desiderano pubblicare criteri in modo indipendente gli uni dagli altri oppure se i criteri devono essere modificati dai singoli.
L'utilizzo di Caspol.exe per modificare i criteri consente a persone differenti di aggiornare i criteri in modo indipendente, ma l'effetto può non essere quello desiderato a causa delle interazioni sconosciute tra gruppi di codice differenti. Ad esempio, se un dipartimento distribuisce la modifica di un criterio concedendo attendibilità totale a un particolare sito intranet, tale dipartimento prevede che tutto il codice proveniente da quel sito sia attendibile. Tuttavia, se un altro reparto distribuisce criteri con un attributo Exclusive negando l'accesso a tale sito, non verrà eseguito alcun codice. Per ulteriori informazioni sull'attributo Exclusive, vedere Amministrazione mediante gli attributi dei gruppi di codice e Procedura: attribuire ai gruppi di codice il livello esclusivo o finale.
Gli amministratori dovranno bilanciare la prevedibilità dei file di Windows Installer con la flessibilità di Caspol.exe nella decisione sull'aggiornamento dei criteri.
Anche se è possibile scrivere codice gestito per modificare direttamente i criteri tramite le API di Microsoft .NET Framework, questa operazione presenta possibilità di errori ed è sconsigliata.
Verifica dei criteri correnti
Se un assembly non viene eseguito, è possibile ricercare la possibile causa esaminando le autorizzazioni assegnate a tale assembly. Microsoft .NET Framework fornisce due metodi per verificare i criteri correnti per un assembly:
Mediante la procedura guidata di valutazione degli assembly inclusa nello strumento Microsoft .NET Framework 2.0 Configuration. Per informazioni sull'accesso a questa procedura guidata, vedere Procedura: eseguire attività comuni relative a criteri di protezione mediante lo strumento .NET Framework Configuration (Mscorcfg.msc).
Tramite i seguenti comandi in Caspol.exe:
caspol -all -lg caspol -rsg path_to_assembly
Per ulteriori informazioni sui comandi di Caspol.exe, vedere Strumento criteri di protezione dall'accesso di codice (Caspol.exe).
Questi strumenti mostrano i criteri di sicurezza applicati all'assembly e le modalità con cui l'evidenza dell'assembly viene mappata sulle regole nel CLR (Common Language Runtime). In questo modo, è possibile sapere se i criteri sono impostati correttamente e se l'assembly corrisponde ai gruppi di codice corretti. I problemi principali individuati tramite l'impiego di questa tecnica sono i seguenti:
Una regola di rete (ad esempio, l'assegnazione dell'attendibilità totale a https://server/) è stata aggiunta all'area MyComputer mentre doveva essere in LocalIntranet oppure è stata aggiunta a LocalIntranet mentre doveva essere in TrustedSites.
C'è un errore nel nome file o nell'URL.
Nel percorso della directory manca l'asterisco (*) che indica che tutti i file e le sottocartelle al di sotto della cartella devono essere inclusi nei criteri.
Per ulteriori informazioni, vedere Risoluzione dei problemi di protezione tramite Caspol.exe.
Impostazione dei criteri predefiniti per le aziende
Visual Studio consente alle aziende di definire propri criteri predefiniti. Di norma, quando si esegue il ripristino dei criteri di sicurezza, vengono ripristinate le impostazioni predefinite dei criteri presenti al momento dell'installazione di Framework. Utilizzando i criteri predefiniti specifici per le aziende, l'operazione di ripristino consente di ripristinare i criteri di base definiti dall'azienda. Ad esempio, l'azienda può aggiungere un autore affidabile a livello di azienda e bloccare il codice proveniente dall'area Internet.
Per ulteriori informazioni sul ripristino dei criteri predefiniti, vedere Procedura: ripristinare le impostazioni predefinite dei criteri di protezione tramite Caspol.exe e Strumento .NET Framework Configuration (Mscorcfg.msc). Per ulteriori informazioni sui criteri di sicurezza predefiniti, vedere Criteri di protezione predefiniti.
Suggerimenti generali
Tenere presenti le indicazioni riportate di seguito nella determinazione dei criteri per le soluzioni Office.
Utilizzare sempre gruppi di codice denominati invece dei relativi numeri (ad esempio, utilizzare MyComputer_Zone invece di 1.1). Sebbene sia possibile per un utente rinominare un gruppo (ad esempio, cambiando Internet in MyComputer), la possibilità che i numeri vengano cambiati è minore.
Limitare al massimo il codice a cui la regola verrà applicata. Non aggiungere mai regole al gruppo All_Code a livello di computer; aggiungerle sempre a un'area o a un altro sottogruppo all'interno delle aree. È preferibile che il codice non sia determinato da regole non previste.
Applicare prima le regole meno restrittive, ad esempio per l'area, quindi per il sito, quindi per l'autore, invece che per l'autore, quindi per il sito e infine per l'area. In questo modo, è possibile applicare regole di zona specifiche a codice specifico; tali regole non verranno applicate a tutto il codice dall'editore prima che si scopra se tali restrizioni sono necessarie o meno.
Se un gruppo padre, ad esempio LocalIntranet_Zone, non esiste più, è necessario crearlo di nuovo. Questa operazione deve essere eseguita con il livello di autorizzazione Nessuna. Il set di autorizzazioni Nothing impedisce l'applicazione di autorizzazioni predefinite disattivate dall'amministratore mediante l'eliminazione del gruppo di codice. Se ad esempio l'amministratore elimina LocalIntranet_Zone, verrà interrotta l'esecuzione di tutto il codice dell'area Intranet locale. Quando si ricrea il gruppo di codice e si utilizza il set di autorizzazioni Nothing, non viene aggiunta alcuna autorizzazione rispetto a quelle esistenti.
Disattivare gli avvisi di modifica della protezione nei file batch e ricordare di riattivarli successivamente se erano attivi all'inizio. In questo modo non si verificherà l'interruzione dell'esecuzione dei file batch in attesa dell'input dell'utente. Questa impostazione ha effetto su tutti gli utenti e non solo sull'utente corrente. Per ulteriori informazioni, vedere Procedura: non visualizzare gli avvisi di modifica dei criteri tramite Caspol.exe.
Quando si utilizza Caspol.exe, specificare in modo esplicito il livello dei criteri da modificare (azienda, computer o utente); non basarsi sui valori predefiniti. L'impostazione predefinita potrebbe non essere corretta per il criterio che si sta modificando. Per ulteriori informazioni, vedere Livelli dei criteri di protezione.
Non utilizzare gli attributi Exclusive o Level-Final se non è assolutamente necessario, in quanto possono provocare un comportamento imprevisto se viene aggiunto un nuovo gruppo. Per ulteriori informazioni, vedere Attributi dei gruppi di codice.
Vedere anche
Concetti
Requisiti di sicurezza per l'esecuzione delle soluzioni Office (System 2003)
Considerazioni specifiche sulla protezione per le soluzioni Office