Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris : services de sécurité Oracle Solaris 11 Information Library (Français) |
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. Utilisation de l'outil de génération de rapports d'audit de base (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)
9. Utilisation du contrôle d'accès basé sur les rôles (tâches)
Affichage et utilisation des valeurs par défaut RBAC (tâches)
Affichage et utilisation des valeurs par défaut RBAC (liste des tâches)
Procédure d'affichage de tous les attributs de sécurité définis
Procédure d'affichage des droits qui vous sont affectés
Procédure d'endossement d'un rôle
Procédure d'obtention des droits d'administration
Personnalisation RBAC pour votre site (tâches)
Configuration initiale RBAC (liste des tâches)
Procédure de planification de votre implémentation RBAC
Procédure de création d'un rôle
Procédure d'attribution de rôle
Procédure de création ou de modification d'un profil de droits
Procédure d'ajout de propriétés RBAC aux anciennes applications
Procédure de dépannage de RBAC et de l'affectation de privilèges
Gestion de RBAC (liste des tâches)
Procédure de modification du mot de passe d'un rôle
Procédure de modification des attributs de sécurité d'un rôle
Procédure de modification des propriétés RBAC d'un utilisateur
Procédure de limitation d'un utilisateur aux applications de bureau
Procédure de limitation d'un administrateur aux droits affectés de manière explicite
Utilisation des privilèges (tâches)
Détermination des privilèges (liste des tâches)
Procédure de création d'une liste des privilèges sur le système
Procédure de détermination des privilèges qui vous sont attribués directement
Procédure de détermination des commandes privilégiées que vous pouvez exécuter
Gestion des privilèges (liste des tâches)
Procédure de détermination de privilèges sur un processus
Procédure de détermination des privilèges requis par un programme
Procédure d'exécution d'un script shell avec des commandes privilégiées
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. Authentification des services réseau (tâches)
17. Utilisation de Secure Shell (tâches)
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
Une fois que vous avez configuré RBAC et que vous l'utilisez, suivez les procédures suivantes pour tenir à jour et modifier RBAC sur vos systèmes.
La liste des tâches suivante présente les procédures de gestion du contrôle d'accès basé sur les rôles (RBAC) après son implémentation initiale.
|
Ces procédures gèrent les attributs de sécurité relatifs aux utilisateurs, aux rôles et aux profils de droits. Pour les procédures de gestion des utilisateurs de base, reportez-vous au Chapitre 2, Gestion des comptes utilisateur et des groupes (présentation) du manuel Administration d’Oracle Solaris : Tâches courantes .
Avant de commencer
Vous devez être dans le rôle root.
# passwd [-r naming-service] target-rolename
Applique la modification de mot de passe au référentiel files ou ldap. Le référentiel par défaut est files. Si vous ne spécifiez pas de référentiel, le mot de passe est modifié dans tous les référentiels.
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).
Exemple 9-17 Modification du mot de passe d'un rôle
Dans cet exemple, le rôle root modifie le mot de passe du rôle devmgt local.
# passwd -r files devmgt New password: Type new password Confirm password: Retype new password
Dans cet exemple, le rôle root modifie le mot de passe du rôle devmgt dans le service d'annuaire LDAP.
# passwd -r ldap devmgt New password: Type new password Confirm password: Retype new password
Dans cet exemple, le rôle root modifie le mot de passe du rôle devmgt dans le fichier et LDAP.
# passwd devmgt New password: Type new password Confirm password: Retype new password
Avant de commencer
Le profil de droits User Security (sécurité des utilisateurs) doit vous être affecté pour modifier les attributs de sécurité d'un rôle, à l'exception des indicateurs d'audit et du mot de passe pour le rôle. Les propriétés du rôle incluent les profils de droits et les autorisations. Pour affecter des indicateurs d'audit ou modifier le mot de passe d'un rôle, vous devez être dans le rôle root.
Remarque - Pour changer le mot de passe, reportez-vous à la section Procédure de modification du mot de passe d'un rôle.
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
Cette commande modifie les attributs d'un rôle défini dans le service de noms local ou dans LDAP. Les valeurs des options -A, -P et -R peuvent être modifiées par - ou ++. - indique de soustraire la valeur aux valeurs actuellement affectées. ++ indique d'ajouter la valeur aux valeurs actuellement affectées
Pour plus d'informations sur la commande rolemod, reportez-vous aux sections suivantes :
Pour une brève description, reportez-vous à la description de la commande roleadd dans la section Procédure de création d'un rôle.
La page de manuel rolemod(1M) contient tous les arguments associés à cette commande.
Pour obtenir la liste des valeurs clé pour l'option -K, reportez-vous à la page de manuel user_attr(4).
La commande suivante remplace les profils de droits affectés au rôle devmgt dans le référentiel LDAP :
$ rolemod -P "Device Management,File Management" -S ldap devadmin
Exemple 9-18 Modification des attributs de sécurité d'un rôle local
Dans cet exemple, l'administrateur de sécurité modifie le rôle prtmgt afin d'inclure le profil de droits VSCAN Management (gestion VSCAN).
$ rolemod -c "Handles printers and virus scanning" \ -P "Printer Management,VSCAN Management,All" prtmgt
Ces profils de droits sont ajoutés aux profils accordés par l'intermédiaire du fichier policy.conf.
Exemple 9-19 Affectation de privilèges directement à un rôle
Dans cet exemple, l'administrateur de sécurité confie au rôle systime un privilège très spécifique qui affecte le temps système.
$ rolemod -K priv=proc_clock_highres systime
Les valeurs pour le mot-clé priv se trouvent dans la liste des privilèges dans les processus du rôle à tout moment.
Les propriétés de l'utilisateur comprennent le shell de connexion, les profils de droits et les rôles. 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
Le profil de droits User Security (sécurité des utilisateurs) doit vous être affecté pour modifier les attributs de sécurité d'un utilisateur, à l'exception des indicateurs d'audit et du mot de passe pour l'utilisateur. Pour affecter des indicateurs d'audit ou modifier le mot de passe d'un rôle, vous devez être dans le rôle root. Pour modifier d'autres attributs de l'utilisateur, le profil de droits User Management (gestion des utilisateurs) doit vous être affecté.
Pour plus d'informations, reportez-vous à la section Procédure d'obtention des droits d'administration.
Cette commande permet de modifier les attributs d'un utilisateur défini dans le service de noms local ou le LDAP. Les arguments RBAC de cette commande sont similaires aux arguments de la commande useradd, tel que décrit dans les pages de manuel user_attr(4) et indiqué dans l'Exemple 9-23.
Dans l'exemple suivant, un le rôle devmgt est affecté à l'utilisateur LDAP. Ce rôle remplace les affectations de rôle précédentes. Le rôle devmgt doit exister dans le service de noms LDAP.
$ usermod -R devmgt -S ldap jdoe-ldap
Dans l'exemple suivant, ce rôle est ajouté aux affectations de rôle précédentes.
$ usermod -R +devmgt -S ldap jdoe-ldap
Exemple 9-20 Affectation d'un rôle à un utilisateur local
Dans cet exemple, l'utilisateur jdoe peut désormais prendre le rôle d'administrateur système sysadmin.
$ userattr roles jdoe secdevice $ usermod -R secdevice,sysadmin jdoe $ userattr roles jdoe secdevice,sysadmin
Exemple 9-21 Suppression de privilèges du jeu limite d'un utilisateur
Dans l'exemple suivant, toutes les sessions dérivées de la connexion initiale de jdoe ne peuvent pas utiliser le privilège sys_linkdir. C'est-à-dire que l'utilisateur ne peut pas créer de liens physiques vers les répertoires, ni rompre un lien vers des répertoires et ce, même après avoir exécuté la commande su.
$ usermod -K limitpriv=all,!sys_linkdir jdoe $ userattr limitpriv jdoe all,!sys_linkdir
Exemple 9-22 Création d'un utilisateur pouvant gérer DHCP
Dans cet exemple, l'administrateur de sécurité crée un utilisateur dans LDAP. Au moment de la connexion, l'utilisateur jdoe-dhcp peut gérer DHCP.
# useradd -P "DHCP Management" -s /usr/bin/pfbash -S ldap jdoe-dhcp
Dans la mesure où pfbash est affecté à l'utilisateur comme shell de connexion, les attributs de sécurité dans le profil de droits DHCP Management (gestion DHCP) sont disponibles pour l'utilisateur dans son shell par défaut.
Exemple 9-23 Affectation d'autorisations directement à un utilisateur
Dans cet exemple, l'administrateur de sécurité créer un utilisateur local qui peut contrôler la luminosité de l'écran.
# useradd -c "Screened JDoe, local" -s /usr/bin/pfbash \ -A solaris.system.power.brightness jdoe-scr
Cette autorisation est ajoutée aux affectations d'autorisation existantes de l'utilisateur.
Exemple 9-24 Affectation de privilèges directement à un utilisateur
Dans cet exemple, l'administrateur de sécurité confie à l'utilisateur jdoe un privilège très spécifique qui affecte le temps système.
$ usermod -K defaultpriv=basic,proc_clock_highres jdoe
Les valeurs pour le mot-clé defaultpriv remplacent les valeurs existantes. Par conséquent, pour que l'utilisateur conserve les privilèges basic, la valeur basic est spécifiée. Dans la configuration par défaut, tous les utilisateurs disposent de privilèges de base.
Vous pouvez restreindre un utilisateur d'Oracle Solaris aux applications de bureau uniquement
Avant de commencer
Vous devez être dans le rôle root.
Vous pouvez, par exemple, affecter le shell pfbash à l'utilisateur.
# usermod -s /usr/bin/pfbash username
Tous les processus utilisateur sont maintenant sous le contrôle de RBAC.
La commande suivante crée le profil de droits. La commande end indique que la commande ajoutée n'exige pas d'attributs de sécurité. Pour créer le profil de droits dans votre référentiel LDAP, utilisez l'option -S ldap.
# profiles -p "Desktop Applets" profiles:Desktop Applets> set desc="Can use basic desktop applications" profiles:Desktop Applets> add cmd=/usr/bin/nautilus;end profiles:Desktop Applets> add cmd=/usr/bin/dbus-launch;end profiles:Desktop Applets> add cmd=/usr/lib/dbus-daemon;end profiles:Desktop Applets> add cmd=/usr/lib/clock-applet;end profiles:Desktop Applets> add cmd=/usr/lib/gconfd-2;end profiles:Desktop Applets> add cmd=/usr/lib/gvfsd;end profiles:Desktop Applets> add cmd=/usr/lib/gvfsd-metadata;end profiles:Desktop Applets> add cmd=/usr/lib/gvfsd-trash;end profiles:Desktop Applets> add cmd=/usr/lib/gvfs-hal-volume-monitor;end profiles:Desktop Applets> add cmd=/usr/lib/gnome-pty-helper;end profiles:Desktop Applets> add cmd=/usr/lib/utmp_update;end profiles:Desktop Applets> add cmd=/usr/bin/sh;end profiles:Desktop Applets> add cmd=/usr/bin/bash;end profiles:Desktop Applets> add cmd=/usr/bin/csh;end profiles:Desktop Applets> add cmd=/usr/bin/ksh;end profiles:Desktop Applets> commit profiles:Desktop Applets> exit
Recherchez les erreurs, tels que les fautes de frappe, les omissions ou les répétitions dans les entrées.
# profiles -p "Desktop Applets" info Found profile in files repository. name=Desktop Applets desc=Can use basic desktop applications cmd=/usr/bin/nautilus cmd=/usr/bin/dbus-launch cmd=/usr/lib/dbus-daemon cmd=/usr/lib/clock-applet cmd=/usr/lib/gconfd-2 cmd=/usr/lib/gvfsd cmd=/usr/lib/gvfsd-metadata cmd=/usr/lib/gvfsd-trash cmd=/usr/lib/gvfs-hal-volume-monitor cmd=/usr/lib/gnome-pty-helper cmd=/usr/lib/utmp_update cmd=/usr/bin/sh cmd=/usr/bin/bash cmd=/usr/bin/csh cmd=/usr/bin/ksh
Astuce - Vous pouvez créer un profil de droits pour une application ou une classe d'applications disposant d'icônes de bureau. Ensuite, ajoutez Desktop Applets (applets de bureau) comme profil de droits supplémentaires à ce nouveau profil de droits. Ces deux profils de droits permettent à l'utilisateur d'utiliser les applications de bureau appropriées.
# usermod -P "Desktop Applets,Stop" username
Cet utilisateur ne dispose pas des profils de droits Basic Solaris User (utilisateur Solaris de base) et Console User (utilisateur de la console). Par conséquent, seules les commandes dans le profil de droits Desktop Applets (applets de bureau) peuvent être exécutées par cet utilisateur. Par exemple, l'utilisateur n'a pas accès à une fenêtre de terminal.
Pour plus d'informations, reportez-vous aux sections Profils de droits, Ordre de recherche pour les attributs de sécurité affectés et Limitation d’un utilisateur à des applications de bureau du manuel Configuration et administration d’Oracle Solaris Trusted Extensions.
La commande usermod permet de modifier les attributs d'utilisateur définis dans le service de noms local ou le LDAP. La page de manuel usermod(1M) contient les arguments associés à cette commande.
Vous pouvez limiter un rôle ou un utilisateur à un nombre restreint d'actions d'administration de deux manières.
Vous pouvez utiliser le profil de droits Stop (arrêt).
Ce profil constitue le moyen le plus simple de créer un shell limité. Les autorisations et les profils de droits affectés dans le fichier policy.conf ne sont pas consultés. Dans la configuration par défaut, le profil de droits Basic Solaris User (utilisateur Solaris de base), le profil de droits Console User (utilisateur de la console) ou l'autorisation solaris.device.cdrw ne sont pas affectés au rôle ou à l'utilisateur.
Vous pouvez modifier le fichier policy.conf sur un système et exiger que le rôle ou l'utilisateur utilisent ce système pour les tâches d'administration.
Avant de commencer
Vous devez être dans le rôle root.
Par exemple, vous pouvez limiter le rôle auditrev pour effectuer uniquement des révisions d'audit.
# rolemod -P "Audit Review,Stop" auditrev
Etant donné que le rôle auditrev ne dispose pas du profil de droits Console User (utilisateur de la console), l'auditeur ne peut pas arrêter le système. Etant donné que ce rôle ne dispose pas de l'autorisation solaris.device.cdrw, l'auditeur ne peut pas lire ou écrire sur l'unité de CD-ROM. Etant donné que ce rôle ne dispose pas du profil de droits Basic Solaris User (utilisateur Solaris de base), aucune autre commande que les commandes dans le profil de droits Audit Review (vérification de l'audit) ne peut être exécutée dans ce rôle. Par exemple, la commande ls ne sera pas exécutée. Le rôle utilise le navigateur de fichiers pour afficher les fichiers d'audit.
Pour plus d'informations, reportez-vous aux sections Profils de droits et Ordre de recherche pour les attributs de sécurité affectés.
La commande rolemod modifie les attributs d'un rôle défini dans le service de noms local ou le LDAP. La page de manuel rolemod(1M) contient les arguments associés à cette commande. La liste des arguments RBAC est similaire à la liste pour la commande roleadd, comme décrit dans la section Procédure de création d'un rôle
Exemple 9-25 Modification d'un système pour limiter les droits disponibles pour ses utilisateurs
Dans cet exemple, l'administrateur crée un système qui n'est utile que pour administrer le réseau. L'administrateur supprime le profil de droits Basic Solaris User (utilisateur Solaris de base) et l'autorisation solaris.device.cdrw du fichier policy.conf. Le profil de droits Console User (utilisateur de la console) n'est pas supprimé. Les lignes concernées dans le fichier policy.conf résultant sont les suivantes :
... #AUTHS_GRANTED=solaris.device.cdrw #PROFS_GRANTED=Basic Solaris User CONSOLE_USER=Console User ...
Seul un utilisateur auquel des autorisations, commandes ou profils de droits sont explicitement affectés est capable d'utiliser ce système. Après la connexion, l'utilisateur autorisé peut effectuer des tâches d'administration. Si l'utilisateur autorisé se trouve devant le système, il a les droits de l'utilisateur de la console.
Par défaut, les utilisateurs doivent entrer le mot de passe du rôle pour endosser un rôle. Effectuez cette procédure pour que l'endossement d'un rôle dans Oracle Solaris soit identique à celui dans un environnement Linux.
Avant de commencer
Vous devez avoir assumé un rôle qui inclut le profil de droits User Security (sécurité des utilisateurs). Ce rôle ne peut pas être le rôle dont vous souhaitez modifier la valeur roleauth.
$ rolemod -K roleauth=user rolename
Pour endosser ce rôle, les utilisateurs affectés peuvent désormais utiliser leur propre mot de passe et pas le mot de passe qui a été spécifiquement créé pour le rôle.
Exemple 9-26 Activation d'un rôle pour utiliser le mot de passe utilisateur affecté lors de l'utilisation d'un profil de droits
Dans cet exemple, le rôle root modifie la valeur de roleauth pour le rôle secadmin sur le système local.
# profiles -K roleauth=user "System Administrator"
Lorsqu'un utilisateur bénéficiant du profil de droits Security Administrator (administrateur de sécurité) veut endosser le rôle, l'utilisateur est invité à saisir un mot de passe. Dans la séquence suivante, le nom de rôle est secadmin :
% su - secadmin Password: Type user password $ /** You are now in a profile shell with administrative rights**/
Si d'autres rôles ont été affectés à l'utilisateur, celui-ci utilise son propre mot de passe pour ces rôles également.
Exemple 9-27 Modification de la valeur roleauth pour un rôle dans le référentiel LDAP
Dans cet exemple, le rôle root permet à tous les utilisateurs pouvant endosser le rôle secadmin d'utiliser leur propre mot de passe lorsqu'ils endossent un rôle. Cette capacité est accordée à ces utilisateurs pour tous les systèmes qui sont gérés par le serveur LDAP.
# rolemod -S ldap -K roleauth=user secadmin # profiles -S ldap -K roleauth=user "Security Administrator"
Erreurs fréquentes
Si roleauth=user est défini pour le rôle, le mot de passe utilisateur permet au rôle authentifié d'accéder à tous les droits affectés à ce rôle. Ce mot-clé dépend de la recherche. Pour plus d'informations, reportez-vous à la section Ordre de recherche pour les attributs de sécurité affectés.
Un administrateur peut être amené à changer root en utilisateur lors de la mise hors service d'un système qui a été supprimé du réseau. Dans ce cas, la connexion au système en tant que root simplifie le nettoyage.
Avant de commencer
Vous devez vous connecter en tant qu'administrateur disposant des profils de droits User Management (gestion des utilisateurs) et User Security (sécurité des utilisateurs).
Par exemple, supprimez l'affectation du rôle de deux utilisateurs.
% su - root Password: a!2@3#4$5%6^7 # roles jdoe root # roles kdoe root # roles ldoe secadmin # usermod -R "" jdoe # usermod -R "" kdoe #
# rolemod -K type=normal root
Les utilisateurs qui sont actuellement dans le rôle root restent dans le rôle. Les autres utilisateurs disposant d'un accès root peuvent utiliser la commande su pour accéder à root ou se connecter au système en tant qu'utilisateur root.
Vous pouvez utiliser l'une des commandes suivantes.
# getent user_attr root root::::auths=solaris.*;profiles=All;audit_flags=lo\:no;lock_after_retries=no; min_label=admin_low;clearance=admin_high
Si le mot-clé type n'est pas présent dans la sortie ou s'il est égal à normal, le compte n'est pas un rôle.
# userattr type root
Si la sortie est vide ou si elle répertorie normal, le compte n'est pas un rôle.
Exemple 9-28 Interdiction de l'utilisation du rôle root pour configurer un système
Dans cet exemple, la stratégie de sécurité du site requiert que le compte root ne puisse pas effectuer la maintenance du système. L'administrateur a créé et testé les rôles qui mettent à jour le système. Ces rôles incluent tous les profils de sécurité et le profil de droits System Administrator (administrateur système). Un rôle pouvant restaurer une sauvegarde a été affecté à un utilisateur de confiance. Aucun rôle ne peut modifier les indicateurs d'audit pour le système, un utilisateur ou un profil de droits.
Pour empêcher que le compte root soit utilisé pour effectuer la maintenance du système, l'administrateur de sécurité supprime l'affectation du rôle root. Dans la mesure où le compte root doit être en mesure de se connecter au système en mode monoutilisateur, le compte conserve un mot de passe.
# rolemod -K roles= jdoe # userattr roles jdoe
Exemple 9-29 Transformation de l'utilisateur root en rôle root
Dans cet exemple, l'utilisateur root transforme à nouveau l'utilisateur root en un rôle.
Tout d'abord, root transforme le compte root en un rôle et vérifie la modification.
# rolemod -K type=role root # getent user_attr root root::::type=role;auths=solaris.*;profiles=All;audit_flags=lo\:no; lock_after_retries=no;min_label=admin_low;clearance=admin_high
Ensuite, root affecte le rôle root à un utilisateur local.
# usermod -R root jdoe
Erreurs fréquentes
Dans un environnement de bureau, vous ne pouvez pas directement vous connecter en tant que root lorsque root est un rôle. Un message de diagnostic indique que root est un rôle sur votre système.
Si vous ne disposez pas d'un compte local pouvant endosser le rôle root, créez-en un. En tant que root, connectez-vous au système en mode monoutilisateur, créez un compte utilisateur local et un mot de passe et attribuez le rôle root au nouveau compte. Ensuite, connectez-vous en tant que nouvel utilisateur et endossez le rôle root.