Udostępnij za pośrednictwem


Zabezpieczanie ClickOnce aplikacji

ClickOnceaplikacje są przedmiotem ograniczeń zabezpieczeń dostępu kodu w.NET Framework, ograniczyć dostęp do kodu ma do chronionych zasobów i operacji.Z tego powodu jest ważne, że rozumiesz skutki kodu zabezpieczeń dostępu do zapisu na ClickOnce aplikacji odpowiednio.Aplikacji można użyć pełnego zaufania lub częściowego stref, takich jak strefy Internet i Intranet ograniczyć dostęp.

Ponadto ClickOnce używa certyfikatów, aby zweryfikować autentyczność wydawcy aplikacji i do podpisania, stosowania i wdrażania manifesty udowodnić, że pliki nie została sfałszowana.Podpisywanie jest opcjonalny, który ułatwia zmienianie plików aplikacji po wygenerowaniu manifestów.Jednakże bez podpisane manifestów jest trudne do zapewnienia, że Instalator aplikacji nie jest modyfikowany w atakami man-in--middle.Z tego powodu zaleca się podpisania aplikacji i wdrażania manifesty do zabezpieczania aplikacji.

Strefy

Aplikacje, które są wdrażane za pomocą ClickOnce technologii są ograniczone do zestawu uprawnień i akcje, które są definiowane przez strefy zabezpieczeń.Strefy zabezpieczeń są zdefiniowane w programie Internet Explorer i są oparte na lokalizację aplikacji.W poniższej tabeli przedstawiono domyślne uprawnienia na podstawie lokalizacji wdrażania:

Lokalizacja wdrażania

Strefy zabezpieczeń

Uruchom z sieci Web

Strefa Internet

Instalowanie z sieci Web

Strefa Internet

Instalowanie z udziału sieciowego

Strefa Lokalny Intranet

Zainstalować z dysku CD

Pełne zaufanie

Uprawnienia domyślne są oparte na lokalizację, z której został wdrożony oryginalnej wersji aplikacji; aktualizacji do aplikacji będzie dziedziczyć te uprawnienia.Jeśli aplikacja jest skonfigurowana do wyboru aktualizacji z sieci Web lub lokalizacji i nowsza wersja jest dostępna, oryginalnej instalacji można otrzymać uprawnienia dla strefy Internet lub Intranet zamiast uprawnień pełnego zaufania.Aby zapobiec monitowaniu użytkowników, Administrator systemu można określić zasad wdrażania ClickOnce, który definiuje wydawcy określonej aplikacji jako zaufanego źródła.Dla komputerów, na których ta zasada jest rozmieszczana uprawnienia są udzielane automatycznie, a użytkownik nie będzie monitowany.Aby uzyskać więcej informacji, zobacz Omówienie rozmieszczania aplikacji zaufanych.Do skonfigurowania rozmieszczenia zaufanych aplikacji, można zainstalować certyfikat poziom maszyny lub enterprise.Aby uzyskać więcej informacji, zobacz Jak: dodawać zaufanych wydawców na komputerze klienckim dla aplikacji ClickOnce.

Zasady zabezpieczeń dostępu kodu

Uprawnienia dla aplikacji są określane przez ustawienia w <trustInfo> Element (ClickOnce aplikacji) element manifest aplikacji.Visual Studioautomatycznie generuje te informacje, na podstawie ustawień w projekcie zabezpieczeń stronę właściwości.A ClickOnce aplikacji jest przyznawane tylko określone uprawnienia, które żąda.Na przykład w przypadku, gdy dostęp do pliku wymaga uprawnienia pełnego zaufania, jeśli aplikacja żąda uprawnienia dostępu do plików, go będą tylko mieć uprawnienie dostępu do plików, uprawnienia nie pełnego zaufania.Podczas opracowywania programu ClickOnce aplikacji, należy się upewnić że żądania tylko określone uprawnienia wymagane przez aplikację. W większości przypadków można użyć strefy Internet lub lokalny Intranet, ograniczenie stosowania, do częściowej relacji zaufania.Aby uzyskać więcej informacji, zobacz Jak: Ustawianie strefy zabezpieczeń dla aplikacji ClickOnce.Jeśli aplikacja wymaga uprawnienia niestandardowe, można utworzyć niestandardowy strefy.Aby uzyskać więcej informacji, zobacz Jak: Ustaw uprawnienia niestandardowe dla aplikacji ClickOnce.

W tym uprawnień, który nie jest częścią domyślnie zestawu uprawnień dla strefy, z którego aplikacja jest rozmieszczana spowoduje, że użytkownikowi monit o zezwolenie na instalację lub Aktualizuj czas.Aby zapobiec monitowaniu użytkowników, administrator systemu można określić zasady wdrażania ClickOnce, definiujący wydawcy określonej aplikacji jako zaufanego źródła.Na komputerach, na których ta zasada jest wdrażane uprawnienia będą udzielane automatycznie, a użytkownik nie będzie monitowany.

Jako projektant jest obowiązek upewnić się, że aplikacja będzie działać z odpowiednimi uprawnieniami.Jeśli aplikacja żąda uprawnienia, poza strefę w czasie wykonywania, może pojawić się wyjątek zabezpieczeń.Visual StudioUmożliwia debugowanie aplikacji docelowej strefy zabezpieczeń. oraz pomoc w tworzeniu bezpiecznych aplikacji.Aby uzyskać więcej informacji, zobacz Jak: debugowanie aplikacji ClickOnce z ograniczonymi uprawnieniami.

Aby uzyskać więcej informacji na temat zabezpieczeń dostępu kodu i ClickOnce, zobacz Zabezpieczenie dostępu do kodu dla aplikacji ClickOnce.

Certyfikaty podpisywania kodu

Publikowanie aplikacji za pomocą ClickOnce wdrażania, manifesty aplikacji i wdrażania aplikacji można podpisywać za pomocą pary kluczy publicznych i prywatnych.Narzędzia do podpisywania manifestu są dostępne w Podpisywanie stronę Project Designer.Aby uzyskać więcej informacji, zobacz Podpisywanie strony, Projektant projektu.Alternatywnie, można podpisać manifestów z pliku klucza podczas procesu publikowania za pomocą Publish Wizard.

Po manifesty są podpisane, podpisu Authenticode na podstawie informacji o wydawcy będą wyświetlane w oknie dialogowym uprawnienia użytkownika, podczas instalacji, aby wyświetlić informacje, że aplikacja pochodzi z zaufanego źródła.

Aby uzyskać więcej informacji o ClickOnce i certyfikatach, zobacz ClickOnce oraz Authenticode.

ASP.NET uwierzytelnianie oparte na formularzu

Jeśli chcesz kontrolować wdrożeń, które każdy użytkownik może uzyskać dostęp, nie należy włączać dostęp anonimowy do ClickOnce aplikacji wdrożonych na serwerze sieci Web.Raczej umożliwiłoby użytkownikom dostęp do wdrożenia, zainstalowaną na podstawie tożsamości użytkownika za pomocą uwierzytelniania systemu Windows.

ClickOncenie obsługuje stron ASP.NET uwierzytelnianie oparte na formularzach, ponieważ używa on trwałe pliki cookie; te stanowi zagrożenie bezpieczeństwa, ponieważ znajdują się w pamięci podręcznej programu Internet Explorer i może być naruszony przez hakera.Dlatego w przypadku rozmieszczania ClickOnce aplikacji, każdy scenariusz uwierzytelniania, oprócz uwierzytelniania systemu Windows nie jest obsługiwany.

Przekazywanie argumentów

Rozważenia dodatkowych zabezpieczeń występuje wtedy, gdy trzeba przekazywać argumenty do ClickOnce aplikacji.ClickOnceUmożliwia deweloperom podać ciąg kwerendy do aplikacji wdrożonych w sieci Web.Ciąg kwerendy ma postać serii par nazwa wartość, na końcu adresu URL używane do uruchamiania aplikacji:

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

Domyślnie argumenty ciągu kwerendy są wyłączone.Aby umożliwić im atrybutu trustUrlParameters musi być ustawiona w manifeście wdrażania aplikacji.Wartość tę można ustawić na Visual Studio i MageUI.exe.Szczegółowe kroki dotyczące włączania przekazywania kwerendy ciągów, zobacz Jak: pobieranie informacji ciąg kwerendy w aplikacji Online ClickOnce.

Nigdy nie należy przekazywać argumenty pobranych za pośrednictwem ciąg kwerendy do bazy danych lub w wierszu polecenia bez argumentów, aby upewnić się, że są one bezpieczne i sprawdzania.Argumenty niebezpieczne są te, które zawierają znaki escape bazy danych lub wiersza polecenia umożliwiające złośliwemu użytkownikowi manipulowanie aplikację na wykonywanie poleceń dowolnego.

[!UWAGA]

Argumenty ciągu kwerendy są jedynym sposobem przekazywać argumenty do ClickOnce podczas uruchamiania aplikacji.Nie można przekazywać argumenty do ClickOnce aplikacji z wiersza polecenia.

Wdrażanie mylącą zespoły

Warto zasłaniają aplikacji za pomocą Dotfuscator, aby uniemożliwić innym użytkownikom odtwarzania kodu.Zaciemniania zestawu nie jest zintegrowany w programie Visual Studio IDE lub proces wdrażania ClickOnce.Dlatego trzeba będzie wykonać zaciemniania poza z procesu wdrażania prawdopodobnie za pomocą post-build krok.Po zbudowaniu projektu czy ręcznie, wykonaj następujące czynności, poza programu Visual Studio:

  1. Wykonać żart fałszerstwo przy użyciu Dotfuscator.

  2. Użyj Mage.exe lub MageUI.exe do generowania manifestów ClickOnce i ich podpisania.Aby uzyskać więcej informacji, zobacz Mage.exe (manifestu generacji i narzędzia do edycji) i MageUI.exe (manifestu generacji i edycji narzędzia graficzne klienta).

  3. Ręczne publikowanie (kopię) plików do rozmieszczenia źródła lokalizację (serwer sieci Web, udziale UNC lub CD-ROM).

Zobacz też

Koncepcje

ClickOnce zabezpieczeń i wdrażania

Wybór strategii rozmieszczania

Wybór strategii wdrażania ClickOnce