Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

  • 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 лист бумаги, в котором говорилось бы, что этого не следует делать.

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

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.

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

Я сильно подозреваю, что либо вы неверно истолковываете требования безопасности, либо они были написаны без учета того, как был разработан 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 имел разрешение на чтение для папок содержимого.

И вы сделали.