Брандмауэр Windows не запускается, ошибка 5 – как в KB943996, но исправление не работает.

Вопрос или проблема

Окружение

Windows 7 Professional SP1 PL, подключен к домену.

Проблема

С 2014-06-12 несколько наших компьютеров (но определенно не все, по крайней мере, пока) столкнулись с проблемой совместного использования принтера, которая быстро объяснилась отключением службы Windows Firewall.

Попытки запустить службу Windows Firewall заканчиваются неудачей с ошибкой № 5 («Доступ запрещен»), возвращаемой службой.

Windows EventLog показывает, что проблема началась в указанную выше дату и повторяется каждое утро при запуске – либо при любой попытке вручную запустить службу.

Диагностика

С любезной помощью Google мы быстро выяснили, что проблема связана с доступом к подклучам следующего ключа реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess

На нескольких веб-сайтах утверждается, что проблема была вызвана недостаточным доступом к некоторым значительным подклучам этого ключа для NT Service\MpsSvc. Наиболее авторитетным источником кажется статья базы знаний Microsoft KB943996. Хотя эта статья касается Windows Vista, она предоставляет ссылку на более общий веб-сайт с Firewall FixIt Tool.

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

  • Мы смогли проверить, что только подклуч \Epoch отсутствовал в рекомендованном наборе ACL.
  • Мы не смогли добавить NT Service\MpsSvc вручную, так как Windows не могла найти такого пользователя. Мы проверили правильность области поиска (локальный компьютер) и включили все типы объектов. Мы установили, что эта учетная запись может быть правильно найдена и использована на исправных машинах.
  • Инструмент FixIt правильно назначил права на подклуч \Epoch для NT Service\MpsSvc (!), но это не решило проблемы, которую сам инструмент FixIt признал в пострановом тесте.

Мы проверили, что вышеуказанный ключ реестра является ключом к нашей проблеме. Мы сделали это, назначив наследуемые права Full Access для Everyone – с этими правами служба Windows Firewall запускалась правильно. Однако это не решает нашу проблему из-за очевидных проблем безопасности. Нам нужно правильно ее исправить.

В ходе нашего дальнейшего расследования мы попытались отслеживать вышеуказанный ключ с помощью Sysinternals Process Monitor. Мы установили, что служба Windows Firewall завершает работу после ACCESS DENIED на подклуче \Epoch2, о котором мы не знали.

При запуске regedit.exe с учетной записью, имеющей права локального администратора, мы не могли увидеть этот подклуч. Однако этот ключ был четко виден:

  • на здоровых машинах, с использованием тех же привилегий,
  • на пораженных машинах, запуская regedit.exe как пользователь SYSTEM (psExec -s -i regedit.exe)

Учетные записи, перечисленные в ACL на подклуче Epoch2, также не содержат записи NT Service\MpsSvc. На пораженной машине это:

  • CREATOR OWNER
  • SYSTEM
  • Administrators
  • Users
  • LOCAL SERVICE

На здоровой/непораженной машине записи правильно выглядят следующим образом:

  • CREATOR OWNER
  • SYSTEM
  • Administrators
  • Users
  • MpsSvc

Поскольку мы не можем вручную назначить эти разрешения, мы несколько растеряны, что делать дальше.

Масштаб и значимость

Проблема была выявлена только в нескольких областях, но затрагивает примерно 50% компьютеров в первой области, которую нам удалось подробно проверить.

Проблема, вероятно, может затронуть и другие области. Поскольку она требует взаимодействия пользователя с пораженными функциями Windows (печать на принтере, общими с пораженным компьютером), сообщения пользователей, вероятно, будут редкими по сравнению с возможным масштабом проблемы.

Хотя общие принтеры сейчас не так распространены, эта функция не является большой проблемой. Но отключенный брандмауэр определенно является проблемой, которую необходимо решить.

Результат

Первое: у нас нет представления о возможной причине этой проблемы.

Все компьютеры (как пораженные, так и здоровые) работают в управляемой среде установки программного обеспечения. Пользователи не имеют административных привилегий, программное обеспечение разворачивается автоматически через Wpkg. Все вышеуказанные компьютеры имеют идентичный программный профиль – это означает, что были установлены одни и те же программные продукты. Эти компьютеры даже идентичны в аппаратных терминах, все они были приобретены в одной партии и имеют последовательные серийные номера.

Наше основное подозрение, связанное с общим временем возникновения проблемы, заключается в какой-то избирательной проблеме с одним из недавних обновлений Windows от 2014-06-10. К сожалению, нам совершенно не удалось воспроизвести эту проблему в наших привидениях времени виртуальной тестовой машины, так что это подозрение несколько неубедительное.

Тем не менее, обнаружение источника важно как для устранения проблемы, так и для ее предотвращения в будущем.

Второе: у нас нет удовлетворительного представления о том, как решить проблему. Мы думаем о:

  • добавлении прав для пользователя MpsSvc через какой-то инструмент командной строки для ACL, хотя это потребует много времени и человеческих ресурсов, если проблема начнет распространяться;
  • возможно, развертывание этих прав через GPO (GPO примет здесь любого пользователя), но сначала нам нужно установить, что права на \Epoch2 – единственные отсутствующие.

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

Может быть, у кого-то еще была эта проблема недавно?

Я боролся с той же проблемой в течение нескольких дней, и я также не смог увидеть учетную запись NT Service\MpsSvc при проверке разрешений ключа реестра. Очевидно, что это сделано специально(?), и учетная запись NT Service\MpsSvc доступна, но скрыта; нужно просто ввести ее вручную в диалоговом окне [Добавить…]. После этого и предоставления учетной записи Full Control на ключе Shared Access, Windows Firewall теперь запускается так, как должен.

Могу только отметить, что Linux с iptables по сравнению – чудо простоты.

Это произошло со мной на этой неделе, единственными очевидными изменениями были два патча безопасности за ноябрь 2017 года (KB4047206, KB4048960).

Могу подтвердить, что удаление и повторное добавление указанных ключей реестра, как указано в KB943996, исправило это для меня. Дополнительно я предоставил своей учетной записи доменного пользователя полные разрешения для ключей и подклучей Epoch, Epoch2 и FirewallPolicy, а также для NT Service\MpsSvc.

.

Ответ или решение

Теория

Проблема, описанная в вашем вопросе, связана с невозможностью запуска службы Windows Firewall на компьютерах с Windows 7 Professional SP1 PL, что сопровождается ошибкой 5 — «Отказано в доступе». Несмотря на то, что ошибка и описывается в статье KB943996, конкретная рекомендация из этого источника не помогла решить проблему в вашей ситуации. Главный вопрос заключается в предоставлении доступа для службы NT Service\MpsSvc к определённым разделам реестра, без чего служба не может корректно функционировать.

Пример

Как показывают ваши диагностика и результаты, проблема заключается в отсутствии должного доступа для NT Service\MpsSvc к ключам реестра, таким как HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess и его поддерево, включая Epoch2. При попытке вручную предоставить доступ к ключам, вы столкнулись с трудностью добавления NT Service\MpsSvc, поскольку данный учетный элемент не видим напрямую в графическом интерфейсе редактора реестра, хотя и существует в системе.

Ошибки подобные этой иногда возникают после обновлений безопасности. В вашем случае вопрос был зафиксирован после обновлений от 10 июня 2014 года. Хотя напрямую воспроизвести баг в ваших виртуальных тестовых машинах не удалось, предполагается, что недавние обновления могли повлиять на систему безопасности, изменив доступные ACE в ACL потенциально на уровне ядра.

Применение

Для разрешения данной проблемы следует выполнить несколько шагов:

  1. Восстановление доступа через командную строку:

    • Откройте командную строку от имени администратора.
    • Используйте утилиту subinacl, чтобы вручную назначить правильно права, например так:
    subinacl.exe /keyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess /grant="NT Service\MpsSvc"=F

    Данная команда назначает NT Service\MpsSvc полный доступ к ветке реестра. Убедитесь, что вы осуществляете командуsubinacl.exe на всех необходимых ветвях и подведках.

  2. Использование Sysinternals:

    • Убедитесь, что вы используете Sysinternals Process Monitor для проверки попыток доступа службой и выяснения проблемных мест в реестре.
    • Посредством Sysinternals PsExec запускайте regedit.exe с правами SYSTEM, чтобы модифицировать скрытые участки реестра.
  3. Поддержка групповых политик (GPO):

    • Групповые Политики можно использовать для автоматического применения необходимых прав на всех затронутых машинах.
    • Включение изменения прав доступа, добавление MpsSvc для ключей.
  4. Дополнительные рекомендации:

    • Проверьте все установленные обновления, которые могли задействовать службы безопасности или изменить управление введением доверенных участников в ACL для различных наборов прав.
    • Временно откатите или отключите последние обновления на тестовом окружении, наблюдая за изменением в поведении Firewall.
    • Проведите аудит всех установленных приложений и их потенциальных конфликтов на уровне сетевой компоненты и безопасности.

Заключение

Настройка и управление службами безопасности Windows могут оказаться весьма сложной задачей, в особенности если это касается доступа на уровне системного реестра. Важно помнить о выполнении регулярных проверок и бэкапов реестра прежде чем делать какие-либо изменения. Кроме того, всей среде, в которой находится ваш домен, необходимо обеспечивать полную безопасность, что может включать периодические пересмотры настроек групповых политик и регулярные обновления оборудования и ПО во избежание повторения таких ситуаций.

Если же проблема повторяется или начинает охватывать больше машин, рекомендуется привлечь специалистов по безопасности или рассмотреть консультацию с Microsoft для более детальной оценки.

Оцените материал
Добавить комментарий

Капча загружается...