Ignorer les liens de navigation | |
Quitter l'aperu | |
Guide d'administration système : Services de sécurité |
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)
9. Utilisation du contrôle d'accès basé sur les rôles (tâches)
Utilisation de RBAC (liste des tâches)
Configuration de RBAC (liste des tâches)
Procédure de planification de votre implémentation RBAC
Procédure de création et d'attribution d'un rôle à l'aide de l'interface graphique
Procédure de création d'un rôle à partir de la ligne de commande
Procédure d'attribution d'un rôle à un utilisateur local
Procédure de changement d'un utilisateur root en rôle
Utilisation des rôles (liste des tâches)
Procédure d'endossement d'un rôle dans une fenêtre de terminal
Procédure d'endossement d'un rôle dans la console de gestion Solaris
Gestion de RBAC (liste des tâches)
Procédure de modification du mot de passe d'un rôle
Procédure de modification des propriétés d'un rôle
Procédure de création ou de modification d'un profil de droits
Procédure de modification des propriétés RBAC d'un utilisateur
Procédure d'ajout de propriétés RBAC aux anciennes applications
10. Contrôle d'accès basé sur les rôles (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)
19. Utilisation d'Oracle Solaris Secure Shell (tâches)
20. Oracle Solaris Secure Shell (référence)
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)
L'interface graphique de la console de gestion Solaris est la méthode recommandée pour la gestion de RBAC.
Remarque - Ne tentez pas d'administrer RBAC à l'aide de la ligne de commande et de l'interface graphique en même temps. Des modifications conflictuelles pourraient être apportées à la configuration et le comportement du système serait imprévisible. Ces deux outils permettent d'administrer RBAC, mais ils ne peuvent pas être utilisés simultanément.
Avant de commencer
Vous devez avoir endossé un rôle incluant le profil de sécurité des utilisateurs ou vous être connecté en tant que superutilisateur. Vous ne pouvez pas endosser le rôle dont vous souhaitez modifier le mot de passe. Un rôle ne peut pas changer son propre mot de passe.
$ passwd -r naming-service target-rolename
Applique le changement de mot de passe à l'un des référentiels suivants : files, nis, nisplus ou ldap. Si aucun référentiel n'est spécifié, le mot de passe est changé dans files.
Nom d'un rôle existant que vous souhaitez modifier.
Pour obtenir d'autres options de commande, reportez-vous à la page de manuel passwd(1).
Pour démarrer la console, reportez-vous à la section Procédure d'endossement d'un rôle dans la console de gestion Solaris.
Le rôle de connexion ne peut pas être le rôle cible.
Le champ d'application files modifie le mot de passe du rôle sur le système local. Le champ d'application LDAP modifie le mot de passe du rôle sur le service de nommage LDAP.
Pour plus d'informations, reportez-vous à l'aide en ligne.
Cette commande s'exécute en tant que client du serveur de la console de gestion Solaris.
$ /usr/sadm/bin/smrole -D domain-name -r admin-role -l <Type admin-role password> \ modify -- -n target-rolename -P password
Nom du domaine que vous souhaitez gérer.
Nom du rôle d'administration pouvant modifier le rôle cible. Le rôle d'administration doit disposer de l'autorisation solaris.admin.usermgr.pswd. Le rôle d'administration et le rôle cible ne peuvent pas être identiques.
Invite pour le mot de passe de admin-role.
Séparateur requis entre les options d'authentification et les options de sous-commande.
Nom du rôle cible.
Nouveau mot de passe pour target-rolename.
Pour la liste complète des options de commande, reportez-vous à la page de manuel smrole(1M).
Exemple 9-13 Modification du mot de passe d'un rôle local avec la commande passwd
Dans cet exemple, le superutilisateur modifie le mot de passe du rôle operadm local.
# passwd -r files operadm New password: Type new password Re-enter new password: Retype new password
Exemple 9-14 Modification du mot de passe d'un rôle dans un référentiel LDAP
Dans cet exemple, le rôle d'administrateur principal modifie le mot de passe du rôle operadm dans le service d'annuaire LDAP.
$ passwd -r ldap operadm New password: Type new password Re-enter new password: Retype new password
Exemple 9-15 Modification du mot de passe d'un rôle à l'aide de la commande smrole modify
Dans cet exemple, l'administrateur contacte le serveur de la console de gestion Solaris pour changer le mot de passe operadm dans le domaine NIS. Lorsque l'administrateur ne fournit pas le mot de passe avant d'appuyer sur la touche Entrée, l'invite New Password: s'affiche.
$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n operadm -P Press the Return key New Password: a!2@3#4$5%6*7 $
Avant de commencer
Vous devez soit endosser un rôle incluant le profil de droits d'administrateur principal, soit vous connecter en tant qu'utilisateur root pour modifier les propriétés d'un rôle. Les propriétés du rôle incluent le mot de passe, les profils de droits et les autorisations.
Remarque - Pour changer la propriété de mot de passe d'un rôle, reportez-vous à la section Procédure de modification du mot de passe d'un rôle.
Pour démarrer la console, reportez-vous à la section Procédure d'endossement d'un rôle dans la console de gestion Solaris. Suivez les instructions données dans le volet gauche pour modifier un rôle dans Administrative Roles. Pour plus d'informations, reportez-vous à l'aide en ligne.
Cette commande modifie les attributs d'un rôle défini dans le service de noms local.
$ rolemod -c comment -P profile-list rolename
Nouveau commentaire décrivant les capacités du rôle.
Liste des profils inclus dans le rôle. Cette liste remplace la liste actuelle des profils.
Nom d'un rôle local existant que vous souhaitez modifier.
Pour obtenir d'autres options de commande, reportez-vous à la page de manuel rolemod(1M).
Cette commande permet de modifier les attributs d'un rôle dans un service DNS, tel que NIS, NIS+ ou LDAP. Cette commande s'exécute en tant que client du serveur de la console de gestion Solaris.
$ /usr/sadm/bin/smrole -D domain-name \ -r admin-role -l <Type admin-role password> \ modify -- -n rolename -r username -u username
Nom du domaine que vous souhaitez gérer.
Nom du rôle d'administration pouvant modifier le rôle. Le rôle d'administration doit disposer de l'autorisation solaris.role.assign. Si vous modifiez un rôle que vous avez endossé, il doit avoir l'autorisation solaris.role.delegate.
Invite pour le mot de passe de admin-role.
Séparateur requis entre les options d'authentification et les options de sous-commande.
Nom du nouveau rôle.
Nom de l'utilisateur ne pouvant plus endosser rolename.
Nom de l'utilisateur pouvant désormais endosser rolename.
Pour obtenir d'autres options de commande, reportez-vous à la page de manuel smrole(1M).
Exemple 9-16 Modification des propriétés d'un rôle local avec la commande rolemod
Dans cet exemple, le rôle operadm est modifié pour inclure le profil de droits de gestion FTP.
$ rolemod -c "Handles printers, backup, and FTP" \ -P "Operator,FTP Management,All" operadm
Ces profils de droits sont ajoutés aux profils accordés par l'intermédiaire du fichier policy.conf.
Exemple 9-17 Modification des propriétés d'un rôle local avec la commande smrole modify
Dans l'exemple suivant, le rôle operadm est modifié pour ajouter le profil de droits de gestion FTP.
$ /usr/sadm/bin/smrole -r primaryadm -l <Type primaryadm password> \ modify -- -n operadm -c "Handles printers, backup, and FTP" \ -p "FTP Management"
Exemple 9-18 Modification d'un rôle dans un domaine avec la commande smrole modify,
Dans l'exemple suivant, le rôle clockmgr est modifié. L'utilisateur NIS dont l'ID est 108 ne peut plus endosser le rôle. L'utilisateur NIS dont l'ID est 110 peut endosser le rôle clockmgr.
$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n clockmgr -r 108 -u 110
Un profil de droits est une propriété d'un rôle. Vous devez créer ou modifier un profil de droits lorsque la base de données prof_attr ne contient pas de profil de droits correspondant à vos besoins. Pour plus d'informations sur les profils de droits, reportez-vous à la section Profils de droits RBAC.
Avant de commencer
Pour créer ou modifier un profil de droits, vous devez avoir endossé le rôle d'administrateur principal ou vous être connecté en tant que superutilisateur.
Pour démarrer la console, reportez-vous à la section Procédure d'endossement d'un rôle dans la console de gestion Solaris. Suivez les instructions du volet gauche pour créer ou modifier un profil de droits dans l'outil de droits. Pour plus d'informations, reportez-vous à l'aide en ligne.
Cette commande vous permet d'ajouter, de modifier, de répertorier ou de supprimer un profil de droits. La commande fonctionne sur des fichiers et dans un service DNS, tel que NIS, NIS+ ou LDAP. La commande smprofile s'exécute en tant que client du serveur de la console de gestion Solaris.
$ /usr/sadm/bin/smprofile -D domain-name \ -r admin-role -l <Type admin-role password> \ add | modify -- -n profile-name \ -d description -m help-file -p supplementary-profile
Nom du domaine que vous souhaitez gérer.
Nom du rôle d'administration pouvant modifier le rôle. Le rôle d'administration doit disposer de l'autorisation solaris.role.assign. Si vous modifiez un rôle que vous avez endossé, il doit avoir l'autorisation solaris.role.delegate.
Invite pour le mot de passe de admin-role.
Séparateur requis entre les options d'authentification et les options de sous-commande.
Nom du nouveau profil.
Brève description du profil.
Nom du fichier d'aide HTML que vous avez créé et placé dans le répertoire /usr/lib/help/profiles/locale/C.
Nom d'un profil de droits existant inclus dans ce profil de droits. Vous pouvez spécifier plusieurs options -p supplementary-profile.
Pour obtenir d'autres options de commande, reportez-vous à la page de manuel smprofile(1M).
Exemple 9-19 Modification d'un profil de droits à partir de la ligne de commande
Dans l'exemple suivant, le profil de droits de gestion du réseau est un profil supplémentaire du profil de droits de sécurité réseau. Le rôle contenant le profil de sécurité réseau peut désormais configurer le réseau et les hôtes, ainsi qu'exécuter des commandes liées à la sécurité.
$ /usr/sadm/bin/smprofile -D nisplus:/example.host/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n "Network Security" \ -d "Manage network and host configuration and security" \ -m RtNetConfSec.html -p "Network Management"
L'administrateur a créé un nouveau fichier d'aide, RtNetConfSec.html, et l'a placé dans le répertoire /usr/lib/help/profiles/locale/C, avant d'exécuter cette commande.
Exemple 9-20 Création d'un nouveau profil de droits avec l'outil de droits
Le tableau suivant présente des données d'exemple pour un profil de droits hypothétique appelé "Build Administrator" (administrateur de versions). Ce profil de droits inclut les commandes dans le sous-répertoire /usr/local/swctrl/bin. Ces commandes ont un UID effectif de 0. Le profil de droits de l'administrateur de versions peut être utile pour les administrateurs gérant les différentes versions pour le développement de logiciels.
|
Erreurs fréquentes
Vérifiez les points suivants si le profil de droits ne fournit pas le rôle avec les capacités attendues :
Les profils de droits pour le rôle s'affichent-ils dans l'interface graphique dans l'ordre du plus puissant au moins puissant ?
Par exemple, si le profil de droits All s'affiche en haut de la liste, aucune commande n'est exécutée avec les attributs de sécurité. Un profil contenant des commandes avec des attributs de sécurité doit précéder le profil de droits All dans la liste.
Une commande est-elle répertoriée plus d'une fois dans les profils de droits du rôle ? Si tel est le cas, la première instance de la commande dispose-t-elle de tous les attributs de sécurité nécessaires ?
Par exemple, une commande peut nécessiter des privilèges pour des options particulières. Pour que les options nécessitant des privilèges s'exécutent correctement, la première instance de la commande dans le profil de droits situé le plus haut dans la liste doit disposer des privilèges attribués.
Les commandes des profils de droits du rôle disposent-elles des attributs de sécurité appropriés ?
Par exemple, lorsque la stratégie est suser, certaines commandes requièrent uid=0 plutôt que euid=0 pour s'exécuter correctement.
Le cache de service de noms, svc:/system/name-service-cache, a-t-il été redémarré ?
Le démon nscd peut avoir un long intervalle de durée de vie. En redémarrant le démon, vous mettez à jour le service de noms avec les données en cours.
Les propriétés de l'utilisateur incluent le mot de passe, les profils de droits, les rôles et les autorisations. La méthode la plus sûre pour accorder des capacités d'administration à un utilisateur est de lui attribuer un rôle. Pour plus de détails, reportez-vous à la section Considérations relatives à la sécurité lors de l'affectation directe d'attributs de sécurité .
Avant de commencer
Vous devez soit endosser un rôle incluant le profil de droits de l'administrateur principal, soit vous connecter en tant qu'utilisateur root.
Pour démarrer la console, reportez-vous à la section Procédure d'endossement d'un rôle dans la console de gestion Solaris. Suivez les instructions données dans le volet gauche pour modifier un utilisateur dans User Accounts. Pour plus d'informations, reportez-vous à l'aide en ligne.
Astuce - Il n'est pas recommandé d'attribuer des autorisations, des privilèges ou des profils de droits directement à des utilisateurs. La meilleure approche consiste à attribuer un rôle aux utilisateurs. Les utilisateurs endossent ensuite un rôle pour effectuer des opérations requérant des privilèges.
Cette commande permet de modifier les attributs d'un utilisateur défini dans le service de noms local.
$ usermod -R rolename username
Nom du rôle local existant.
Nom d'un utilisateur local existant que vous souhaitez modifier.
Pour obtenir d'autres options de commande, reportez-vous à la page de manuel usermod(1M).
Cette commande permet de modifier les attributs d'un utilisateur dans un service DNS, tel que NIS, NIS+ ou LDAP. Cette commande s'exécute en tant que client du serveur de la console de gestion Solaris.
$ /usr/sadm/bin/smuser -D domain-name \ -r admin-role -l <Type admin-role password> \ modify -- -n username -a rolename
Nom du domaine que vous souhaitez gérer.
Nom du rôle d'administration pouvant modifier le rôle. Le rôle d'administration doit disposer de l'autorisation solaris.role.assign. Si vous modifiez un rôle que vous avez endossé, il doit avoir l'autorisation solaris.role.delegate.
Invite pour le mot de passe de admin-role.
Séparateur requis entre les options d'authentification et les options de sous-commande.
Nom de l'utilisateur auquel rolename est attribué.
Nom du rôle que vous attribuez au username. Vous pouvez spécifier plusieurs options -a rolename.
Pour obtenir d'autres options de commande, reportez-vous à la page de manuel smuser(1M).
Exemple 9-21 Modification des propriétés RBAC d'un utilisateur local à partir de la ligne de commande
Dans cet exemple, l'utilisateur jdoe peut désormais endosser le rôle d'administrateur système.
$ usermod -R sysadmin jdoe
Ce rôle est ajouté aux rôles pouvant être endossés par l'utilisateur.
Exemple 9-22 Modification des propriétés RBAC d'un utilisateur avec la commande smuser
Dans cet exemple, l'utilisateur jdoe se voit attribuer deux rôles : administrateur système et opérateur. L'utilisateur et les rôles étant définis localement, l'option -D n'est pas nécessaire.
$ /usr/sadm/bin/smuser -r primaryadm -l <Type primaryadm password> \ modify -- -n jdoe -a sysadmin -a operadm
Dans l'exemple suivant, l'utilisateur est défini dans le service de noms NIS. Par conséquent, l'option -D est requise. Deux rôles sont définis dans le service de noms. Un rôle, root, est défini localement.
$ /usr/sadm/bin/smuser -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n jdoe -a sysadmin -a operadm -a root
Une ancienne application est une commande ou un jeu de commandes. Les attributs de sécurité sont définis pour chaque commande dans un profil de droits. Le profil de droits est ensuite inclus dans un rôle. Un utilisateur qui endosse le rôle peut exécuter l'ancienne application avec les attributs de sécurité.
Pour ajouter d'anciennes applications à la console de gestion Solaris, reportez-vous à la section Ajout d’outils à la console de gestion Solaris du Guide d’administration système : administration de base.
Avant de commencer
Vous devez avoir endossé le rôle d'administrateur principal ou vous être connecté en tant que superutilisateur pour modifier les attributs de sécurité d'une commande dans un profil de droits.
Pour démarrer la console, reportez-vous à la section Procédure d'endossement d'un rôle dans la console de gestion Solaris. Suivez les instructions du volet gauche pour modifier un profil de droits dans l'outil de droits. Pour plus d'informations, reportez-vous à l'aide en ligne.
Vous pouvez ajouter les attributs de sécurité à une ancienne application de la même façon que vous le feriez pour n'importe quelle commande. Vous devez ajouter la commande avec les attributs de sécurité à un profil de droits. Pour une commande héritée, donnez-lui les attributs de sécurité euid=0 ou uid=0. 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.
Pour ajouter un profil de droits à un rôle, reportez-vous à la section Procédure de modification des propriétés d'un rôle.
Exemple 9-23 Ajout d'attributs de sécurité à des commandes dans un script
Si une commande d'un script doit avoir le bit setuid ou setgid défini pour s'exécuter correctement, les attributs de sécurité du fichier exécutable du script et de la commande doivent être ajoutés dans un profil de droits. Ensuite, le profil de droits est inclus dans un rôle et le rôle est assigné à un utilisateur. Lorsque l'utilisateur endosse le rôle et exécute le script, la commande s'exécute avec les attributs de sécurité.
Pour ajouter les attributs de sécurité à une commande ou un script shell, reportez-vous à la section Procédure de création ou de modification d'un profil de droits.
Exemple 9-24 Recherche d'autorisations dans un script ou un programme
Pour avoir un script pour les autorisations, vous devez ajouter un test basé sur la commande auths. Pour plus d'informations sur cette commande, reportez-vous à la page de manuel auths(1).
Par exemple, la ligne suivante vérifie si l'utilisateur dispose de l'autorisation fournie comme argument $1 :
if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then echo Auth granted else echo Auth denied fi
Pour être plus complet, le test doit inclure une logique vérifiant la présence d'autres autorisations utilisant des caractères génériques. Par exemple, pour tester si l'utilisateur dispose de l'autorisation solaris.admin.usermgr.write, vous devez recherchez les chaînes suivantes :
solaris.admin.usermgr.write
solaris.admin.usermgr.*
solaris.admin.*
solaris.*
Si vous écrivez un programme, utilisez la fonction getauthattr() pour effectuer un test d'autorisation.