13. februar 2006 - 09:43Der er
15 kommentarer og 1 løsning
Hjælp til sikkerhed på IIS 6.0
Jeg har en Windows 2003 Server hvor på jeg køre nogle forskellige domæner. Nu skal jeg så til at hoste et par sider for nogle andre på den server, men i den forbindelse har jeg fundet ud af at jeg har et sikkerhedproblem. Man kan nemlig se alle filerne på min maskine ved hjælp af lidt kode. Hvordan lukker jeg for dette så man kun kan se filerne til det site man har adgang til?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Først kører di Microsoft baseline Analyser der kan downloades gratis fra hjemmesiden Så kører du IIS lockdown tool Herefter fjerner du resten af de unødvendige tjenester og reter de ting analyseren finder til sidst kører du MSBA igen
Man vil ikke få noget ud af at køre IIS LockDown Tool på en IIS6 ;)
"All of the default security-related configuration settings in IIS 6.0 meet or exceed the security configuration settings made by the IIS Lockdown tool. Therefore, you do not need to run this tool on Web servers running IIS 6.0."
Jeg har nu prøvet at køre Microsoft baseline Analyser på min server, den gør så opmærksom på at der på IIS er tiladt parent path, det har jeg så deaktiveret på et af mine sites, men jeg kan stadig se hele filsystemet på serveren fra det site. Hvad er der galt?
Når du skriver: "jeg kan stadig se hele filsystemet på serveren" mener du så at du kan browse dig frem til f.eks. c:\ eller c:\windows\system32 via et web site?
I så fald bør du nok kigge lidt på dine NTFS rettigheder. Har du tilføjet brugeren IUSR_SERVERNAVN til nogle grupper på serveren?
Det sikreste er nok at oprette en bruger til hvert website, og så lægge alle dine brugere i en gruppe der f.eks hedder "websites".
Websites tildeles rettigheder til at se filer indtil den mappe dine websites ligger i, her fjerner du nedarvning af sikkerhedsindstillinger, og tildeler de respektive websitebrugere rettigheder til kun at se deres egne mapper
Det hjælper ikke at disable parent path, når man bare kan skrive "c:\"
hmm ikke så læsevenligt at kalde gruppen for "websites" :-)
Det sikreste er nok at oprette en bruger til hvert website, og så lægge alle dine brugere i en gruppe der f.eks hedder "MyWebsiteUsers".
"MyWebsiteUsers" tildeles rettigheder til at se filer indtil den mappe dine websites ligger i, her fjerner du nedarvning af sikkerhedsindstillinger, og tildeler de respektive websitebrugere rettigheder til kun at se deres egne mapper.
Hvis du kan browse hele filsystemet med aspadmin, så må du jo fjerne iusr_maskinnavn fra de mapper hvor brugeren ikke skal have adgang. Hvis det er asp.net kode der er problemer med , skal du også kigge på aspnet brugeren
En mulig forklaring: Brugeren IUSR_SERVERNAVN er som standard medlem af gruppen "Guests". Den gruppe har som standard de samme rettigheder som gruppen "Users". Gruppen "Users" har som standard "List" og "Read" rettigheder på langt det meste af harddisken - selv Windows folderen, og muligvis derfor kan man gøre det.
Jeg prøvede at lave en test på en IIS6 hvor jeg fjernede "Users" gruppen fra NTFS rettighederne - så kunne dit script ikke komme ind i folderen, og fjerner man "Users" gruppen helt fra roden, så burde du slet ikke kunne komme længere ud end det web site som scriptet køres fra.
Jeg har valgt at bruge -mundi- kommentar med at oprette en bruger for hver website, så håber jeg at sikkerhed er i top. Tak til alle for jeres deltagelse!
-mundi- smid et svar så smider jeg nogle point i din retning.:-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.