Configuration et administration de Trusted Extensions

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Etiquettes du logiciel Trusted Extensions

Les libellés et les autorisations sont au centre du contrôle d'accès obligatoire (MAC) dans Trusted Extensions. Elles permettent de déterminer quels utilisateurs peuvent accéder à quels programmes, fichiers et répertoires. Les étiquettes et les autorisations comprennent un composant de classification et aucun, un ou plusieurs composants de compartiment. Le composant de classification indique un niveau hiérarchique de sécurité tel que TOP SECRET, SECRET ou PUBLIC. Le composant de compartiment représente un groupe d'utilisateurs pouvant avoir besoin d'accéder à un ensemble commun d'informations. Des exemples de compartiments classiques sont les projets, les services ou les emplacements physiques. Les étiquettes sont lisibles pour les utilisateurs autorisés, mais elles sont manipulées sous forme de nombres en interne. Les nombres et leurs versions lisibles sont définis dans le fichier label_encodings.

Trusted Extensions sert d'intermédiaire pour toutes les transactions tentées relevant de la sécurité. Le logiciel compare les étiquettes de l'entité demandant l'accès, généralement un processus, à celles de l'entité à laquelle l'accès est demandé, généralement un objet du système de fichiers. Ensuite, le logiciel autorise ou interdit la transaction en fonction de l'étiquette dominante. Les étiquettes sont également utilisées pour déterminer l'accès à d'autres ressources du système, telles que les périphériques allouables, les réseaux, les mémoires graphiques et les autres systèmes.

Relations de domination entre les étiquettes

    Une étiquette d'entité est dite dominante par rapport à une autre lorsque les deux conditions suivantes sont remplies :

  • Le composant de classification de l'étiquette de la première entité est supérieur ou égal à la classification de la deuxième entité. L'administrateur de sécurité assigne des numéros aux classifications dans le fichier label_encodings. Le logiciel compare ces numéros pour déterminer la domination.

  • Le jeu de compartiments de la première entité inclut tous les compartiments de la deuxième entité.

Deux étiquettes sont considérées comme égales si elles possèdent la même classification et le même jeu de compartiments. Si les étiquettes sont égales, elles se dominent mutuellement et l'accès est autorisé.

Si une étiquette a une classification plus élevée ou si elle a la même classification et que ses compartiments sont un sur-ensemble des compartiments de la deuxième étiquette ou des deux, la première étiquette est dite strictement dominante par rapport à la seconde.

Deux étiquettes sont considérées comme disjointes ou non comparables lorsqu'aucune étiquette ne domine l'autre.

Le tableau suivant présente des exemples de comparaisons d'étiquettes afin de déterminer la domination. Dans l'exemple, NEED_TO_KNOW est une classification supérieure à INTERNAL. Trois compartiments existent : Eng, Mkt et Fin.

Table 6-1  Exemples de relations d'étiquettes
Etiquette 1
Relation
Etiquette 2
NEED_TO_KNOW Eng Mkt
domine (strictement)
INTERNAL Eng Mkt
NEED_TO_KNOW Eng Mkt
domine (strictement)
NEED_TO_KNOW Eng
NEED_TO_KNOW Eng Mkt
domine (strictement)
INTERNAL Eng
NEED_TO_KNOW Eng Mkt
domine (est égal à)
NEED_TO_KNOW Eng Mkt
NEED_TO_KNOW Eng Mkt
est disjointe de
NEED_TO_KNOW Eng Fin
NEED_TO_KNOW Eng Mkt
est disjointe de
NEED_TO_KNOW Fin
NEED_TO_KNOW Eng Mkt
est disjointe de
INTERNAL Eng Mkt Fin
Etiquettes d'administration

Trusted Extensions fournit deux étiquettes d'administration spéciales qui sont utilisées en tant qu'étiquettes ou autorisations : ADMIN_HIGH et ADMIN_LOW. Ces étiquettes sont utilisées pour protéger les ressources système et sont destinées aux administrateurs et non aux utilisateurs standard.

ADMIN_HIGH est l'étiquette la plus élevée. ADMIN_HIGH domine toutes les autres étiquettes du système et est utilisée pour empêcher que des données système, telles que les bases de données d'administration ou les pistes d'audit, ne soient lues. Pour lire les données associées à l'étiquette ADMIN_HIGH, vous devez vous trouver dans la zone globale.

ADMIN_LOW est l'étiquette la plus basse. ADMIN_LOW est dominée par toutes les autres étiquettes dans un système, notamment par celles des utilisateurs standard. Le contrôle d'accès obligatoire ne permet pas aux utilisateurs d'écrire des données dans des fichiers possédant des étiquettes inférieures à l'étiquette des utilisateurs. Par conséquent, un fichier possédant l'étiquette ADMIN_LOW peut être lu par les utilisateurs standard mais ne peut pas être modifié. ADMIN_LOW est généralement utilisé pour protéger les exécutables publics qui sont partagés, tels que les fichiers dans /usr/bin.

Fichier Label Encodings

    Tous les composants de l'étiquette d'un système, c'est-à-dire les classifications, les compartiments et les règles associées sont stockés dans un fichier ADMIN_HIGH, le fichier label_encodings. Le fichier d'origine se trouve dans le répertoire /etc/security/tsol. Une fois l'activation de Trusted Extensions terminée, l'emplacement du fichier est stocké en tant que propriété du service labeled. L'administrateur de sécurité configure le fichier label_encodings pour le site. Un fichier de codage des étiquettes contient :

  • Définitions des composants : définitions des classifications, compartiments, étiquettes et autorisations, y compris des règles pour les combinaisons et contraintes requises

  • Définitions des plages d'accréditations : spécification des autorisations et des étiquettes minimales qui définissent les jeux d'étiquettes disponibles pour l'ensemble du système et les utilisateurs standard

  • Spécifications de l'impression : informations d'identification et de gestion pour l'impression des pages de garde, des pages de fin, des en-têtes et pieds de page et autres fonctions de sécurité relatives aux impressions

  • Personnalisations : définitions locales, notamment les codes de couleurs des étiquettes et d'autres paramètres par défaut

Pour plus d'informations, reportez-vous à la page de manuel label_encodings(4). Des informations détaillées sont également disponibles dans les manuels Trusted Extensions Label Administration et Compartmented Mode Workstation Labeling: Encodings Format .

Plages d'étiquettes

Une plage d'étiquettes représente l'ensemble des étiquettes potentiellement utilisables avec lesquelles les utilisateurs peuvent travailler. Les utilisateurs et les ressources possèdent des plages d'étiquettes. Les ressources pouvant être protégées à l'aide de plages d'étiquettes incluent les périphériques, les réseaux, les interfaces, les mémoires graphiques et les commandes. Une plage d'étiquettes est définie par une autorisation à l'extrémité supérieure de la plage et une étiquette minimale à l'extrémité inférieure.

Une plage n'inclut pas nécessairement toutes les combinaisons d'étiquettes comprises entre une étiquette maximale et une étiquette minimale. Les règles du fichier label_encodings peuvent exclure certaines combinaisons. Pour être incluse dans une plage, une étiquette doit être bien formée, c'est-à-dire, autorisée par toutes les règles applicables dans le fichier de codage.

Toutefois, une autorisation n'a pas besoin d'être bien formée. Supposons par exemple qu'un fichier label_encodings interdit toute combinaison des compartiments Eng, Mkt et Fin dans une étiquette. INTERNAL Eng Mkt Fin serait une autorisation valide mais pas une étiquette valide. En tant qu'autorisation, cette combinaison permettrait à l'utilisateur d'accéder à des fichiers incluant l'étiquette INTERNAL Eng, INTERNAL Mkt et INTERNAL Fin.

Plage d'étiquettes de compte

Lorsque vous assignez une autorisation et une étiquette minimale à un utilisateur, vous définissez les limites supérieures et inférieures de la plage d'étiquettes du compte dans laquelle cet utilisateur est autorisé à travailler. L'équation suivante décrit la plage d'étiquettes du compte, ≤ signifiant "dominée par ou identique à" :

minimum-labelpermitted-labelclearance

Par conséquent, l'utilisateur est autorisé à travailler dans toute étiquette dominée par l'autorisation tant que celle-ci domine l'étiquette minimale. Lorsque l'autorisation ou l'étiquette minimale d'un utilisateur n'est pas expressément définie, les valeurs par défaut définies dans le fichier label_encodings s'appliquent.

Les utilisateurs peuvent se voir assigner une étiquette minimale et une autorisation leur permettant de travailler sous une ou plusieurs étiquettes. Lorsque l'autorisation et l'étiquette minimale d'un utilisateur sont égales, l'utilisateur peut travailler dans une étiquette unique.

Plage de session

Une plage de session est l'ensemble des étiquettes qui sont mises à la disposition d'un utilisateur au cours d'une session Trusted Extensions. La plage de session doit être comprise dans la plage d'étiquettes du compte de l'utilisateur et dans la plage d'étiquettes définie pour le système. Si l'utilisateur sélectionne le mode de session à étiquette unique au moment de la connexion, la plage de session est limitée à cette étiquette. Si l'utilisateur sélectionne le mode de session multiniveau, l'étiquette que l'utilisateur sélectionne devient l'autorisation de session. L'autorisation de session définit la limite supérieure de la plage de session. L'étiquette minimale de l'utilisateur définit la limite inférieure. L'utilisateur lance la session dans un espace de travail possédant l'étiquette minimale. Au cours de la session, l'utilisateur peut activer un espace de travail possédant n'importe quelle étiquette comprise dans la plage de session.

Où les étiquettes apparaissent-elles et que protègent-elles ?

Les étiquettes s'affichent sur le bureau et sur les sorties effectuées depuis ce bureau, telles que les impressions.

  • Applications : les applications démarrent les processus. Ces processus sont exécutés sous l'étiquette de l'espace de travail où l'application est démarrée. Comme un fichier, une application se trouvant dans une zone étiquetée possède l'étiquette de la zone.

  • Périphériques : le transfert des données via des périphériques est contrôlé par l'allocation de périphériques et par les plages d'étiquettes des périphériques. Pour utiliser un périphérique, les utilisateurs doivent être compris dans la plage d'étiquettes du périphérique et être autorisés à allouer le périphérique.

  • Points de montage du système de fichiers : chaque point de montage possède une étiquette. L'étiquette est consultable à l'aide de la commande getlabel.

  • IPsec et IKE : les associations de sécurité IPsec et les règles IKE ont des étiquettes.

  • Interfaces réseau : des modèles de sécurité décrivant leur plage d'étiquettes sont assignés aux adresses IP (hôtes). Une étiquette par défaut est également attribuée aux hôtes sans étiquette par le système Trusted Extensions avec lequel ils communiquent.

  • Imprimantes et impression : les imprimantes possèdent des plages d'étiquettes. Les étiquettes sont imprimées sur les pages de corps de texte. Les étiquettes, la gestion des informations et d'autres informations de sécurité sont imprimées sur les pages de garde et de fin. Pour configurer l'impression dans Trusted Extensions, reportez-vous au Chapter 19, Gestion de l'impression étiquetée and Labels on Printed Output du manuel Trusted Extensions Label Administration .

  • Processus : les processus sont étiquetés. Les processus s'exécutent sous l'étiquette de l'espace de travail où le processus débute. L'étiquette d'un processus s'affiche à l'aide de la commande plabel.

  • Utilisateurs : les utilisateurs se voient assigner une étiquette par défaut et une plage d'étiquettes. L'étiquette de l'espace de travail d'un utilisateur indique l'étiquette des processus de cet utilisateur.

  • Fenêtres : les étiquettes s'affichent dans la partie supérieure des fenêtres du bureau. L'étiquette du bureau est également indiquée par une couleur. La couleur s'affiche dans le panneau de l'espace de travail et au-dessus de la barre de titre des fenêtres, comme illustré à la Figure 6–1.

    Lorsqu'une fenêtre est déplacée vers un espace de travail étiqueté différemment, la fenêtre conserve son étiquette d'origine. Les processus lancés dans cette fenêtre s'exécutent sous l'étiquette d'origine.

  • Zones : chaque zone possède une étiquette. Les fichiers et répertoires possédés par une zone ont l'étiquette de la zone. Pour plus d'informations, reportez-vous à la page de manuel getzonepath(1).