[Abstract] [Copyright Notice]

Étude sur l'évolution des systèmes de fichiers - Chapitre 3
Sécurité des informations


Les droits et permissions sur les fichiers sont des caractéristiques fondamentales. En effet, même si le système est protégé à l'aide de techniques de cryptographie, de mauvaises permissions peuvent donner à un utilisateur l'accès à des informations qu'il ne devrait pas pouvoir lire. Il est donc nécessaire de pouvoir protéger correctement les informations d'un point de vue logique, c'est à dire interne au système, et de façon indépendante de la manière de les stocker sur le média.


3.1 Droits Unix standard

Chaque utilisateur d'un système Unix ayant un nom d'utilisateur (login), celui-ci est utilisé pour permettre, ou non, l'accès à des ressources présentes sous forme de fichiers. De plus, chaque utilisateur est associé à au moins un groupe d'utilisateurs. Ce sont ces deux caractéristiques qui permettront au système de fichiers de gérer les droits d'accès aux données.

On a vu précédemment que l'inode d'un fichier comportait diverses informations relatives à ce dernier. Parmi ces informations, on trouve le nom du propriétaire du fichier, ainsi que que le groupe d'appartenance du fichier. Ce sont ces deux informations qui vont permettre de restreindre plus ou moins l'accès au fichier. En effet, en plus des informations du nom et du groupe propriétaire du fichier, on trouve dans l'inode d'autres informations correspondant aux accès autorisés sur ce fichier. Ces autorisations sont découpées en trois parties :

Les différents droits sur le fichier correspondent à la lecture du fichier, à l'écriture, et enfin à l'exécution de celui-ci. Ces différents droits sont cumulables pour chaque groupe de personnes. C'est à dire que l'on peut, par exemple, préciser que le propriétaire a le droit de lire, écrire et exécuter le fichier, que les personnes appartenant au même groupe que le fichier ont le droit de le lire et de l'exécuter, et enfin que tous les autres n'ont ni le droit de le lire, ni le droit de l'exécuter, ni le droit d'écrire dans le fichier.

Ces différents droits sont gérés par le système de fichiers lui-même. Ils ont été très utilisés jusqu'à présent. L'administrateur du système doit donc définir des catégories d'utilisateurs. Un même utilisateur peut appartenir à plusieurs groupes. Par conséquent, en fonction des groupes d'appartenance de l'utilisateur, on pourra lui permettre ou lui interdire l'accès à certaines ressources du disque.

À ces permissions utilisées en standard, on ajoute quelques types de permissions moins utilisés. Il est par exemple possible de définir qu'un programme éxécutable ne se lancera pas avec les droits de la personne qui le lance, mais avec les droits du groupe d'appartenance du fichier. Pour cela, on dit qu'on positionne le bit GID (Set GID bit). On peut, de la même manière, forcer l'exécution du programme avec les droits du propriétaire du programme. Il est néanmoins conseillé d'utiliser cette option avec parcimonie, en raison de la possibilité de fragiliser la sécurité d'un système.


3.2 Access Control List


3.2.1 Principes

Les ACL correspondent à des listes de contrôle d'accès. De plus en plus de systèmes de fichiers les mettent en place. Les ACL permettent de contrôler très finement les accès aux fichiers. En effet, on peut faire une liste précise des personnes qui auront accès à une ressource déterminée. De plus, un simple utilisateur pourra préciser quelles personnes pourront accéder à un de ses fichiers. Sans les ACL, il ne peut qu'associer un groupe de personne pour l'accès au fichier. Il n'a, dans ce cas, pas le contrôle sur les personnes incluses dans ce groupe.

Les ACL permettent donc d'affiner les droits d'accès aux ressources du système de fichiers. L'accès ne se fait donc plus au niveau du propriétaire et du groupe du fichier, mais également en fonction d'une liste de personnes ou de groupes autorisés. La gestions des droits devient donc beaucoup plus difficile à gérer pour un administrateur.


3.2.2 Description

Cette description des ACL est basée sur les drafts de normes POSIX 1003.1e et 1003.2c.

Pour permettre la meilleure protection possible des fichiers, les ACL étendent la notion de droits d'accès standard Unix de trois manières :

Il est important de remarquer que les ACL étendent la notion de permissions sur les fichiers. L'utilisation des permissions traditionnelles sur les fichiers est toujours possible.

Il existe différents types d'ACL :

On peut donc spécifier qui accède à quoi d'une façon très précise, mais cela ne simplifie pas vraiment la gestion des droits d'accès quand beaucoup d'utilisateurs entrent en jeu.

Malgré cette complexité, la granularité de gestion des droits d'accès des ACL est parfois nécessaire. Elle est quand même à utiliser avec précaution.


[Abstract] [Copyright Notice]

Étude sur l'évolution des systèmes de fichiers
$Revision: 1.24 $ du $Date: 2000/07/04 12:17:41 $
Yves Rougy yves.rougy@alcove.fr