Meilleures pratiques et conseils destinés aux rédacteurs de listes de contrôle d'accès discrétionnaires sur des services

Traductions disponibles Traductions disponibles
Numéro d'article: 914392 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Les listes de contrôle d'accès discrétionnaires (DACL, Discretionary Access Control List) sur les services sont des composants importants de la sécurité des stations de travail et des serveurs. Cet article de la Base de connaissances Microsoft indique comment interpréter les DACL sur les services. Il comporte également des meilleures pratiques destinées aux rédacteurs de DACL sur des services lorsqu'ils développent et évaluent la sécurité de leurs programmes.

INTRODUCTION

Cet article de la Base de connaissances Microsoft peut vous servir de support pour l'évaluation de la sécurité des listes de contrôle d'accès discrétionnaires (DACL) sur des services.

Plus d'informations

Pour afficher les DACL sur un service, utilisez la commande sc avec l'argument sdshow tel qu'indiqué dans l'exemple ci-dessous, où nom_service désigne le nom du service dont vous voulez afficher les DACL.
sc sdshow nom_service
La commande génère des résultats semblables aux lignes suivantes :
(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;PU)(A;;CCDCLCSWLOCRRC;;;LS)
Cet exemple de sortie de la commande sc illustre la description de sécurité d'un service dans le langage SDDL (Security Descriptor Definition Language). Pour plus d'informations sur la syntaxe du langage SDDL, reportez-vous au site Web de Microsoft à l'adresse suivante (en anglais):
http://msdn2.microsoft.com/en-us/library/aa379567.aspx
Il y a plusieurs choses à examiner pour déterminer si la DACL d'un service est vulnérable. Les tableaux suivants indiquent comment lire les résultats de la commande sc et comment interpréter chaque chaîne d'autorisation ainsi que le bénéficiaire de l'autorisation.

Vous pouvez évaluer de façon indépendante chaque chaîne de caractères entre parenthèses en utilisant la clé suivante :
(A-Autoriser/D-Refuser;;Chaîne des autorisations;;;SID ou acronyme du groupe ou du compte prédéfini)
Chaque paire de lettres de la chaîne des autorisations correspond à un droit ou une autorisation spécifique, comme indiqué ci-après.
Réduire ce tableauAgrandir ce tableau
Paire Droit ou autorisation
CCQueryConf
DCChangeConf
LCQueryStat
SWEnumDeps
RP Start
WPStop
DTPause
LOInterrogate
CRUserDefined
GAGenericAll
GXGenericExecute
GWGenericWrite
GRGenericRead
SDDel
RCRCtl
WDWDac
WOWOwn

Soyez très vigilant avec l'autorisation ChangeConf (DC). Examinez-la lorsque vous évaluez si votre service est vulnérable face à une attaque de type élévation de privilège. Cette autorisation permet à l'utilisateur désigné de modifier la configuration du service afin d'y inclure le fichier binaire exécuté lors du démarrage du service. Soyez aussi extrêmement vigilant avec les autorisations WDac (WD) et WOwn (WO) car l'une comme l'autre peuvent être utilisées pour élever les autorisations au niveau de Système local. Assurez-vous que ces droits ne sont pas attribués à un utilisateur dont le niveau d'autorisation est peu élevé. Le tableau suivant répertorie les codes utilisés pour identifier le type d'utilisateur auquel est attribué le droit d'accès. Ces codes utilisent la syntaxe du langage SDDL.
Réduire ce tableauAgrandir ce tableau
CodeType d'utilisateur
DADomain Administrators (Administrateurs du domaine)
DGDomain Guests (Invités du domaine)
DUDomain Users (Utilisateurs du domaine)
EDEnterprise Domain Controllers (Controleurs de domaines d'entreprise)
DDDomain Controllers (Contrôleurs du domaine)
DCDomain Computers (Ordinateurs du domaine)
BABuilt-in (Local ) Administrators (Administrateurs intégrés (local))
BGBuilt-in (Local ) Guests (Invités intégrés (local))
BUBuilt-in (Local ) Users (Utilisateurs intégrés (local))
LALocal Administrator Account (Compte Administrateur local)
LGLocal Guest Account (Compte Invité local)
AOAccount Operators (Opérateurs de compte)
BOBackup Operators (Opérateurs de sauvegarde)
POPrinter Operators (Opérateurs d'impression)
SOServer Operators (Opérateurs de serveur)
AUAuthenticated Users (Utilisateurs authentifiés)
PSPersonal Self (Personnel)
COCreator Owner (Créateur propriétaire)
CGCreator Group (Groupe créateur)
SYLocal System (Système local)
PUPower Users (Utilisateurs avec pouvoir)
WDEveryone (World) (Tout le monde (global))
REReplicator (Duplicateurs)
IUIntercative Logon User (Session utilisateur interactive)
NUNetwork Logon User (Utilisateur d'ouverture de session réseau)
SUService Logon User (Service de connexion utilisateur)
RCRestricted Code (Code restreint)
WRWrite Restricted Code (Code restreint en écriture)
ANAnonymous Logon (Ouverture de session anonyme)
SASchema Administrators (Administrateurs de schéma)
CACertificate Services Administrators (Administrateurs des services de certificats)
RSRemote Access Servers Group (Groupe serveurs d'accès distant)
EAEnterprise Administrators (Administrateurs de l'entreprise)
PAGroup Policy Administrators (Administrateurs de stratégies de groupe)
RUAlias to Allow Previous Windows 2000 (Alias autorisant pré-Windows 2000)
LSLocal Service Account (for Services) (Compte Service local (pour les services))
NSNetwork Service Account (for Services) (Compte Service réseau (pour les services))
RDRemote Desktop Users (for Terminal Services) (Utilisateurs du Bureau à distance (pour les services Terminal Server))
NONetwork Configuration Operators (Opérateurs de configuration réseau)
MUPerformance Monitor Users (Utilisateurs de l'Analyseur de performances)
LUPerformance Log Users (Utilisateurs du journal de performance)
ISAnonymous Internet Users (Utilisateurs Internet anonymes)
CYCrypto Operators (Opérateurs de cryptographie)
OWOwner Rights SID (SID des droits du propriétaire)
RMRMS Service (Service RMS)

Interprétation d'une chaîne de DACL au format SDDL

Les informations suivantes indiquent comment interpréter l'exemple de chaîne de DACL figurant au début de l'article. L'interprétation donnée ci-après énumère une à une chaque entrée de contrôle d'accès (ACE, Access Control Entry).
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)

    Cette entrée de contrôle d'accès (ACE) attribue à Système local (SY) les droits suivants :
    • QueryConf
    • ChangeConf
    • QueryStat
    • EnumDeps
    • Start
    • Stop
    • Pause
    • Interrogate
    • UserDefined
    • Delete
    • RCtl
    • WDac
    • WOwn
    L'entrée de contrôle d'accès (ACE) est restreinte à Système local, ce qui est bien pour la sécurité car Système local est déjà pratiquement le contexte de sécurité le plus puissant pour une station de travail. Par conséquent, il n'y a aucun risque d'élévation.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)

    Cette entrée de contrôle d'accès (ACE) concerne les administrateurs locaux intégrés (BA). Elle attribue les mêmes droits que l'ACE précédente à tous les administrateurs locaux. Il s'agit également d'un contexte de sécurité très puissant pour la station de travail. Par conséquent, il n'y a, là non plus, aucun risque d'élévation.
  • (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU)

    Cette entrée de contrôle d'accès (ACE) attribue tous les droits vus précédemment à n'importe quel utilisateur authentifié (AU).
Dans l'entrée de contrôle d'accès (ACE) précédente, un utilisateur appartenant à un groupe dont les droits sont restreints, tel qu'un utilisateur authentifié quelconque, peut modifier la configuration du service. La configuration inclut le fichier binaire qui est exécuté au démarrage du service ainsi que le compte sous lequel le service est exécuté.

L'exemple de DACL suivant n'attribue pas les droits ChangeConf aux utilisateurs authentifiés :
(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPLOCRRC;;;PU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;DT;;;LS)(A;;DT;;;NS)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;NO)

Dans cette DACL, les utilisateurs authentifiés (AU) ne se voient attribuer que les droits suivants :
  • QueryConf
  • QueryStat
  • EnumDeps
  • Interrogate
  • UserDefined
  • RCtl
Il n'y a pas de risque potentiel d'élévation par l'intermédiaire du groupe Utilisateurs authentifiés avec l'attribution de tels droits. Le groupe Utilisateurs avec pouvoir (PU) peut déjà élever ses droits à ceux de Système local. Par conséquent, il ne constitue pas un risque d'élévation. Dans cet exemple, les droits du groupe Utilisateurs avec pouvoir sont identiques à ceux du groupe Utilisateurs authentifiés, à la différence près que le groupe Utilisateurs avec pouvoir peut également démarrer le service (RP). Vient ensuite le groupe Administrateurs local (BA). Ce groupe et le groupe suivant, Opérateurs de serveur (SO), disposent tous les deux des autorisations ChangeConf, WDac et WOwn. Ceci est acceptable car seuls les utilisateurs totalement approuvés sont membres de ces deux groupes.

Le groupe Système local (SY) dispose des mêmes autorisations que le groupe Utilisateurs avec pouvoir, à ceci près qu'il reçoit également les autorisations Stop et Pause, ce qui paraît approprié. Les deux entrées de contrôle d'accès suivantes sont courtes et accordent aux comptes Service local et Service réseau l'autorisation de suspendre le service. Là aussi, cela semble approprié car les comptes Service local et Service réseau sont tous les deux des comptes locaux puissants.

Le groupe Opérateurs de configuration réseau (NO), quant à lui, se voit attribuer l'autorisation ChangeConf. Il a été ajouté dans Windows XP pour permettre aux utilisateurs approuvés de modifier les paramètres réseau sans avoir pour autant toutes les autorisations d'administration. Par défaut, le groupe Opérateurs de configuration réseau est vide. Il est parfois utilisé pour attribuer des autorisations de configuration du réseau à certains utilisateurs. Par exemple, le propriétaire d'un ordinateur portable peut se voir accorder cette autorisation. Les utilisateurs du groupe Opérateurs de configuration réseau ont généralement le contrôle physique de leur ordinateur. Toutefois, le but de ce groupe n'est pas d'attribuer aux utilisateurs toutes les autorisations d'administration. Par conséquent, cette DACL sur le service ne doit pas accorder l'autorisation ChangeConf au groupe Opérateurs de configuration réseau.

Meilleurs pratiques

Il convient de restreindre les DACL sur les services aux utilisateurs qui ont besoin d'un type d'accès particulier. Soyez particulièrement vigilants avec les droits ci-dessous. Si ces droits sont attribués à un utilisateur ou à un groupe dont les droits sont limités, ces droits peuvent être utilisés pour élever les droits au niveau de ceux de Système local sur l'ordinateur.
  • ChangeConf (DC)
  • WDac (WD)
  • WOwn (WO)
Pour plus d'informations sur les droits d'accès et les autorisations, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn2.microsoft.com/en-us/library/ms685981.aspx

Propriétés

Numéro d'article: 914392 - Dernière mise à jour: jeudi 15 février 2007 - Version: 1.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003 Service Pack 1
  • Microsoft Windows XP Édition familiale
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Service Pack 1
  • Microsoft Windows XP Service Pack 1a
  • Microsoft Windows XP Service Pack 2
  • Microsoft Windows 2000 Professionnel
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
Mots-clés : 
kbinfo KB914392
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com