Подтвердить что ты не робот

Каковы последствия безопасности предоставления IIS_IUSRS разрешения полного доступа?

Каковы последствия безопасности предоставления IIS_IUSRS разрешения полного доступа в корневой папке веб-сайтов ASP.NET?

Почему я не могу предоставить полное управление только IUSR, входящему в группу IIS_IUSER?

Любой ответ проясняет этот конфликт, действительно оценен.

4b9b3361

Ответ 1

Легко путать IUSR и IIS_IUSRS из-за их имен, но это две разные вещи:

  • IIS_IUSRS - это группа для учетных записей рабочего процесса IIS. Это означает то, что сам пул приложений работает.
  • IUSR - это анонимная идентификация пользователя. Это означает, что IIS считает себя пользователем, который обращается к сайту. По умолчанию этот пользователь не входит в группу IIS_IUSRS.

В IIS 7.0 встроенная учетная запись (IUSR) заменяет учетную запись IUSR_MachineName. Кроме того, группа с именем IIS_IUSRS заменяет группу IIS_WPG. [...] Счет IUSR напоминает учетную запись сети или локальной службы. Учетная запись IUSR_MachineName создается и используется только тогда, когда установлен сервер FTP 6, который включен в Windows Server 2008 DVD. Если сервер FTP 6 не установлен, учетная запись не создается. http://support.microsoft.com/kb/981949

IIS_IUSRS - это встроенная группа, которая имеет доступ ко всем необходимым файловым и системным ресурсам, чтобы учетная запись при добавлении в эту группу могла беспрепятственно действовать как идентификатор пула приложений.

Прочитайте аналогичный поток, который объясняет, почему предоставление доступа к IIS_IUSRS имеет другой эффект, чем предоставление того же доступа к IUSR:

Здесь - хорошая документация о группах и пользователях, используемых в IIS 7.

По умолчанию IIS_IUSRS имеет только чтение и выполнение (и как содержимое папки списка результатов) разрешений на wwwroot. Полный контроль может быть слишком большим.

Ответ 2

Представьте себе веб-сайт, который позволяет пользователям загружать произвольные файлы с ошибкой, которая заставляет такие файлы сохранять в каталоге приложения.

В этом случае злоумышленник может загрузить файл aspx с произвольным кодом, перезаписать файл web.config и т.д.

Намного лучше предоставить доступ только для чтения к корневой папке и дать полный контроль над определенными папками, которые, как вы знаете, не будут содержать исполняемый код, например подпапки App_Data.