Qui a le droit de faire quoi ?
Le contrôle d’accès décide qui a le droit de faire quoi sur quelle ressource. Il vient après l’authentification : on sait qui vous êtes, il reste à savoir ce que vous pouvez faire.
Une université a des étudiants, des enseignants et une scolarité. Chacun doit voir ses propres données, et seulement elles.
À la fin de cette leçon
Remarque
Je peux décider qui a le droit de lire ou de modifier une ressource, en donnant le moins de droits possible.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Autorisation | la décision de laisser une personne faire une action | |
| Ressource | ce qu’on veut protéger : un fichier, une base, un service | |
| Rôle | un ensemble de droits qui correspond à un métier | enseignant |
| Moindre privilège | chacun reçoit seulement les droits dont il a besoin | |
| Refus par défaut | ce qui n’est pas permis est interdit | |
| Mode | les droits d’un fichier Linux pour son propriétaire, son groupe et les autres | 644 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Authentifier n’est pas autoriser
L’authentification répond à : qui êtes-vous ? L’autorisation répond à : que pouvez-vous faire ?
Un étudiant connecté est bien authentifié. Cela ne lui donne pas le droit de lire les notes des autres.
Exemple travaillé : une table de droits
| Rôle | Notes | Supports de cours | Comptes |
|---|---|---|---|
| Étudiant | Lire les siennes | Lire | Aucun |
| Enseignant | Lire et modifier celles de ses groupes | Lire et modifier | Aucun |
| Scolarité | Lire et modifier toutes | Lire | Lire |
| Administrateur | Aucun | Aucun | Lire et modifier |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Le moindre privilège réduit les dégâts
Le moindre privilège donne à chacun seulement les droits dont il a besoin pour son travail. Si le compte d’un enseignant est volé, le voleur ne peut pas toucher aux comptes.
On regroupe les droits en rôles. Quand une personne change de poste, on change son rôle, pas une liste de cent droits.
Ce qui n’est pas permis est interdit
Le refus par défaut veut dire qu’une demande qui ne figure pas dans la table est refusée. On ajoute les permissions une par une.
L’inverse est dangereux : si on interdit seulement ce qu’on a pensé à interdire, tout oubli ouvre une porte.
Erreur fréquente
Attention
Beaucoup de gens pensent qu’une personne connectée peut tout faire dans le système. La connexion prouve seulement qui elle est. Ses droits dépendent de son rôle, et un rôle trop large est une vulnérabilité.
Un mode Linux est une table de droits
Sur Linux, chaque fichier a un mode : les droits du propriétaire, du groupe et des autres. Trois chiffres, comme 644, les résument. Les lettres rw- veulent dire lire et écrire.
La commande suivante affiche le mode des deux fichiers de comptes de la machine. Le premier est lisible par tous, le second est réservé à root et à un groupe système.
Comparer deux fichiers de comptes
stat -c "%n %a %A" /etc/passwd /etc/shadowAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Un dossier fermé aux utilisateurs ordinaires
ls /rootAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.