3

Среда

Windows 7 Professional SP1 PL, присоединяется к домену.

проблема

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

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

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

диагностика

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess

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

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

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

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

В ходе нашего дальнейшего исследования мы пытались контролировать вышеуказанный ключ с помощью Sysinternals Process Monitor. Мы установили, что служба брандмауэра Windows перестает работать после ОТКЛЮЧЕНИЯ 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 - единственные, которые отсутствуют.

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

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

2 ответа2

0

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .