III-5 Le système de permissions : UNIX
• Le système de permissions associé au système de fichiers constitue le
mécanisme de contrôle d’accès discrétionnaire (DAC) de base du système
• L’accès aux fichiers est conditionné par l’UID et le GID de l’utilisateur.
• L’UID est un nombre associé au nom de login de l’utilisateur, le GID est le
nombre associé au groupe auquel est rattaché l’utilisateur.
• Chaque utilisateur possède un UID qui lui est propre, le GID par contre peut
être partagé par plusieurs utilisateurs qui font alors partie du même groupe.
(/etc/group)
1
III-5 Le système de permissions : UNIX
• L’UID et le GID ont des valeurs comprises entre 0 et 65535, 0 étant une
valeur particulière qui donne les privilèges suivants
Accès à la totalité des fichiers systèmes quelles que soient les permissions
Droits d’exécuter la totalité des appels système
• Dans tous les cas l’UID 0 n’accorde pas tous les droits, car il reste un
processus qui s’exécute en mode utilisateur, seules certaines parties du
noyau ont un privilège supérieur appelé mode kernel.
2
III-5 Le système de permissions : UNIX
• La protection des fichiers entre utilisateurs est assurée au moyen de 3 permissions
s’appliquant à 3 classes utilisateurs :
Le propriétaire du fichier
Le groupe du fichier
Tous les autres
• D’où l’assurance d’une protection totale des fichiers
Bits d’execution Bits propriétaire Bits groupe Bits autres
sst rwx rwx rwx
3
III-5 Le système de permissions : UNIX
• L’autorisation +s(pecial) communément appelée SUID,
• Elle possède une seule fonction pour le niveau d'accès utilisateur : un fichier avec
SUID s'exécute toujours en tant qu'utilisateur propriétaire du fichier, quel que soit
l'utilisateur qui passe la commande.
• Pour le niveau groupe, cette autorisation spéciale (SGID) a plusieurs fonctions :
S'il est défini sur un fichier, il permet au fichier d'être exécuté en tant que groupe
propriétaire du fichier (similaire à SUID)
S'il est défini sur un répertoire, tous les fichiers créés dans le répertoire verront leur
propriété de groupe définie sur celle du propriétaire du répertoire.
4
III-5 Le système de permissions : UNIX
• L’autorisation +t (sticky)
• Elle indique que le segment texte d’un fichier exécutable n’est swappé out qu’une
seule fois et qu’il est conservé dans l’espace disque swap une fois que la commande
est terminée. Cela réduit donc le nombre de swap out et permet un changement en
mémoire plus rapide lors d’une exécution ultérieure.
• Au niveau du répertoire, cela restreint la suppression de fichiers. Seul le
propriétaire (et le root) d'un fichier peut supprimer le fichier dans ce répertoire
(protège par exemple les fichiers temporaires dans les répertoires publics).
5
III-5 Le système de permissions : UNIX
• Les permissions des fichiers et des répertoires
• Un répertoire est un fichier contenant des noms de fichiers et d’autres répertoires
• Un fichier possède les permissions rwx
r permissions de lire le fichier
w permissions d’écrire le fichier : ajouter, supprimer, modifier les données
x permissions d’exécuter les fichiers
• Un répertoire possède les permissions rwx
r permission de lire : de lister le répertoire
w permission d’écrire : ajouter, supprimer, modifier les fichiers
x permission de traverser le répertoire, la suppression de cette permission interdit
toutes opérations sur le répertoire et donc sur tout le contenu.
6
III-5 Le système de permissions : UNIX
• Le système UNIX suit dans l'ordre, un ensemble de règles simples pour
déterminer la catégorie à vérifier pour l'accès aux fichiers :
Si l'utilisateur est aussi le propriétaire du fichier, vérifier uniquement les droits
de propriété
Si l'utilisateur n'est pas le propriétaire, mais un membre du groupe possédant le
fichier, vérifier uniquement les droits d'accès du groupe
Si l'utilisateur n'est ni le propriétaire, ni membre du groupe propriétaire, vérifier
uniquement les droits d'accès des autres.
Si un fichier permet la lecture et non l'écriture, un utilisateur peut copier le
fichier et ajouter le droit d'accès en écriture, permettant ainsi la modification de la
copie
Si un fichier permet l'écriture et non la lecture, le fichier ne peut être édité. On
peut toutefois ajouter des informations à la fin du fichier ou remplacer
entièrement son contenu
Le droit d'exécution, seul, permet l'exécution des programmes compilés, pour
exécuter les scripts il faut les droits de lecture et d'exécution
7
III-5 Le système de permissions : UNIX
• En conclusion un fichier est protégé contre une modification par ses propres permissions
et contre la suppression ou la création par les permissions du répertoire qui le contient.
• Permissions des liens symboliques :
• Elles sont sans signification, ce sont celles du fichier désigné par le lien symbolique qui déterminent
l’accès.
8
III-5 Le système de permissions : UNIX
• Le mécanisme de substitution d’identité :
• La permission x sur un fichier peut être remplacée par la permission s qu’on peut affecter
au propriétaire et/ou au groupe du fichier. Cette permission indique que le fichier est
exécutable et que pendant son exécution on prend les droits du propriétaire et/ou du groupe
du fichier exécutable. Il est SUID et/ou SGID
• Lorsqu’un processus s’exécute, ses droits d’accès sont conditionnés par l’UID effectif (EUID)
et par le GIDeffectif (EGID)
• Ces derniers sont respectivement égaux à l’UID et ou au GID de l’utilisateur qui a lancé
l’exécution du processus.
• Pendant l’exécution du fichier pour lequel la permission s est associée au propriétaire, alors
l’UID effectif est égal à l’UID associé au propriétaire du fichier exécuter.
• Pendant l’exécution d’un fichier pour lequel la permission s est associée au groupe, alors le
GID effectif est égal au GID du groupe du fichier exécuté
9
III-5 Le système de permissions : UNIX
• La notion de groupe
• Un processus à un moment donné possède les droits d’accès d’un seul groupe
défini par son EGID. Il possède les droits d’accès de ce groupe et tous les
fichiers qu’il crée, sont crées avec un groupe égal à l’EGID du processus
créateur. L’utilisateur peut changer de groupe, mais uniquement si il est
membre du nouveau groupe. Il change alors de GID pour celui du nouveau
groupe choisi.
10
III-5 Le système de permissions : UNIX
• Groupe et Substitution d’Identité :
• Les commandes SUID permettent d’obtenir pendant la durée totale ou
partielle de leur exécution les privilèges accordés à un autre utilisateur (à
un autre UID).
• Pour les commandes SUID root, les privilèges de l’UID 0 sont utilisés pour
accéder à des fichiers auxquels l’utilisateur n’a pas normalement accès ou
pour avoir le droit d’exécuter certains appels systèmes.
• Il est préférable, chaque fois que possible, d’utiliser le mécanisme de
substitution d’identité au niveau d’un groupe crée spécialement à cet effet
plutôt que de l’attribuer à l’UID 0.
• En cas d’anomalie de fonctionnement, une commande SGID est
généralement moins dangereuse qu’une commande SUID root. En effet
l’UID 0 donne tous les privilèges alors que l’obtention des privilèges ne
donne accès qu ‘à un sous-ensemble de privilèges. 11
III-5 Le système de permissions : UNIX
• Le montage des systèmes de fichiers :
• Seul l’administrateur système peut monter le système de fichier avec tous
les droits.
• Cette restriction ne permet donc pas que tout utilisateur puisse avoir la
possibilité d’importer des commandes SUID sur le système ou certains
fichiers avec des permissions permettraient des attaques.
• Il faut alors monter les systèmes de fichiers en mode Read_only qui permet
d’assurer ainsi l’intégrité des données sur le système de fichiers.
• L’intégrité du système de fichiers :
• Elle est effectuée en corrigeant les incohérences qui pourraient apparaître
dans la structure du système de fichiers, à la suite d’un crash système
provoqué par exemple par une coupure d’électricité. Elle permet de retrouvé
une situation proche de celle au moment du crash 12
III-5 Le système de permissions : UNIX
• Les IPC :
• Trois classes d’objets : les sémaphores, les segments de mémoire partagée,
les queues de messages.
• Ces objets mémoire sont protégés par un mécanisme proche de celui utilisé
pour les fichiers.
• Ils sont identifiés par une clé fournit par l’utilisateur qui crée l’IPC. Cette clé
permet d’obtenir un identificateur système de l’IPC. Un processus peut
accéder à un IPC si
Il connaît la clé associée à l ‘objet
Les permissions de l’objet lui en autorisent l’accès
• deux ou plusieurs processus peuvent obtenir une clé commune.
13
III-5 Le système de permissions : UNIX
• Les segments de mémoire partagée :
Un segment est identifié à un identificateur qui lui est associé
Une structure de données contenant des informations assez proches de celles
contenues dans l’inode (index node) d’un fichier.
Le segment est partagé entre plusieurs processus
• Il existe une différence fondamentale entre les fichiers et les IPC
• L ‘IPC introduit en effet le CUID ou UID créateur de l’IPC. Et le CGID ou
GID du créateur de l’IPC. La valeur initiale du CUID et de l’UID de l’IPC est
égale à l’UID effectif du processus créateur. Il en est de même pour le CGID
et le GID de l’IPC qui sont initialisés à la valeur du GID effectif du
processus. Les permissions initiales sont déterminées au moment de la
création de l’IPC. Par la suite les permissions, l’UID et le GID de l’IPC
peuvent être modifiées.
14
III-5 Le système de permissions : UNIX
• En conclusion l’IPC mémorise donc l’UID et le GID de son créateur
pendant toute la durée de vie.
• Les permissions sur les segments de mémoire sont semblables à celles des
fichiers. Le bit x est toutefois inutilisé. Pour un processus, lire ou écrire dans
un IPC est toujours possible si l’UID effectif est égal à zéro.
• Les queues de messages et les sémaphores ont des comportements de
permissions identiques à celui des segments de mémoire partagée.
15
III-5 Le système de permissions : Windows
• Autorisation d’accès aux ressources
Accès universel aux ressources
• Droit de l’utilisateur et permissions
Droit de l’utilisateur : arrêt du système, modification de l’heure…
Permissions : contrôle du type d’accès qu’un utilisateur dispose vis à vis d’un objet
(lecture, écriture fichier)
• Accès à un objet : lorsque l’utilisateur accède à un objet (un fichier par exemple), son jeton d’accès
est utilisé pour contrôler les permissions dont il dispose sur l’objet
• Le programme qui gère l’objet (traitement de texte par exemple) lance un processus qui reçoit de
l’environnement un exemplaire du jeton d’accès
• Lors de l’ouverture de l’objet, la demande est envoyée au système de fichiers NTFS avec le jeton
• Le système de fichier compare les identificateurs de sécurité (SID) présents dans le jeton d’accès aux
entrées présentes dans les ACL du fichier afin de déterminer si l’utilisateur dispose des permissions
demandées.
16
III-5 Le système de permissions : Windows
• Permissions sur les fichiers :
• Se situe entre les mots de passe et les données. Permet de protéger efficacement les
fichiers contre les utilisateurs non répertoriés et les utilisateurs autorisés mais
indiscrets et maladroits.
• Inutile si la session est ouverte avec les droits de l’administrateur.
• Tous les utilisateurs voulant avoir accès à un système Windows sécurisé doivent
avoir un compte utilisateur sur ce système. Le nom identifie l’utilisateur et le mot
de passe le valide.
• Les groupes sont des collections d’utilisateurs. Il est beaucoup plus facile d’affecter
des droits et des permissions à des groupes d’utilisateurs individuels.
• Les comptes utilisateurs contiennent des informations sur les utilisateurs comme le
nom complet, le nom d’utilisateur, un mot de passe, la localisation du répertoire de
travail, les plages horaires de connexion, et le paramétrage personnel du bureau.
17
III-5 Le système de permissions : Windows
• Lorsqu’un nouveau compte utilisateur est créé, NT lui affecte un identifiant
de sécurité unique (SID). Tous les processus internes identifient le compte
utilisateur par le SID, plutôt que le nom d’utilisateur du compte. Cet
identifiant est unique pour chaque compte. La création d’un compte, puis la
suppression et enfin la création de ce compte avec le même nom sera
différente car le SID n’est pas le même.
• 2 comptes par défaut :
• administrateur
• invité
18
III-5 Le système de permissions : Windows
• 2 types de groupe :
• Groupe locaux : définit les permissions et les droits des utilisateurs sur les
machines locales à l’intérieur d’un domaine. Mais il est possible d’ajouter des
comptes d’utilisateurs et de groupes provenant d’autres domaines
• Groupes globaux : est formé des utilisateurs d'un domaine en vue de leur
donner des droits dans un domaine approuvant
• Stratégie : les groupes globaux contiennent un ensemble d'utilisateurs, les
groupes locaux un ensemble de droits d'accès à des ressources et des groupes
locaux.
19
III-5 Le système de permissions : Windows
• Système de fichier NTFS (NT file system)
• Processus d’amorçage particulier et utilisant les services NT
• Accès disques de bas niveau réalisé par des pilotes intégrés au BIOS en ROM.
• Un programme DOS sous NTFS ne permet pas d’écrire directement sur les disques
• NTFS fournit un haut niveau de sécurité, uniquement lorsque le système est en
activité :
NTFS offre des permissions permettant de contrôler l’accès à des fichiers ou aux
répertoires.
La sécurité doit comporter des mesures physiques telles que des utilitaires de cryptage
pour protéger les données.
Les permissions contrôlent l’accès à toutes sortes d’objets, autre que les objets du système
de fichiers.
Les autres aspects de la sécurité sont les connexions des utilisateurs, la gestion des
comptes et des droits d’accès.
20
III-5 Le système de permissions : Windows
• La sécurité du système de fichiers présente 2 aspects :
Restreindre l’accès aux informations d’un ordinateur local à des utilisateurs se connectant
à ce dernier.
Restreindre l’accès aux informations partagées à travers le réseau.
• L’accès aux dossiers et aux fichiers est contrôlé par des permissions, lesquelles sont
définies par les administrateurs ou les propriétaires des ressources.
• Les permissions individuelles sont :
Lire R ouvre et affiche le contenu d’un fichier
Ecrire W modifie le contenu d’un fichier ou crée un nouveau fichier
Exécuter X exécute un programme ou un fichier exécutable
Supprimer D supprime des fichiers
Modifier les permissions P modifie les permissions d’un fichier ou d’un répertoire existant
Acquérir propriété O se rendre propriétaire d’un fichier ou d’un répertoire.
•
21
III-5 Le système de permissions : Windows
• Les permissions standards sont une combinaison de ces permissions individuelles,
conçues pour fournir un ensemble de permissions appropriées pour les besoins les
plus courant.
22
III-5 Le système de permissions : Windows
Permission de dossier Permission individuelle Permission de nouveau
standard fichier
Aucun accès Aucune Aucune
Liste Lire executer Non spécifié
Lire Lire executer Lire executer
Ajouter Ecrire executer Non spécifié
Ajouter et lire Lire ecrire executer Lire executer
Modifier Lire ecrire executer supprimer Lire ecrire executer supprimer
Contrôle total Tous Tous
Les permissions standards sont les suivantes dans la 1ère colonne
La seconde colonne liste les permissions individuelles qui forment la permission standard.
La 3ème colonne indique les permissions affectées aux nouveaux fichiers créés dans le dossier
23
III-5 Le système de permissions : Windows
Permission de fichier standards Permission individuelle
Aucun accès Aucune
Lire Lire executer
Modifier Lire ecrire executer supprimer
Contrôle total Tous
• Les utilisateurs peuvent acquérir des permissions d’accès aux fichiers ou aux dossiers à
partir de nombreuses sources. Par exemple la permission de Lire peut être due à leur
compte utilisateur, et celle de Modifier les permissions à leur appartenance à un groupe. Le
plus haut de niveau de permission s’applique et les permissions sont cumulatives, ce qui
permet de combiner les affectations de permission provenant de plusieurs sources.
Cependant, une permission Aucun Accès de n’importe quelle provenance interdit l’accès au
fichier ou au répertoire, indépendamment de toutes les autres permissions accordées.
• La protection de la base de registre est gérée par le système de fichier NTFS. Par défaut les
groupes globaux administrateur et système ont le contrôle total, les autres uniquement
Lire et Exécution.
24
III-5 Le système de permissions : Windows
• La base de registre
• Les clés de registres ont des propriétaires et des valeurs de permissions :
• Il existe 2 jeux de permissions définis pour les clés du registre.
Lire : combinaison des permissions Retrouver la valeur, Enumérer les sous clés, Notifier et
Lecture du contrôle. L’utilisateur a la possibilité de parcours et de consulter le registre
sans bénéficier de droits d’écriture et de suppression.
Contrôle total
• Ensemble des permissions disponibles
Il est possible de modifier les permissions d’accès aux clés de registre par utilisateur
Le type d’accès peuvent être Lire, Contrôle Total, Accès spécial
25
III-6 Les liste de contrôle d’accès - ACL
• Liste d ’utilisateurs et de groupes ayant des permissions d ’accès à un objet.
• Contrôle d ’Accès Discrétionnaire plus souple.
26
III-6 Les liste de contrôle d’accès – ACL :
UNIX
• Permet d ’accéder ou de refuser l ’accès à un utilisateur ou un groupe donné
• Commandes : chacl et lsacl :
• chacl [/t] [/c] [/m user:permission [...]] [/e [/g group:permission [...]] [/r
user [...]] [/p user:permission [...]] /s [/q] [/u [/n user [...]] [/o]] [/l] [/n]
filename [...]
• Position des droits standard : chmod puis chacl
27