Sdílet prostřednictvím


Zabezpečování aplikací ClickOnce

Na aplikace ClickOnce se vztahují omezení zabezpečení přístupu kódu v rozhraní .NET Framework, která jsou určena k omezení přístupu k chráněným prostředkům a operacím.Z tohoto důvodu je důležité, abyste pro odpovídající psaní aplikace ClickOnce pochopili důsledky zabezpečení přístupu kódu.K omezení přístupu mohou vaše aplikace používat plnou důvěryhodnost nebo částečné zóny, jako jsou zóny pro Internet a Intranet.

Dále lze použít technologii ClickOnce využívající certifikáty k ověření pravosti vydavatele a podepisování manifestů aplikace a nasazení, která ověřuje, zda se soubory nebylo manipulováno.Podepisování je volitelný krok, který usnadňuje změnu souborů aplikace po vytvoření manifestů.Bez podepsaných manifestů je však obtížné zajistit, aby nebylo s instalačním programem manipulováno při bezpečnostních útocích prostředníkem.Chcete-li aplikaci zabezpečit, doporučujeme vám, abyste podepsali manifesty aplikace a nasazení.

Zóny

Aplikace, které jsou nasazeny pomocí technologie ClickOnce, jsou omezeny na sadu oprávnění a akcí, které jsou definovány zónou zabezpečení.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 uvedena 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 Internetu

Instalace z webu

Zóna Internetu

Instalace ze sdíleného síťového umístění

Zóna Místního intranetu

Instalace 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 tato oprávnění zdědí.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, mohou původní instalace namísto oprávnění plné důvěryhodnosti přijímat oprávnění pro zónu Internetu nebo Intranetu.Chcete-li zabránit v zobrazování výzev uživatelům, může správce systému zadat zásady nasazení technologie ClickOnce, které definují konkrétního vydavatele aplikace jako důvěryhodný zdroj.Pro počítače, na kterých je tato zásada nasazena, budou oprávnění udělena automaticky a uživateli nebude zobrazena žádná výzva.Další informace naleznete v tématu Přehled nasazení důvěryhodných aplikací.Chcete-li konfigurovat nasazení důvěryhodné aplikace, lze certifikát nainstalovat na úrovni počítače nebo podniku.Další informace naleznete v tématu Postupy: Přidání důvěryhodného vydavatele na klientskou stanici pro aplikace ClickOnce.

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

Oprávnění pro aplikaci jsou určena nastavením v prvku <trustInfo> – element (aplikace ClickOnce) manifestu aplikace.Rozhraní Visual Studio automaticky generuje tyto informace na základě nastavení na stránce vlastnosti Zabezpečení projektu.Aplikaci ClickOnce jsou udělena pouze specifická oprávnění, která aplikace požaduje.V případech, kdy například přístup k souborům vyžaduje oprávnění plné důvěryhodnosti, pokud aplikace požaduje oprávnění přístupu k souborům, bude uděleno pouze oprávnění přístupu k souborům, nikoli oprávnění plné důvěryhodnosti.Při vývoji aplikace ClickOnce byste se měli přesvědčit, zda požadujete pouze konkrétní oprávnění, která aplikace potřebuje.Ve většině případů můžete nastavit omezení aplikace na částečnou důvěryhodnost pomocí zóny Internetu a Místního intranetu.Další informace naleznete v tématu Postupy: Nastavení zóny zabezpečení pro aplikaci ClickOnce.Pokud aplikace pož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 aplikaci ClickOnce.

Pokud použijete oprávnění, které není součástí výchozího oprávnění nastaveného pro zónu, ze které je aplikace nasazena, zobrazí se koncovému uživateli při instalaci nebo aktualizaci výzva k udělení oprávnění.Chcete-li zabránit v zobrazování výzev uživatelům, může správce systému zadat zásady nasazení technologie ClickOnce, které definují konkrétního vydavatele aplikace jako důvěryhodný zdroj.Na počítačích, na kterých je tato zásada nasazena, budou oprávnění udělena automaticky a uživateli nebude zobrazena žádná výzva.

Jako vývojář se musíte přesvědčit, zda lze aplikaci spustit i s příslušnými oprávněními.Pokud aplikace po spuštění požádá o oprávnění mimo zónu, může se zobrazit výjimka zabezpečení.Verze Visual Studio umožňuje ladit aplikaci v cílové zóně zabezpečení a poskytuje pomoc při vývoji bezpečný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 technologii ClickOnce naleznete v tématu Zabezpečení přístupu ke kódu pro aplikace ClickOnce.

Certifikáty podepisování kódu

Chcete-li publikovat aplikace pomocí nasazení ClickOnce, můžete podepisovat manifesty aplikace a nasazení pro aplikace pomocí páru veřejného a soukromého klíče.Nástroje pro podepsání manifestu jsou k dispozici na stránce Podepisování v části Návrhář projektu.Další informace naleznete v tématu Stránka Podepisování, návrhář projektu (C#).Manifesty můžete podepsat také pomocí souboru klíče v průběhu procesu publikování pomocí nástroje Publish Wizard.

Po podepsání manifestů jsou informace o vydavateli aplikace založené na signatuře technologie Authenticode zobrazeny uživateli při instalaci v dialogovém okně oprávnění, a to proto, aby uživatel věděl, že aplikace pochází z důvěryhodného zdroje.

Další informace o technologii ClickOnce a certifikátech naleznete v tématu ClickOnce a kód Authenticode.

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

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

Aplikace ClickOnce však nepodporuje ověřování založené na formulářích ASP.NET, protože používá trvalé soubory cookie. Jde o bezpečnostní riziko, protože tyto soubory jsou uloženy v mezipaměti aplikace Internet Explorer a mohou být zneužity.Pokud tedy nasazujete aplikace ClickOnce, není podporován žádný scénář ověřování kromě ověřování systému Windows.

Předávání argumentů

Pokud je nutné do aplikace ClickOnce předávat argumenty, je nutné zvážit další aspekty zabezpečení.Aplikace 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 určených ke spuštění aplikace:

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

Argumenty řetězce dotazu jsou zakázány.Chcete-li je povolit, je nutné nastavit v manifestu nasazení aplikace atribut trustUrlParameters.Tuto hodnotu lze nastavit z řešení Visual Studio a z nástroje MageUI.exe.Podrobné informace o postupu povolení předávání řetězce dotazu naleznete v tématu Postupy: Načtení informací řetězce dotazu do online aplikace ClickOnce.

Nikdy byste neměli předávat argumenty načtené pomocí řetězce dotazu do databáze nebo příkazového řádku bez ověřování argumentů a zajištění jejich bezpečnosti.Nebezpečné argumenty jsou argumenty s řídicími znaky databáze nebo příkazového řádku, které by mohly umožnit uživateli se zlými úmysly manipulaci s aplikací a provádění libovolných příkazů.

[!POZNÁMKA]

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

Nasazení obfuskovaných sestavení

Obfuskací aplikace pomocí nástroje Dotfuscator můžete zabránit ostatním uživatelům ve zpětné analýze kódu.Obfuskace sestavení však není integrována do integrovaného vývojového prostředí sady Visual Studio nebo procesu nasazení technologie ClickOnce.Proto budete muset provést obfuskaci mimo proces nasazení, případně pomocí kroku po sestavení.Po sestavení projektu byste měli následující kroky provést ručně mimo sadu Visual Studio:

  1. Provádění obfuskace pomocí nástroje Dotfuscator.

  2. Pro generování manifestů technologie ClickOnce a jejich podepsání použijte nástroje Mage.exe nebo MageUI.exe.Další informace naleznete v tématu Mage.exe (generování manifestu a nástroj pro úpravy) a MageUI.exe (generování manifestu a nástroj pro úpravy, grafický klient).

  3. Ručně publikujte (zkopí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í ClickOnce