JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Administration d'Oracle Solaris 11.1 : Services de sécurité     Oracle Solaris 11.1 Information Library (Français)
search filter icon
search icon

Informations document

Préface

Partie I Présentation de la sécurité

1.  Services de sécurité (présentation)

Partie II Sécurité du système, des fichiers et des périphériques

2.  Gestion de la sécurité de la machine (présentation)

3.  Contrôle de l'accès aux systèmes (tâches)

4.  Service d'analyse antivirus (tâches)

5.  Contrôle de l'accès aux périphériques (tâches)

6.  Vérification de l'intégrité des fichiers à l'aide de BART (tâches)

7.  Contrôle de l'accès aux fichiers (tâches)

Partie III Rôles, profils de droits et privilèges

8.  Utilisation des rôles et des privilèges (présentation)

Contrôle d'accès basé sur les rôles (présentation)

RBAC : la solution de substitution au modèle superutilisateur

Eléments et concepts de base RBAC

Escalade des privilèges

Autorisations RBAC

Autorisations et privilèges

Applications privilégiées et RBAC

Applications vérifiant les UID et GID

Applications vérifiant les privilèges

Applications vérifiant les autorisations

Profils de droits RBAC

Rôles RBAC

Shells de profil et RBAC

Champ d'application du service de noms et RBAC

Considérations relatives à la sécurité lors de l'affectation directe d'attributs de sécurité

Considérations relatives à l'utilisation lors de l'affectation directe d'attributs de sécurité

Privilèges (présentation)

Protection des processus noyau par les privilèges

Descriptions des privilèges

Différences administratives sur un système disposant de privilèges

Privilèges et ressources du système

Mise en oeuvre des privilèges

Comment les processus obtiennent des privilèges

Affectation de privilèges

Extension des privilèges d'un utilisateur ou d'un rôle

Restriction des privilèges d'un utilisateur ou d'un rôle

Affectation de privilèges à un script

Privilèges et périphériques

Privilèges et débogage

A propos de RBAC dans cette version

9.  Utilisation du contrôle d'accès basé sur les rôles (tâches)

10.  Attributs de sécurité dans Oracle Solaris (référence)

Partie IV Services cryptographiques

11.  Structure cryptographique (présentation)

12.  Structure cryptographique (tâches)

13.  Structure de gestion des clés

Partie V Services d'authentification et communication sécurisée

14.  Utilisation de modules d'authentification enfichables

15.  Utilisation de Secure Shell

16.  Secure Shell (référence)

17.  Utilisation de l'authentification simple et de la couche de sécurité

18.  Authentification des services réseau (tâches)

Partie VI Service Kerberos

19.  Introduction au service Kerberos

20.  Planification du service Kerberos

21.  Configuration du service Kerberos (tâches)

22.  Messages d'erreur et dépannage de Kerberos

23.  Administration des principaux et des stratégies Kerberos (tâches)

24.  Utilisation des applications Kerberos (tâches)

25.  Service Kerberos (référence)

Partie VII Audit dans Oracle Solaris

26.  Audit (présentation)

27.  Planification de l'audit

28.  Gestion de l'audit (tâches)

29.  Audit (référence)

Glossaire

Index

Contrôle d'accès basé sur les rôles (présentation)

La fonction de sécurité RBAC permet de contrôler l'accès des utilisateurs aux tâches qui incombent normalement au rôle root. En appliquant les attributs de sécurité aux processus et aux utilisateurs, RBAC peut répartir les capacités superutilisateur entre plusieurs administrateurs. La gestion des droits des processus est mise en oeuvre par le biais des privilèges. La gestion des droits des utilisateurs est mise en oeuvre par le biais de RBAC.

RBAC : la solution de substitution au modèle superutilisateur

Dans les systèmes UNIX classiques, l'utilisateur root, également appelé superutilisateur, dispose de tous les pouvoirs. Les programmes exécutés comme root ou setuid ont tous les pouvoirs. L'utilisateur root peut lire les fichiers et y écrire des données, exécuter tous les programmes et envoyer des signaux d'interruption aux processus. Concrètement, un superutilisateur peut changer le pare-feu d'un site, modifier la piste d'audit, consulter des informations confidentielles et arrêter l'ensemble du réseau. Un programme setuid piraté peut avoir la mainmise sur le système.

RBAC constitue la solution de substitution plus sécurisée au modèle du tout ou rien des superutilisateurs. Avec RBAC, vous pouvez appliquer des stratégies de sécurité à un niveau plus détaillé. RBAC met en oeuvre le principe de sécurité du moindre privilège. En d'autres termes, un utilisateur dispose des privilèges exacts en termes de quantité nécessaires à l'exécution d'un travail. Les utilisateurs standard ont suffisamment de privilèges pour utiliser leurs applications, vérifier l'état de leurs tâches, imprimer des fichiers, créer des fichiers, et ainsi de suite. Les capacités qui dépassent celles de l'utilisateur standard sont regroupées dans des profils de droits. Les utilisateurs devant effectuer des tâches pour lesquelles il est nécessaire de disposer de capacités de superutilisateur prennent un rôle incluant le profil de droits approprié.

RBAC regroupe les capacités de superutilisateur en profils de droits. Ces profils de droits sont affectés à des comptes utilisateur spéciaux, appelés rôles. Un utilisateur peut alors prendre un rôle pour effectuer une tâche qui requiert certaines capacités du superutilisateur. Des profils de droits prédéfinis sont fournis avec le logiciel Oracle Solaris. Vous créez les rôles et affectez les profils.

Les profils de droits peuvent fournir des capacités étendues. Par exemple, le profil de droits System Administrator (administrateur système) permet à un compte d'effectuer des tâches qui ne sont pas liées à la sécurité, telles que la gestion de l'imprimante et les tâches cron. Les profils de droits peuvent également être définis avec précision. Par exemple, le profil de droits Cron Management (gestion Cron) gère les tâches at et cron. Lorsque vous créez des rôles, des capacités restreintes et/ou étendues peuvent leur être attribuées.

La figure suivante montre comment RBAC permet de distribuer des droits aux parties de confiance.

Figure 8-1 Répartition des droits RBAC

image:Le graphique présente les clés qui représentent des droits. Les utilisateurs dans des rôles exécutant des fonctions différentes se voient attribuer des clés différentes.

Dans le modèle RBAC, le superutilisateur crée un ou plusieurs rôles. Les rôles sont basés sur des profils de droits. Le superutilisateur attribue ensuite les rôles aux utilisateurs autorisés à effectuer les tâches que ce rôle implique. Les utilisateurs se connectent avec leur nom d'utilisateur. Une fois connectés, les utilisateurs prennent les rôles qui autorisent l'utilisation des commandes d'administration et des outils d'interface graphique d'accès limité.

La flexibilité qui caractérise la configuration des rôles permet de définir une vaste gamme de stratégies de sécurité. Bien que Oracle Solaris soit livré avec quelques rôles, différents rôles peuvent être configurés facilement. Vous pouvez baser la plupart des rôles sur des profils de droits du même nom :

Vous pouvez aussi être amené à configurer un ou plusieurs rôles de sécurité. Trois profils de droits et leurs profils supplémentaires prennent en charge la sécurité. Il s'agit des profils suivants : Information Security (sécurité des informations), User Security (sécurité des utilisateurs) et Zone Security (sécurité de la zone). Sécurité du réseau est un profil supplémentaire inclus dans le profil de droits Information Security (sécurité des informations).

Il n'est pas nécessaire de mettre en oeuvre ces rôles. Les rôles sont fonction des besoins de sécurité d'une organisation. Une stratégie consiste à configurer les rôles pour les administrateurs ayant un objectif précis dans des domaines tels que la sécurité, la mise en réseau ou l'administration d'un pare-feu. Une autre stratégie consiste à créer un seul rôle d'administrateur puissant conjointement avec un rôle d'utilisateur avancé. Le rôle d'utilisateur avancé est affecté aux utilisateurs autorisés à réparer des parties de leur propre système.

Le modèle superutilisateur et le modèle RBAC peuvent coexister. Le tableau suivant résume les différents degrés (du superutilisateur à l'utilisateur standard limité) possibles dans le modèle RBAC. Le tableau comprend les actions d'administration pouvant faire l'objet d'un suivi dans les deux modèles. Pour obtenir un récapitulatif de l'effet de chaque privilège sur un système, reportez-vous au Tableau 8-2.

Tableau 8-1 Modèle de superutilisateur par rapport au modèle RBAC avec privilèges

Capacités d'un utilisateur sur un système
Modèle superutilisateur
Modèle RBAC
Peut devenir superutilisateur avec la capacité correspondante complète
Peut
Peut
Peut se connecter en tant qu'utilisateur disposant des capacités utilisateur complètes
Peut
Peut
Peut devenir superutilisateur avec des capacités limitées
Ne peut pas
Peut
Peut se connecter en tant qu'utilisateur et disposer des capacités de superutilisateur, sporadiquement
Peut, avec les programmes setuid uniquement
Peut, avec les programmes setuid et RBAC
Peut se connecter en tant qu'utilisateur disposant des capacités d'administration, mais sans la capacité superutilisateur complète
Ne peut pas
Peut, avec RBAC et avec les privilèges et les autorisations attribués directement
Peut se connecter en tant qu'utilisateur disposant de moins de capacités qu'un utilisateur standard
Ne peut pas
Peut, avec RBAC et avec les privilèges supprimés
Peut suivre les actions superutilisateur
Peut, par l'audit de la commande su
Peut, par l'audit des appels à pfexec()

En outre, le nom de l'utilisateur qui a pris le rôle root se trouve dans la piste d'audit.

Eléments et concepts de base RBAC

Le modèle RBAC dans Oracle Solaris introduit les éléments suivants :

La figure suivante illustre la collaboration entre les éléments RBAC.

Figure 8-2 Relations entre les éléments RBAC

image:Le graphique illustre comment un profil de droits avec des attributs de sécurité est affecté à un utilisateur dans un rôle, qui a alors ces droits.

La figure suivante utilise le rôle Sécurité réseau et le profil de droits Network Security (sécurité réseau) pour illustrer les relations RBAC.

Figure 8-3 Exemple de relations entre éléments RBAC

image:Les paragraphes suivants décrivent le graphique.

Le rôle Network Security (sécurité réseau) permet de gérer les liaisons réseau, IPsec et wifi. Ce rôle est assigné à l'utilisateur jdoe. Pour prendre le rôle, jdoe change de rôle, puis indique le mot de passe correspondant. L'administrateur peut personnaliser le rôle pour qu'il accepte le mot de passe utilisateur plutôt que le mot de passe du rôle.

Dans la Figure 8-3, le profil de droits Network Security (sécurité réseau) est affecté au rôle correspondant. Le profil de droits Network Security (sécurité réseau) contient des profils supplémentaires qui sont évalués dans l'ordre Network Wifi Security (sécurité wifi réseau), Network Link Security (sécurité liaison réseau) et Network IPsec Management (gestion IPsec réseau). Ces profils supplémentaires remplissent les tâches principales du rôle.

Le profil de droits Network Security (sécurité réseau) comporte trois autorisations attribuées directement, aucun privilège affecté directement et deux commandes avec des attributs de sécurité. Les profils de droits supplémentaires ont des autorisations attribuées directement et deux d'entre eux ont des commandes avec des attributs de sécurité. Dans le rôle Sécurité réseau, jdoe possède toutes les autorisations attribuées dans ces profils et peut exécuter toutes les commandes avec les attributs de sécurité dans ces profils. jdoe peut administrer la sécurité du réseau.

Escalade des privilèges

Oracle Solaris offre aux administrateurs une grande flexibilité pour configurer la sécurité. Selon la configuration de l'installation, le logiciel n'autorise pas l'escalade des privilèges. L'escalade des privilèges se produit lorsqu'un utilisateur ou un processus obtient plus de droits d'administration qu'il n'était prévu de lui accorder. Dans ce sens, privilège signifie n'importe quel attribut de sécurité.

Le logiciel Oracle Solaris comprend les attributs de sécurité affectés au rôle root uniquement. Si d'autres systèmes de sécurité sont en place, l'administrateur peut affecter les attributs conçus pour le rôle root à d'autres comptes, mais il doit procéder avec prudence.

Le profil de droits et le jeu d'autorisations suivants peuvent escalader les privilèges d'un compte non root.

Pour connaître les escalades ayant une incidence sur l'attribut de sécurité, reportez-vous à la section Prévention de l'escalade de privilèges.

Autorisations RBAC

Une autorisation est un droit discret pouvant être accordé à un rôle ou à un utilisateur. Les autorisations permettent d'appliquer des stratégies au niveau de l'application utilisateur.

Tandis que les autorisations peuvent être attribuées directement à un rôle ou à un utilisateur, il est recommandé d'inclure les autorisations dans un profil de droits. Le profil de droits est alors ajouté à un rôle et le rôle est assigné à un utilisateur. Pour en voir un exemple, reportez-vous à la Figure 8-3.

Les autorisations comportant les mots delegate ou assign permettent à l'utilisateur ou au rôle d'affecter des attributs de sécurité à d'autres.

Pour empêcher l'escalade des privilèges, il est recommandé de ne pas affecter d'autorisation assign à un compte.

Les autorisations solaris.*.assign sont fournies, mais ne sont pas incluses dans tous les profils. Par défaut, seul le rôle root possède les autorisations solaris.*.assign.

Les applications compatibles avec RBAC peuvent vérifier les autorisations de l'utilisateur avant de lui autoriser l'accès au niveau de l'application ou des opérations spécifiques au sein de l'application. Cette vérification remplace la vérification conventionnelle dans les applications UNIX pour UID=0. Pour plus d'informations sur les autorisations, reportez-vous aux sections suivantes :

Autorisations et privilèges

Les privilèges appliquent la stratégie de sécurité dans le noyau. La différence entre les autorisations et les privilèges réside dans le niveau auquel la stratégie de sécurité est appliquée. Sans le privilège adéquat, un processus peut se voir empêcher d'exécuter des opérations privilégiées par le noyau. Sans les autorisations adéquates, un utilisateur peut se voir empêcher d'utiliser une application privilégiée ou d'exécuter des opérations liées à la sécurité au sein d'une application privilégiée. Pour en savoir plus sur les privilèges, reportez-vous à la section Privilèges (présentation).

Applications privilégiées et RBAC

Les applications et les commandes pouvant ignorer les contrôles système sont considérées comme des applications privilégiées. Les attributs de sécurité tels que UID=0, les privilèges et les autorisations rendent une application privilégiée.

Applications vérifiant les UID et GID

Les applications privilégiées vérifiant l'ID utilisateur root ( UID=0) ou autres UID (ID utilisateur) ou GID (ID de groupe) existent depuis longtemps dans l'environnement UNIX. Le mécanisme de profil de droits vous permet d'isoler les commandes nécessitant un ID spécifique. Au lieu de modifier l'ID sur une commande accessible par tous, vous pouvez placer la commande avec les attributs de sécurité affectés dans un profil de droits. Un utilisateur ou un rôle avec ce profil de droits peut alors exécuter le programme sans avoir à devenir superutilisateur.

Les ID peuvent être spécifiés en tant qu'ID réels ou effectifs. On préférera une affectation d'ID effectifs à une affectation d'ID réels. Les ID effectifs correspondent à la fonction setuid dans les bits d'autorisation de fichier. Les ID effectifs permettent également d'identifier l'UID pour l'audit. Cependant, étant donné que certains programmes et scripts shell nécessitent un UID réel de root, il est également possible de définir des ID utilisateur réels. Par exemple, la commande reboot requiert un ID utilisateur réel plutôt qu'un ID utilisateur effectif. Si un ID effectif n'est pas suffisant pour exécuter une commande, vous devez affecter l'ID réel à la commande.

Applications vérifiant les privilèges

Les applications privilégiées peuvent vérifier l'utilisation des privilèges. Le mécanisme de profil de droits RBAC permet de spécifier les privilèges pour des commandes spécifiques qui requièrent des attributs de sécurité. Ensuite, vous pouvez isoler la commande avec des attributs de sécurité affectés dans un profil de droits. Un utilisateur ou un rôle doté de ce profil de droits peut ensuite exécuter la commande avec les privilèges nécessaires à la réussite de la commande.

Voici la liste des commandes vérifiant les privilèges :

Pour ajouter des commandes avec des privilèges à un profil de droits, reportez-vous à la section Création d'un profil de droits et à la page de manuel profiles(1). Pour déterminer quelles commandes vérifient les privilèges dans un profil particulier, reportez-vous à la section Affichage de tous les attributs de sécurité définis.

Applications vérifiant les autorisations

Oracle Solaris fournit également des commandes qui vérifient les autorisations. Par définition, les utilisateurs root possèdent toutes les autorisations. Par conséquent, l'utilisateur root peut exécuter n'importe quelle application. Voici la liste des applications qui vérifient les autorisations :

Pour tester un script ou un programme dans le cadre des autorisations, reportez-vous à l'Exemple 9-23. Pour écrire un programme nécessitant des autorisations, reportez-vous à la rubrique About Authorizations du manuel Developer’s Guide to Oracle Solaris 11 Security.

Profils de droits RBAC

Un profil de droits est un ensemble d'attributs de sécurité pouvant être affecté à un rôle ou un utilisateur pour effectuer des tâches requérant des droits d'administration. Un profil de droits peut se composer d'autorisations, de privilèges, de commandes auxquelles des attributs de sécurité ont été affectées et d'autres profils de droits. Les privilèges qui sont affectés dans un profil de droits sont en vigueur pour toutes les commandes. Les profils de droits contiennent également des entrées afin de réduire ou d'étendre le premier ensemble hérité, et de réduire l'ensemble limite de privilèges.

Pour plus d'informations sur les profils de droits, reportez-vous aux sections suivantes :

Rôles RBAC

Un rôle est un type spécial de compte utilisateur à partir duquel vous pouvez exécuter des applications privilégiées. Les rôles sont créés de la même manière que les comptes utilisateur. Les rôles ont un répertoire d'accueil, une affectation de groupe, un mot de passe, et ainsi de suite. Les profils de droits et les autorisations attribuent les capacités administratives des rôles. Les rôles ne peuvent pas hériter des capacités d'autres rôles ou d'autres utilisateurs. Les rôles discrets répartissent les capacités de superutilisateur et permettent ainsi des pratiques administratives plus sécurisées.

Lorsqu'un utilisateur prend un rôle, les attributs du rôle remplacent tous les attributs de l'utilisateur. Les informations sur les rôles sont stockées dans les bases de données passwd, shadow et user_attr. Les actions des rôles peuvent être auditées. Pour obtenir des informations détaillées sur la configuration des rôles, reportez-vous aux sections suivantes :

Un rôle peut être affecté à plusieurs utilisateurs. Tous les utilisateurs qui peuvent prendre le même rôle possèdent le même répertoire d'accueil de rôle, fonctionnent dans le même environnement et ont accès aux mêmes fichiers. Les utilisateurs peuvent prendre les rôles à partir de la ligne de commande à l'aide de la commande su et en fournissant le mot de passe et le nom du rôle. Par défaut, les utilisateurs peuvent s'authentifier pour un rôle en fournissant le mot de passe du rôle. L'administrateur peut configurer le système pour permettre à un utilisateur de s'authentifier en fournissant le mot de passe de l'utilisateur. Pour la procédure, reportez-vous à la section Octroi à un utilisateur de l'autorisation d'utiliser son propre mot de passe pour prendre un rôle.

Un rôle ne peut pas se connecter directement. Un utilisateur se connecte, puis prend un rôle. Après avoir pris un rôle, l'utilisateur ne peut pas en prendre un autre tant qu'il n'a pas quitté son rôle actuel. Après avoir quitté son rôle, l'utilisateur peut alors en prendre un autre.

Le fait que root soit un rôle dans Oracle Solaris empêche toute connexion root anonyme. Si la commande shell de profil, pfexec, est en cours d'audit, la piste d'audit contient l'UID réel de l'utilisateur de connexion, les rôles que l'utilisateur a pris et les actions que le rôle a effectuées. Pour auditer le système ou un utilisateur particulier pour les opérations de rôle, reportez-vous à la section Audit des rôles.

Les profils de droits livrés avec le logiciel sont conçus pour correspondre aux rôles. Par exemple, le profil de droits System Administrator (administrateur système) peut permettre de créer le rôle Administrateur système. Pour configurer un rôle, reportez-vous à la section Création d'un rôle.

Shells de profil et RBAC

Les utilisateurs et les rôles peuvent exécuter des applications privilégiées à partir d'un shell de profil. Un shell de profil est un shell spécial qui reconnaît les attributs de sécurité inclus dans un profil de droits. Les administrateurs peuvent affecter un shell de profil à un utilisateur spécifique en tant que shell de connexion, ou le shell de profil est démarré lorsqu'un utilisateur exécute la commande su pour prendre un rôle. Dans Oracle Solaris, chaque shell dispose d'un shell de profil homologue. Par exemple, les shells de profil correspondant aux bourne shell (sh), bash shell (bash) et korn shell (ksh), sont respectivement les shells pfsh, pfbash et pfksh. Pour obtenir une liste des shells de profil, reportez-vous à la page de manuel pfexec(1).

Les utilisateurs auxquels un profil de droits a été assigné directement et dont le shell de connexion n'est pas un shell de profil doivent appeler un shell de profil pour exécuter les commandes avec les attributs de sécurité. La section Considérations relatives à la sécurité lors de l'affectation directe d'attributs de sécurité contient les points en prendre en considération en matière d'utilisation et de sécurité.

Toutes les commandes exécutées dans le cadre d'un shell de profil peuvent faire l'objet d'un audit. Pour plus d'informations, reportez-vous à la section Audit des rôles.

Champ d'application du service de noms et RBAC

Le champ d'application du service de noms permet de mieux comprendre RBAC. Le champ d'application d'un rôle peut être limité à un hôte unique. Il peut également inclure tous les hôtes pris en charge par un service de noms, tel que LDAP. Le champ d'application du service de noms pour un système est indiqué dans le service de commutation de nom, svc:/system/name-service/switch. La recherche s'arrête à la première correspondance. Si, par exemple, un profil de droits existe dans deux champs d'application du service de noms, seules les entrées dans le premier champ d'application du service de noms sont utilisées. Si files est la première correspondance, le champ d'application de ce rôle est limité à l'hôte local.

Considérations relatives à la sécurité lors de l'affectation directe d'attributs de sécurité

En général, un utilisateur obtient ses capacités d'administration par le biais d'un rôle. Les autorisations, les privilèges et les commandes privilégiées sont regroupés dans un profil de droits. Le profil de droits est inclus dans un rôle et le rôle est assigné à un utilisateur.

L'affectation directe des profils de droits et des attributs de sécurité est également possible :

Toutefois, l'affectation directe de privilèges ne constitue pas une pratique sécurisée. Les utilisateurs et les rôles auxquels un privilège est affecté directement peuvent remplacer la stratégie de sécurité partout où ce privilège est requis par le noyau. Une pratique plus sécurisée consiste à attribuer le privilège en tant qu'attribut de sécurité d'une commande dans un profil de droits. Ce privilège n'est alors disponible que pour cette commande par un utilisateur doté de ce profil de droits.

Etant donné que les autorisations agissent au niveau de l'utilisateur, l'affectation directe d'autorisations constitue un moindre risque que l'affectation directe de privilèges. Cependant, les autorisations peuvent permettent à un utilisateur d'effectuer des tâches hautement sécurisées, comme l'affectation d'indicateurs d'audit par exemple.

Considérations relatives à l'utilisation lors de l'affectation directe d'attributs de sécurité

L'affectation directe de profils de droits et les attributs de sécurité peuvent avoir une incidence sur l'utilisation :