Before I mentioned the option of using application pool isolation/sandboxing. 
I've done up a brief blog post that shows how this works, and how to implement 
it in IIS 7.0

http://www.adopenstatic.com/cs/blogs/ken/archive/2008/01/29/15759.aspx for 
details

IIS 7.0 also allows for remote management using non-Windows accounts (IIS 7.0 
has a concept of IIS users, which don't exist outside IIS). By combining app 
pool isolation with the use of IIS7 user accounts, hosting companies can more 
easily isolate web content for each customer:

- you can still run each web app pool as a low privilege Network Service 
account, but each website's content is isolated/protected from another website
- you can give each customer a IIS-only account for remote 
management/configuration/etc
- this minimises the overhead in NTFS ACL management


Another tip:
IIS 7.0 also supports new kernel mode authentication. This can simplify the SPN 
management process. I'll see if I can get time to write this up too.

Cheers
Ken

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ken Schaefer
Sent: Wednesday, 23 January 2008 6:08 PM
To: focus-ms@securityfocus.com
Subject: RE: FTP on IIS


Now:
There /is/ an option to apply a certain sandboxing feature in IIS 7.0 that not 
many people know about. So I'll toss this in so we're still talking security :-)

Each worker process is injected with an additional SID specific to that app 
pool. The "user name" that the SID corresponds to is the name of the app pool. 
If you check c:\inetpub\temp\apppools and check the NTFS permissions on the 
config file that is generated when you start an app pool, you'll see the 
additional SID.

If you want, you can optionally choose to ACL your web content using that SID 
(i.e. remove Network Service, or whatever your app pool identity is, and using 
icacls.exe or similar to apply read permissions for that dynamic SID).

This makes it an option to host all your app pools using one account (network 
service) yet still sandbox each app pool from the content that every other app 
pool can access. Neat huh?

But this is a manual process, and shouldn't explain what you are seeing.

Cheers
Ken

Reply via email to