В Windows Server 2008 с установленным ASP.NET 4.0 существует целый ряд связанных учетных записей пользователей, и я не могу понять, какая из них, чем они отличаются, и какая действительно является той, под которой работает мое приложение. Вот список:
- IIS_IUSRS
- IUSR
- DefaultAppPool
- ASP.NET v4.0
- NETWORK_SERVICE
- МЕСТНЫЙ СЕРВИС.
Что есть что?
asp.net
security
iis
user-accounts
Vilx-
источник
источник
Ответы:
Это очень хороший вопрос, и, к сожалению, многие разработчики не задают достаточно вопросов о безопасности IIS / ASP.NET в контексте того, чтобы быть веб-разработчиком и настраивать IIS. Так что здесь идет ....
Чтобы покрыть перечисленные личности:
IIS_IUSRS:
Это аналог старой
IIS_WPG
группы IIS6 . Это встроенная группа с настроенной безопасностью так, что любой член этой группы может выступать в качестве удостоверения пула приложений.IUSR:
Эта учетная запись аналогична старой
IUSR_<MACHINE_NAME>
локальной учетной записи, которая была анонимным пользователем по умолчанию для веб-сайтов IIS5 и IIS6 (т. Е. Настроена на вкладке «Безопасность каталога» свойств сайта).Для получения дополнительной информации
IIS_IUSRS
иIUSR
увидеть:DefaultAppPool:
Если пул приложений настроен для работы с использованием функции идентификации пула приложений, то
IIS AppPool\<pool name>
на лету будет создана «синтезированная» учетная запись, которая будет использоваться в качестве идентификатора пула. В этом случае будет создана синтезированная учетная запись,IIS AppPool\DefaultAppPool
созданная для времени жизни пула. Если вы удалите пул, эта учетная запись больше не будет существовать. При применении разрешений к файлам и папкам они должны быть добавлены с помощьюIIS AppPool\<pool name>
. Вы также не увидите эти учетные записи пула в вашем компьютере. Для получения дополнительной информации смотрите следующее:ASP.NET v4.0:
-Это будет идентификатор пула приложений для пула приложений ASP.NET v4.0. Смотри
DefaultAppPool
выше.NETWORK SERVICE:
-NETWORK SERVICE
Счет является встроенным в идентичности , введенной в Windows 2003.NETWORK SERVICE
является низкой привилегированной учетной записью , под которой вы можете запускать пулы приложений и веб - сайты. Веб-сайт, работающий в пуле Windows 2003, может по-прежнему выдавать себя за анонимную учетную запись сайта (IUSR_ или любую другую, настроенную в качестве анонимной личности).В ASP.NET до Windows 2008 вы могли иметь ASP.NET выполнять запросы под учетной записью пула приложений (обычно
NETWORK SERVICE
). В качестве альтернативы вы можете настроить ASP.NET для олицетворения анонимной учетной записи сайта с помощью<identity impersonate="true" />
параметра вweb.config
файле локально (если этот параметр заблокирован, то это должно быть сделано администратором вmachine.config
файле).Настройка
<identity impersonate="true">
является общей в средах с общим хостингом, где используются общие пулы приложений (в сочетании с настройками частичного доверия для предотвращения раскручивания олицетворенной учетной записи).В IIS7.x / ASP.NET контроль олицетворения теперь настраивается с помощью функции настройки проверки подлинности сайта. Таким образом, вы можете настроить запуск в качестве удостоверения пула
IUSR
или определенной пользовательской анонимной учетной записи.LOCAL SERVICE:
LOCAL SERVICE
Счет встроенной учетной записи , используемой диспетчером управления службами. Он имеет минимальный набор привилегий на локальном компьютере. Он имеет довольно ограниченную область использования:LOCAL SYSTEM:
Вы не спрашивали об этом, но я добавляю для полноты. Это локальная встроенная учетная запись. У него достаточно широкие привилегии и доверие. Вы никогда не должны настраивать веб-сайт или пул приложений для работы под этим именем.
На практике:
На практике предпочтительным подходом к обеспечению безопасности веб-сайта (если сайт получает собственный пул приложений, который по умолчанию используется для нового сайта в MMC IIS7) является использование
Application Pool Identity
. Это означает, что настройку Идентичности сайта в расширенных настройках пула приложений необходимоApplication Pool Identity
:На веб-сайте вы должны настроить функцию аутентификации:
Щелкните правой кнопкой мыши и отредактируйте запись Anonymous Authentication:
Убедитесь, что выбран «Идентификатор пула приложений» :
Когда вы начинаете применять права доступа к файлам и папкам, вы предоставляете удостоверение пула приложений независимо от того, какие права требуются. Например, если вы предоставляете удостоверение пула приложений для
ASP.NET v4.0
разрешений пула, вы можете сделать это через Проводник:Нажмите кнопку «Проверить имена»:
Или вы можете сделать это с помощью
ICACLS.EXE
утилиты:... или ... если пул приложений вашего сайта называется
BobsCatPicBlog
то:Я надеюсь, что это помогает прояснить ситуацию.
Обновить:
Я только что наткнулся на этот отличный ответ от 2009 года, который содержит кучу полезной информации, которую стоит прочитать:
источник