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