Streszczenie
Aktualizacja zabezpieczeń opisana w biuletynie zabezpieczeń MS10-070 firmy Microsoft wprowadza zmiany w domyślnym mechanizmie szyfrowania programu ASP.NET na potrzeby przeprowadzania sprawdzania (podpisywania) wraz z szyfrowaniem. W tym artykule opisano opcje konfiguracji umożliwiające przywrócenie wcześniejszego działania szyfrowania w programie ASP.NET.
Aby uzyskać więcej informacji o tej aktualizacji zabezpieczeń, należy odwiedzić następującą witrynę w sieci Web:http://www.microsoft.com/poland/technet/security/bulletin/ms10-070.mspx
Więcej informacji
Przy użyciu programu ASP.NET użytkownicy mogą opcjonalnie szyfrować oraz sprawdzać dane za pośrednictwem konfiguracji w sekcji MachineKey. Aktualizacja zabezpieczeń MS10-070 zmienia domyślne działanie mechanizmu szyfrowania programu ASP.NET w celu przeprowadzania sprawdzania wraz z szyfrowaniem, nawet jeśli wymagane jest tylko szyfrowanie.
Po zainstalowaniu aktualizacji zabezpieczeń opisanej w biuletynie zabezpieczeń MS10-070 podczas przeprowadzania szyfrowania skonfigurowanego w programie ASP.NET wykonywane są następujące operacje:-
W trakcie szyfrowania danych jest generowany podpis HMAC dla szyfrowanych danych, który następnie jest do nich dołączany.
-
Podczas odszyfrowywania danych podpis HMAC jest sprawdzany, zanim te dane zostaną odszyfrowane.
Poniższe klucze w ustawieniach aplikacji ASP.NET (appSettings) określają działanie podpisywania podczas szyfrowania.
Klucz |
Typ |
Wartość domyślna |
Obsługiwane wersje platformy .NET |
---|---|---|---|
aspnet:UseLegacyEncryption |
Wartość logiczna |
False |
Microsoft .NET Framework 2.0 z dodatkiem Service Pack 1 Microsoft .NET Framework 2.0 z dodatkiem Service Pack 2 Microsoft .NET Framework 3.5 Microsoft .NET Framework 3.5 z dodatkiem Service Pack 1 Microsoft .NET Framework 4.0 |
aspnet:UseLegacyMachineKeyEncryption |
Wartość logiczna |
False |
Microsoft .NET Framework 4.0 |
aspnet:ScriptResourceAllowNonJsFiles |
Wartość logiczna |
False |
Microsoft .NET Framework 3.5 z dodatkiem Service Pack 1 Microsoft .NET Framework 4.0 |
Opis ustawienia (appSetting) klucza aspnet:UseLegacyEncryption
To ustawienie aplikacji pozwala określić, czy w ramach szyfrowania ma być też przeprowadzane sprawdzanie przy użyciu klucza HMAC, nawet jeśli sekcja sprawdzania w sekcji machineKey konfiguracji programu ASP.NET nie jest ustawiona w celu sprawdzania podpisu HMAC.
aspnet:UseLegacyEncryption |
Opis |
---|---|
False (domyślnie) |
To ustawienie służy do konfigurowania programu ASP.NET w celu przeprowadzania dodatkowego sprawdzania podpisu HMAC, gdy w programie ASP.NET jest używane szyfrowanie. Takie sprawdzanie jest przeprowadzane, nawet jeśli w ustawieniu machineKey nie skonfigurowano podpisywania przy użyciu klucza HMAC. |
True |
Przy użyciu tego ustawienia można wyłączyć sprawdzanie podpisu HMAC w konfiguracji programu ASP.NET, gdy jest używane szyfrowanie bez podpisywania HMAC za pośrednictwem sprawdzania w ustawieniu machineKey. Uwaga To ustawienie może pozwolić złośliwym klientom na odszyfrowywanie, fałszowanie i modyfikowanie szyfrowanych danych w inny sposób. |
Aby skonfigurować to ustawienie, należy dodać następujący wpis do pliku web.config aplikacji lub komputera:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyEncryption" value="false" /> </appSettings> </configuration>
Opis ustawienia (appSetting) klucza aspnet:UseLegacyMachineKeyEncryption
To ustawienie aplikacji służy do określania, czy w ramach szyfrowania przy użyciu klasy System.Web.Security.MachineKey ma być dodatkowo przeprowadzane sprawdzanie za pomocą klucza HMAC, nawet jeśli podany argument MachineKeyProtection nie wskazuje konieczności przeprowadzenia takiego sprawdzania.
aspnet:UseLegacyMachineKeyEncryption |
Opis |
---|---|
False (domyślnie) |
To ustawienie służy do konfigurowania programu ASP.NET w celu przeprowadzania dodatkowego sprawdzania podpisu HMAC za pośrednictwem klasy MachineKey, gdy w programie ASP.NET jest używane szyfrowanie. Sprawdzanie jest przeprowadzane, nawet jeśli podany argument MachineKeyProtection nie wskazuje takiej konieczności. |
True |
Przy użyciu tego ustawienia można wyłączyć sprawdzanie podpisu HMAC za pośrednictwem klasy MachineKey w konfiguracji programu ASP.NET, gdy jest używane szyfrowanie bez podpisywania HMAC za pomocą podanego argumentu MachineKeyProtection. Uwaga To ustawienie może pozwolić złośliwym klientom na odszyfrowywanie, fałszowanie i modyfikowanie szyfrowanych danych w inny sposób. |
Aby skonfigurować to ustawienie, należy dodać następujący wpis do pliku web.config aplikacji lub komputera:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyMachineKeyEncryption" value="false" /> </appSettings> </configuration>
Opis ustawienia (appSetting) klucza aspnet:ScriptResourceAllowNonJsFiles
To ustawienie aplikacji służy do określania, czy funkcja obsługi ScriptResource.axd programu ASP.NET ma obsługiwać pliki inne niż pliki języka JavaScript (z rozszerzeniem js). Funkcja obsługi ScriptResource.axd programu ASP.NET zwraca pliki źródłowe języka JavaScript do składników AJAX w witrynie programu ASP.NET.
aspnet:ScriptResourceAllowNonJsFiles |
Opis |
---|---|
False (domyślnie) |
Przy użyciu tego ustawienia można włączyć w konfiguracji programu ASP.NET przetwarzanie przez funkcję obsługi ScriptResource.axd tylko statycznych plików z rozszerzeniem js (JavaScript). |
True |
Przy użyciu tego ustawienia można włączyć w konfiguracji programu ASP.NET przetwarzanie przez funkcję obsługi ScriptResource.axd wszystkich statycznych plików, do których aplikacja ASP.NET ma dostęp. Uwaga To ustawienie umożliwia obsługę dowolnych plików przez funkcję obsługi w aplikacji ASP.NET. Jeśli jakikolwiek z takich plików zawiera ważne lub poufne informacje, to ustawienie może potencjalnie pozwolić na ujawnienie tych informacji klientowi. |
Aby skonfigurować to ustawienie, należy dodać następujący wpis do pliku web.config aplikacji lub komputera:
<configuration> ... <appSettings> ... <add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" /> </appSettings> </configuration>
Informacje
Aby uzyskać więcej informacji na temat sekcji MachineKey, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://msdn.microsoft.com/pl-pl/library/w8h3skw9.aspx Aby uzyskać więcej informacji na temat klasy System.Web.Security.MachineKey, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://msdn.microsoft.com/pl-pl/library/system.web.security.machinekey.aspxAby uzyskać więcej informacji dotyczących sposobów używania ustawień aplikacji (appSettings), kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
815786 Przechowywanie niestandardowych informacji w pliku konfiguracji aplikacji i pobieranie ich przy użyciu programu Visual C# 313405 Przechowywanie niestandardowych informacji w pliku konfiguracji aplikacji i pobieranie ich przy użyciu programów Visual Basic .NET lub Visual Basic 2005 Aby uzyskać dodatkowe informacje o konfiguracji programu ASP.Net, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
307626 INFORMACJE: Omówienie konfiguracji programu ASP.NET