サーバー間のサービスを監視するための AD アカウント

サーバー間のサービスを監視するための AD アカウント

さまざまなサービスを実行する Windows サーバーがいくつかあり、それらのサービスが停止してしまうことがあります。これらのサービスを監視するために、ServiceController を使用して疑わしいサービスを調べ、現在の状態を確認する Windows サービスを作成しました。問題のサーバーに対するローカル管理者権限を持つアカウントで新しいサービスを実行するように構成すると、これは正常に機能しますが、これらのマシン上のサービスの表示以外の権限を付与するため、セキュリティの観点からは理想的ではありません。理想的には、すべてのサーバー (スコープ内のサーバーは将来的に拡大されるリストです) のサービスを「表示」して照会できるが、それらのサーバーに対する他の権限を持たない AD アカウントを作成したいと考えています。これは可能ですか。可能であれば、そのようなアカウントの設定は何ですか。

この説明が少し曖昧で申し訳ありませんが、私が作成したサービスは ServerA にインストールされ、ServiceController を使用して ServerB のサービス「MSSQLSERVER」、ServerC のサービス「MSSQL$OTHERINSTANCE」、ServerD のサービス「SOMEOTHERSERVICE」および「RUNNINGOUTOFIDEAS」を照会できる必要があるとします。これに加えて、照会するサービスのリストは ServerZ の MS SQL Server データベースに保持されるため、アカウントはそのサーバー上のデータベースに接続できる必要があります。そのため、私の目的のためには、SQL Server セキュリティでユーザーとして表示される標準の AD アカウントである必要があります。

誰か何かアイデアはありますか? ご提案をいただければ幸いです。また、この記事を読んでくださったことに感謝します。 注意:フレームチャレンジは「なぜこんなことをしているのですか?それ「もっと良い方法がないとは思いませんし、学ぶことは常に嬉しいので、直接の回答と同じくらい歓迎します。」

答え1

すべてのマシンのサービスをリモートで監視するには、アカウントに scmanager に対する次のアクセス権が必要です。

現在の scmanager ACL に挿入する必要がある文字列は次のとおりです。 (A;;CCLCRPRC;;;<AccountSID>)

A: Allow
CC - SC_MANAGER_CONNECT - remotely connect
LC - SC_MANAGER_ENUMERATE_SERVICE - list all services
RP - SC_MANAGER_QUERY_LOCK_STATUS - interogate the status of each
RC - STANDARD_RIGHTS_READ - read the permissions of scmanager and services

ACLは以下に保存されますHKLM:\SYSTEM\CurrentControlset\Control\ServiceGroupOrder\Security

scmanager の現在の ACL が何であるかを判断し、上記の文字列を適切な場所 (中央のどこか、任意 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 goes Here>)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 goes Here>)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"


これは技術的には過剰なアクセスであり、少数のサービスだけでなく、あらゆるサービスのステータスと権限を照会する権限をアカウントに付与することになります。

関連情報