WickmarkMedlem sedan juli 2003162 inlägg Hej!
Jag har programmerat ett större webadministrationsprogram för en webserver. Jag har dock under min utvecklingsprocess kommit fram till en säkerhetsbugg samt ett problem!
Säkerhetsbuggen är föjande:
- Det går att komma åt vilken mapp som helst på servern via ett enkelt filsystem i PHP eller i ASP.
Det andra problemet är följande:
- Man måste sätta på full rättighet för obehöriga för att kunna göra något i huvudtaget!
Frågor:
- Hur förhindrar man åtkomst med hjälp Scripting.FileSystemObject?
- Går det att förhindra all åtkomst till serverns mappar för precis alla med undantag den mapp som min applikation innehåller?
- ... om det inte går, måste jag skriva om hela systemet till ett FTP system?
Webserver OS:
Microsoft Server 2003
OveRRidEMedlem sedan feb. 200112 078 inlägg
Wickmark skrev:
Säkerhetsbuggen är föjande:
- Det går att komma åt vilken mapp som helst på servern via ett enkelt filsystem i PHP eller i ASP.
Detta är ju under förutsättning att den person som vill göra intrång har rättigheter att ladda upp script som denne får exekvera själv. Men, ja, så fungerar det i regel, iallafall på Windowsplattformen som standard. Det finns dock ett antal åtgärder man kan ta givetvis.
Det finns en registerinställning för att stänga av åtkomsten till Scripting.Filesystemobject, men jag kommer inte ihåg den nu på rak arm. Jag skall försöka leta upp den. Den gäller dock över hela maskinen, oavsett sajt eller användare, så den är väl lite väl i stil med att skjuta haubits efter knott.
Jag skulle kunna gissa att du fortfarande har t.ex. IUSR_SERVERNAMN som användare som exekverar alla scripts på din sajt? Se till att antingen sätta rättigheter på detta konto, t.ex. rättigheter enbart på den mapp där applikationen exekverar filer eller jobbar mot disk, eller mappa upp nya konton för varje sajt (om du har fler) där varje konto har rättigheter enbart där de behöver, och ingen annanstans. Annars är du, som sagt, ganska körd. Jag vet faktiskt inte exakt hur förfarandet i administrationsgränsnittet ser ut i Windows 2003 kring IIS'en, men det borde vara liknande som i 2000.
Man måste sätta på full rättighet för obehöriga för att kunna göra något i huvudtaget!
Hrm. Vilka, var och varför?
WickmarkMedlem sedan juli 2003162 inlägg Jag är inte helt insatt i IIS då jag egentligen endast ska ta hand om de webbapplikationer servern fordrar, men då serverägaren inte har tillgång till servern speciellt ofta i dagsläget, så får jag helt enkelt hålla den uppe.
Ja, vi använder fortfarande IUSR_SERVER (SERVER heter servern :S) som ett anonymt login.

Det där står på hela rooten & på alla användarna
Hur gör man när man ska skapa nya användarnamn? Hur ställer man in privilegier?
Tack så mycket för ditt snabba svar!
WickmarkMedlem sedan juli 2003162 inlägg Hittade en onlineguide!
http://www.visualwin.com/New-User/
Tror du man kan lösa pr oblemet via det sättet?
OveRRidEMedlem sedan feb. 200112 078 inlägg
Wickmark skrev:
Hittade en onlineguide!
http://www.visualwin.com/New-User/
Tror du man kan lösa pr oblemet via det sättet?
Du har inget annat val om du tillåter dina användare att ladda upp egna script-filer, såvida du inte stänger av FSO helt och hållet på hela maskinen.
Ponera din webbrot;
/wwwroot
/wwwroot/kund1
/wwwroot/kund1/html
/wwwroot/kund1/db (virtual)
/wwwroot/kund1/nymapp/
/wwwroot/kund1/nymapp/nymapp2
/wwwroot/kund2
/wwwroot/kund2/html
/wwwroot/kund2/db (virtual)
/wwwroot/kund2/nymapp/
/wwwroot/kund2/nymapp/nymapp2
Kund1 (och tillika sajt1), skall ha ett eget NT-konto. Kund2 skall också ha ett, osv osv. Rättigheterna för respektive konto går aldrig längre bak än deras kundmapp, men däremot ärvs rättigheterna neråt i deras struktur. På så vis kan inte användaren exekvera script som opererar utanför deras hemkatalog, eftersom användaren som deras sajt körs på (t.ex. IUSREX_KUND1), inte har rättigheter någon annanstans.
Det kan dock vara lite krångligt att få det där att fungera, vet jag enligt erfarenhet.
WickmarkMedlem sedan juli 2003162 inlägg
OveRRidE skrev:
Wickmark skrev:
Hittade en onlineguide!
http://www.visualwin.com/New-User/
Tror du man kan lösa pr oblemet via det sättet?
Du har inget annat val om du tillåter dina användare att ladda upp egna script-filer, såvida du inte stänger av FSO helt och hållet på hela maskinen.
Ponera din webbrot;
/wwwroot
/wwwroot/kund1
/wwwroot/kund1/html
/wwwroot/kund1/db (virtual)
/wwwroot/kund1/nymapp/
/wwwroot/kund1/nymapp/nymapp2
/wwwroot/kund2
/wwwroot/kund2/html
/wwwroot/kund2/db (virtual)
/wwwroot/kund2/nymapp/
/wwwroot/kund2/nymapp/nymapp2
Kund1 (och tillika sajt1), skall ha ett eget NT-konto. Kund2 skall också ha ett, osv osv. Rättigheterna för respektive konto går aldrig längre bak än deras kundmapp, men däremot ärvs rättigheterna neråt i deras struktur. På så vis kan inte användaren exekvera script som opererar utanför deras hemkatalog, eftersom användaren som deras sajt körs på (t.ex. IUSREX_KUND1), inte har rättigheter någon annanstans.
Det kan dock vara lite krångligt att få det där att fungera, vet jag enligt erfarenhet.
Finns det någon bra guide man kan läsa? Den där guiden jag hittade verkade inte handla om nätanvändare.