Chapitre 7. Utilisation de la sécurité multi-catégories (MCS) pour la confidentialité des données
Vous pouvez utiliser MCS pour améliorer la confidentialité des données de votre système en classant les données par catégories, puis en accordant à certains processus et utilisateurs l'accès à des catégories spécifiques
7.1. Sécurité multi-catégories (MCS)
La sécurité multi-catégories (MCS) est un mécanisme de contrôle d'accès qui utilise des catégories attribuées aux processus et aux fichiers. Les fichiers ne sont alors accessibles que par les processus affectés aux mêmes catégories. L'objectif de la sécurité multi-catégories est de maintenir la confidentialité des données sur votre système.
Les catégories du SCM sont définies par les valeurs c0
à c1023
, mais vous pouvez également définir un libellé pour chaque catégorie ou combinaison de catégories, par exemple "Personnel", "ProjectX" ou "ProjectX.Personnel". Le service de traduction MCS (mcstrans
) remplace alors les valeurs des catégories par les étiquettes appropriées dans les entrées et sorties du système, de sorte que les utilisateurs puissent utiliser ces étiquettes au lieu des valeurs des catégories.
Lorsque les utilisateurs sont affectés à des catégories, ils peuvent étiqueter n'importe lequel de leurs fichiers avec n'importe laquelle des catégories auxquelles ils ont été affectés.
Le MCS fonctionne selon un principe simple : pour accéder à un fichier, un utilisateur doit être assigné à toutes les catégories qui ont été assignées au fichier. Le contrôle MCS est appliqué après les règles Linux normales de contrôle d'accès discrétionnaire (DAC) et d'application de type SELinux (TE), de sorte qu'il ne peut que restreindre davantage la configuration de sécurité existante.
MCS au sein de Multi-Level Security
Vous pouvez utiliser MCS seul en tant que système non hiérarchique ou en combinaison avec Multi-Level Security (MLS) en tant que couche non hiérarchique au sein d'un système hiérarchique.
Un exemple de SCM au sein de MLS pourrait être une organisation de recherche secrète, où les dossiers sont classés comme suit :
Security level | Category | |||
Non spécifié | Projet X | Projet Y | Projet Z | |
Non classé |
|
|
|
|
Confidentiel |
|
|
|
|
Secret |
|
|
|
|
Top secret |
|
|
|
|
Un utilisateur disposant d'une plage s0:c0.1023
pourra accéder à tous les fichiers affectés à toutes les catégories du niveau s0
, à moins que l'accès ne soit interdit par d'autres mécanismes de sécurité, tels que le CED ou les règles de politique d'application des types.
Le contexte de sécurité d'un fichier ou d'un processus est une combinaison des éléments suivants :
- Utilisateur SELinux
- Rôle SELinux
- Type SELinux
- Niveau de sensibilité MLS
- Catégorie MCS
Par exemple, un utilisateur non privilégié ayant accès au niveau de sensibilité 1 et à la catégorie 2 dans un environnement MLS/MCS pourrait avoir le contexte SELinux suivant :
user_u:user_r:user_t:s1:c2
Ressources supplémentaires