Maison > développement back-end > C++ > le corps du texte

Les utilisateurs non administrateurs peuvent-ils démarrer les services Windows sans compromettre la sécurité du système ?

Mary-Kate Olsen
Libérer: 2024-10-26 00:58:02
original
811 Les gens l'ont consulté

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

Démarrage des services Windows à partir d'applications sans privilèges d'administrateur

De nombreux scénarios impliquent le démarrage ou l'arrêt des services Windows à partir d'applications distinctes. Cependant, cela peut sembler limité pour les utilisateurs non-administrateurs en raison de problèmes de sécurité. Comment pouvons-nous surmonter cette limitation et donner aux utilisateurs un contrôle granulaire sur la gestion des services sans compromettre la stabilité du système ?

La solution : modifier les autorisations de service

La clé de ce problème réside en modifiant les autorisations de l'objet de service. En accordant les droits appropriés aux utilisateurs non administrateurs, nous pouvons leur permettre d'interagir avec les services de manière contrôlée.

L'extrait de code suivant montre comment définir le descripteur de sécurité d'un service pour inclure les autorisations requises :

<code class="c++">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();
}</code>
Copier après la connexion

Ce descripteur de sécurité spécifique accorde les autorisations suivantes :

  • Autorisations par défaut pour le système local : Accorde un contrôle total au compte système local.
  • Autorisations par défaut pour les administrateurs : Accorde l'accès aux administrateurs.
  • Autorisations par défaut pour les utilisateurs authentifiés : Accorde un accès limité à tous les utilisateurs authentifiés.
  • Autorisations par défaut pour les utilisateurs expérimentés : Accorde un contrôle total aux utilisateurs expérimentés.
  • Autorisation ajoutée pour les utilisateurs interactifs : Accorde l'autorisation de démarrer le service pour les utilisateurs interactifs.

La chaîne de descripteur de sécurité (SDDL) peut être personnalisée pour ajouter ou supprimer des autorisations spécifiques en fonction du niveau d'accès souhaité pour différents groupes d'utilisateurs. Par exemple, si vous souhaitez que les utilisateurs non-administrateurs puissent arrêter le service, le SDDL suivant peut être utilisé :

L"(A;;RPWP;;;IU)" 
Copier après la connexion

Cela ajouterait le droit WP (WRITE_PROPERTY), permettant aux utilisateurs interactifs de démarrer et arrêtez le service.

En définissant soigneusement les autorisations, les utilisateurs non-administrateurs peuvent effectuer des tâches essentielles de gestion des services sans compromettre la sécurité du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!