Částečná důvěryhodnost technologie ASP.NET nezaručuje izolaci aplikací

Překlady článku Překlady článku
ID článku: 2698981 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

ÚVOD

Technologie ASP.NET umožňuje správcům hostovat aplikace v režimu částečné důvěryhodnosti, například v režimu střední důvěryhodnosti. Umožňuje rovněž konfiguraci vlastních úrovní částečné důvěryhodnosti, a to prostřednictvím souborů vlastních zásad. Další informace o použití střední důvěryhodnosti v prostředí ASP.NET 2.0 naleznete na následující webové stránce služby MSDN (Microsoft Developer Network):
Postupy: Použití střední důvěryhodnosti v prostředí ASP.NET 2.0
Částečnou důvěryhodnost v prostředí ASP.NET jsme již dříve popsali jako mechanismus pro vynucení izolace aplikací ve sdíleném hostitelském prostředí, v němž je v rámci téhož webového serveru hostováno několik aplikací s různou úrovní důvěryhodnosti. Uvedené informace aktualizujeme tak, aby odrážely skutečnost, že spuštění aplikace architektury stránek ASP.NET v režimu částečné důvěryhodnosti nezaručuje partial kompletní izolaci od ostatních aplikací, které jsou spuštěny v rámci téhož procesu nebo ve stejném počítači. 

Doporučeným postupem pro zajištění izolace od ostatních aplikací architektury stránek ASP.NET na témže webovém serveru je nakonfigurovat aplikace architektury stránek ASP.NET tak, aby byly spouštěny v rámci samostatných procesů s nízkými privilegii (s využitím individuálních fondů aplikací). V následující části jsou uvedeny podrobné informace o postupu při konfiguraci aplikací pro izolaci. Současně aktualizujeme ostatní dokumentaci tak, aby odpovídala změnám v zásadách, které jsou popsány v tomto článku. 

Další informace

Správci serverů by měli pokyny v tomto článku použít k zajištění izolace aplikací ve sdíleném hostitelském prostředí. Tyto pokyny platí pro technologii ASP.NET v systému Windows Server 2003 SP2 a novějších verzích. Tyto pokyny zahrnují službu IIS (Internet Information Services) 6.0 až 7.5.

Řadu úkolů, které jsou zde popsány, lze automatizovat pomocí nástroje příkazového řádku služby IISAppCmd.exe v prostředí služby IIS 7 a 7.5 a pomocí skriptů pro správu služby IIS v rámci služby IIS 6.0.

Jak aplikace umístit na samostatné weby IIS

Ve sdíleném hostitelském prostředí by aplikace měly být umístěny na samostatné weby IIS. Jsou-li aplikace hostovány na samostatných webech, lze snáze izolovat konfiguraci. Navíc bude hostitel .NET Framework CLR samostatný. To poskytuje další izolaci na dané úrovni.

Chcete-li umístit každou aplikaci na samostatný web, postupujte takto:

Služba IIS 6.0 (Windows Server 2003 SP2)

  1. Spusťte Správce Internetové informační služby.
  2. V levém podokně rozbalte uzel pro aktuální server.
  3. Klikněte pravým tlačítkem myši na uzel Weby, klikněte na položku Nový a vyberte příkaz Web.
  4. Klikněte na tlačítko Další.
  5. Zadejte jedinečný název pro nový web a pak klikněte na tlačítko Další.
  6. Nakonfigurujte vazby webu pro hostitelské prostředí.
  7. Zadejte fyzickou cestu ke složce, v níž jsou uloženy soubory aplikace.
  8. Kliknutím zaškrtněte políčko Spouštění skriptů (například ASP) a potom klikněte na tlačítko Další.
  9. Klikněte na tlačítko Dokončit. Nový web se zobrazí pod uzlem Weby.

Služba IIS 7 (Windows Vista SP2 a Windows Server 2008 SP1) a IIS 7.5 (Windows 7 a Windows Server 2008 R2)

  1. Spusťte Správce Internetové informační služby.
  2. V podokně Připojení rozbalte uzel pro aktuální server.
  3. Vyberte uzel Weby a pak klikněte na odkaz Přidat web v podokně Akce.
  4. V dialogovém okně Přidat web zadejte jedinečný název pro nový web a pak zadejte fyzickou cestu je složce, v níž jsou uloženy soubory aplikace. Ve výchozím nastavení je vytvořen nový fond aplikací se stejným názvem jako nově vytvořený web, který je nakonfigurován tak, aby tento fond aplikací používal. (Toto je doporučená konfigurace.)
  5. Nakonfigurujte vazby webu pro hostitelské prostředí.
  6. Kliknutím zrušte zaškrtnutí políčka Spustit web ihned. Zajistíte tak, že web nebude k dispozici, dokud nejsou dokončeny pokyny pro izolaci popsané v tomto článku.
  7. Klikněte na tlačítko OK. Nakonfigurovaný web se zobrazí pod uzlem Weby v podokně Připojení.

Jak aplikace umístit do samostatných fondů aplikací

Ve sdíleném hostitelském prostředí by aplikace měly být umístěny do samostatných fondů aplikací. To aplikacím umožňuje izolaci v samostatných procesech operačního systému s jedinečnými identitami. Je tak poskytnuta úroveň izolace mezi jednotlivými weby. (Následující část popisuje postup při konfiguraci identit fondů aplikací pro izolaci.)

Služba IIS 6.0 (Windows Server 2003 SP2)

  1. Spusťte Správce Internetové informační služby.
  2. V levém podokně rozbalte uzel pro aktuální server.
  3. Klikněte pravým tlačítkem myši na položku Fondy aplikací, přejděte na příkaz Nový a klikněte na položku Fond aplikací.
  4. Zadejte jedinečný název pro nový fond aplikací a pak klikněte na tlačítko OK.
  5. Rozbalte uzel Webové servery.
  6. Klikněte pravým tlačítkem myši na cílový web a potom klikněte na příkaz Vlastnosti.
  7. Klikněte na kartu Domovský adresář.
  8. V poli Fond aplikací v dolní části dialogového okna klikněte na nový fond aplikací.
  9. Klikněte na tlačítko OK.

Služba IIS 7 (Windows Vista SP2 a Windows Server 2008 SP1) a služba IIS 7.5 (Windows 7 a Windows Server 2008 R2)

Po provedení postupu popsaného v části Jak aplikace umístit na samostatné weby IIS je nový web automaticky umístěn do nového samostatného fondu aplikací. Pokud je však třeba nakonfigurovat stávající web tak, aby používal nový samostatný fond aplikací, postupujte takto: 
  1. Spusťte Správce Internetové informační služby.
  2. V podokně Připojení rozbalte uzel pro aktuální server.
  3. Vyberte uzel Fondy aplikací.
  4. V podokně Akce klikněte na odkaz Přidat fond aplikací.
  5. Zadejte jedinečný název pro nový fond aplikací a pak vyberte cílovou verzi rozhraní .NET Framework a režim kanálů.
  6. Klikněte na tlačítko OK. Nový fond aplikací je zobrazen v seznamu.
  7. V podokně Připojení rozbalte uzel Weby.
  8. Vyberte web, který chcete přesunout do nově vytvořeného fondu aplikací.
  9. V podokně Akce klikněte na odkaz Základní nastavení.
  10. V dialogovém okně Upravit web klikněte na tlačítko Vybrat.
  11. V seznamu Fond aplikací vyberte fond aplikací, který jste právě vytvořili.
  12. Klikněte na tlačítko OK.
V dialogovém okně Upravit web klikněte na tlačítko OK.

Jak nakonfigurovat fondy aplikací pro izolaci (identita procesu)

Fondy aplikací hostují aplikace a weby v procesu (nebo procesech) systému Windows. Identitu, pod níž je proces spuštěn, je možné nakonfigurovat. Ve sdíleném hostitelském prostředí by měla existovat samostatná identita pro každou aplikaci. Tím je zajištěno, že je každá aplikace spuštěna v kontextu jedinečného účtu. To umožňuje správnou izolaci s využitím volitelných seznamů řízení přístupu (DACL) systému souborů a integrovaných funkcí izolace procesů použitého operačního systému. Chcete-li vytvořit uživatelský účet a pak přiřadit fond aplikací pro použití tohoto účtu, použijte následující postup.

Služba IIS 6.0 (Windows Server 2003 SP2)

Vytvoření místního uživatelského účtu, který bude použit jako identita fondu aplikací
  1. Spusťte Správce Internetové informační služby.
  2. V levém podokně seznamu rozbalte uzel Místní uživatelé a skupiny.
  3. Klikněte pravým tlačítkem myši na uzel Uživatelé a pak klikněte na příkaz Nový uživatel.
  4. Zadejte jedinečný název a silné heslo pro nový uživatelský účet.
  5. Kliknutím zrušte zaškrtnutí políčka Při dalším přihlášení musí uživatel změnit heslo.
  6. Kliknutím zaškrtněte políčko Uživatel nemůže měnit heslo.
  7. Klikněte na tlačítko Vytvořit a pak na tlačítko Zavřít.
  8. V levém podokně vyberte uzel Uživatelé. Nový účet se zobrazí v seznamu.
Konfigurace fondu aplikací pro použití nového místního uživatelského účtu
  1. Spusťte Správce Internetové informační služby.
  2. V levém podokně rozbalte uzel pro aktuální server.
  3. Rozbalte uzel Fondy aplikací.
  4. Klikněte pravým tlačítkem myši na cílový fond aplikací a potom klikněte na příkaz Vlastnosti.
  5. Klikněte na kartu Identita.
  6. Vyberte možnost Konfigurovatelný.
  7. Zadejte uživatelské jméno a heslo nového účtu.
  8. Klikněte na tlačítko OK.
  9. V dialogovém okně Potvrdit heslo zadejte stejné heslo znovu a pak klikněte na tlačítko OK.

Služba IIS 7 a 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 a Windows Server 2008 R2)

  1. Spusťte Správce Internetové informační služby.
  2. V podokně Připojení rozbalte uzel pro aktuální server.
  3. Vyberte uzel Fondy aplikací.
  4. Vyberte cílový fond aplikací.
  5. V podokně Akce klikněte na odkaz Upřesnit nastavení.
  6. V části Model procesu nastavte vlastnost Identita na hodnotu ApplicationPoolIdentity. Toto nastavení automaticky vytvoří jedinečnou identitu pro tento fond aplikací. V následujících oddílech můžete tuto jedinečnou identitu použít k nastavení volitelných seznamů řízení přístupu (DACL) pro umístění souborů, k nimž tato aplikace vyžaduje přístup.
  7. Klikněte na tlačítko OK.

Jak nakonfigurovat volitelné seznamy řízení přístupu pro umístění obsahu aplikací

Volitelný seznam řízení přístupu (DACL) je seznam oprávnění, které jsou přidruženy k objektu a které lze použít k řízení přístupu k objektu. Použití volitelných seznamů řízení přístupu k omezení přístupu k obsahu aplikací umožňuje posílit izolaci mezi weby, které jsou hostovány v rámci téhož webového serveru. Další informace o seznamech řízení přístupu a identitách služby IIS naleznete v tématu Zabezpečený obsah ve službě IIS prostřednictvím seznamů řízení přístupu operačního systému

Všechny verze služby IIS

  1. Pomocí příkazového řádku nebo Průzkumníka Windows otevřete kořenovou složku pro obsah webu.
  2. K odebrání položek pro veškerý přístup jiných uživatelů než správců k tomuto umístění použijte libovolnou z následujících metod. (To zahrnuje i skupinu Users.)
    • V Průzkumníkovi Windows klikněte pravým tlačítkem myši na složku, vyberte příkaz Vlastnosti, klikněte na kartu Zabezpečení a pak změňte seznam řízení přístupu.
    • Ke změně seznamu řízení přístupu na příkazovém řádku použijte nástroj icacls.exe (nebo ve starších verzích operačního systému Windows nástroj cacls.exe).
  3. Přidejte novou položku pro identitu procesu, kterou jste vybrali pro daný web.
  4. Této nové identitě poskytněte přístup k dané složce pro čtení a spouštění.
Existují-li konkrétní složky, které pro příslušnou aplikaci vyžadují oprávnění k zápisu (například složka Odeslaná data), použijte následující postup:

Služba IIS 6.0 (Windows Server 2003 SP2)

  1. V Průzkumníkovi Windows klikněte pravým tlačítkem myši na složku, vyberte příkaz Vlastnosti, klikněte na kartu Zabezpečení a pak pro identitu procesu přidejte přístup Změnit.
  2. U složek obsahujících statický obsah (obrázky, textové soubory atd.) použijte následující postup:
    1. Spusťte Správce Internetové informační služby.
    2. V levém podokně klikněte pravým tlačítkem myši na název příslušné složky a potom klikněte na příkaz Vlastnosti.
    3. Klikněte na kartu Adresář.
    4. V seznamu Oprávnění ke spouštění vyberte položku Žádné.

Služba IIS 7 a 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 a Windows Server 2008 R2)

  1. V Průzkumníkovi Windows klikněte pravým tlačítkem myši na složku, vyberte příkaz Vlastnosti, klikněte na kartu Zabezpečení a pak pro identitu procesu přidejte přístup Změnit.
  2. U složek obsahujících statický obsah (obrázky, textové soubory atd.) přidejte pro dané umístění položku souboru web.config, která zakazuje oprávnění Skript v nastavení accessPolicy:
    <system.webServer> <handlers accessPolicy="Read,Write" /> </system.webServer>

Jak nakonfigurovat dočasné umístění souborů technologie ASP.NET a jak nastavit volitelné seznamy řízení přístupu pro jednotlivé weby

Technologie ASP.NET vyžaduje na serveru umístění pro uložení dočasných dat, jako jsou například zkompilované soubory. Zpravidla se jedná o složku dočasných souborů ASP.NET. Ve výchozím nastavení je tato složka umístěna ve složce, v níž je nainstalováno rozhraní .NET Framework. Přidělení jiného dočasného umístění pro každý web a odpovídající zabezpečení jednotlivých složek pomáhá posílit izolaci mezi weby, které jsou hostovány v rámci téhož webového serveru. Další informace o složce dočasných souborů ASP.NET naleznete v tématu Principy dynamické kompilace technologie ASP.NET.

Jak nakonfigurovat jiné umístění složky dočasných souborů ASP.NET pro jednotlivé weby

  1. Pro každý web vytvořte novou složku, do níž budou ukládány dočasné soubory ASP.NET pro daný web. Je lepší využít k ukládání dočasných souborů nesystémovou jednotku.
  2. Do kořenového souboru web.config nebo applicationHost.config serveru zahrňte nastavení odkazující na umístění nové složky pro daný web, a to pomocí elementu <location>:
    <configuration> <location path="path"> <system.web> <compilation tempDirectory="temp-files-path" /> </system.web> </location> <!-- and so on --> </configuration>

Jak nastavit odpovídající volitelné seznamy řízení přístupu pro umístění složky dočasných souborů ASP.NET

  1. K odebrání oprávnění pro veškerý přístup jiných uživatelů než správců k tomuto umístění použijte libovolnou z následujících metod. (To zahrnuje i skupinu Users.)
  2. Přidejte novou položku pro identitu procesu, kterou jste vybrali pro daný web, a pak této identitě poskytněte pro danou složku přístup Změnit.

Jak odebrat citlivá konfigurační data z kořenových konfiguračních souborů

Soubory web.config aplikací jsou uloženy ve složce obsahu obsluhované aplikace. Přestože technologie ASP.NET neobslouží soubor web.config aplikace, je někdy vhodné umístit citlivé informace, například nastavení klíčů počítače nebo připojovací řetězce, do konfiguračního souboru mimo umístění aplikace. Je tak zvýšena ochrana před zpřístupněním informací.

Služba IIS 6.0 (Windows Server 2003 SP2)

Uložení citlivých konfiguračních informací do kořenového souboru web.config není dobrým řešením pro izolaci dat mezi různými weby, protože všechny weby mají k tomuto souboru přístup pro čtení. Proto byste v rámci služby IIS 6 měli ukládat citlivé konfigurační údaje do souboru web.config aplikace. Umožníte tak webům vzájemně izolovat citlivé informace. V takovém případě se aplikace bude spoléhat na ochranu technologie ASP.NET, která má zabránit obsloužení souboru web.config aplikace a zajistit, že citlivé údaje nebudou zpřístupněny.

Služba IIS 7 a 7.5 (Windows Vista SP2, Windows Server 2008 SP1, Windows 7 a Windows Server 2008 R2)

Pro službu IIS 7 a novější verze přesuňte citlivé konfigurační údaje umístěné v souboru applicationHost.config služby IIS do elementu <location>, který omezuje rozsah konfigurace na web, k němuž se vztahuje. Další informace naleznete v tématu Použití zamykání v konfiguraci služby IIS 7.0. Společnost Microsoft děkuje následujícím osobám, které spolupracovaly na zvýšení ochrany zákazníků:
Poznámka: Toto je článek určený k rychlému zveřejnění, který vydala přímo služba podpory společnosti Microsoft. Uvedené informace jsou poskytovány jako odpověď na vzniklé problémy. Vzhledem k požadavku na rychlé zveřejnění je možné, že zpráva obsahuje typografické chyby, a může být kdykoli bez ohlášení revidována. Další pokyny naleznete v dokumentu Podmínky užití.

Vlastnosti

ID článku: 2698981 - Poslední aktualizace: 7. června 2012 - Revize: 1.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
atdownload kbinfo kbexpertiseinter kbsecurity KB2698981

Dejte nám zpětnou vazbu

 

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