Riepilogo
L'aggiornamento per la protezione descritto nel Bollettino Microsoft sulla sicurezza MS10-070 apporta modifiche al meccanismo di crittografia predefinito in ASP.NET per eseguire la convalida (firma) oltre alla crittografia. Questo articolo descrive le opzioni di configurazione per ripristinare il comportamento legacy per la crittografia in ASP.NET.
Per altre informazioni su questo aggiornamento della sicurezza, visitare il sito Web seguente:
http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx
Altre informazioni
ASP.NET consente agli utenti di crittografare o convalidare facoltativamente i dati tramite la configurazione nella sezione MachineKey. L'aggiornamento della protezione affrontato dall'aggiornamento della protezione MS10-070 modifica il comportamento predefinito della crittografia in ASP.NET per eseguire la convalida oltre alla crittografia anche se è richiesta solo la crittografia.
Dopo aver installato l'aggiornamento per la protezione descritto nel bollettino Microsoft sulla sicurezza MS10-070, vengono eseguite le seguenti operazioni quando è impostata la crittografia per ASP.NET:
- Durante la crittografia dei dati, viene generata una firma HMAC per i dati crittografati e vi viene aggiunta.
- Durante la decrittografia dei dati, la firma HMAC viene convalidata prima che i dati vengano decrittografati.
Le chiavi seguenti nelle impostazioni dell ASP.NET applicazione (appSettings) controllano il comportamento dell'accesso oltre alla crittografia.
| Tasto | Type | Valore predefinito | Versioni on.NET supportate |
|---|---|---|---|
| aspnet:UseLegacyEncryption | booleano | FALSE | Microsoft .NET Framework 2.0 Service Pack 1 Microsoft .NET Framework 2.0 Service Pack 2 Microsoft .NET Framework 3.5 Microsoft .NET Framework 3.5 Service Pack 1 Microsoft .NET Framework 4.0 |
| aspnet:UseLegacyMachineKeyEncryption | booleano | FALSE | Microsoft .NET Framework 4.0 |
| aspnet:ScriptResourceAllowNonJsFiles | booleano | FALSE | Microsoft .NET Framework 3.5 Service Pack 1 Microsoft .NET Framework 4.0 |
Descrizione dell'aspnet:UseLegacyEncryption appSetting
Questa impostazione dell'applicazione specifica se la crittografia eseguirà anche la convalida con una chiave HMAC anche quando la sezione di convalida nella sezione machineKey di ASP.NET configurazione non è configurata per la convalida della firma HMAC.
| aspnet:UseLegacyEncryption | Descrizione |
|---|---|
| False (impostazione predefinita) | Questa impostazione configura ASP.NET per eseguire in aggiunta la convalida della firma HMAC quando ASP.NET è configurato per l'utilizzo della crittografia. Questo problema si verifica anche se la convalida in machineKey non è configurata per la firma con una chiave HMAC. |
| TRUE | Questa impostazione configura ASP.NET non eseguire la convalida della firma HMAC quando è configurata per utilizzare la crittografia e non la firma HMAC tramite convalida in machineKey. Nota Questa impostazione potrebbe consentire a un client dannoso di decrittografare, falsificare o manomettere in altro modo i dati crittografati. |
Per configurare questa impostazione, aggiungere la configurazione seguente nel file di web.config del computer o dell'applicazione:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyEncryption" value="false" />
</appSettings>
</configuration>
Descrizione di aspnet:UseLegacyMachineKeyEncryption appSetting
Questa impostazione dell'applicazione specifica se la crittografia tramite la classe System.Web.Security.MachineKey eseguirà anche la convalida con una chiave HMAC anche quando l'argomento MachineKeyProtection fornito non specifica che la convalida deve essere eseguita.
| aspnet:UseLegacyMachineKeyEncryption | Descrizione |
|---|---|
| False (impostazione predefinita) | Questa impostazione configura ASP.NET per eseguire in aggiunta la convalida della firma HMAC tramite la classe MachineKey quando ASP.NET è configurata per l'utilizzo della crittografia. Questo problema si verifica anche se l'argomento MachineKeyProtection fornito non specifica che la convalida deve essere eseguita. |
| TRUE | Questa impostazione configura ASP.NET di non eseguire la convalida della firma HMAC tramite la classe MachineKey quando è configurata per utilizzare la crittografia e non la firma HMAC tramite l'argomento MachineKeyProtection fornito. Nota Questa impostazione potrebbe consentire a un client dannoso di decrittografare, falsificare o manomettere in altro modo i dati crittografati. |
Per configurare questa impostazione, aggiungere la configurazione seguente nel file di web.config del computer o dell'applicazione:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyMachineKeyEncryption" value="false" />
</appSettings>
</configuration>
Descrizione di aspnet:ScriptResourceAllowNonJsFiles appSetting
Questa impostazione dell'applicazione specifica se il gestore ScriptResource.axd in ASP.NET servirà file non JavaScript (estensione .js). ScriptResource.axd è un gestore ASP.NET che restituisce i file di origine JavaScript ai componenti AJAX in una pagina Web ASP.NET.
| aspnet:ScriptResourceAllowNonJsFiles | Descrizione |
|---|---|
| False (impostazione predefinita) | Questa impostazione configura ASP.NET per servire solo i file statici con estensione .js (JavaScript) tramite il gestore ScriptResource.axd. |
| TRUE | Questa impostazione configura ASP.NET per servire qualsiasi file statico a cui l'applicazione ASP.NET ha accesso tramite il gestore ScriptResource.axd. Nota: questa impostazione consente di gestire qualsiasi file all'interno dell'applicazione ASP.NET tramite il gestore. Se uno di questi file contiene dati sensibili o riservati, questa impostazione può potenzialmente causare la perdita di informazioni riservate a un client. |
Per configurare questa impostazione, aggiungere la configurazione seguente nel file di web.config del computer o dell'applicazione:
<configuration>
...
<appSettings>
...
<add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" />
</appSettings>
</configuration>
Riferimenti
Per ulteriori informazioni sulla sezione MachineKey, visitare il seguente sito Web Microsoft:
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
Per ulteriori informazioni sulla classe System.Web.Security.MachineKey, visitare il seguente sito Web Microsoft:
http://msdn.microsoft.com/en-us/library/system.web.security.machinekey.aspx Per ulteriori informazioni su come utilizzare le impostazioni dell'applicazione (appSettings), fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
815786 Come archiviare e recuperare informazioni personalizzate da un file di configurazione dell'applicazione utilizzando Visual C#
313405 Come archiviare e recuperare informazioni personalizzate da un file di configurazione dell'applicazione utilizzando Visual Basic .NET o Visual Basic 2005
Per ulteriori informazioni su ASP.Net configurazione, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
307626 INFO: Panoramica della configurazione di ASP.NET