JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide d'administration système : Services de sécurité
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.  Contrôle de l'accès aux périphériques (tâches)

5.  Utilisation de l'outil de génération de rapports d'audit de base (tâches)

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

7.  Utilisation d'Automated Security Enhancement Tool (Tâches)

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

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

Nouveautés RBAC

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

RBAC : la solution de substitution au modèle superutilisateur

Éléments et concepts de base RBAC Oracle Solaris

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é

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 oeliguvre 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

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

10.  Contrôle d'accès basé sur les rôles (référence)

11.  Privilèges (tâches)

12.  Privilèges (référence)

Partie IV Services cryptographiques

13.  Structure cryptographique Oracle Solaris (présentation)

14.  Structure cryptographique Oracle Solaris (tâches)

15.  Structure de gestion des clés Oracle Solaris

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

16.  Utilisation des services d'authentification (tâches)

17.  Utilisation de PAM

18.  Utilisation de SASL

19.  Utilisation d'Oracle Solaris Secure Shell (tâches)

20.  Oracle Solaris Secure Shell (référence)

Partie VI Service Kerberos

21.  Introduction au service Kerberos

22.  Planification du service Kerberos

23.  Configuration du service Kerberos (tâches)

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

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

26.  Utilisation des applications Kerberos (tâches)

27.  Service Kerberos (référence)

Partie VII Audit Oracle Solaris

28.  Audit Oracle Solaris (présentation)

29.  Planification de l'audit Oracle Solaris

30.  Gestion de l'audit Oracle Solaris (tâches)

31.  Audit Oracle Solaris (référence)

Glossaire

Index

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

La fonction de sécurité RBAC (Role-based access control, contrôle d'accès basé sur les rôles) permet de contrôler l'accès utilisateur aux tâches qui incombent normalement au superutilisateur. 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 œuvre par le biais des privilèges. La gestion des droits des utilisateurs est mise en œuvre 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 œuvre 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 ordinaire 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 endossent 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 endosser 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 d'administrateur principal est l'équivalent du superutilisateur. Les profils de droits peuvent également être définis avec précision. Par exemple, le profil de droits de gestion cron gère les tâches at et cron. Lorsque vous créez des rôles, vous pouvez décider de créer des rôles aux capacités étendues et/ou des rôles aux capacités restreintes.

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 endossent 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 peu de rôles, trois rôles recommandés peuvent être configurés facilement. Les rôles sont basés sur des profils de droits du même nom :

Il n'est pas nécessaire de mettre en œuvre ces trois rôles. Les rôles sont fonction des besoins de sécurité d'une organisation. Les rôles peuvent être configurés 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 ordinaire 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
Oui
Oui
Peut se connecter en tant qu'utilisateur disposant des capacités utilisateur complètes
Oui
Oui
Peut devenir superutilisateur avec des capacités limitées
Non
Oui
Peut se connecter en tant qu'utilisateur et disposer des capacités de superutilisateur, sporadiquement
Oui, avec les programmes setuid uniquement
Oui, 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
Non
Oui, 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 ordinaire
Non
Oui, avec RBAC et avec les privilèges supprimés
Peut suivre les actions superutilisateur
Oui, par l'audit de la commande su
Oui, par l'audit des commandes shell de profil

En outre, si l'utilisateur root est désactivé, le nom de l'utilisateur qui a endossé le rôle root se trouve dans la piste d'audit.

Éléments et concepts de base RBAC Oracle Solaris

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-1 Relations entre les éléments RBAC Oracle Solaris

image:Le contexte suivant décrit le graphique.

Dans RBAC, les rôles sont affectés à des utilisateurs. Lorsqu'un utilisateur endosse un rôle, les capacités de ce rôle sont disponibles. Les rôles reçoivent leurs capacités des profils de droits. Les profils de droits peuvent contenir des autorisations, des privilèges affectés directement, des commandes privilégiées et d'autres profils de droits. Les commandes privilégiées s'exécutent avec des attributs de sécurité.

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

Figure 8-2 Exemple de relations entre éléments RBAC d'Oracle Solaris

image:Le contexte suivant décrit le graphique.

Le rôle Sécurité réseau permet de gérer les liaisons réseau, IPsec et wifi. Ce rôle est assigné à l'utilisateur jdoe. Pour endosser le rôle, jdoe change de rôle, puis indique le mot de passe correspondant.

Le profil de droits Sécurité réseau a été affecté au rôle Sécurité réseau. Le profil de droits Sécurité réseau contient des profils supplémentaires qui sont évalués dans l'ordre Sécurité Wifi réseau, Sécurité Liaison réseau et Gestion IPsec réseau. Ces profils supplémentaires remplissent les tâches principales du rôle.

Le profil de droits 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 à l'utilisateur root uniquement. Si d'autres systèmes de sécurité sont en place, l'administrateur peut affecter les attributs conçus pour les utilisateurs root à d'autres comptes, mais il doit procéder avec prudence.

Par exemple, le profil de droits Restauration des supports existe, mais il ne fait partie d'aucun autre profil de droits. Dans la mesure où Media Restore permet d'accéder à l'ensemble du système de fichiers racine, son utilisation est une escalade possible de privilège. Des fichiers délibérément modifiés ou des supports de substitution peuvent être restaurés. Par défaut, seul l'utilisateur root a ce profil de droits.

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 d'accès est alors ajouté à un rôle et le rôle est assigné à un utilisateur. La Figure 8-2 présente un exemple.

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é d'exécution 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 pkgadd 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 le remplacer par un ID réel. Pour plus d'informations sur cette procédure, reportez-vous à la section Procédure de création ou de modification d'un profil de droits.

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. Au lieu de demander des capacités de superutilisateur pour utiliser une application ou une commande, vous pouvez isoler la commande avec des attributs de sécurité d'exécution 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 Procédure de création ou de modification d'un profil de droits. Pour déterminer quelles commandes vérifient les privilèges dans un profil particulier, reportez-vous à la section Détermination des privilèges qui vous sont attribués.

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-24. Pour écrire un programme nécessitant des autorisations, reportez-vous à la rubrique About Authorizations du Developer’s Guide to Oracle Solaris Security.

Profils de droits RBAC

Un profil de droits est un ensemble de remplacements système pouvant être affecté à un rôle ou à un utilisateur. Un profil de droits peut se composer d'autorisations, de commandes avec des attributs de sécurité affectés et d'autres profils de droits. Les informations de profil de droits sont divisées entre les bases de données prof_attr et exec_attr. Le nom du profil de droits et les autorisations résident dans la base de données prof_attr. Le nom du profil de droits et les commandes avec les attributs de sécurité affectés résident dans la base de données exec_attr.

Pour plus d'informations sur des 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 personnel, 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 endosse 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 informations sur les rôles peuvent être ajoutées à la base de données audit_user. 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 endosser le même rôle possèdent le même répertoire personnel de rôle, fonctionnent dans le même environnement et ont accès aux mêmes fichiers. Les utilisateurs peuvent endosser les rôles à partir de la ligne de commande à l'aide de la commande su ainsi que du nom et du mot de passe des rôles. Les utilisateurs peuvent également endosser un rôle dans l'outil de la console de gestion Solaris.

Un rôle ne peut pas se connecter directement. Un utilisateur se connecte, puis endosse un rôle. Après avoir endossé un rôle, l'utilisateur ne peut pas en endosser 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 endosser un autre.

Vous pouvez empêcher une connexion root anonyme en remplaçant l'utilisateur root par un rôle, comme illustré à la section Procédure de changement d'un utilisateur root en rôle. 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 endossés 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 Procédure d'audit des rôles.

Aucun rôle prédéfini n'est livré avec le logiciel Oracle Solaris. Cependant, les profils de droits livrés avec le logiciel sont conçus pour correspondre aux rôles. Par exemple, le profil de droits Administrateur principal peut permettre de créer le rôle Administrateur principal.

Shells de profil et RBAC

Les rôles peuvent exécuter des applications privilégiées à partir du lanceur de la console de gestion Solaris ou 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 shells de profil sont lancés lorsque cet utilisateur exécute la commande su pour endosser un rôle. Les shells de profil sont pfsh, pfcsh et pfksh. Ces shells correspondent au shell Bourne (sh), au shell C (csh) et au shell Korn (ksh), respectivement.

Les utilisateurs auxquels un profil de droits a été assigné directement 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 Procédure d'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 nommage, tel que NIS, NIS+ ou LDAP. Le champ d'application du service de noms pour un système est indiqué dans le fichier /etc/nsswitch.conf. 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 et les commandes privilégiées sont regroupées 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.

Étant 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.

Un profil de droits attribué directement à un utilisateur présente des problèmes d'utilisation plus que des problèmes de sécurité. Les commandes avec des attributs de sécurité dans le profil de droits ne peuvent être exécutées que dans un shell de profil. L'utilisateur ne doit pas oublier d'ouvrir un shell de profil, puis de saisir les commandes dans ce shell. Un rôle auquel est affecté un profil de droits obtient un shell de profil automatiquement. Par conséquent, les commandes sont exécutées avec succès dans le shell du rôle.