webForumDet fria alternativet

Säkerhet

11 svar · 330 visningar · startad av kristoffer

kristofferMedlem sedan juni 20001 257 inlägg
#1

Jag är lite osäker inför lansering av vårt ASP.NET-projekt. Finns det något särskilt jag skall tänka på? Finns det kända säkerhetshål? Hela dotnet-plattformen känns ju väldigt genomtänkt, så det borde ju inte vara några större problem, men har ni stött på något trubbel med skarpa siter?

developerMedlem sedan aug. 2001458 inlägg
#2

Se till att ha SP1 av .Net framework installerat.

Sen gäller förstås de vanliga reglerna för IIS:en om att du ska patcha och begränsa rättigheter etc. Många bra artiklar finns att nå från: http://support.microsoft.com/default.aspx?xmlid=fh%3BEN-US%3Biis50

Var beredd på att asp.net slutar fungera om du kört IIS lockdown tool (vilket ändå rekommenderas). Läs kb-artiklarna om visual studio.net som refereras i http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q325864

Onödig kommentar kanske, men jag skulle absolut rekommendera att du provar detta på en ren maskin för att när det sedan fungerar applicera din kunskap på den skarpa siten.

Ett annat tips är att utnyttja CAS (code access security) som finns i .net., se http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconintroductiontocodeaccesssecurity.asp

Börja med inga rättigheter alls för din kod. Behöver du exempelvis läsa från hårddisken på ett visst ställe kan du konfigurera det assemblyts rättigheter att göra det. Om du aldrig behöver läsa från hårddisken finns ingen anledning till att möjligheten ska finnas, isåfall kommer frameworket generera ett security-exception om man ändå försöker (pga exempelvis en bug i din kod som möjliggör detta).

CAS är dock ganska tungt att komma in i. Om du inte hållt på med det förut rekommenderar jag starkt att du gör ett testprogram (bara ett enkelt console-program). Sedan kan du försöka läsa från disken, och prova mscorcfg.msc eller caspol.exe för att sätta olika rättigheter i katalogen ditt testprogram körs. Jag tycker du ska lära dig det från grunden innan du börjar med det i dina skarpa siter. Det går att göra en säker site utan att bry sig om CAS, men det kan ändå vara värt att införa för att gardera sina egna misstag i programmeringen.

kristofferMedlem sedan juni 20001 257 inlägg
#3

Det var bra tips. Tack för dem, nu har jag en hel del att sätta mig in i.

fredrikMedlem sedan dec. 19991 072 inlägg
#4

Nu när det ändå pratas rättigheter...

Vilka rättigheter måste eg. aspnet-användaren ha?

När vi skulle lägga ut aspx sidor på ett webhotell så var de tvugna att sätta fullständiga rättigheter på hela enheten för att det skulle fungera...

Fick annars ett felmeddelande om typ:
"Could not start monitoring directory-changes"
eller nåt...

Nån som vet?

GrynetMedlem sedan maj 2001329 inlägg
developerMedlem sedan aug. 2001458 inlägg
#6

fredrik, du tänker nog på: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q316721

fredrikMedlem sedan dec. 19991 072 inlägg
#7

Japp, det stämmer! Då ska det alltså räcka med access på själva web-sajten...har för mig att vi fick sätta det på hela enheten...men men, gjorde säkert nåt fel då!

Tack!

developerMedlem sedan aug. 2001458 inlägg
#8

Rättelse, SP2 är det som gäller: http://www.microsoft.com/downloads/release.asp?ReleaseID=40934

kristofferMedlem sedan juni 20001 257 inlägg
#9

Minsann. Den kom idag.

PatrikBMedlem sedan mars 20002 836 inlägg
#10

Liite sent svar, men har för mig att .NET skapar ett par temporära filer som lägger sig i C:\temp vilket gör att ASP.NET kontot även måste ha rätt rättigheter där oxå

cya,
PatrikB

GrynetMedlem sedan maj 2001329 inlägg
#11

%temp% för att vara exakt :h

PatrikBMedlem sedan mars 20002 836 inlägg
#12

Jepp :r

cya,
PatrikB

131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)