Рейтинг:0

Учетная запись AD для мониторинга служб на серверах

флаг bq

У нас есть несколько серверов Windows, на которых работают различные службы, и у нас бывает ситуация, когда иногда эти службы просто останавливаются. Для мониторинга этих служб я написал службу Windows, которая использует ServiceController для просмотра подозрительных служб и проверки их текущего состояния. Это прекрасно работает, когда я настраиваю новую службу для запуска под учетной записью, имеющей права локального администратора на рассматриваемые серверы, но это не идеально с точки зрения безопасности, поскольку предоставляет привилегии, отличные от просмотра служб на этих машинах.В идеале я хотел бы создать учетную запись AD, которая может «видеть» и опрашивать службы на всех серверах (серверы в области действия — это список, который обязательно расширится в будущем), но не имеет других привилегий на этих серверах — это даже возможно, и если да, то какие настройки для такой учетной записи?

Прошу прощения, если это описание немного расплывчато, поэтому скажем, что служба, которую я написал, будет установлена ​​на сервере ServerA и должна иметь возможность использовать ServiceController для опроса службы «MSSQLSERVER» на сервере B, службы «MSSQL$OTHERINSTANCE» на сервере C. и сервисы "SOMEOTHERSERVICE" и "RUNNINGOUTOFIDEAS" на ServerD. В дополнение к этому, список служб для опроса хранится в базе данных MS SQL Server на ServerZ, поэтому учетная запись должна иметь возможность подключения к этой базе данных на этом сервере, поэтому для моих целей она должна быть стандартная учетная запись AD, видимая как пользователь в системе безопасности SQL Server.

У кого-нибудь есть какие-либо идеи? Заранее спасибо за любые предложения, и спасибо, что нашли время, чтобы прочитать это. Обратите внимание: фреймовый вызов, такой как «зачем ты вообще это делаешь? что" был бы столь же желанным, как прямой ответ, поскольку я не уверен, что нет лучшего способа, и я всегда рад узнать.

Zac67 avatar
флаг ru
Вы можете локально создать группу на каждом сервере с нужными вам привилегиями, а затем добавить в нее учетную запись AD (или группу) для службы мониторинга.
Spratty avatar
флаг bq
@ Zac67 - Ты знаешь, какие у них будут привилегии? Это то, с чем я больше всего застрял - я не сетевой администратор, поэтому любые указатели на любую документацию, касающуюся этих прав или ролей, будут очень и очень оценены.
Рейтинг:2
флаг jo

Учетной записи потребуется следующий доступ к scmanager для удаленного мониторинга всех служб машины:

Эта строка, которую нужно будет ввести в текущий ACL-список scmanager: (A;;CCLCRPRC;;;<AccountSID>)

А: Разрешить
CC - SC_MANAGER_CONNECT - подключиться удаленно
LC — SC_MANAGER_ENUMERATE_SERVICE — список всех служб
RP — SC_MANAGER_QUERY_LOCK_STATUS — запросить статус каждого
RC - STANDARD_RIGHTS_READ - прочитать разрешения scmanager и сервисов

ACL хранится в HKLM:\SYSTEM\CurrentControlset\Control\ServiceGroupOrder\Security

Вам нужно будет определить, какой текущий ACL находится в scmanager, и включить приведенную выше строку в соответствующее место — где-то посередине, в конце дискреционного ACL и перед системным ACL, например:

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;; BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx)(A;;CCLCRPRC;;;<SID идет сюда>) S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

В зависимости от того, как вы его развернете и какая у вас система для автоматического развертывания, вам может быть проще использовать sc.exe команда. «Служба», которой вы управляете с помощью sc.exe, на самом деле не служба, а диспетчер управления службами (scmanager):

sc.exe sdset scmanager "D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A ;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-xxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx)(A;;CCLCRPRC;;; <SID идет сюда>)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"


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

Spratty avatar
флаг bq
Спасибо - это выглядит (на мой неопытный взгляд) как очень работоспособное решение; Я передам его команде сетевых администраторов и посмотрю, что они скажут, но у меня большие надежды. Еще раз спасибо - я вернусь, чтобы принять этот ответ, как только получу ответ.
Spratty avatar
флаг bq
Просто чтобы вы знали, наша команда АН согласилась пойти по этому пути, так как это намного лучше, чем любая альтернатива, которую мы можем придумать. Вы замечаете: «Технически это чрезмерный доступ, поскольку он дает учетной записи разрешение запрашивать статус и разрешения любой службы, а не только нескольких». Мы довольны этим; служба мониторинга почти наверняка будет расширена для просмотра множества других служб по запросу, поэтому возможность видеть все службы будет для нас функцией, а не ошибкой. Спасибо за ваше время и ваш ответ - вы сделали вещи намного проще для меня.

Ответить или комментировать

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