PROFDINFO.COM

Votre enseignant d'informatique en ligne

Les permissions NTFS

Le système de fichiers NTFS intègre une notion évoluée de sécurité et de contrôle d'accès aux objets (par objets on entend fichiers et répertoires).  Pour l'utiliser, il faut d'abord ouvrir un explorateur Windows, puis aller dans Outils->Options des dossiers->Affichage.  La toute dernière option (Utiliser le partage de fichiers simple) doit être désactivée (après tout, nous sommes des professionnels).  Après coup, il suffit d'aller dans les propriétés d'un objet dont on veut contrôler l'accès et d'atteindre l'onglet Sécurité.

De là, on pourra ajouter un groupe ou un usager de qui on veut contrôler l'accès.  Pour chaque usager ou groupe dans la liste, on choisira de permettre ou d'interdire différentes opérations.

Voyons voir ce que signifient les différentes permissions:

  1. Lecture:  s'applique uniquement à un fichier.  Permet de lire le contenu du fichier, lire ses attributs et ses permissions. 
  2. Affichage du contenu du dossier:  s'applique uniquement à un dossier.  Donne les mêmes accès que "Lecture" mais donne en plus le droit d'exécuter tous les fichiers qui se trouvent dans le dossier
  3. Lecture et exécution:  équivaut à "Affichage du contenu du dossier", mais peut s'appliquer à un fichier comme à un dossier.  Dans le cas d'un fichier, il permet donc de l'exécuter.  Dans le cas d'un dossier, la seule différence entre " Lecture et exécution " et " Affichage du contenu du dossier " est au niveau de l'héritage:  la première est héritée à tous les objets enfants du dossier et la deuxième n'est héritée qu'aux sous-répertoires (nuance très subtile s'il en est une – nous verrons l'héritage des permissions très bientôt).
  4. Écriture:  permet de créer des fichiers, de modifier le contenu des fichiers, de créer des dossiers et de modifier les attributs des fichiers et des dossiers.  Attention:  la permission "Écriture" ne permet pas à quelqu'un de modifier les permissions d'un objet!  Elle ne permet pas non plus d'effacer ni d'exécuter!
  5. Modification:  équivaut à la somme de "Lecture" et "Écriture", avec en plus le droit d'exécuter et d'effacer le fichier.
  6. Contrôle total:  donne toutes les permissions possibles.  Équivaut donc à "Modification" avec en plus le droit de prendre possession du fichier et de changer ses permissions (c'est la seule permission qui permet ce genre d'opérations).

Quelques notes importantes en passant:

  1. L'administrateur est limité comme tout le monde par les permissions (en ce sens qu'il ne pourra pas par exemple entrer dans un répertoire où il n'a pas accès, ni effacer un fichier pour lequel il n'a pas le droit de modification).  Toutefois, il a toujours le droit de modifier les permissions de tout objet, donc il pourra s'il le désire contourner toutes les limitations.
  2. Si quelqu'un a le contrôle total d'un dossier, il pourra effacer tous les objets de ce dossier, peu importe les accès individuels qu'il a sur ces objets.
  3. Un usager reçoit la somme de toutes les permissions qui s'appliquent à lui.  Par exemple, si on donne des permissions à un usager directement, puis qu'on définit d'autres permissions à un groupe dont l'usager fait partie, cet usager recevra donc les deux ensembles de permissions.  Dans un cas où un de ces ensembles lui permet quelque chose et que l'autre le lui interdit, c'est toujours l'interdiction qui aura préséance.

L'héritage des permissions

De façon à faciliter la mise en place des permissions, celles-ci sont héritées d'un dossier à ses enfants.  Chaque objet reçoit par défaut les permissions de son dossier parent, puis ses propres permissions.  Le total des deux sera ensuite passé à ses enfants.

Lorsqu'un objet reçoit des permissions de son parent, ces permissions apparaissent chez l'objet et sont grisées.  Elles ne peuvent pas être modifiées directement.  Si on veut tout de même les changer, on a trois choix:

  1. Les modifier chez le parent.  Évidemment, ça règle notre problème concernant les permissions de l'enfant, mais ça peut fort bien en causer d'autres au niveau du parent!
  2. Les contredire chez l'enfant.  En effet, si un objet reçoit, par exemple, une permission de modification pour un usager quelconque, on ne peut pas enlever cette permission, mais on peut cocher la case d'interdiction de modification juste à côté!  L'inverse est aussi possible.  Lorsqu'une permission locale contredit une permission héritée, la permission locale a toujours préséance.
  3. S'il est impossible d'arriver à nos fins en contredisant les permissions héritées, on peut carrément désactiver l'héritage en faisant cliquant sur le bouton "Avancé" et en enlevant la coche "Hériter les permissions du parent" (c'est souvent la solution la plus simple).

Les permissions avancées

 Justement, en cliquant sur le bouton "Paramètres avancés", on découvre soudainement un autre ensemble de permissions...  On voit une liste d'usagers et de groupes et pour chacun d'eux, une liste de permissions différentes de celles de l'onglet Sécurité...  Comment expliquer cela?

C'est très simple en fait:  les permissions "de base", celles que l'on utilise normalement, ne sont pas unitaires, c'est-à-dire qu'elles sont en fait composées de permissions plus granulaires encore.  Par exemple, la simple permission "Lecture" est en réalité composée des cinq permissions avancées suivantes:  "Liste du dossier/Lecture des données", "Autorisations de lecture", "Lecture des attributs étendus", "Attributs de lecture" et "Synchroniser".

Si on a besoin d'être très spécifique et que les permissions de base ne le sont pas assez pour nous, on peut aller dans les permissions avancées et cocher ce qui nous plait – ce qui ne correspondra pas nécessairement à une des permissions de base.  Dans ce cas, on verra "Autorisations spéciales" dans l'onglet Sécurité. 

Voici un tableau montrant les permissions avancées contenues dans chaque permission de base:


Permissions
avancées

Contrôle total

Modification

Lecture et Exécution

Affichage du contenu du dossier

Lecture

Écriture

Parcours d’un dossier :

dossier Autorise ou non à afficher le contenu du répertoire pour accéder à un fichier ou un sous-répertoire

x

x

x

x

 

 

Liste du dossier :

Donne l’autorisation de visualiser le contenu d’un dossier

x

x

x

x

x

 

Lecture des attributs :

Permet de consulter les attributs du fichier ou du répertoire. Ces attributs sont définis par le système de fichiers NTFS (exemple : lecture seule, archive...)

x

x

x

x

x

 

Lecture des attributs étendus :

Ces attributs sont définis par des logiciels : tags sur une photo, information sur l’artiste, l’album, la durée etc. à propos d’un fichier musical, etc

x

x

x

x

x

 

Création de fichier/ Écriture de données:

Permet d’ajouter des éléments dans un répertoire (pour les répertoires uniquement) et de modifier le contenu d’un fichier ou écraser le contenu existant (pour les fichiers uniquement)

x

x

 

 

 

x

Création de dossier/Ajout de données:

Sert à créer un dossier à l’intérieur d’un répertoire
Autorise l’ajout de données à la suite du contenu d’un fichier existant

x

x

 

 

 

x

Écriture d’attributs :

Autorise ou non la modification des attributs NTFS d’un élément

x

x

 

 

 

x

Écriture d’attributs étendus :

Permet ou non de modifier les attributs étendus d’un fichier ou d’un répertoire

x

x

 

 

 

x

Suppression:

Donne le droit de supprimer l’élément

x

x

 

 

 

 

Lire les autorisations :

Permet de visualiser les paramètres de sécurité (détail de l’ACL pour un fichier ou un répertoire)

x

x

x

x

x

x

Modifier les autorisations :

Donne l’autorisation de modifier les paramètres de sécurité d’un élément

x

 

 

 

 

 

Appropriation :

Donne le droit de modifier le propriétaire de l’élément

x

 

 

 

 

 

Il est toutefois bien rare qu'on ait besoin d'aller dans un niveau de détail aussi grand.

Le partage de répertoires

Lorsque notre ordinateur est relié à un réseau local, qu'on fonctionne en groupe de travail (workgroup) ou en domaine, il est fort utile de pouvoir partager des ressources.  Il n'est pas possible de partager un simple fichier, mais on peut toutefois partager un répertoire (et donc son contenu). 

Pour partager un dossier, il suffit de faire afficher ses propriétés et d'aller dans l'onglet "partage".  De là on pourra simplement choisir de partager le dossier, ce qui implique qu'on lui donnera un nom de partage.  C'est le nom de partage qui sera utilisé pour atteindre le dossier – les utilisateurs distants ne savent pas (et n'ont pas besoin de savoir) où se trouve le dossier, simplement d'en connaître le nom de partage.

Il est possible de définir des autorisations d'accès à un partage.  Cette fenêtre ressemble beaucoup aux permissions de NTFS, mais en plus simple.  En fait, elles viennent s'additionner aux permissions NTFS, ce qui complique les choses inutilement.  Ces options sont là simplement pour respecter le fonctionnement des anciennes versions de Windows.  Il est recommandé de ne pas les utiliser et de se fier à NTFS.

Pour accéder à un répertoire partagé par quelqu'un d'autre, on doit nécessairement connecter un lecteur réseau.  Le lecteur réseau sera vu par Windows (et possiblement par l'utilisateur!) comme un disque dur ordinaire.  Il pointe en réalité vers un répertoire partagé sur un autre ordinateur.

Pour connecter un lecteur réseau, il suffit d'aller dans l'explorateur Windows et de cliquer sur Outils -> Connecter un lecteur réseau.  On choisira alors la lettre que l'on veut donner à notre futur lecteur, puis sa destination.  La destination est donnée en notation UNC (Unified Naming Convention), c'est à dire \\serveur\partage.  On peut ajouter \répertoire à la fin si on veut atteindre directement un sous-répertoire du dossier partagé.

Une fois le lecteur connecté, on y accède comme on le ferait pour n'importe quel disque dur.

Partager une imprimante

On peut également partager une imprimante, de façon à permettre à des utilisateurs d'autres ordinateurs d'y accéder – très pratique dans un réseau.

Le fonctionnement est sensiblement le même que pour un répertoire:  il suffit d'afficher les imprimantes (en allant, par exemple dans le menu Démarrer ou dans le Panneau de configuration).  Puis, on choisit une imprimante et on affiche ses propriétés.  De là, on va dans l'onglet partage pour décider de la partager.  Il suffit ensuite de donner un nom de partage à notre imprimante et le tour est joué!

Notez que l'onglet sécurité permet de définir qui aura accès à notre imprimante et ce qu'il pourra faire avec elle.  Les différentes permissions possibles sont:

  1. Imprimer: ça va de soi!  Par défaut tout le monde peut imprimer sur une imprimante partagée.
  2. Gestion d'imprimantes:  permet, en plus d'imprimer, de contrôler totalement l'imprimante.  On pourra alors gérer le partage, changer ses paramètres, interrompre et redémarrer l'imprimante, etc.
  3. Gestion des documents:  permet d'interrompre, relancer, annuler et réorganiser les documents envoyés à l'imprimante par tous les utilisateurs.  Notez que cette permission ne permet pas à son détenteur d'imprimer lui-même!

Par défaut, les administrateurs de l'ordinateur sur lequel est branchée l'imprimante ont toutes les permissions.

Pour se connecter à une imprimante partagée, il suffit d'aller dans l'affichage de nos imprimantes, faire "ajouter une imprimante" et choisir "imprimante réseau".  De là, on pourra entrer le nom de l'imprimante, de la même façon que pour un dossier:  \\serveur\imprimante, en utilisant son nom de partage.  On peut aussi rechercher des imprimantes si on en a oublié le nom.

Les pilotes nécessaires pour imprimer nous seront alors automatiquement envoyés et installés.  Toutefois, si on utilise une version de Windows différente de celle de l'ordinateur propriétaire de l'imprimante, il est possible qu'on doive trouver et installer nous-mêmes nos pilotes.  Le propriétaire peut nous simplifier la vie en ajoutant des pilotes pour les différentes version de Windows.  Le bon pilote selon notre version nous sera alors envoyé.

L'audit

Le processus d'audit permet en quelque sorte d'espionner les usagers d'un ordinateur et de conserver une trace de certaines de leurs activités.  Pour chaque catégorie d'audit on spécifiera si on veut garder une trace des succès, des échecs ou des deux. 

Les actions qui sont couramment auditées sont les suivantes:

  1. Login physique à la station (permet de savoir qui s'est logué quand ou de voir que quelqu'un a tenté de se loguer sans succès, ce qui peut éventuellement être signe de danger)
  2. Modification, création ou suppression de comptes ou de groupes
  3. Login à la station à distance (idéal pour un serveur)
  4. Utilisation de tout privilège particulier (quelque chose que seulement certains usagers peuvent faire – par exemple changer l'heure, s'approprier un répertoire ou un fichier, redémarrer la machine, faire un backup ou une restauration...  Plusieurs fraudes proviennent de l'interne et sont effectuées par des gens à qui on faisait confiance et qui avaient des accès privilégiés...  Le pouvoir corrompt, c'est bien connu!)
  5. Modification aux stratégies (pour les mêmes raisons que le point précédent)
  6. Accès à certains répertoires ou fichiers (de loin la fonction la plus utilisée, particulièrement dans un environnement réseau avec répertoires partagés)

Par défaut, certaines opérations de base sont auditées sur Windows 7 Professionnel:  les logins (physiques et à distance), les modifications aux stratégies et les modifications aux comptes.

Lorsque quelque chose qui est surveillé se produit, un événement sera ajouté au journal "Sécurité" du système.  Windows n'offre pas de moyen de se faire avertir d'un tel événement (que ce soit par e-mail ou par tout autre moyen), il faut simplement surveiller les journaux régulièrement.  Normalement le but de l'audit est d'amasser de l'information, pas d'être avisé à chaque fois que quelque chose se produit.

Mettre en place l'audit

 Tous les types d'audit mentionnés ci-haut, excepté l'accès aux répertoires et fichiers, peuvent être simplement allumés ou éteints en allant (encore une fois) dans les paramètres de sécurité:

Paramètres de sécurité -> Stratégies locales -> Stratégie d'audit

Pour chaque type d'audit, on choisira d'auditer les succès, les échecs, les deux ou rien du tout.  Il suffit de changer les paramètres d'audit pour que l'audit commence sur-le-champ – inutile de redémarrer.

L'accès aux répertoires et aux fichiers

 Ce type d'audit est définitivement le plus répandu.  Il est aussi un peu particulier, puisqu'il faudra une étape de plus pour le mettre en place.  Comme tous les autres audits, on commencera par activer la stratégie correspondante ("auditer l'accès aux objets").  Toutefois, on devra ensuite aller modifier les propriétés des répertoires ou fichiers que l'on voudra surveiller, sinon il ne se passera rien du tout.

Pour pouvoir activer la surveillance d'un fichier ou d'un répertoire (on utilisera le terme général "objet", pour se simplifier la vie), il faudra aller dans l'onglet "Sécurité" des propriétés de l'objet.

Dans l'onglet Sécurité, on voit les différentes permissions sur l'objet.  En cliquant sur le bouton "Paramètres avancés", on arrive à une fenêtre qui propose entre autres un onglet "Audit".  C'est là qu'on pourra décider d'auditer l'objet en question.

Pour chaque objet à surveiller, on ajoutera une liste d'usagers ou de groupes qui seront visés par la surveillance.  Pour ce faire:

  1. Appuyer sur le bouton "Ajouter" de la fenêtre d'audit
  2. Entrer le nom d'un usager ou d'un groupe qui sera audité (ou cliquez sur le bouton "Avancé", puis recherchez la liste de tous les noms possibles pour ensuite en sélectionner un).  Notez qu'il existe un groupe "Tout le monde", auquel tout le monde sans exception appartient (c'est impossible de s'enlever du groupe "Tout le monde", l'inscription à ce groupe fait partie de la procédure de login).
  3. Appuyez sur OK.
  4. Choisissez ce que vous voulez auditer.  Vous disposez d'une longue liste d'actions que l'usager choisi peut éventuellement effectuer sur votre objet.  Cochez les actions pour lesquelles vous voulez un audit, en choisissant pour chacune d'elle d'auditer les succès, les échecs, les deux ou rien du tout (notez que pour que l'audit fonctionne, il faut avoir activé la stratégie correctement au préalable!).
  5. Par défaut, lorsque vous activez un audit sur un répertoire, l'audit s'étendra à tous les enfants de ce répertoire (fichiers et sous-répertoires).  Vous pouvez changer ce comportement en choisissant autre chose dans la liste déroulante au haut de la fenêtre de choix d'actions à auditer.  Toutes les variations sont possibles.
  6. Vous revenez à la fenêtre initiale.  Si vous voulez surveiller les actions d'autres usagers, cliquez de nouveau sur "Ajouter" et entrez un autre nom.

De retour dans la fenêtre initiale, vous pouvez décider de ne pas recevoir d'héritage du dossier parent de l'objet en cours en enlevant la coche sous la liste d'usagers si c'est ce que vous voulez.

Il faut tout de même faire attention à ne pas abuser de l'audit.  Auditer l'accès à tous les répertoires et fichiers d'un disque (par exemple en auditant toutes les actions pour tout le monde sur le dossier racine et en se fiant sur l'héritage) va assurément encombrer le journal de milliers d'événements...  Non seulement la lecture sera pénible mais l'ordinateur peut vite baisser en performance!

D'un autre côté, ne rien auditer du tout par souci d'économie risque d'amener des problèmes de sécurité pour lesquels on n'aura aucune information utile.  Il faut savoir faire la part des choses et choisir une stratégie intelligente et surtout adaptée à nos besoins!

Notez en passant que l'audit sur des fichiers ou répertoires est seulement possible sur un volume formaté en NTFS.

Lire le résultat de nos audits:  le journal d'événements

 Il y a trois grands journaux sur Windows:  Application, Système et Sécurité.  Le journal Application reçoit des messages de toute application qui décide d'en envoyer.  Le journal Système reçoit des messages du système d'exploitation lui-même et de ses différentes composantes (principalement les services de Windows).  Finalement le journal Sécurité reçoit tous les messages d'audit.

Pour ouvrir les journaux d'événements, on peut aller dans : Ordinateur / Gérer/ Observateur d'événements / Journaux Windows / Sécurités.

Notez qu'une simple action de base sur un fichier ou un répertoire peut aisément générer plusieurs dizaines d'enregistrements d'audit, à cause de la façon dont Windows (et l'application utilisée pour réaliser l'action sur le fichier) gère l'accès aux fichiers.  On ne se rend pas compte, mais simplement entrer dans un répertoire et modifier un fichier implique en fait tout un tas de petits accès au répertoire et au fichier.  Chacun de ces petits accès générera possiblement un enregistrement d'audit.

Les actions à auditer qui causent généralement des avalanches d'événements sont "traverser un répertoire", "lire les attributs", "lister le contenu du répertoire/lire les données".  Les accès en modifications, création ou suppression sont moins volubiles...

Chaque événement du journal de Sécurité affichera (entre autres) le nom de l'objet, le nom de l'usager, le nom de l'application impliquée (souvent Windows Explorer!) et le type d'accès utilisé.  En plus de tout cela, chaque événement sera de type "succès" ou de type "échec", ce qui nous permet de voir non seulement ce que quelqu'un a fait mais aussi ce qu'il a essayé de faire (ce qui peut nous mettre tout autant la puce à l'oreille concernant une situation problématique...).