Sécurisation des utilisateurs et des processus dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Liste des privilèges

  • man privileges : répertorie les définitions de privilège et leurs noms tels qu'ils sont utilisés par les développeurs

  • ppriv -vl : répertorie les définitions de privilège et leurs noms tels qu'ils sont utilisés par les administrateurs

  • ppriv -vl basic : répertorie les noms et les définitions des privilèges figurant dans le jeu de privilèges de base

  • ppriv $$: répertorie les privilèges dans le shell actuel ($$)

  • getent exec_attr : répertorie par noms de profils de droits toutes les commandes ayant des attributs de sécurité (setuid ou privilèges)

$ 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 ...
Exemple 6-12  Etablissement de la liste de tous les privilèges et leurs définitions

Le format de privilège décrit dans la page de manuel privileges(5) est utilisé par les développeurs.

$ man privileges
Standards, Environments, and Macros                 privileges(5)

NAME
     privileges - process privilege model
...
     The defined privileges are:

     PRIV_CONTRACT_EVENT

         Allow a process to request reliable delivery  of  events
         to an event endpoint.

         Allow a process to include events in the critical  event
         set  term  of  a  template  which  could be generated in
         volume by the user.
...
Exemple 6-13  Dans l'établissement de la liste Privilèges de l'affectation de privilèges That Are Used

La commande pprivrépertorie tous les privilèges par leurs noms. Pour obtenir une définition, utilisez l'option –v.

Ce format de privilège est utilisé pour affecter des privilèges à des utilisateurs et des rôles à l'aide des commandes useradd, roleadd, usermod et rolemod, et à des profils de droits à l'aide de la commande profiles.

$ ppriv -lv | more
contract_event
	Allows a process to request critical events without limitation.
	Allows a process to request reliable delivery of all events on
	any event queue.
...
win_upgrade_sl
        Allows a process to set the sensitivity label of a window
        resource to a sensitivity label that dominates the existing
        sensitivity label.
        This privilege is interpreted only if the system is configured
        with Trusted Extensions.
Exemple 6-14  Liste des privilèges dans votre shell actuel

Le jeu de privilèges de base est affecté par défaut à tous les utilisateurs. Le jeu limite par défaut est constitué de tous les privilèges.

Les lettres dans la sortie font référence aux jeux de privilèges suivants :

E

Jeu de privilèges effectif

I

Jeu de privilèges héritable

P

Privilèges autorisés jeu

L

Jeu de privilèges de limite

$ ppriv $$
1200:   -bash
flags = <none>
        E: basic
        I: basic
        P: basic
        L: all
$ ppriv -v $$
1200:   -bash
flags = <none>
	E: file_link_any,file_read,file_write,net_access,proc_exec,proc_fork,
           proc_info,proc_session,sys_ib_info
	I: file_link_any,file_read,...,sys_ib_info
	P: file_link_any,file_read,...,sys_ib_info
	L: contract_event,contract_identity,...,sys_time

Utilisez le symbole double dollar ($$) pour transmettre le numéro de processus du shell parent à la commande. Cette liste n'inclut pas les privilèges sont restreintes aux commandes dans un profil de droits affecté.

Exemple 6-15  Répertoriant les privilèges de base et leurs définitions
$ 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.
sys_ib_info
	Allows a process to perform read InfiniBand MAD (Management Datagram)
	operations.
Exemple 6-16  A l'aide d'attributs de sécurité répertoriant les dans votre commandes des profils de droits

Le profil d'utilisateur de base Solaris comprend des commandes permettant de lire et d'écrire sur des CD-ROM.

$ profiles -l
  Basic Solaris User
...
   /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
   /usr/bin/cdda2wav.bin   privs=file_dac_read,sys_devices,
     proc_priocntl,net_privaddr
  All
   *