JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Administración de Oracle Solaris 11.1: servicios de seguridad     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

Parte I Descripción general de la seguridad

1.  Servicios de seguridad (descripción general)

Parte II Seguridad de sistemas, archivos y dispositivos

2.  Gestión de seguridad de equipos (descripción general)

3.  Control de acceso a sistemas (tareas)

4.  Servicio de análisis de virus (tareas)

5.  Control de acceso a dispositivos (tareas)

6.  Verificación de la integridad de archivos mediante el uso de BART (tareas)

7.  Control de acceso a archivos (tareas)

Parte III Roles, perfiles de derechos y privilegios

8.  Uso de roles y privilegios (descripción general)

9.  Uso del control de acceso basado en roles (tareas)

Uso de RBAC (tareas)

Visualización y uso de valores predeterminados de RBAC (tareas)

Visualización y uso de valores predeterminados de RBAC (mapa de tareas)

Cómo visualizar todos los atributos de seguridad definidos

Cómo visualizar los derechos asignados

Cómo asumir un rol

Cómo cambiar los atributos de seguridad de un usuario

Cómo usar los derechos administrativos que tiene asignados

Personalización de RBAC para su sitio (tareas)

Configuración inicial de RBAC (mapa de tareas)

Cómo planificar la implementación de RBAC

Cómo crear un rol

Cómo asignar un rol

Cómo auditar roles

Cómo crear un perfil de derechos

Cómo clonar y modificar un perfil de derechos del sistema

Cómo crear una autorización

Cómo agregar propiedades RBAC a las aplicaciones antiguas

Cómo solucionar problemas de asignación de privilegios y RBAC

Gestión de RBAC (tareas)

Gestión de RBAC (mapa de tareas)

Cómo cambiar la contraseña de un rol

Cómo cambiar los atributos de seguridad de un rol

Cómo volver a ordenar atributos de seguridad asignados

Cómo restringir a un administrador a derechos asignados explícitamente

Cómo permitir que un usuario use su propia contraseña para asumir un rol

Cómo cambiar el rol root a un usuario

Uso de privilegios (tareas)

Cómo enumerar los privilegios en el sistema

Cómo determinar los privilegios que se le asignaron directamente

Cómo determinar los comandos con privilegios que puede ejecutar

Cómo determinar los privilegios de un proceso

Cómo determinar los privilegios que necesita un programa

Cómo aplicar una política de privilegio extendida a un puerto

Cómo ejecutar una secuencia de comandos de shell con comandos con privilegios

10.  Atributos de seguridad en Oracle Solaris (referencia)

Parte IV Servicios criptográficos

11.  Estructura criptográfica (descripción general)

12.  Estructura criptográfica (tareas)

13.  Estructura de gestión de claves

Parte V Servicios de autenticación y comunicación segura

14.  Uso de módulos de autenticación conectables

15.  Uso de Secure Shell

16.  Secure Shell (referencia)

17.  Uso de autenticación simple y capa de seguridad

18.  Autenticación de servicios de red (tareas)

Parte VI Servicio Kerberos

19.  Introducción al servicio Kerberos

20.  Planificación del servicio Kerberos

21.  Configuración del servicio Kerberos (tareas)

22.  Mensajes de error y resolución de problemas de Kerberos

23.  Administración de las políticas y los principales de Kerberos (tareas)

24.  Uso de aplicaciones Kerberos (tareas)

25.  El servicio Kerberos (referencia)

Parte VII Auditoría en Oracle Solaris

26.  Auditoría (descripción general)

27.  Planificación de la auditoría

28.  Gestión de auditoría (tareas)

29.  Auditoría (referencia)

Glosario

Índice

Visualización y uso de valores predeterminados de RBAC (tareas)

De manera predeterminada, se asignan derechos a los usuarios. Los derechos para todos los usuarios de un sistema se asignan en el archivo /etc/security/policy.conf.

Visualización y uso de valores predeterminados de RBAC (mapa de tareas)

En la instalación de Oracle Solaris, su sistema está configurado con derechos de usuario y derechos de proceso. Sin ninguna configuración adicional, utilice el siguiente mapa de tareas para visualizar y utilizar RBAC.

Tarea
Descripción
Para obtener instrucciones
Ver el contenido de las bases de datos de los atributos de seguridad.
Enumera autorizaciones, perfiles de derechos y comandos con atributos de seguridad en el sistema.
Ver los derechos.
Enumera perfiles de derechos, autorizaciones, privilegios y roles asignados.
Asumir el rol de usuario root.
El usuario inicial obtiene derechos administrativos.
Modificar los derechos de un usuario.
Agrega los atributos de seguridad a un usuario normal o los elimina.
Convertirse en administrador.
Existen varios métodos disponibles para los usuarios que tienen asignados derechos administrativos para utilizar esos derechos.

Cómo visualizar todos los atributos de seguridad definidos

Utilice los siguientes comandos para enumerar las autorizaciones, los perfiles, los derechos y los comandos con atributos de seguridad en el sistema. Para ver una lista de todos los privilegios definidos, consulte Cómo enumerar los privilegios en el sistema.

  1. Enumere todas las autorizaciones.
    • Enumere los nombres de todas las autorizaciones en el servicio de nombres.
      % auths info
          solaris.account.activate
          solaris.account.setpolicy
          solaris.admin.edit
      ...
          solaris.zone.login
          solaris.zone.manage
    • Enumere los nombres de autorización por perfil de derechos.
      % 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
  2. Enumere todos los perfiles de derechos.
    • Enumere los nombres de todos los perfiles de derechos en el servicio de nombres.
      % profiles -a
              Console User
              CUPS Administration
              Desktop Removable Media User
      ...
              VSCAN Management
              WUSB Management
    • Enumere las definiciones completas de todos los perfiles de derechos.
      % 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 ...
  3. Enumere todos los comandos con atributos de seguridad.
    % 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 ...

Cómo visualizar los derechos asignados

Utilice los siguientes comandos para ver las asignaciones de RBAC. Para ver todos los derechos que se pueden asignar, consulte Cómo visualizar todos los atributos de seguridad definidos.

  1. Enumere los perfiles de derechos.
    % profiles
    Basic Solaris User
    All

    Estos perfiles de derechos anteriores se asignan a todos los usuarios de manera predeterminada. Si es el usuario inicial, tiene una lista más grande.

    % profiles Initial user
    System Administrator
    Audit Review
    ...
    CPU Power Management
    Basic Solaris User
    All
  2. Enumere las autorizaciones.
    % auths
    solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq
    solaris.network.autoconf.read,solaris.admin.wusb.read
    solaris.smf.manage.vbiosd,solaris.smf.value.vbiosd

    Estas autorizaciones se incluyen en los perfiles de derechos que se asignan a todos los usuarios de manera predeterminada.

  3. Enumere los roles asignados.
    % roles
    root

    Este rol se asigna al usuario inicial de manera predeterminada. No roles indica que no se le ha asignado un rol.

  4. Enumere los privilegios en el shell predeterminado.
    % ppriv $$
    1234:    /bin/csh
    flags = <none>
        E: basic
        I: basic
        P: basic
        L: all

    A cada usuario se le asigna el conjunto de privilegios básico de manera predeterminada. El conjunto límite predeterminado incluye todos los privilegios.

    % 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.
  5. Enumere los privilegios sobre comandos en sus perfiles de derechos.
    % 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
       * 

    Los perfiles de derechos de un usuario pueden incluir comandos que se ejecutan con privilegios particulares. El perfil de usuario básico de Solaris incluye los comandos que permiten a los usuarios leer y escribir en CD-ROM.

Ejemplo 9-1 Enumeración de autorizaciones de un usuario

% auths username
solaris.device.cdrw,solaris.device.mount.removable,solaris.mail.mailq

Ejemplo 9-2 Enumeración de los perfiles de derechos de un rol o un usuario

El siguiente comando muestra los perfiles de derechos de un usuario concreto.

% profiles jdoe
jdoe: 
          Basic Solaris User
          All

El siguiente comando muestra los perfiles de derechos del rol cryptomgt.

% profiles cryptomgt
cryptomgt:
          Crypto Management
          Basic Solaris User
          All

El siguiente comando muestra los perfiles de derechos del rol 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

Ejemplo 9-3 Enumeración de los roles asignados de un usuario

El siguiente comando muestra los roles asignados de un usuario concreto.

% roles jdoe
root

Ejemplo 9-4 Enumeración de los privilegios de un usuario sobre comandos específicos

El siguiente comando muestra los comandos con privilegios en los perfiles de derechos de un usuario normal.

% 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
...

Cómo asumir un rol

Antes de empezar

Ya se debe tener asignado el rol. De manera predeterminada, solo existe el rol root.

  1. En una ventana de terminal, determine los roles que puede asumir.
    % roles
    Comma-separated list of role names is displayed
  2. Utilice el comando su para asumir un rol.
    % su - rolename
    Password: <Type rolename password>
    $

    El comando su - rolename cambia el shell a un shell de perfil para el rol. Un shell de perfil reconoce los atributos de seguridad, como autorizaciones, privilegios y bits de ID de conjunto.

  3. (Opcional) Verifique si está ahora en un rol.
    $ /usr/bin/whoami
    rolename

    Ahora puede realizar tareas del rol en esta ventana de terminal.

  4. (Opcional) Vea las capacidades de su rol.

    Para ver una salida de ejemplo, consulte Cómo visualizar los derechos asignados.

    $ profiles -l
    verbose rights profiles output
    $ auths
    authorizations output

Ejemplo 9-5 Asunción del rol root

En el ejemplo siguiente, el usuario inicial asume el rol root y enumera los privilegios en el shell del rol.

% 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

Para obtener información sobre los privilegios, consulte Privilegios (descripción general).

Cómo cambiar los atributos de seguridad de un usuario

Las propiedades de usuario incluyen shell de inicio, perfiles de derechos y roles. El método más seguro para otorgar capacidades administrativas a un usuario es asignar un rol al usuario. Para ver una explicación, consulte Consideraciones de seguridad al asignar directamente atributos de seguridad.

Antes de empezar

En la configuración predeterminada, debe asumir el rol root para modificar los atributos de seguridad del usuario.

Después de configurar RBAC para su sitio, tiene otras opciones. Para cambiar la mayoría de los atributos de seguridad de un usuario, incluso la contraseña, debe convertirse en un administrador con el perfil de derechos de seguridad de usuario asignado. Para asignar indicadores de auditoría o cambiar la contraseña de un rol, debe asumir el rol root. Para cambiar otros atributos de usuario, debe convertirse en un administrador con el perfil de derechos de gestión de usuarios asignado. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

Ejemplo 9-6 Creación de un usuario que puede gestionar DHCP

En este ejemplo, el administrador de seguridad crea un usuario en LDAP. Al iniciar sesión, el usuario jdoe-dhcp puede gestionar DHCP.

# useradd -P "DHCP Management" -s /usr/bin/pfbash -S ldap  jdoe-dhcp

Debido a que el usuario tiene asignado pfbash como el shell de inicio de sesión, los atributos de seguridad en el perfil de derechos de gestión de DHCP están disponibles para el usuario en el shell predeterminado del usuario.

Ejemplo 9-7 Asignación de autorizaciones directamente a un usuario

En este ejemplo, el administrador de seguridad crea un usuario local que puede controlar el brillo de la pantalla.

# useradd -c "Screened JDoe, local" -s /usr/bin/pfbash \
-A solaris.system.power.brightness  jdoe-scr

Esta autorización se agrega a las asignaciones existentes del usuario.

Ejemplo 9-8 Eliminación de privilegios del conjunto límite de un usuario

En el siguiente ejemplo, a todas las sesiones que se originan a partir del inicio de sesión inicial de jdoe se les impide utilizar el privilegio sys_linkdir. Es decir, el usuario no puede establecer enlaces físicos a directorios ni anular el enlace a directorios, incluso después de ejecutar el comando su.

$ usermod -K 'limitpriv=all,!sys_linkdir' jdoe
$ userattr limitpriv jdoe
all,!sys_linkdir

Ejemplo 9-9 Asignación de privilegios directamente a un usuario

En este ejemplo, el administrador de seguridad confía al usuario jdoe un privilegio muy específico que afecta la hora del sistema.

$ usermod -K defaultpriv='basic,proc_clock_highres' jdoe

Los valores de la palabra clave defaultpriv reemplazan los valores existentes. Por lo tanto, para que el usuario conserve los privilegios basic, se especifica el valor basic. En la configuración predeterminada, todos los usuarios tienen privilegios básicos. Para ver la lista de privilegios básicos, consulte el Paso 4.

Cómo usar los derechos administrativos que tiene asignados

En el rol root, el usuario inicial tiene todos los derechos administrativos.

El Paso 1 muestra cómo administrar el sistema si tiene derechos administrativos asignados. El Paso 2 muestra cómo cuentas que no son root pueden editar un archivo del sistema.

Antes de empezar

Se le han asignado derechos que no se asignan a usuarios comunes. Si no es el usuario root, se le debe asignar un rol, un perfil de derechos administrativos o privilegios específicos o autorizaciones.

  1. Seleccione uno de los siguientes métodos para ejecutar los comandos administrativos.

    Abra una ventana de terminal.

    • Conviértase en usuario root.
      % su -
      Password: Type the root password
      #

      Nota - Este método funciona si root es un usuario o un rol. El signo de almohadilla (#) indica que ahora es un usuario root.


    • Asuma un rol que se le ha asignado.

      En el siguiente ejemplo, asume un rol de configuración de auditoría. Este rol incluye el perfil de derechos de configuración de auditoría.

      % su - audadmin
      Password: Type the audadmin password
      $

      El shell en el que escribió este comando se encuentra en un shell de perfil. En este shell, puede ejecutar el comando auditconfig. Para obtener más información sobre shells de perfiles, consulte Shells de perfil y RBAC.


      Consejo - Utilice los pasos en Cómo visualizar los derechos asignados para ver las capacidades de su rol.


    • Como usuario, use el comando pfbash para crear un shell que se ejecute con derechos administrativos.

      Por ejemplo, el siguiente conjunto de comandos permite ver los valores de preselección de auditoría y la política de auditoría en el shell pfbash:

      % pfbash
      $ auditconfig -getflags
      active user default audit flags = ua,ap,lo(0x45000,0x45000)
      configured user default audit flags = ua,ap,lo(0x45000,0x45000)
      $ auditconfig -getpolicy
      configured audit policies = cnt
      active audit policies = cnt
    • Como usuario, use el comando pfexec para crear un proceso que se ejecute con derechos administrativos.

      Ejecute el comando pfexec con el nombre de un comando con privilegios desde su perfil de derechos. Por ejemplo, el siguiente comando permite ver los indicadores de auditoría preseleccionados del usuario:

      % pfexec auditconfig -getflags
      active user default audit flags = ua,ap,lo(0x45000,0x45000)
      configured user default audit flags = ua,ap,lo(0x45000,0x45000)

      Las mismas limitaciones de privilegios se aplican a pfexec y pfbash. Sin embargo, para ejecutar otro comando con privilegios, debe escribir pfexec de nuevo antes de escribir el comando con privilegios.

      % pfexec auditconfig -getpolicy
      configured audit policies = cnt
      active audit policies = cnt
    • Como usuario, use el comando sudo para crear un proceso que se ejecute con derechos administrativos.

      Ejecute el comando sudo con el nombre de un comando administrativo que se le asigna en el archivo sudoers. Para obtener más información, consulte las páginas del comando man sudo(1M) y sudoers(4).

  2. Para editar un archivo del sistema, use el comando pfedit.

    Si no es un usuario root con UID de 0, no puede editar archivos del sistema de manera predeterminada. Sin embargo, si se le asigna la autorización solaris.admin.edit/path-to-system-file, puede editar system-file. Por ejemplo, si se le asigna la autorización solaris.admin.edit/etc/security/audit_warn, puede editar el archivo audit_warn.

    $ pfedit /etc/security/audit_warn

    El comando usa el valor de $EDITOR para determinar el editor de texto. Para obtener más información, consulte la página de comando man pfedit(1M). El comando pfedit es ejecutado de manera útil por el rol root, si la auditoría está configurada para auditar eventos AUE_PFEXEC.

Ejemplo 9-10 Almacenamiento en la caché de la autenticación para facilitar el uso del rol

En este ejemplo, el administrador configura un rol para gestionar la red, pero proporciona facilidad de uso mediante el almacenamiento en la caché de la autenticación del usuario. En primer lugar, el administrador crea y asigna el rol.

# roleadd -K roleauth=user -P "Audit Configuration" audadmin
# usermod -R +audadmin jdoe

Cuando jdoe utiliza la opción -c al cambiar al rol, se necesita una contraseña antes de que la salida de auditconfig se muestre:

% su - audadmin -c auditconfig option
Password:
auditconfig output

Si la autenticación no se almacena en la caché y jdoe ejecuta el comando de nuevo inmediatamente, una solicitud de contraseña aparece.

El administrador crea un archivo en el directorio pam.d para que contenga una pila su que permite la autenticación, de manera que una contraseña se solicite de manera inicial, pero que no se vuelva a solicitar hasta después de un tiempo.

# pfedit /etc/pam.d/su
## Cache authentication for switched user
#
auth required           pam_unix_cred.so.1
auth sufficient         pam_tty_tickets.so.1
auth requisite          pam_authtok_get.so.1
auth required           pam_dhkeys.so.1
auth required           pam_unix_auth.so.1

Después de crear el archivo, el administrador comprueba que las entradas no tengan errores ortográficos, omisiones ni repeticiones.

El administrador debe proporcionar la pila su anterior completa. El módulo pam_tty_tickets.so.1 implementa la caché. Para obtener más información sobre PAM, consulte la página del comando man pam.conf(4) y el Capítulo 14, Uso de módulos de autenticación conectables.

Después de que el administrador agrega el archivo PAM su y reinicia el sistema, a todos los roles, incluido el rol audadmin, se les solicitará una vez una contraseña al ejecutar un grupo de comandos.

% su - audadmin -c auditconfig option
Password:
auditconfig output
% su - audadmin -c auditconfig option
auditconfig output
...