「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 管理者以外のユーザーは、システムのセキュリティを損なうことなく Windows サービスを開始できますか?

管理者以外のユーザーは、システムのセキュリティを損なうことなく Windows サービスを開始できますか?

2024 年 11 月 18 日に公開
ブラウズ:817

Can Non-Admin Users Start Windows Services Without Compromising System Security?

管理者権限を持たないアプリケーションからの Windows サービスの開始

多くのシナリオでは、別のアプリケーションから Windows サービスを開始または停止する必要があります。ただし、セキュリティ上の懸念により、これは管理者以外のユーザーには制限されているように見える場合があります。この制限を克服し、システムの安定性を損なうことなく、ユーザーがサービス管理をきめ細かく制御できるようにするにはどうすればよいですか?

解決策: サービス権限の変更

この問題の鍵は次のとおりです。サービスオブジェクトの権限を変更する場合。管理者以外のユーザーに適切な権限を付与することで、管理者が制御された方法でサービスと対話できるようにすることができます。

次のコード スニペットは、サービスのセキュリティ記述子を設定して必要な権限を含める方法を示しています。

wchar_t sddl[] = L"D:"
  L"(A;;CCLCSWRPWPDTLOCRRC;;;SY)"           
  L"(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)"   
  L"(A;;CCLCSWLOCRRC;;;AU)"                 
  L"(A;;CCLCSWRPWPDTLOCRRC;;;PU)"           
  L"(A;;RP;;;IU)"                         
;

PSECURITY_DESCRIPTOR sd;

if (!ConvertStringSecurityDescriptorToSecurityDescriptor(sddl, SDDL_REVISION_1, &sd, NULL))
{
   fail();
}

if (!SetServiceObjectSecurity(service, DACL_SECURITY_INFORMATION, sd))
{
   fail();
}

この特定のセキュリティ記述子は、次の権限を付与します:

  • ローカル システムのデフォルトの権限: ローカル システム アカウントにフル コントロールを付与します。
  • 管理者のデフォルトのアクセス許可: 管理者にアクセスを許可します。
  • 認証されたユーザーのデフォルトのアクセス許可: すべての認証されたユーザーに制限付きのアクセスを許可します。
  • パワー ユーザーのデフォルトの権限: パワー ユーザーにフル コントロールを付与します。
  • 対話型ユーザーの追加権限: 対話型ユーザーにサービスを開始する権限を付与します。

セキュリティ記述子文字列 (SDDL) をカスタマイズして、さまざまなユーザー グループに必要なアクセス レベルに基づいて特定のアクセス許可を追加または削除できます。たとえば、管理者以外のユーザーがサービスを停止できるようにしたい場合は、次の SDDL を使用できます:

L"(A;;RPWP;;;IU)" 

これにより、WP (WRITE_PROPERTY) 権限が追加され、対話型ユーザーがサービスの開始と停止の両方を行えるようになります。

権限を慎重に設定することで、管理者以外のユーザーはシステムのセキュリティを損なうことなく重要なサービス管理タスクを実行できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3