Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the security effects of giving the IIS_IUSRS a Full Control permission?

What are the the security effects of giving the IIS_IUSRS a Full Control permission on the root folder of ASP.NET websites?

Why can't I give the full control permission to IUSR only, which is part of IIS_IUSER group?

Any answer clarifies this conflict, is really appreciated.

like image 577
Alaa Avatar asked Apr 27 '14 06:04

Alaa


People also ask

What's default permissions for IIS_IUSRS?

Under the Security tab, you will see MACHINE_NAME\IIS_IUSRS is listed. This means that IIS automatically has read-only permission on the directory (e.g. to run ASP.Net in the site).

What are IIS_IUSRS?

IIS_IUSRS is the group for IIS Worker Process Accounts. This means the identity that the application pool itself runs under. IUSR is the anonymous user identity. That means the identity that IIS believes to be the user who is accessing the site.


2 Answers

It is easy to confuse IUSR and IIS_IUSRS because of their names but these are two different things:

  1. IIS_IUSRS is the group for IIS Worker Process Accounts. This means the identity that the application pool itself runs under.
  2. IUSR is the anonymous user identity. That means the identity that IIS believes to be the user who is accessing the site. This user is not a member of the IIS_IUSRS group by default.

In IIS 7.0, a built-in account (IUSR) replaces the IUSR_MachineName account. Additionally, a group that is named IIS_IUSRS replaces the IIS_WPG group. [...] The IUSR account resembles a network or local service account. The IUSR_MachineName account is created and used only when the FTP 6 server that is included on the Windows Server 2008 DVD is installed. If the FTP 6 server is not installed, the account is not created. http://support.microsoft.com/kb/981949

IIS_IUSRS is a built-in group has access to all the necessary file and system resources so that an account, when added to this group, can seamlessly act as an application pool identity.

Read similar thread which explains why giving an access to IIS_IUSRS has different effect than giving same access to IUSR:

Here is a good documentation about groups and users used in IIS 7.

By default, IIS_IUSRS has only read & execute (and as a result list folder contents) permissions on the wwwroot. The full control might be too much.

like image 51
user2316116 Avatar answered Oct 08 '22 21:10

user2316116


Imagine a website that allows users to upload arbitrary files, that has a bug which causes such files to be saved in the application directory.

In this case, an attacker can upload an aspx file with arbitrary code, overwrite your web.config file, etc.

Far better to give readonly access to the root folder, and only give full control to specific folders that you know won't contain executable code, for example subfolders of App_Data.

like image 31
Joe Avatar answered Oct 08 '22 22:10

Joe