Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

管理者以外のユーザーにSCManagerでのリモートアクセスを許可する

ローカル管理者の権限を持たないドメインユーザーに、リモートサーバーで実行されているサービスのリストを列挙するためのリモートアクセス許可を付与することの特殊性について考えてみましょう。実際、タスクはサービスコントロールマネージャーへのリモート接続を提供することになります ( SCManager )。

問題は次のようになります。リモートユーザーまたは監視システムがサーバー上のサービスのステータスを照会できるようにする必要があるとします。明らかな理由で、このリモートユーザーには、サーバーにローカルでアクセスするための管理者権限と権限がありません。

services.mscコンソールを使用してリモートコンピューター上のサービスのリストに接続して取得しようとすると、ユーザーには次のエラーが表示されます。

Windowsはcomputer_nameのサービスコントロールマネージャーデータベースを開くことができませんでした

エラー5:アクセスが拒否されました。

管理者以外のユーザーにSCManagerでのリモートアクセスを許可する

sc.exeを使用してリモートサーバー上のサービスのリストを取得しようとすると、エラーは次のようになります。

C:\Windows\system32>sc \\lonts-01 query

[SC] OpenSCManagerが失敗しました5:
アクセスが拒否されました。

管理者以外のユーザーにSCManagerでのリモートアクセスを許可する

サービスのリストへのアクセスは、サービスコントロールマネージャーデータベースのセキュリティ記述子によって制御されます。このデータベースでは、Windows 2003 SP1で「認証済みユーザー」からのユーザーのリモートアクセスがすでに制限されています(これは非常に論理的です)。 LocalAdministratorsグループのメンバーのみがこのサービスにリモートでアクセスする権利を持っています。

サーバー上のサービスのリストを取得するためにサービスコントロールマネージャーへのリモートアクセスを許可する方法と、一般ユーザー(管理者権限なし)がWindows Server2012R2でこれらのサービスのステータスを取得する方法を考えてみましょう。

現在のサービスコントロールマネージャー(SCM)のアクセス許可は、 sc.exeを使用して取得できます。 コマンドプロンプトで次のコマンドを実行し、管理者権限で実行します。

sc sdshow scmanager

このコマンドは、同様のSDDL文字列を返します。

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

管理者以外のユーザーにSCManagerでのリモートアクセスを許可する

この場合、デフォルトでは、Authenticated Users(AU)グループはSCMを使用した接続のみが許可されており、サービスのポーリング(LC)は許可されていないことがわかります。この文字列を任意のテキストエディタにコピーします。

次のステップは、SCMへのリモートアクセス権を付与するユーザーまたはグループのSIDを取得することです(ユーザー名でユーザーSIDを取得する方法)。たとえば、ADグループlon-hdのSIDを取得しましょう:

Get-ADgroup -Identity lon-hd | select SID
SID
---
S-1-5-21-2470146451-39123456388-2999995117-23338978

ブロック(A;; CCLCRPRC;;; IU)–(IUはインタラクティブユーザーを意味します)をテキストエディターのSDDL文字列からコピーし、コピーしたブロックのIUをユーザー/グループのSIDに置き換えて、前に取得した文字列を貼り付けますS:

この場合、次の文字列があります:

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPRC;;;S-1-5-21-2470146451-39123456388-2999995117-23338978)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

次に、サービスコントロールマネージャーのセキュリティ記述子のパラメーターを変更しましょう:

sc sdset scmanager “D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPRC;;;S-1-5-21-2470146451-39123456388-2999995117-23338978)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)“

管理者以外のユーザーにSCManagerでのリモートアクセスを許可する

文字列[SC]SetServiceObjectSecurity SUCCESS 新しいセキュリティパラメータが正常に適用され、ユーザーがローカルで認証されたユーザーと同様の権限(SC_MANAGER_CONNECT、SC_MANAGER_ENUMERATE_SERVICE、SC_MANAGER_QUERY_LOCK_STATUS、STANDARD_RIGHTS_READ)を持っていることを示します。

リモートユーザーがsc\\srv-name1 query

を使用して、services.mscコンソールからサービスのリストとそのステータスを取得できることを確認します。

管理者以外のユーザーにSCManagerでのリモートアクセスを許可する

当然、各サービスへのアクセスは個別のACLによって制御されるため、サービスを管理する権限はありません。サーバーサービスを開始/停止する権限をユーザーに付与するには、「ユーザーにWindowsサービスを管理(開始、停止、または再起動)するためのアクセス許可を付与する方法」の手順に従ってください。

ヒント 。通常の権限とは異なるSCManager権限を割り当てると、それらは HKLM \ SYSTEM \ CurrentControlSet \ Control \ ServiceGroupOrder \ Securityに保存されます。 レジストリのブランチ。 SDDL文字列を準備するときに間違えた場合は、このブランチを削除してコンピューターを再起動し、現在のアクセス許可をデフォルトのアクセス許可にリセットできます。 管理者以外のユーザーにSCManagerでのリモートアクセスを許可する


  1. [修正] WordPress rms-script リモート アクセス マルウェア

    最近、一部の WordPress Web サイトに、外部サイトへのリモート アクセスを許可するリモート アクセス マルウェアが含まれていることが判明しました。このマルウェアの場所は、wp-content/mu-plugins フォルダー内のランダムな PHP ファイルであることが後で判明しました。一般的な無料の WordPress セキュリティ プラグインを使用して Web サイトをスキャンしても、異常は検出されませんでした。このマルウェアの詳細と修正方法については、以下をお読みください。 rms-script マルウェアの機能 最初は、WordPress サイトに奇妙なエラーが表示され

  2. Windows 10 でリモート デスクトップ アクセスを設定する方法

    物理的に別の場所にあるコンピュータにリモート アクセスすることは、今日では珍しいことではありません。この機能により、私たちの仕事はより簡単で生産的になり、多くの組織によって奨励されています.ただし、確立されたリモート アクセス接続が安全でセキュアであることを確認することが重要です。 Windows 10 でリモート デスクトップをセットアップするためのさまざまな手順を次に示します。 Windows 10 でリモート デスクトップ アクセスを設定する方法 リモート デスクトップ アクセス機能は、Microsoft によって Windows オペレーティング システムに組み込まれた組み込みユーテ