ACLs - DACLs/SACLs/ACEs
Last updated
Last updated
Utilisez Trickest pour construire facilement et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :
Une Liste de contrôle d'accès (ACL) se compose d'un ensemble ordonné d'entrées de contrôle d'accès (ACE) qui dictent les protections pour un objet et ses propriétés. En essence, une ACL définit quelles actions par quels principaux de sécurité (utilisateurs ou groupes) sont autorisées ou refusées sur un objet donné.
Il existe deux types d'ACL :
Liste de contrôle d'accès discrétionnaire (DACL) : Spécifie quels utilisateurs et groupes ont ou n'ont pas accès à un objet.
Liste de contrôle d'accès système (SACL) : Gouverne l'audit des tentatives d'accès à un objet.
Le processus d'accès à un fichier implique que le système vérifie le descripteur de sécurité de l'objet par rapport au jeton d'accès de l'utilisateur pour déterminer si l'accès doit être accordé et l'étendue de cet accès, en fonction des ACE.
DACL : Contient des ACE qui accordent ou refusent des autorisations d'accès aux utilisateurs et groupes pour un objet. C'est essentiellement la principale ACL qui dicte les droits d'accès.
SACL : Utilisé pour l'audit de l'accès aux objets, où les ACE définissent les types d'accès à enregistrer dans le journal des événements de sécurité. Cela peut être inestimable pour détecter les tentatives d'accès non autorisées ou résoudre les problèmes d'accès.
Chaque session utilisateur est associée à un jeton d'accès contenant des informations de sécurité pertinentes pour cette session, y compris les identités utilisateur, de groupe et les privilèges. Ce jeton inclut également un SID de connexion qui identifie de manière unique la session.
L'Autorité de sécurité locale (LSASS) traite les demandes d'accès aux objets en examinant le DACL pour les ACE qui correspondent au principal de sécurité tentant d'accéder. L'accès est immédiatement accordé s'il n'y a pas d'ACE pertinents. Sinon, LSASS compare les ACE au SID du principal de sécurité dans le jeton d'accès pour déterminer l'éligibilité à l'accès.
ACL : Définit les autorisations d'accès via les DACL et les règles d'audit via les SACL.
Jeton d'accès : Contient des informations utilisateur, de groupe et de privilège pour une session.
Décision d'accès : Faite en comparant les ACE du DACL avec le jeton d'accès ; les SACL sont utilisés pour l'audit.
Il existe trois principaux types d'entrées de contrôle d'accès (ACE) :
ACE de refus d'accès : Cet ACE refuse explicitement l'accès à un objet pour des utilisateurs ou groupes spécifiés (dans un DACL).
ACE d'autorisation d'accès : Cet ACE accorde explicitement l'accès à un objet pour des utilisateurs ou groupes spécifiés (dans un DACL).
ACE d'audit système : Positionné dans une Liste de contrôle d'accès système (SACL), cet ACE est responsable de la génération de journaux d'audit lors de tentatives d'accès à un objet par des utilisateurs ou groupes. Il documente si l'accès a été autorisé ou refusé et la nature de l'accès.
Chaque ACE a quatre composants critiques :
L'Identifiant de sécurité (SID) de l'utilisateur ou du groupe (ou leur nom principal dans une représentation graphique).
Un drapeau qui identifie le type d'ACE (accès refusé, autorisé ou audit système).
Des drapeaux d'héritage qui déterminent si les objets enfants peuvent hériter de l'ACE de leur parent.
Un masque d'accès, une valeur de 32 bits spécifiant les droits accordés à l'objet.
La détermination de l'accès est effectuée en examinant séquentiellement chaque ACE jusqu'à ce que :
Un ACE de refus d'accès refuse explicitement les droits demandés à un bénéficiaire identifié dans le jeton d'accès.
Les ACE d'autorisation d'accès accordent explicitement tous les droits demandés à un bénéficiaire dans le jeton d'accès.
Après avoir vérifié tous les ACE, si un droit demandé n'a pas été explicitement autorisé, l'accès est implicitement refusé.
La manière dont les ACE (règles qui disent qui peut ou ne peut pas accéder à quelque chose) sont placés dans une liste appelée DACL est très importante. Cela est dû au fait que une fois que le système accorde ou refuse l'accès en fonction de ces règles, il cesse de regarder le reste.
Il y a une meilleure façon d'organiser ces ACE, appelée "ordre canonique". Cette méthode aide à s'assurer que tout fonctionne correctement et équitablement. Voici comment cela se passe pour les systèmes comme Windows 2000 et Windows Server 2003 :
Tout d'abord, placez toutes les règles faites spécifiquement pour cet élément avant celles qui proviennent d'ailleurs, comme un dossier parent.
Dans ces règles spécifiques, placez d'abord celles qui disent "non" (refuser) avant celles qui disent "oui" (autoriser).
Pour les règles qui proviennent d'ailleurs, commencez par celles de la source la plus proche, comme le parent, puis remontez. Encore une fois, placez "non" avant "oui".
Cette configuration aide de deux manières importantes :
Elle garantit que si il y a un "non" spécifique, il est respecté, peu importe les autres règles "oui" qui sont là.
Elle permet au propriétaire d'un élément d'avoir le dernier mot sur qui peut y accéder, avant que les règles des dossiers parents ou plus éloignés entrent en jeu.
En procédant de cette manière, le propriétaire d'un fichier ou d'un dossier peut être très précis sur qui peut y accéder, en veillant à ce que les bonnes personnes puissent entrer et les mauvaises ne le puissent pas.
Ainsi, cet "ordre canonique" vise à garantir que les règles d'accès sont claires et fonctionnent bien, en plaçant d'abord les règles spécifiques et en organisant tout de manière intelligente.
Utilisez Trickest pour construire facilement et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :
Voici l'onglet de sécurité classique d'un dossier montrant l'ACL, le DACL et les ACE :
Si nous cliquons sur le bouton Avancé, nous aurons plus d'options comme l'héritage :
Et si vous ajoutez ou modifiez un Principal de sécurité :
Enfin, nous avons le SACL dans l'onglet Audit :
Lors de la gestion de l'accès aux ressources, comme un dossier, nous utilisons des listes et des règles appelées Listes de Contrôle d'Accès (ACL) et Entrées de Contrôle d'Accès (ACE). Celles-ci définissent qui peut ou ne peut pas accéder à certaines données.
Imaginez que vous avez un dossier nommé Coût, et que vous voulez que tout le monde y accède sauf une équipe marketing. En configurant correctement les règles, nous pouvons nous assurer que l'équipe marketing se voit explicitement refuser l'accès avant de permettre à tout le monde d'y accéder. Cela se fait en plaçant la règle de refus d'accès à l'équipe marketing avant la règle qui autorise l'accès à tout le monde.
Disons que Bob, le directeur marketing, a besoin d'accéder au dossier Coût, même si l'équipe marketing ne devrait généralement pas y avoir accès. Nous pouvons ajouter une règle spécifique (ACE) pour Bob qui lui accorde l'accès, et la placer avant la règle qui refuse l'accès à l'équipe marketing. Ainsi, Bob obtient l'accès malgré la restriction générale de son équipe.
Les ACE sont les règles individuelles dans une ACL. Elles identifient les utilisateurs ou groupes, spécifient les accès autorisés ou refusés, et déterminent comment ces règles s'appliquent aux sous-éléments (héritage). Il existe deux principaux types d'ACE :
ACE Génériques : Ils s'appliquent largement, affectant soit tous les types d'objets, soit distinguant uniquement entre les conteneurs (comme les dossiers) et les non-conteneurs (comme les fichiers). Par exemple, une règle qui permet aux utilisateurs de voir le contenu d'un dossier mais pas d'accéder aux fichiers à l'intérieur.
ACE Spécifiques à l'Objet : Ils offrent un contrôle plus précis, permettant de définir des règles pour des types spécifiques d'objets ou même des propriétés individuelles au sein d'un objet. Par exemple, dans un répertoire d'utilisateurs, une règle pourrait autoriser un utilisateur à mettre à jour son numéro de téléphone mais pas ses heures de connexion.
Chaque ACE contient des informations importantes telles que à qui s'applique la règle (en utilisant un Identifiant de Sécurité ou SID), ce que la règle autorise ou refuse (en utilisant un masque d'accès), et comment elle est héritée par d'autres objets.
Les ACE Génériques conviennent aux scénarios simples de contrôle d'accès, où la même règle s'applique à tous les aspects d'un objet ou à tous les objets dans un conteneur.
Les ACE Spécifiques à l'Objet sont utilisés pour des scénarios plus complexes, notamment dans des environnements comme Active Directory, où vous pourriez avoir besoin de contrôler l'accès à des propriétés spécifiques d'un objet de manière différente.
En résumé, les ACL et les ACE permettent de définir des contrôles d'accès précis, garantissant que seules les bonnes personnes ou groupes ont accès à des informations ou ressources sensibles, avec la possibilité d'adapter les droits d'accès jusqu'au niveau des propriétés individuelles ou des types d'objets.
Champ ACE | Description |
---|---|
Type | Drapeau indiquant le type d'ACE. Windows 2000 et Windows Server 2003 prennent en charge six types d'ACE : Trois types d'ACE génériques attachés à tous les objets sécurisables. Trois types d'ACE spécifiques à l'objet qui peuvent se produire pour les objets Active Directory. |
Drapeaux | Ensemble de bits de contrôle d'héritage et d'audit. |
Taille | Nombre d'octets de mémoire alloués pour l'ACE. |
Masque d'accès | Valeur de 32 bits dont les bits correspondent aux droits d'accès pour l'objet. Les bits peuvent être activés ou désactivés, mais la signification du réglage dépend du type d'ACE. Par exemple, si le bit correspondant au droit de lire les autorisations est activé, et que le type d'ACE est Refuser, l'ACE refuse le droit de lire les autorisations de l'objet. Si le même bit est activé mais que le type d'ACE est Autoriser, l'ACE accorde le droit de lire les autorisations de l'objet. Plus de détails sur le Masque d'accès apparaissent dans le tableau suivant. |
SID | Identifie un utilisateur ou un groupe dont l'accès est contrôlé ou surveillé par cette ACE. |
Bit (Plage) | Signification | Description/Exemple |
---|---|---|
0 - 15 | Droits d'Accès Spécifiques à l'Objet | Lire les données, Exécuter, Ajouter des données |
16 - 22 | Droits d'Accès Standard | Supprimer, Écrire ACL, Écrire le Propriétaire |
23 | Peut accéder à la liste de contrôle d'accès de sécurité | |
24 - 27 | Réservé | |
28 | Générique TOUT (Lire, Écrire, Exécuter) | Tout en dessous |
29 | Exécution Générique | Tout ce qui est nécessaire pour exécuter un programme |
30 | Écriture Générique | Tout ce qui est nécessaire pour écrire dans un fichier |
31 | Lecture Générique | Tout ce qui est nécessaire pour lire un fichier |
Utilisez Trickest pour construire et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :