Zabezpečení aplikací ClickOnce

ClickOnce aplikace se vztahují k omezením zabezpečení přístupu kódu v rozhraní .NET Framework, které napomáhají omezení přístupu k chráněným prostředkům a operacím. Z tohoto důvodu je důležité, že chápete důsledky zabezpečení přístupu kódu k zápisu do ClickOnce aplikace odpovídajícím způsobem. Vaše aplikace mohou používat plný vztah důvěryhodnosti nebo používat částečné zóny, jako například internet a intranet pro omezení přístupu.

Dále ClickOnce používá certifikáty k ověření pravosti vydavatele a podepisování manifestů aplikace a nasazení k prokázání, že se soubory nebylo manipulováno. Podpis je volitelný krok usnadňuje změnit soubory aplikace po vygenerování manifestů. Bez podepsané manifestů, je však obtížné zajistit, že instalační program aplikace není záměrně v man-in-the-middle útokům. Z tohoto důvodu doporučujeme podepsání aplikace a nasazení manifesty zabezpečení aplikací.

Zóny

Aplikace, které jsou nasazeny pomocí ClickOnce technologie jsou omezeny na sadu oprávnění a akcí, které jsou definovány zabezpečenou zónou. Zóny zabezpečení jsou definovány v aplikaci Internet Explorer a jsou založeny na umístění aplikace. V následující tabulce jsou uvedeny výchozí oprávnění na základě umístění nasazení:

Umístění nasazení

Zóna zabezpečení

Spuštění z webu

Zóna Internet

Instalace z webu

Zóna Internet

Instalace ze síťové sdílené složky

Zóna Místní intranet

Instalovat z disku CD-ROM

Úplná důvěryhodnost

Výchozí oprávnění jsou založena na umístění, ze kterého byla nasazena původní verze aplikace; aktualizace aplikace bude dědit oprávnění. Pokud je aplikace nakonfigurována pro vyhledání aktualizací z webového nebo síťového umístění a je k dispozici novější verze, původní instalace mohou přijímat oprávnění pro zónu internet nebo intranet namísto plného oprávnění důvěryhodnosti. Chcete-li zabránit v zobrazování výzev uživatelům, správce systému může zadat zásady nasazení ClickOnce, které definují určité vydavatele aplikací, jako důvěryhodné zdroje. Pro počítače, kde je tato zásada nasazena, budou automaticky udělena oprávnění a uživateli nebude zobrazena žádná výzva. Další informace naleznete v tématu Důvěryhodný přehled nasazení aplikace. Chcete-li konfigurovat nasazení důvěryhodné aplikace, lze nainstalovat certifikát na úrovni počítače nebo podniku. Další informace naleznete v tématu Postupy: Přidání důvěryhodného vydavatele do počítače klienta pro aplikace ClickOnce.

Zásady zabezpečení přístupu kódu

Oprávnění pro aplikaci jsou určena nastavením v prvku <trustInfo> Prvek (aplikace ClickOnce) manifestu aplikace. Visual Studio automaticky generuje tyto informace na základě nastavení na stránce Zabezpečení vlastností projektu. Aplikaci ClickOnce jsou udělena pouze specifická oprávnění, která požaduje. Například, pokud přístup k souborům vyžaduje plná oprávnění, pokud aplikace požádá o oprávnění přístupu k souborům, budou jí udělena pouze oprávnění přístupu k souborům, nikoliv plná oprávnění. Při vývoji vaší ClickOnce aplikace byste měli zkontrolovat, zda požadujete pouze určitá oprávnění, která aplikace potřebuje. Ve většině případů můžete použít zóny Internet nebo místní intranet pro omezení aplikace na částečná oprávnění. Další informace naleznete v tématu Postupy: Nastavení zóny zabezpečení pro aplikaci ClickOnce. Pokud aplikace vyžaduje vlastní oprávnění, můžete vytvořit vlastní zónu. Další informace naleznete v tématu Postupy: Nastavení vlastních oprávnění pro ClickOnce aplikace.

Zahrnutí oprávnění, které není součástí výchozího oprávnění nastaveného pro zónu, z níž je aplikace zavedena způsobí, že koncový uživatel bude vyzván k udělení oprávnění při instalaci nebo aktualizaci. Chcete-li zabránit v zobrazování výzev uživatelům, správce systému může zadat zásady nasazení ClickOnce, které definují určité vydavatele aplikací, jako důvěryhodné zdroje. Na počítačích, kde je tato zásada nasazena, budou automaticky udělena oprávnění a uživateli nebude zobrazena žádná výzva.

Jako vývojář máte odpovědnost, abyste se přesvědčili, že aplikace bude spuštěna s příslušnými oprávněními. Pokud aplikace za běhu požádá o oprávnění mimo zónu, může se zobrazit výjimka zabezpečení. Visual Studio umožňuje ladit aplikaci v cílové zóně zabezpečení a poskytuje pomoc při tvorbě zabezpečených aplikací. Další informace naleznete v tématu Postupy: Ladění aplikace ClickOnce s omezenými oprávněními.

Další informace o zabezpečení přístupu kódu a ClickOnce naleznete v tématu Zabezpečení přístupnosti kódu pro aplikace ClickOnce.

Certifikáty podepisování kódu

Chcete-li publikovat aplikace pomocí ClickOnce nasazení, můžete podepisovat manifesty aplikace a nasazení pro aplikace pomocí párového veřejného a soukromého klíče. Nástroje pro podepsání manifestu jsou k dispozici na stránce Podepisování v Návrháři projektu. Další informace naleznete v tématu Stránka, Podepsání designer projekt. Alternativně můžete manifesty podepsat se souborem klíče v průběhu procesu publikování pomocí Průvodce publikovat. Navíc Windows Software Development Kit (SDK) obsahuje nástroj podepisování souboru SignTool.exe (Sign Tool), který umožňuje podepsání manifestu.

Po podepsání manifestů jsou během instalace informace vydavatele o aplikaci založené na signatuře technologie Authenticode zobrazeny v dialogovém okně oprávnění uživateli, chcete-li uživateli zobrazit, že aplikace pochází z důvěryhodného zdroje.

Další informace o ClickOnce a certifikátech naleznete v tématu ClickOnce a technologie Authenticode.

ASP.NET formulářově založené ověřování

Chcete-li určit, ke kterým nasazením má mít každý uživatel přístup, neměli byste povolit anonymní přístup k ClickOnce aplikacím nasazeným na webový server. Místo toho povolíte přístup uživatelů k nasazení, které jste nainstalovali na základě identity uživatele pomocí ověřování systému Windows.

ClickOncetechnologii ASP nepodporuje.NET ověřování na základě formulářů, protože používá trvalé soubory cookie; Tyto představovat riziko zabezpečení, protože jsou uloženy v mezipaměti aplikace Internet Explorer a může napadené zvenku. Proto Pokud nasazujete ClickOnce aplikací, žádné ověřování scénář kromě ověřování systému Windows není podporována.

Předávání Argumentů

K dodatečnému posouzení zabezpečení dochází, pokud je nutné předat argumenty do aplikace ClickOnce. ClickOnce umožňuje vývojářům zadat řetězec dotazu aplikacím nasazeným prostřednictvím webu. Řetězec dotazu má formu řady párů názvu a hodnoty na konci adresy URL sloužící ke spuštění aplikace:

http://servername.adatum.com/WindowsApp1.application?username=joeuser

Argumenty řetězcového dotazu jsou ve výchozím nastavení zakázány. Pro jejich povolení je nutné nastavit atribut trustUrlParameters v manifestu nasazení aplikace. Tuto hodnotu lze nastavit z Visual Studio a z MageUI.exe. Podrobné informace o postupu povolení předávání řetězce dotazu naleznete v tématu Postupy: Načtení informací o řetězec dotazu v aplikaci Online technologie ClickOnce.

Nikdy byste neměli předat argumenty načtené pomocí řetězce dotazu do databáze nebo příkazového řádku bez kontroly argumentů a přesvědčení se, zda jsou bezpečné. Nebezpečné argumenty jsou ty, které obsahují řídící znaky databáze nebo příkazového řádku, které by mohly umožnit uživateli se zlými úmysly manipulaci s aplikací pro provádění libovolných příkazů.

Poznámka

Argumenty řetězce dotazu jsou pouze způsobem předání argumentů ClickOnce aplikaci při spuštění. Nelze předat argumenty ClickOnce aplikace z příkazového řádku.

Nasazování obfuskovaných sestavení

Můžete zabránit ostatním uživatelům zpětnou analýzu kódu obfuskováním aplikace pomocí Dotfuscatoru. Obfuskování sestavení však není integrováno do integrovaného vývojového prostředí Visual Studia nebo procesu nasazení ClickOnce. Proto budete muset provést obfuskování mimo proces nasazení, případně pomocí kroku po sestavení. Po sestavení projektu byste měli následující kroky provést ručně mimo Visual Studio:

  1. Provádění obfuskace pomocí Dotfuscatoru.

  2. Použijte Mage.exe nebo MageUI.exe pro generování ClickOnce manifestů a jejich podepsání. Další informace naleznete v tématu Mage.exe (Manifest Generation and Editing Tool) a MageUI.exe (Manifest Generation and Editing Tool, Graphical Client).

  3. Ručně publikujte (kopírujte) soubory do zdrojového umístění nasazení (webový server, sdílené složky UNC nebo disk CD-ROM).

Viz také

Koncepty

ClickOnce zabezpečení a nasazení

Výběr strategie nasazení

Výběr strategie nasazení ClickOnce