ApplicationPoolIdentity
назначается членство в группе Users
, а также в группе IIS_IUSRS
.На первый взгляд это может показаться несколько тревожным, однако группа Users
имеет несколько ограниченные права NTFS.
Например, если вы попытаетесь создать папку в папке C:\Windows
, вы обнаружите, что выне может.ApplicationPoolIdentity
все еще должен иметь возможность читать файлы из системных папок Windows (в противном случае рабочий процесс мог бы динамически загружать необходимые библиотеки DLL).
Что касается ваших наблюдений о возможности записив вашу папку c:\dump
.Если вы посмотрите на разрешения в разделе «Дополнительные параметры безопасности», вы увидите следующее:
См., Что Специальное разрешение наследуется от c:\
:
По этой причине ApplicationPoolIdentity
вашего сайта может читать и записывать в эту папку.Это право наследуется от диска c:\
.
В общей среде, где у вас может быть несколько сотен сайтов, каждый со своим собственным пулом приложений и идентификатором пула приложений, вы будете хранить папки сайта в папке.или том, для которого была удалена группа Users
, а права доступа установлены так, что только администраторы и учетная запись SYSTEM имеют доступ (с наследованием).
Затем вы должны были бы индивидуально назначить необходимые разрешения, которые требуются для каждого IIS AppPool\[name]
.это корневая папка сайта.
Вы также должны убедиться, что во всех папках, которые вы создаете, где хранятся потенциально важные файлы или данные, удалена группа Users
.Вам также следует убедиться, что любые приложения, которые вы устанавливаете, не хранят конфиденциальные данные в своих папках c:\program files\[app name]
и вместо них используют папки профиля пользователя.
Так что да, на первый взгляд это выглядит как ApplicationPoolIdentity
имеет больше прав, чем должно, но на самом деле у него не больше прав, чем требует членство в группе.
Членство в группе ApplicationPoolIdentity
можно проверить с помощью инструмента SysInternals Process Explorer .Найдите рабочий процесс, который выполняется с интересующим вас идентификатором пула приложений (вам нужно добавить столбец User Name
в список столбцов для отображения:
Например, у меня есть пул с именем 900300
, который имеет идентификатор пула приложений IIS APPPOOL\900300
. Щелкните правой кнопкой мыши свойства процесса и выберите вкладку Безопасность, которую мы видим:
Как мы видим, IIS APPPOOL\900300
является членом группы Users
.