webForumDet fria alternativet

Sista frågan innan det installeras

.NET

3 svar · 261 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

JAg är på G att installera .NET men har lite frågor!

Efter att ha installerat det på en testserver hemma så verkar det fungera, men plötsligt har man lite nya alternativ i "Administrative tools" Vad behöver man göra där? Nått man behöver ändra på för säkerhet mm eller är det bara installera o köra? Jag är mycket noga med säkerheten som ni har förstått, nått jag måste tänka på?

Medlem sedan aug. 2001458 inlägg
#2

De nya alternativen du får i admin tools är till för att konfigurera CAS (Code Access Security), som handlar om vilka rättigheter ett ".Net assembly" (typ .dll eller .exe) har. Det finns exempelvis olika zoner där assemblies har olika rättigheter (MyComputer, Internet etc.). Sen kan du låta olika assemblies göra olika saker.

Om man vet att ett assembly bara kommer att faktorisera tal, finns det ju ingen anledning att låta det assemblyt accessa registry, läsa environment-variabler, öppna sockets etc och då låser man med CAS det assemblyts rättigheter. Om sedan nån lyckas hacka sig in i assemblyt spärrar CAS ändå så att inkräktaren inte kan koppla upp sig mot nätverket och skicka iväg känsligt data.

Efter att ha installerat .Net framework är i princip allt som tidigare, men du kan alltså begränsa säkerheten med hjälp av de nya alternativen i admin tools. Det finns två verktyg du använder, dels det grafiska "mscorcfg.msc", sen det command-line baserade "caspol.exe".

Med CAS i botten kan man enkelt låta okänd kod exekvera på en godtycklig maskin. Exempelvis kan man sätta upp en tjänst som hostar .net web services och låta "vem som helst" köra sin kod där. Eftersom man begränsar vad "vem som helst" kan göra vet man att de inte kan ställa till med elakheter.

Microsoft har gjort ett ganska roligt exempel för att visa CAS som heter Terrarium (http://gotdotnet.com/terrarium). Det handlar om att programmera sina egna djur som lever i ett eko-system tillsammans med djur från andra programmerare. Dessa djur kommer sedan att köras på andras datorer, och då garanterar man med CAS att djuren inte kan göra saker som att läsa från filsystemet, registry etc utan det skulle bara resultera i ett SecurityException.

Läs mer om CAS på MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcodeaccesssecurity.asp

http://msdn.microsoft.com/msdnmag/issues/02/06/Rich/Rich.asp

Medlem sedan jan. 20013 341 inlägg
#3

Men hur är grundinställningarna?

Medlem sedan aug. 2001458 inlägg
#4

Om du läser artiklarna och tittar i caspol ser du allt detta.

Exempelvis kan du göra allt med .net program som du kör från din egen hårddisk, men ett program du startar lokalt på din dator från en nätverks-drive kommer bl a inte kunna läsa/skriva registry eller filer.

Kör mscorcfg.msc, välj "runtime security policy", "machine", "code groups", "all code".

Om du där tittar på "localintranet_zone" och klickar på "edit code group properties" ser du i fliken "permission set" vad ett program som körs från intranätet får göra (permissions LocalIntranet). Allt annat kommer kasta SecurityException.
Titta även på "my_computer_zone", och notera att där används FullTrust, som förstås innebär att allt är tillåtet.

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)