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