Невозможно выбрать IUSR для запуска службы под

Невозможно выбрать IUSR для запуска службы под

У нас есть компьютер с Windows 2008 R2, на котором запущен IIS 7.5, и из-за требований безопасности нам необходимо настроить службу публикации World Wide Web для работы под IUSR. Я могу предоставить разрешения для папки IUSR без проблем. Но когда я пытаюсь выбрать IUSR для учетной записи, под которой будет работать служба публикации World Wide Web, я получаю сообщение о том, что пользователь не может быть найден. В настоящее время служба работает под «Учетной записью локальной системы». Любая помощь будет принята с благодарностью.

решение1

IUSR — это контекст безопасности, используемый при просмотре вашего веб-сайта анонимными посетителями. Я бы не рекомендовал использовать его для службы WWW.

До IIS7.5 для вас создавалась учетная запись службы (IWAM), которая была локальной учетной записью в дополнение к локальной учетной записи IUSR. Новая модель заключается в запуске с различными идентификаторами пула приложений, чтобы один веб-сайт не мог повлиять на другой на коробке, если сайт скомпрометирован. Я бы, вероятно, рассмотрел непривилегированную локальную учетную запись для службы WWW, чтобы ограничить учетные данные этой конкретной коробкой.

Я протестировал использование локального пользователя для WWW и службы активации процессов Windows и продолжал получать сообщения об ошибках «эта учетная запись не имеет достаточных привилегий» для службы активации процессов Windows. Поэтому я добавил локальную учетную запись в IIS_IUSRS и любую другую группу, связанную с IIS, и перешел в локальную политику безопасности и добавил привилегии в Назначение прав пользователя локальной политики безопасности:

  • Заменить токен на уровне процесса
  • Настройте квоты памяти для процесса
  • Проведение аудитов безопасности
  • Войти в систему как пакетное задание

Это не сработало, поэтому я добавил «Создать глобальные объекты», найдя в Google что-то, что могло бы помочь. Это не помогло. Но потом пришло время идти домой, поэтому я все отменил (хотя это была тестовая среда).

Я тогда попробовал

  • Выдать себя за клиента после аутентификации

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

Учетная запись Local System — это мощная учетная запись, которая имеет полный доступ к компьютеру и действует как компьютер в сети. Если служба использует учетную запись Local System для входа в контроллер домена, эта служба имеет доступ ко всему домену. Некоторые службы по умолчанию настроены на использование учетной записи Local System, и это не следует менять. Учетная запись Local System не имеет пароля, доступного пользователю.

Извините, я пытался, но, думаю, вам не повезло. Вы, конечно, можете попробовать предоставить учетной записи перечисленные привилегииздесь:

  • SE_ASSIGNPRIMARYTOKEN_NAME (отключено)
  • SE_AUDIT_NAME (включено)
  • SE_BACKUP_NAME (отключено)
  • SE_CHANGE_NOTIFY_NAME (включено)
  • SE_CREATE_GLOBAL_NAME (включено)
  • SE_CREATE_PAGEFILE_NAME (включено)
  • SE_CREATE_PERMANENT_NAME (включено)
  • SE_CREATE_TOKEN_NAME (отключено)
  • SE_DEBUG_NAME (включено)
  • SE_IMPERSONATE_NAME (включено)
  • SE_INC_BASE_PRIORITY_NAME (включено)
  • SE_INCREASE_QUOTA_NAME (отключено)
  • SE_LOAD_DRIVER_NAME (отключено)
  • SE_LOCK_MEMORY_NAME (включено)
  • SE_MANAGE_VOLUME_NAME (отключено)
  • SE_PROF_SINGLE_PROCESS_NAME (включено)
  • SE_RESTORE_NAME (отключено)
  • SE_SECURITY_NAME (отключено)
  • SE_SHUTDOWN_NAME (отключено)
  • SE_SYSTEM_ENVIRONMENT_NAME (отключено)
  • SE_SYSTEMTIME_NAME (отключено)
  • SE_TAKE_OWNERSHIP_NAME (отключено)
  • SE_TCB_NAME (включено)
  • SE_UNDOCK_NAME (отключено)

Но, возможно, проще будет просто получить от Microsoft листок бумаги, в котором будет сказано, что этого делать нельзя.

решение2

Я тоже ищу способ сделать это. Подозреваю, что у OP есть те же требования, что и у меня. Это будет требование JITC от DoD. Вот оно:

Check Content: 
1. Go to Start, Administrative Tools, then Services.
2. Right click on service name World Wide Web Publishing Service, Select Properties, then select the Log On tab.
3. The username next to this account is the web service account ID.  If any other user than IUSR is listed, continue to step 4.  If the service account IUSR is used to run the service, this is not a finding.
4. Open a command prompt and enter Net User [service account ID], press Enter.
5. Verify the values for Password last set and Password expires to ensure the password has been changed in the past year, and will be required to change within the coming year.

Fix Text: 
Configure the service account ID, used to run the web-site, to have its password changed at least annually or use the service account IUSR.

решение3

Очень многоуровни неправильности здесь.Очень короткая версия:Не делай этого.!

Я сильно подозреваю, что вы либо неверно истолковываете требование безопасности, либо оно было написано без учета особенностей архитектуры IIS.

WAS должен работать как локальная система. Точка. Он недоступен удаленно, поэтому имеет очень ограниченную поверхность атаки, т. е. локальные администраторы компьютеров.

Одной из причин, по которой он работает как локальная система, является то, что он разделяет applicationhost.config на отдельные части для каждого пула приложений, каждый из которых получает свою собственную изолированную копию в Inetpub\Temp\AppPools.

Другая особенность заключается в том, что он запускает рабочие процессы пула приложений (W3WP) с определенными идентификаторами, настроенными веб-администратором. Например, если вы говорите, что у пула приложений есть базовый идентификатор ApplicationPoolIdentity, это уникальная учетная запись с низкими привилегиями, используемая в качестве базового идентификатора процесса, когда она не выдает себя за кого-то другого.

Еще одна проблема заключается в том, что не поддерживается изменение идентичности WAS, и он был разработан для работы в качестве локальной системы. Это привилегированный процесс.

Целью рекомендации может быть служба WWW, которая раньше называлась InetInfo и поддерживала обработку страниц (в последний раз это было в Windows 2000), но теперь уже не поддерживается.

Но он больше не участвует в обработке страниц (IIS 6+), а только в настройке HTTP.SYS для будущего использования W3WP.

Таким образом, пулы приложений (в частности, связанные с ними рабочие процессы) выполняют фактическую работу, и вы можете настроить их базовую идентификацию через вкладку «Пул приложений», а конкретную учетную запись, используемую для анонимной работы, через настройки «Аутентификация» -> «Анонимный».

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

Чтобы защитить и изолировать сайт IIS и, по-видимому, достичь цели руководства (если не того, что было написано), все, что вам нужно сделать, это:

  • Используйте идентификатор пула приложений в качестве анонимной учетной записи (или IUSR, если это требуется вашей политикой, но это снижает безопасность (поскольку это общая учетная запись, а не уникальная для каждого сайта)
  • Установите разрешения на содержимое таким образом, чтобы только IIS AppPool\AppPoolName имел разрешение на чтение папок содержимого.

И вы сделали.

Связанный контент