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 1Microsoft .NET Framework 2.0 z dodatkiem Service Pack 2Microsoft .NET Framework 3.5Microsoft .NET Framework 3.5 z dodatkiem Service Pack 1Microsoft .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 1Microsoft .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 2005Aby 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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.