Tryb częściowego zaufania programu ASP.NET nie gwarantuje izolacji aplikacji

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2698981 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

WPROWADZENIE

Oprogramowanie ASP.NET umożliwia administratorom hostowanie aplikacji w trybach częściowego zaufania, takich jak średnie zaufanie. Pozwala także konfigurować niestandardowe poziomy częściowego zaufania za pomocą niestandardowych plików zasad. Aby uzyskać więcej informacji dotyczących używania trybu średniego zaufania w programie ASP.NET 2.0, odwiedź następującą stronę MSDN (Microsoft Developer Network) w sieci Web:
Jak korzystać z trybu średniego zaufania w programie ASP.NET 2.0
Tryb częściowego zaufania programu ASP.NET został już opisany jako mechanizm wymuszania izolacji aplikacji we współużytkowanym środowisku hostingu, w którym wiele aplikacji o różnych poziomach zaufania jest hostowanych na tym samym serwerze sieci Web. Postanowiliśmy dodać do tego opisu informację o tym, że uruchomienie aplikacji struktury stron ASP.NET w trybie częściowego zaufania nie gwarantuje pełnej izolacji od innych aplikacji działających w tym samym procesie lub na tym samym komputerze. 

Aby mieć pewność, że aplikacje struktury stron ASP.NET na tym samym serwerze sieci Web będą od siebie odizolowane, należy skonfigurować je tak, aby działały w osobnych procesach o niskim poziomie uprawnień (korzystając z pojedynczych pul aplikacji). W poniższej sekcji przedstawiono szczegółowo sposób konfigurowania aplikacji przeznaczonych do izolacji. Inne dokumenty także zostaną zmienione w celu uwzględnienia przedstawionej tutaj zmiany zasad. 

Więcej informacji

Administratorzy serwerów powinni zastosować się do tych wskazówek, aby zagwarantować izolację aplikacji we współużytkowanych środowiskach hostingu. Wskazówki te dotyczą hostingu w programie ASP.NET w systemach Windows Server 2003 SP2 i nowszych. Uwzględniono tu także program Internet Information Services (IIS) w wersjach od 6.0 do 7.5.

Wiele z opisanych zadań można zautomatyzować za pomocą narzędzia wiersza polecenia AppCmd.exe w programie IIS 7 i 7.5 oraz skryptów administracyjnych w programie IIS 6.0.

Jak umieścić aplikacje w osobnych witrynach programu IIS

We współużytkowanym środowisku hostingu aplikacje należy umieścić w osobnych witrynach programu IIS. Takie rozmieszczenie sprawia, że konfiguracja aplikacji jest lepiej izolowana. Ponadto host aparatu CLR programu .NET Framework będzie obsługiwany osobno. Uzyskuje się dzięki temu dodatkową izolację na tym poziomie.

Aby umieścić każdą aplikację w osobnej witrynie, wykonaj następujące czynności:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku po lewej stronie rozwiń węzeł bieżącego serwera.
  3. Kliknij prawym przyciskiem myszy węzeł Witryny sieci Web, kliknij pozycję Nowy, a następnie kliknij pozycję Witryna sieci Web.
  4. Kliknij przycisk Dalej.
  5. Wpisz unikatową nazwę nowej witryny, a następnie kliknij przycisk Dalej.
  6. Skonfiguruj powiązania witryny w środowisku hostingu.
  7. Wprowadź ścieżkę fizyczną folderu, w którym są przechowywane pliki aplikacji.
  8. Zaznacz pole wyboru Uruchamianie skryptów (np. ASP), a następnie kliknij przycisk Dalej.
  9. Kliknij przycisk Zakończ. Nowa witryna pojawi się w węźle Witryny sieci Web.

Internet Information Services 7 (Windows Vista SP2 i Windows Server 2008 SP1) oraz Internet Information Services 7.5 (Windows 7 i Windows Server 2008 R2)

  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku Połączenia rozwiń węzeł bieżącego serwera.
  3. Zaznacz węzeł Witryny, a następnie kliknij łącze Dodaj witrynę sieci Web w okienku Akcje.
  4. W oknie dialogowym Dodawanie witryny sieci Web wprowadź unikatową nazwę nowej witryny sieci Web, a następnie podaj fizyczną ścieżkę folderu, w którym są przechowywane pliki aplikacji. Domyślnie zostanie utworzona nowa pula aplikacji o nazwie identycznej z nazwą witryny, a witryna zostanie skonfigurowana do korzystania z tej puli aplikacji. (Jest to zalecana konfiguracja).
  5. Skonfiguruj powiązania witryny w środowisku hostingu.
  6. Wyczyść pole wyboru Uruchom witrynę sieci Web natychmiast. Dzięki temu witryna nie będzie dostępna, dopóki nie zostaną wykonane wszystkie przedstawione tu instrukcje dotyczące izolacji.
  7. Kliknij przycisk OK. Skonfigurowana witryna pojawi się w węźle Witryny okienka Połączenia.

Jak umieścić witryny w osobnych pulach aplikacji

We współużytkowanym środowisku hostingu aplikacje należy umieścić w osobnych pulach aplikacji. Dzięki temu aplikacje mogą działać w osobnych procesach systemu operacyjnego z unikatowymi tożsamościami. Umożliwia to uzyskanie izolacji między witrynami. (W poniższej sekcji przedstawiono sposób konfigurowania tożsamości pul aplikacji na potrzeby izolacji).

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku po lewej stronie rozwiń węzeł bieżącego serwera.
  3. Kliknij prawym przyciskiem myszy pozycję Pule aplikacji, kliknij pozycję Nowy, a następnie kliknij pozycję Pula aplikacji.
  4. Wpisz unikatową nazwę nowej puli aplikacji, a następnie kliknij przycisk OK.
  5. Rozwiń węzeł Witryny sieci Web.
  6. Kliknij prawym przyciskiem myszy docelową witrynę sieci Web, a następnie kliknij pozycję Właściwości.
  7. Kliknij kartę Katalog macierzysty.
  8. W polu Pula aplikacji u dołu okna dialogowego wybierz nową pulę aplikacji.
  9. Kliknij przycisk OK.

Internet Information Services 7 (Windows Vista SP2 i Windows Server 2008 SP1) oraz Internet Information Services 7.5 (Windows 7 i Windows Server 2008 R2)

Po wykonaniu procedury z sekcji „Jak umieścić aplikacje w osobnych witrynach programu IIS” nowa witryna zostanie automatycznie umieszczona w nowej, osobnej puli aplikacji. Można też jednak skonfigurować istniejącą witrynę tak, aby korzystała z nowej, osobnej puli aplikacji: 
  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku Połączenia rozwiń węzeł bieżącego serwera.
  3. Zaznacz węzeł Pule aplikacji.
  4. W okienku Akcje kliknij łącze Dodaj pulę aplikacji.
  5. Wprowadź unikatową nazwę nowej puli aplikacji, a następnie wybierz docelową wersję platformy .NET Framework oraz tryb potokowy.
  6. Kliknij przycisk OK. Na liście zostanie wyświetlona nowa pula aplikacji.
  7. W okienku Połączenia rozwiń węzeł Witryny.
  8. Zaznacz witrynę, którą chcesz przenieść do puli aplikacji utworzonej wcześniej w tej procedurze.
  9. W okienku Akcje kliknij łącze Ustawienia podstawowe.
  10. W oknie dialogowym Edytowanie witryny kliknij przycisk Wybierz.
  11. Na liście Pula aplikacji zaznacz utworzoną wcześniej pulę aplikacji.
  12. Kliknij przycisk OK.
W oknie dialogowym Edytowanie witryny kliknij przycisk OK.

Jak skonfigurować izolację pul aplikacji (tożsamość procesu)

Hosting aplikacji i witryn w procesie (lub procesach) systemu Windows odbywa się za pomocą pul aplikacji. Tożsamość poszczególnych procesów można konfigurować. We współużytkowanym środowisku hostingu powinna istnieć osobna tożsamość dla każdej aplikacji. Dzięki temu każda aplikacja będzie działać w kontekście unikatowego konta. Pozwala to uzyskać poprawną izolację przy użyciu poufnych list kontroli dostępu (DACL, discretionary access control list) na poziomie systemu plików oraz wbudowanych funkcji izolacji procesów systemu operacyjnego. Aby utworzyć konto użytkownika, a następnie przypisać pulę aplikacji do tego konta, należy wykonać poniższe czynności.

Internet Information Services 6.0 (Windows Server 2003 SP2)

Tworzenie lokalnego konta użytkownika jako tożsamości puli aplikacji
  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku po lewej stronie rozwiń węzeł Użytkownicy i grupy lokalne.
  3. Kliknij prawym przyciskiem myszy węzeł Użytkownicy, a następnie kliknij pozycję Nowy użytkownik.
  4. Wprowadź unikatową nazwę i silne hasło dla nowego konta użytkownika.
  5. Wyczyść pole wyboru Użytkownik musi zmienić hasło przy następnym logowaniu.
  6. Zaznacz pole wyboru Użytkownik nie może zmienić hasła.
  7. Kliknij przycisk Utwórz, a następnie kliknij przycisk Zamknij.
  8. W okienku po lewej stronie zaznacz węzeł Użytkownicy. Nowe konto pojawi się na liście.
Konfigurowanie puli aplikacji tak, aby korzystała z nowego lokalnego konta użytkownika
  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku po lewej stronie rozwiń węzeł bieżącego serwera.
  3. Rozwiń węzeł Pule aplikacji.
  4. Kliknij prawym przyciskiem myszy docelową pulę aplikacji, a następnie kliknij polecenie Właściwości.
  5. Kliknij kartę Tożsamość.
  6. Zaznacz opcję Konfigurowalna.
  7. Wprowadź nazwę użytkownika i hasło dla nowego konta.
  8. Kliknij przycisk OK.
  9. Wprowadź ponownie hasło w oknie dialogowym Potwierdzanie hasła i kliknij przycisk OK.

Internet Information Services 7 i 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 i Windows Server 2008 R2)

  1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
  2. W okienku Połączenia rozwiń węzeł bieżącego serwera.
  3. Zaznacz węzeł Pule aplikacji.
  4. Zaznacz docelową pulę aplikacji.
  5. W okienku Akcje kliknij łącze Ustawienia zaawansowane.
  6. W sekcji Model procesu ustaw właściwość Identity (Tożsamość) na wartość ApplicationPoolIdentity (Tożsamość puli aplikacji). To ustawienie powoduje automatyczne utworzenie tożsamości dla tej puli aplikacji. W poniższych sekcjach za pomocą tej unikatowej tożsamości można ustawiać listy DACL tak, aby wskazywały lokalizacje plików, do których ma mieć dostęp aplikacja.
  7. Kliknij przycisk OK.

Jak skonfigurować listy DACL tak, aby wskazywały lokalizacje zawartości aplikacji

Poufna lista kontroli dostępu (DACL, discretionary access control list) to lista uprawnień skojarzonych z danym obiektem, która służy do kontrolowania dostępu do tego obiektu. Ograniczanie dostępu do zawartości aplikacji za pomocą list DACL pozwala wzmocnić izolację między witrynami hostowanymi na tym samym serwerze sieci Web. Aby uzyskać więcej informacji o listach kontroli dostępu i tożsamościach w programie IIS, zobacz artykuł Zabezpieczanie zawartości w programie IIS za pomocą list ACL systemu plików

Wszystkie wersje programu IIS

  1. W wierszu polecenia lub Eksploratorze Windows otwórz folder główny zawartości witryny.
  2. Korzystając z jednej z przedstawionych metod, usuń wpisy umożliwiające dostęp do tej lokalizacji użytkownikom innym niż administrator. (Dotyczy to grupy Użytkownicy).
    • W Eksploratorze Windows kliknij prawym przyciskiem myszy folder, wybierz polecenie Właściwości kliknij kartę Zabezpieczenia, a następnie zmień listę kontroli dostępu.
    • W wierszu polecenia zmień listę kontroli dostępu za pomocą narzędzia icacls.exe (lub cacls.exe w starszych wersjach systemu operacyjnego Windows).
  3. Dodaj nowy wpis odpowiadający tożsamości procesu wybranej dla witryny.
  4. Nadaj nowej tożsamości uprawnienia do odczytu i wykonywania w folderze.
W przypadku szczególnych folderów wymagających uprawnień do zapisu dla aplikacji (np. folderu elementów przekazanych) wykonaj następujące czynności:

Internet Information Services 6.0 (Windows Server 2003 SP2)

  1. W Eksploratorze Windows kliknij prawym przyciskiem myszy folder, wybierz polecenie Właściwości kliknij kartę Zabezpieczenia, a następnie dodaj uprawnienie Modyfikacja dla tożsamości procesu.
  2. W przypadku folderów przeznaczonych dla zawartości statycznej (obrazy, pliki tekstowe itd.) wykonaj następujące czynności:
    1. Otwórz Menedżera internetowych usług informacyjnych (IIS).
    2. W okienku po lewej stronie kliknij prawym przyciskiem myszy nazwę odpowiedniego folderu, a następnie kliknij polecenie Właściwości.
    3. Kliknij kartę Katalog.
    4. Na liście Uprawnienia wykonywania wybierz pozycję Brak.

Internet Information Services 7 i 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 i Windows Server 2008 R2)

  1. W Eksploratorze Windows kliknij prawym przyciskiem myszy folder, wybierz polecenie Właściwości kliknij kartę Zabezpieczenia, a następnie dodaj uprawnienie Modyfikacja dla tożsamości procesu.
  2. W przypadku folderów przeznaczonych dla zawartości statycznej (obrazy, pliki tekstowe itd.) w ustawieniu accessPolicy dodaj wpis pliku „web.config” dla lokalizacji, w której nie jest dozwolone wykonywanie skryptów:
    <system.webServer> <handlers accessPolicy="Read,Write" /> </system.webServer>

Jak skonfigurować lokalizację folderu plików tymczasowych ASP.NET i ustawić listy DACL dla poszczególnych witryn

Oprogramowanie ASP.NET wymaga lokalizacji na serwerze na potrzeby przechowywania danych tymczasowych, takich jak skompilowane pliki. Zwykle jest to folder plików tymczasowych ASP.NET. Domyślnie ten folder znajduje się w katalogu instalacji oprogramowania .NET Framework. Przydzielenie różnych lokalizacji tymczasowych każdej witrynie i osobne zabezpieczenie folderu pozwala odpowiednio wzmocnić izolację między witrynami hostowanymi na tym samym serwerze sieci Web. Aby uzyskać więcej informacji na temat folderu plików tymczasowych ASP.NET, zobacz artykuł Opis dynamicznej kompilacji ASP.NET.

Jak skonfigurować różne lokalizacje folderów plików tymczasowych ASP.NET dla każdej witryny

  1. Dla każdej witryny utwórz nowy folder na potrzeby przechowywania plików tymczasowych ASP.NET. Pliki tymczasowe lepiej przechowywać na dysku innym niż systemowy.
  2. W pliku web.config lub applicationHost.config w katalogu głównym serwera dodaj ustawienie wskazujące lokalizację nowego folderu dla danej witryny. W tym celu użyj elementu <location>:
    <configuration> <location path="path"> <system.web> <compilation tempDirectory="temp-files-path" /> </system.web> </location> <!-- i kolejne foldery --> </configuration>

Jak ustawić odpowiednie listy DACL, aby wskazywały lokalizację folderu plików tymczasowych ASP.NET

  1. W wierszu polecenia lub Eksploratorze Windows usuń uprawnienia umożliwiające dostęp do tej lokalizacji użytkownikom innym niż administrator. (Dotyczy to grupy Użytkownicy).
  2. Dodaj nowy wpis odpowiadający tożsamości procesu wybranej wcześniej dla tej witryny, a następnie nadaj jej uprawnienie Modyfikacja w tym folderze.

Jak usunąć poufne dane konfiguracyjne z plików konfiguracyjnych w katalogu głównym

Pliki web.config aplikacji są przechowywane w folderze zawartości odpowiadającym danej aplikacji. Mimo że oprogramowanie ASP.NET nie udostępnia bezpośrednio pliku web.config aplikacji, warto (jeśli nie jest to zbyt skomplikowane) przechowywać informacje związane z zabezpieczeniami, takie jak ustawienia kluczy komputera i parametry połączeń, w pliku konfiguracyjnym poza lokalizacją aplikacji. Pozwala to wzmocnić bezpieczeństwo informacji.

Internet Information Services 6.0 (Windows Server 2003 SP2)

Przechowywanie istotnych z punktu widzenia zabezpieczeń informacji konfiguracyjnych w pliku web.config w katalogu głównym nie sprzyja izolacji danych między witrynami, ponieważ wszystkie witryny mają uprawnienia do odczytu tego pliku. Dlatego w przypadku programu IIS 6 należy przechowywać poufne dane konfiguracyjne w pliku web.config aplikacji. Dzięki temu te dane będą izolowane między witrynami. Plik web.config aplikacji będzie chroniony przez mechanizmy programu ASP.NET i nie zostanie przekazany do innych usług, a więc poufne informacje nie zostaną ujawnione.

Internet Information Services 7 i 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 i Windows Server 2008 R2)

W przypadku programu IIS w wersji 7 i nowszych należy przenieść poufne informacje konfiguracyjne zawarte w pliku applicationHost.config programu IIS do lokalizacji odpowiadającej danej witrynie, wskazanej w elemencie <location>. Więcej informacji można znaleźć w artykule Jak korzystać z blokad w konfiguracji programu IIS 7.0. Firma Microsoft dziękuje następującym osobom za pomoc w ochronie klientów:
Uwaga: Niniejszy artykuł, przeznaczony do „SZYBKIEJ PUBLIKACJI”, został utworzony bezpośrednio przez organizację pomocy technicznej firmy Microsoft. Zawarte w nim informacje są udostępniane „w stanie takim, w jakim są” w odpowiedzi na pojawiające się problemy. W wyniku przyspieszonego trybu udostępniania materiały mogą zawierać błędy typograficzne i mogą zostać poprawione w dowolnym momencie bez uprzedzenia. Więcej informacji można znaleźć w Warunkach użytkowania.

Właściwości

Numer ID artykułu: 2698981 - Ostatnia weryfikacja: 7 czerwca 2012 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
  • Microsoft .NET Framework 1.0 Service Pack 3
Słowa kluczowe: 
atdownload kbinfo kbexpertiseinter kbsecurity KB2698981

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com