WindowsServerの監視と最小特権の原則

最終更新日: 22 年 2024 月 XNUMX 日

この構成の目的は、管理者権限なしでリモート WMI 機能を実行することです。クエリ ユーザーは、デバイスに対して適切な権限を持っている必要があります。クエリ ユーザーは、ドメイン ユーザーまたはローカル ユーザーのいずれでもかまいません。ドメイン ユーザーは、セットアップを一元的に構成できます。ただし、ローカル ユーザーは、各デバイスで個別にセットアップを構成する必要があります。この構成は、次のように行われます。

  1. ユーザーをグループに追加する
  2. WMI 名前空間のセキュリティ権限の付与
  3. Windowsサービス権限の付与

ユーザーをグループに追加する

ユーザーを作成したら、そのユーザーを次のグループに追加する必要があります。

  • 分散COMユーザー – Windows システム上の分散コンポーネント オブジェクト モデル (DCOM) オブジェクトにアクセスし、対話するための権限を提供します。これにより、プロセス間通信に DCOM に依存するアプリケーションを実行し、ネットワーク上の分散サービスにアクセスできるようになります。
  • パフォーマンス監視ユーザー – Windows システム上のパフォーマンス データを監視および収集する権限を提供します。これにより、パフォーマンス監視ツールを実行し、システム メトリクスを収集できます。
  • イベントログリーダー – Windows システム上のイベント ログを読み取る権限を提供します。これにより、システム イベントを監視および分析できます。イベント ログから情報を表示および抽出したり、問題のトラブルシューティングを行ったり、システムを分析したりできます。
  • リモート管理ユーザー – Windows システム上のタスクをリモート管理する権限を提供します。これにより、コマンドまたはスクリプトをリモートで実行し、構成を管理できます。これにより、Windows リモート管理 (WinRM) や PowerShell リモート処理などのサービスを利用できるようになります。

Note: Remote Management Users グループへのユーザーの追加は、WinRM の場合にのみ必要です。ユーザーが DCOM と WinRM を切り替える場合にのみ、ユーザーをこのグループに追加します。

ドメインベースのセットアップでのグループへのユーザーの追加

  1. 管理者特権の PowerShell コンソールまたは cmd.exe から、次のコマンドを入力します。 dsa Active Directory ユーザーとコンピュータを起動します。または、開いてください dsa.msc [ファイル名を指定して実行] ウィンドウ (Win+R) から。
  2. ドメインの下で右クリックします ユーザー をクリックして 新作 > ユーザー。 A 新しいオブジェクト - ユーザー ダイアログボックスが表示されます。
  3. にユーザー名を入力します ユーザーのログオン名 フィールドを選択し、 次へ 
  4. パスワードを設定して選択します OK.
  5. このユーザーの新しく作成されたエントリをダブルクリックします。の プロパティ ダイアログボックスが表示されます。
  6. 現在地に最も近い 所属 タブを選択して Add ボタン。 ザ グループを選択 ダイアログボックスが表示されます。
  7. 4 つのグループの名前を入力します。 選択するオブジェクト名を入力します (例): フィールドを選択し、 OK.

    下 所属 タブでは、ユーザーが 4 つのグループに追加されていることがわかります。
  8. 選択 申し込む 次に選択します OK.

非ドメインまたはローカル設定でのグループへのユーザーの追加

  1. 管理者特権の PowerShell コンソールまたは cmd.exe から、次のコマンドを入力します。 lusrmgr ローカル ユーザーとグループを起動します。または、次のように開くこともできます。 lusrmgr.mscと [ファイル名を指定して実行] ウィンドウ (Win+R) から。
  2. を右クリックします。 ユーザー フォルダを選択 新規ユーザ。 A 新規ユーザ ダイアログボックスが表示されます。
  3. 新しいユーザーのユーザー名とパスワードを入力し、 創造する 
  4. このユーザーの新しく作成されたエントリをダブルクリックします。の プロパティ ダイアログボックスが表示されます。
  5. 現在地に最も近い 所属 タブを選択して Add ボタン。 ザ グループを選択 ダイアログボックスが表示されます。
  6. 4 つのグループの名前を入力します。 選択するオブジェクト名を入力します (例): フィールドを選択し、 OK.

    下 所属 タブでは、ユーザーが 4 つのグループに追加されていることがわかります。
  7. 選択 申し込む 次に選択します OK.

WMI 名前空間のセキュリティ権限の付与

  1. 管理者特権の PowerShell コンソールまたは cmd.exe から、次のコマンドを発行します。 wmimgmt WMI 管理コンソールを起動します。または、次のように開くこともできます。 wmimgmt.msc [ファイル名を指定して実行] ウィンドウ (Win+R) から。
  2. 右クリックする WMIコントロール をクリックして プロパティ.

    この WMI コントロールのプロパティ ダイアログボックスが表示されます。
  3. 下 セキュリティ タブを選択 ルート フォルダにコピーします。
  4. 現在地に最も近い セキュリティ ボタン。 ザ ルートのセキュリティ ダイアログボックスが表示されます。
  5. 現在地に最も近い Add 

    この ユーザー、コンピュータ、サービスアカウント、またはグループを選択します ダイアログボックスが表示されます。
  6. にユーザー名を入力します 選択するオブジェクト名を入力します (例): フィールドを選択し、 OK.

    下 セキュリティ タブで、ユーザーがユーザー名リストに追加されていることがわかります。
  7. ユーザーを選択し、選択したユーザーの権限を選択します。 次を許可します。、選択 アカウントを有効にするリモートイネーブルセキュリティを読む チェックボックス
  8. 選択 申し込む 次に選択します OK.

最小特権の原則を考慮すると、ユーザーは WMI 名前空間に対して次の 3 つのアクセス許可のみを取得します。これらのアクセス許可は、WMI 名前空間、それらに関連するクラス、およびインスタンスへのアクセスを制御します。

  • アカウントを有効にする– WMI プロバイダーを有効または無効にする機能を制御し、許可されたエンティティのみがその状態を制御できるようにします。
  • リモートイネーブル–リモート システムがローカル コンピューター上の WMI プロバイダーにアクセスしてクエリできるかどうかを制御し、不正なリモート アクセスを防ぎます。
  • セキュリティを読む– アカウントが WMI 名前空間のセキュリティ構成を表示できるようにし、監査を支援し、セキュリティ設定の効率的な管理を保証します。

Windows サービス権限の付与 - SDDL の変更

サービス コントロール マネージャー (SCManager) と Win32_services の権限を変更するには、次の手順に従います。

  1. LogicMonitor ユーザーのサービス ID (SID) を取得するには、PowerShell で次のコマンドを実行します。
    [wmi] "win32_useraccount.domain='<domainName>',name='<userName>'"
  2. SCManager の SDDL を取得するには、PowerShell で次のコマンドを実行します。
    sc.exe sdshow SCMANAGER
    取得したSDDLのサンプル
    D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
  3. 親 SDDL に追加する文字列を作成します。これを LogicMonitor ユーザーの実際の SID に置き換える必要があります。
    Syntax : (A;;LCRPRCLOCC;;;$UserSID)
    Example: (A;;LCRPRCLOCC;;;S-1-5-21-265800110-2195697097-2714329818-1112)
  4. の隣に文字列を追加します (A;;CCLCRPRC;;;IU) 文字列。
    D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;LCRPRCLOCC;;;S-1-5-21-265800110-2195697097-2714329818-1112)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
  5. 新しい SDDL を SCManager のセキュリティ記述子として設定します。
    sc sdset scmanager “D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;LCRPRCLOCC;;;S-1-5-21-265800110-2195697097-2714329818-1112)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"

変更するには Win32_サービス などの別のサービスへ アプリ管理 サービスを使用するには、SCManager の権限を変更するために指定されたすべての手順を実行する必要があります。必ず交換する必要があります SCManager とともにWindowsサービスのたとえば、次のコマンドは、 アプリ管理 サービス。

sc.exe sdshow AppMgmt

独自の ACL を作成することも、Interactive Users (IU) で終わる SDDL からセグメントをコピーすることもできます。A;;CCLCRPRC;;;IU)。 ACLの作成の詳細については、を参照してください。 ACE文字列.

管理者以外の構成の自動化

構成手順を手動で実行する代わりに、PowerShell スクリプトを実行できます。 Windows_NonAdmin_Config.ps1 管理者以外の構成プロセスを自動化します。このスクリプトは、EA Collector 35.400 以降で利用できます。 

Note:

  • スクリプトは Windows コレクター インストーラーにバンドルされています。
  • コレクターをインストールした後、次の場所に進みます。 \LogicMonitor\エージェント\bin.
  • パスには、 Windows_NonAdmin_Config.ps1 脚本。スクリプトをコピーして個々のドメイン デバイスに貼り付ける必要があります。
  • この Windows_NonAdmin_Config.ps1 スクリプトはドメイン設定と非ドメイン設定の両方で機能します。
  • 詳細なログは次の場所で確認できます。 %appdata%\LogicMonitor\Logs 場所。

管理者以外の構成プロセスを自動化するには、次の手順を実行します。

  1. 管理者として PowerShell セッションを開き、スクリプトの場所へのパスを変更します。 \LogicMonitor\エージェント\bin.
  2. ドメインベースのセットアップの場合、スクリプトを実行するには、 ユーザー名 パラメータは DomainName\UserName 形式で指定します。
.\Windows_NonAdmin_Config -add -UserName logicmonitor\DomainUser101

非ドメイン設定の場合は、次の形式を使用します。

.\Windows_NonAdmin_Config -add -UserName DomainUser101

管理者ユーザーにロールバックする

管理構成にロールバックするには、次の手順に従います。

  1. 非管理者として PowerShell セッションを開き、スクリプトの場所に移動します。 \LogicMonitor\エージェント\bin.
  2. ドメインベースのセットアップの場合は、次のスクリプトを実行します。
.\Windows_NonAdmin_Config -remove -UserName logicmonitor\QueryUser101

非ドメインベースのセットアップの場合は、次のスクリプトを実行します。

.\Windows_NonAdmin_Config -remove -UserName QueryUser101

コレクタ サービス アカウントの管理者から非管理者ユーザーへの移行

このサポート記事で詳しく説明されている手順では、Windows ユーザーを非管理者に変換し、データをクエリするために必要な権限を付与します。

コレクタのインストール中にコレクタ サービス アカウントの資格情報を使用した場合、コレクタは管理者ユーザーで実行されます。次のコマンドを使用して、管理者ユーザーを非管理者ユーザーに変換できます。 Windows_NonAdmin_Config.ps1 脚本。たとえば、コレクタのユーザー名が LogicMonitor の場合、次のコマンドを使用してそれを非管理者に変換します。ドメインベースのセットアップの場合は、ドメイン名を追加できます。

.\Windows_NonAdmin_Config -add -UserName LogicMonitor

GPO によるスクリプト実行の自動化

GPO を通じてスクリプトの実行を自動化するには、GPO ポリシーを作成し、その GPO ポリシーにタスクを追加する必要があります。その後、ドメイン マシンを再起動する必要があります。

GPO ポリシーの作成

  1. MFAデバイスに移動する サーバーマネージャ > ツール > グループポリシー管理.
  2. 使用するドメインを右クリックし、選択します このドメインに GPO を作成し、ここにリンクします…
  3. 新しいGPOポリシーの名前を入力し、 OK。 Source Starter GPO は残ることに注意してください。 (なし).
  4. 新しく作成した GPO ポリシーを右クリックし、選択します。 編集 タスクを追加します。

GPO ポリシーへのタスクの追加

  1. グループ ポリシー管理エディターで、次の場所に移動します。 コンピューター構成 > 政策 > Windowsの設定 > スクリプト(起動/シャットダウン) をクリックして スタートアップ.

    [スタートアップ プロパティ] ダイアログ ボックスが表示されます。
  2. スクリプト タブ、選択 Add.

    「スクリプトの追加」ダイアログが表示されます。
  3. [スクリプトの追加] ダイアログで、次の詳細を入力します。
    1.  スクリプト名 フィールドで、PowerShell.exeのパスを参照します。通常、パスは C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe
      注: パスが異なる場合は、ファイルを配置した特定のフォルダーを参照してください。 Powershell.exe.
    2.  スクリプトパラメータ フィールドに、スクリプトの次のパラメータを入力します。
      -Noninteractive -ExecutionPolicy Bypass -Noprofile -file \\<IP_Address_of_DC>\netlogon\Windows_NonAdmin_Config.ps1 -add -UserName logicmonitor\DomainUser01
  4. 選択 OK 次に選択します 申し込む.

ドメインマシンの再起動

  1. PowerShell ターミナルを開いて実行します gpupdate/force.
  2. ユーザー ポリシーが正常に更新されたら、ドメイン マシンを再起動します。
記事上で