none
IIS Application Pool Isolation RRS feed

  • Frage

  • Hallo,

    Ich habe Probleme unter IIS 8.5 (W Server 2012 R2) die AppPool Isolation durchzuführen:

    • Pool: xyz
    • Identität: ApplicationPoolIdenity
    • Anonyme Authentifizierung: Identiät des Anwendungspools
    • Windows-Prozess: w3wp.exe läuft unter "xyz" (Task-Manager > Details > Benutzername > "xyz")
    • Ordner F:\xyz > Zugriffsrechte: IIS AppPool\xyz, Administratoren (WEBSERVER\Administrator), Benutzer (WEBSERVER\Benutzer), ERSTELLER-BESITZER und SYSTEM
    • Ordner F:\abc > Zugriffsrechte: Administratoren (WEBSERVER\Administrator), Benutzer (WEBSERVER\Benutzer), ERSTELLER-BESITZER und SYSTEM

    Ich starte im Browser meine Anwendung "www.xyz.com" und habe dort folgenden Code:

            Dim Ordner As New System.IO.DirectoryInfo("F:\abc\")
            Dim Files As System.IO.FileInfo() = Ordner.GetFiles("*.*", SearchOption.AllDirectories)
    
            For i As Integer = 0 To Files.Length - 1
                Response.Write(Files(i).Name + vbCrLf + vbCrLf)
            Next

    Jetzt kann ich mit der Anwendung "xyz" auf alle Dateien aus dem Ordner "abc" zugreifen, obwohl der User "IIS AppPool\xyz" auf den Ordner "abc" keinen Zugriff hat.

    Laut "Proffesional IIS8 von Ken Schaefer" (bzw. http://www.adopenstatic.com/cs/blogs/ken/archive/2008/01/29/15759.aspx) sollte man entweder "Network Service" oder "ApplicationPoolIdentiy" verwenden, und laut http://blog.csnc.ch/2013/01/iis-7-5-service-accounts-file-system-audits/ sollte man nurmehr ApplicationPoolIdentiy verwenden, sowie http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil-3.aspx.

    Meiner Meinung nach habe ich das getan...

    Was ich nicht verstehe: sobald ich den Pool, wie oben beschrieben, erstellt habe und die Webseite raufkopiere, dann kann ich mit SYSTEM.IO. auf alle Dateien (auch auf C:\) zugreifen. Daher ich vermute ich einmal, dass der "IIS AppPool\xyz" User in einer Gruppe mit entsprechenden Rechten ist.

    Allerdings wird das von mir beschriebene Problem nirgendswo erwähnt, es steht auch ledeglich nur, dass der User "IIS AppPool\ApplictionPoolIdentiy" Zugriffsrechte braucht, und nicht dass man vorher irgendwelche Rechte entfernen muss. Bei mir hat der "IIS AppPool\ApplicationPoolIdentiy" - User scheinbar generell Zugriff.

    Also wenn ich es richtig verstanden habe, sollte der Pool eigentlich nirgendswo Zugriff haben, nur dort wo ich Explizit die Rechte freigebe...

    MfG,
    Domsi



    • Bearbeitet Domsik Samstag, 18. Oktober 2014 10:51
    Samstag, 18. Oktober 2014 10:48

Alle Antworten

  • Eines konnte ich bisher herrausfinden. Der "IIS AppPool\ApplicationPoolIdentity" gehört zur Gruppe der "USER". Nachdem auf F: folgende Freigabe hatte: "WEBSERVER\Benutzer", hatte auch der "IIS AppPool\xyz" überall auf F: Zugriff.

    Ok jetzt habe ich auf dem gesamte Volume F: die Berechtigung für "WEBSERVER\Benutzer" entzogen. Jetzt kann jeder Pool am Laufwerk F: nur auf diejenigen Dateien zugreifen, die ich explizit freigegben habe. Also "IIS AppPool\xyz" kann NICHT auf F:\abc zugreifen, aber auf "F:\xyz".

    Wie sieht das nun mit C: aus? Ich kann ja nicht pauschal der ganzen Festplatte C: die Rechte für "WEBSERVER\Benutzer" entziehen (was ja auch gar nicht möglich ist), oder verzichtet ihr einfach darauf und lässt dem AppPool-User einfach überall auf C: zugreifen (wenn es auch nur lesend ist)?

    LG,
    Domsi


    • Bearbeitet Domsik Samstag, 18. Oktober 2014 14:01
    Samstag, 18. Oktober 2014 14:00