70-536: Understanding CAS

Poniższy artykuł pochodzi z serii Przygotowań do egzaminu 70-536.

CAS (Code access security) to system zabezpieczeń, który pozwala zarządzać dostępem programów do zasobów systemowych. Jest to system dający znacznie więcej możliwości konfiguracji, niż standardowe zarządzanie rolami (RBS, role-based security). Możemy np. określić, czy dana aplikacja może wysyłać zapytania do Internetu, czy otwierać pliki lokalne. Niestety mechanizm ograniczony jest do aplikacji zarządzanych (ang. managed) .NET Framework, pozostałe ograniczone są tylko przez uprawnienia systemu operacyjnego, które dotyczą także aplikacji z CAS.

CasPol.exe (%Windir%\Microsoft.NET\Framework\v2.0.50727\CasPol.exe) to narzędzie pozwalające kontrolować niemal każdy aspekt CAS. Udostępnia wiele opcji, jednak wyłącznie z wiersza poleceń.

Uwaga: Większość materiałów na ten temat odnosiła się do przystawki Mscorcfg.msc, której nie znalazłem w swoim systemie. Nie znalazłem też żadnego opisu jak ją dodać.

Składniki CAS

  • Evidence – identyfikuje program, może to być ścieżka aplikacji, wyliczony hash, czy sygnatura aplikacji. Typy można przejrzeć we wpisie Evidence. Przykładowo Zone jest oparty na lokalizacji, z której aplikacja została uruchomiona, Hash to sygnatura wygenerowana z aplikacji. Niektóre sposoby identyfikacji wymagają podpisania aplikacji – są to przykładowo Strong Name i Publisher.
  • Permissions – określają, do których zasobów aplikacja ma dostęp. Listę znajdziemy np. we wpisie CAS Code Permissions. Możemy aplikacji nie zezwolić na obsługę gniazd (ang. socket) – SocketPermission, wykonywać zapytań DNS – DnsPermission, czy wykonywać żądań HTTP do serwerów Web – WebPermission.
  • Permission sets – grupują zbiory uprawnień (minimalnie jedno). Przykłady wbudowanych zbiorów - Named Permission Sets.
  • Code groups – przypisują zbiory uprawnień do programów na podstawie evidence.  Lista grup - Default Security Policy. My_Computer_Zone korzysta ze zbioru uprawnień FullTrust i daje wysoki poziom uprawnień, LocalIntranet_Zone korzysta z LocalIntranet, Internet_Zone - Internet, czyli dość restrykcyjny zbiór uprawnień, Restricted_ZoneNothing, który nie daje żadnych uprawnień, jest najbardziej restrykcyjny. Przykład utworzenia:
  •    1: caspol –addgroup 1.1. –zone Intranet Everything –name "Intranet_CG"
  • Security Policy – zarządzanie na najwyższym poziomie. Przykład dodania grupy User_Code_Group do polityki zabezpieczeń użytkownika All_Code:
  •    1: CasPol -user -addgroup All_Code -site www.contoso.com FullTrust -name "User_Code_Group"

CAS a uprawnienia systemowe

Mechanizm CAS nie zastępuje nam uprawnień systemowych, nie może nam pozwolić na więcej, niż sam system i związane z nim uprawnienia. Nawet jeśli uruchomimy aplikację w grupie, która nada mu zbiór uprawnień FullTrust, a konto użytkownika ma prawo tylko do odczyty, to nie możemy zapisać, usunąć, czy zmienić uprawnień pliku. Najlepiej ilustruje to poniższy rysunek.

image

Kolejny artykuł z serii to 70-536: Using Declarative Security to Protect Assemblies

Tagi: ,

Comments (2) -

KeicaM
KeicaM Poland
12/29/2009 9:52:25 PM Permalink

To run Mscorcfg.msc from the Microsoft Management Console

Start the Microsoft Management Console by typing the following at a command prompt: mmc.

On the File menu, click Add/Remove Snap-in (or press CTRL+M) to display the Add/Remove Snap-in dialog box.

In the Add/Remove Snap-in dialog box, click Add to display the Add Standalone Snap-in dialog box.

In the Add Standalone Snap-in dialog box, select a version of the .NET Framework Configuration tool, and then click Add.

http://msdn.microsoft.com/en-us/library/2bc0cxhc(VS.80).aspx

kml
kml Poland
1/1/2010 11:52:37 AM Permalink

@KeicaM: A próbowałeś to zrobić? Ja w swoim Windows 7 Pro PL nie mam mam takiej opcji, a przynajmniej jej nie znalazłem. W katalogu frameworka też nie ma pliku Mscorcfg.msc.

Pingbacks and trackbacks (2)+

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


Eastgroup.pl na facebooku