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
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
Procédure de modification du rôle root en utilisateur
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
Des droits sont affectés aux utilisateurs par défaut. Les droits pour tous les utilisateurs d'un système sont affectés dans le fichier /etc/security/policy.conf.
Lors de l'installation d'Oracle Solaris, votre système est configuré avec des droits d'utilisateurs et des droits de processus. Sans autre configuration, utilisez la liste des tâches ci-dessous pour afficher et utiliser RBAC.
|
Utilisez les commandes suivantes pour répertorier toutes les autorisations et tous les profils de droits et les commandes avec les attributs de sécurité sur le système. Pour répertorier tous les privilèges définis, reportez-vous à la section Procédure de création d'une liste des privilèges sur le système.
% getent auth_attr | more solaris.:::All Solaris Authorizations::help=AllSolAuthsHeader.html solaris.account.:::Account Management::help=AccountHeader.html ... solaris.zone.login:::Zone Login::help=ZoneLogin.html solaris.zone.manage:::Zone Deployment::help=ZoneManage.html
% getent prof_attr | more All:::Execute any command as the user or role:help=RtAll.html Audit Configuration:::Configure Solaris Audit:auths=solaris.smf.value.audit; help=RtAuditCfg.html ... Zone Management:::Zones Virtual Application Environment Administration: help=RtZoneMngmnt.html Zone Security:::Zones Virtual Application Environment Security:auths=solaris.zone.*, solaris.auth.delegate;help=RtZoneSecurity.html ...
% getent exec_attr | more All:solaris:cmd:::*: Audit Configuration:solaris:cmd:::/usr/sbin/auditconfig:privs=sys_audit ... Zone Security:solaris:cmd:::/usr/sbin/txzonemgr:uid=0 Zone Security:solaris:cmd:::/usr/sbin/zonecfg:uid=0 ...
Utilisez les commandes suivantes pour afficher vos affectations RBAC. Pour afficher tous les droits qui peuvent être affectés, reportez-vous à la section Procédure d'affichage de tous les attributs de sécurité définis.
% auths solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq
Ces autorisations sont affectées à l'ensemble des utilisateurs par défaut.
% profiles Basic Solaris User All
Par défaut, ces profils de droits sont affectés à tous les utilisateurs par défaut.
% roles root
Ce rôle est affecté à l'utilisateur initial par défaut. Aucun rôle indique qu'aucun rôle ne vous est affecté.
% ppriv $$ 1234: /bin/csh flags = <none> E: basic I: basic P: basic L: all
Le jeu de privilèges de base est affecté par défaut à tous les utilisateurs. Le jeu limite contient tous les privilèges.
% ppriv -vl basic file_link_any Allows a process to create hardlinks to files owned by a uid different from the process' effective uid. file_read Allows a process to read objects in the filesystem. file_write Allows a process to modify objects in the filesystem. net_access Allows a process to open a TCP, UDP, SDP or SCTP network endpoint. proc_exec Allows a process to call execve(). proc_fork Allows a process to call fork1()/forkall()/vfork() proc_info Allows a process to examine the status of processes other than those it can send signals to. Processes which cannot be examined cannot be seen in /proc and appear not to exist. proc_session Allows a process to send signals or trace processes outside its session.
% profiles -l Basic Solaris User /usr/bin/cdda2wav.bin privs=file_dac_read,sys_devices, proc_priocntl,net_privaddr /usr/bin/cdrecord.bin privs=file_dac_read,sys_devices, proc_lock_memory,proc_priocntl,net_privaddr /usr/bin/readcd.bin privs=file_dac_read,sys_devices,net_privaddr All *
Les profils de droit d'un utilisateur peuvent comprendre des commandes qui s'exécutent avec des privilèges particuliers. Le profil d'utilisateur de base Solaris comprend des commandes permettant de lire et d'écrire sur des CD-ROM.
Exemple 9-1 Liste des autorisations d'un utilisateur
% auths username solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq
Exemple 9-2 Liste des profils de droits d'un utilisateur ou d'un rôle
La commande suivante répertorie les profils de droits d'un utilisateur spécifique.
% profiles jdoe jdoe: Basic Solaris User All
La commande suivante répertorie les profils de droits du rôle cryptomgt.
% profiles cryptomgt cryptomgt: Crypto Management Basic Solaris User All
La commande suivante répertorie les profils de droits du rôle root :
% profiles root root: All Console User Network Wifi Info Desktop Removable Media User Suspend To RAM Suspend To Disk Brightness CPU Power Management Network Autoconf User Basic Solaris User
Exemple 9-3 Liste des rôles affectés à un utilisateur
La commande suivante répertorie les rôles affectés à un utilisateur spécifique.
% roles jdoe root
Exemple 9-4 Liste des privilèges d'un utilisateur sur des commandes spécifiques
La commande suivante répertorie les commandes privilégiées dans les profils de droits d'un utilisateur standard.
% profiles -l jdoe jdoe: Basic Solaris User /usr/bin/cdda2wav.bin privs=file_dac_read,sys_devices, proc_priocntl,net_privaddr /usr/bin/cdrecord.bin privs=file_dac_read,sys_devices, proc_lock_memory,proc_priocntl,net_privaddr /usr/bin/readcd.bin privs=file_dac_read,sys_devices,net_privaddr All *
Avant de commencer
Le rôle doit déjà vous être affecté. Le service de noms doit être mis à jour avec ces informations.
% roles Comma-separated list of role names is displayed
% su - rolename Password: <Type rolename password> $
La commande su - rolename change le shell en shell de profil pour le rôle. Un shell de profil reconnaît les attributs de sécurité, tels que les autorisations, les privilèges et les bits ID définis.
$ /usr/bin/whoami rolename
Vous pouvez maintenant effectuer des tâches de ce rôle dans cette fenêtre de terminal.
Pour plus d'informations sur cette procédure, reportez-vous à la section Procédure d'affichage des droits qui vous sont affectés.
Exemple 9-5 Endossement du rôle root
Dans l'exemple suivant, l'utilisateur initial endosse le rôle root et répertorie les privilèges dans le shell du rôle.
% roles root % su - root Password: <Type root password> # Prompt changes to root prompt # ppriv $$ 1200: pfksh flags = <none> E: all I: basic P: all L: all
Pour plus d'informations sur les privilèges, reportez-vous à la section Privilèges (présentation).
Des droits d'administration sont en vigueur lorsque vous exécutez un shell de profil. Par défaut, un compte du rôle obtient un shell de profil. Les rôles sont des comptes spéciaux qui obtiennent des droits d'administration spécifiques, généralement liés à un jeu de tâches d'administration, telles que l'examen des fichiers d'audit
Dans le rôle root, l'utilisateur initial dispose de tous les droits d'administration, c'est-à-dire que l'utilisateur initial est superutilisateur. Le rôle root peut créer d'autres rôles.
Avant de commencer
Pour administrer le système, vous devez disposer de droits qui ne sont pas affectés aux utilisateurs standard. Si vous n'êtes pas superutilisateur, vous devez obtenir un rôle, un profil de droits d'administration ou des autorisations ou privilèges spécifiques.
Ouvrez une fenêtre de terminal.
% su - Password: Type the root password #
Remarque - Cette méthode fonctionne aussi bien lorsque root est un utilisateur que lorsqu'il est un rôle. L'invite avec le signe dièse (#) indique que vous êtes maintenant superutilisateur.
Dans l'exemple suivant, vous endossez un rôle de gestion du réseau. Ce rôle inclut le profil de droits Network Management (gestion du réseau).
% su - networkadmin Password: Type the networkadmin password $
Vous êtes à présent dans un shell de profil. Dans ce shell, vous pouvez exécuter snoop, router, dladm, et d'autres commandes. Pour en savoir plus sur les shells de profil, reportez-vous à la section Shells de profil et RBAC.
Astuce - Suivez les étapes décrites à la section Procédure d'affichage des droits qui vous sont affectés pour afficher les capacités de votre rôle.
Par exemple, le jeu de commandes ci-après vous permet d'examiner les paquets du réseau dans le shell pfbash :
% pfbash $ anoop
Si le privilège net_observability ne vous est pas affecté, la commande snoop échoue avec un message d'erreur similaire à celui-ci : snoop: cannot open "net0": Permission denied. Si le privilège vous est affecté directement ou par l'intermédiaire d'un profil de droits ou d'un rôle, cette commande réussira. Vous pouvez également exécuter d'autres commandes privilégiées dans ce shell.
Exécutez la commande pfexec avec le nom d'une commande privilégiée de votre profil de droits. Par exemple, la commande suivante vous permet d'examiner les paquets du réseau :
% pfexec snoop
Les mêmes limitations de privilèges s'appliquent à pfexec comme à pfbash. Cependant, pour exécuter une autre commande privilégiée, vous devez saisir pfexec une nouvelle fois avant de taper la commande privilégiée.
Exemple 9-6 Mise en cache de l'authentification pour faciliter l'utilisation des rôles
Dans cet exemple, l'administrateur configure un rôle pour gérer le réseau et facilite son utilisation mettant en cache l'authentification de l'utilisateur. Tout d'abord, l'administrateur crée et affecte le rôle.
# roleadd -K roleauth=user -P "Network Management" netmgt # usermod -R +netmgt jdoe
Quand jdoe utilise l'option -c lors du changement de rôle, un mot de passe est requis avant que la sortie snoop ne s'affiche :
% su - netmgt -c snoop options Password: snoop output
Si l'authentification n'est pas mise en cache, et jdoe réexécute immédiatement la commande, une invite de mot de passe s'affiche.
L'administrateur configure le fichier pam.conf pour mettre en cache l'authentification, de sorte qu'un mot de passe est requis initialement mais pas par la suite jusqu'à ce qu'un certain laps de temps se soit écoulé. L'administrateur place toutes les piles personnalisées pam.conf à la fin du fichier.
# vi /etc/pam.conf ... # ## Cache authentication for switched user # su auth required pam_unix_cred.so.1 su auth sufficient pam_tty_tickets.so.1 su auth requisite pam_authtok_get.so.1 su auth required pam_dhkeys.so.1 su auth required pam_unix_auth.so.1
Après avoir créé les entrées, l'administrateur vérifie les fautes de frappe, omissions ou répétitions dans les entrées.
L'intégralité de la pile su est requise. Le module pam_tty_tickets.so.1 fournit le cache. Pour plus d'informations sur PAM, reportez-vous à la page de manuel pam.conf(4) et au Chapitre 15, Utilisation de PAM.
Une fois la pile PAM su ajoutée au fichier pam.conf, le rôle netmgt n'est invité qu'une seule fois à indiquer son mot de passe lors de l'exécution d'une série de commandes.
% su - netmgt -c snoop options Password: snoop output % su - netmgt -c snoop options snoop output ...