JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Administración de Oracle Solaris: servicios de seguridad     Oracle Solaris 11 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.  Uso de la herramienta básica de creación de informes de auditoría (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 obtener derechos administrativos

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 o cambiar un perfil de derechos

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 cambiar las propiedades RBAC de un usuario

Cómo restringir a un usuario a las aplicaciones de escritorio

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)

Determinación de los privilegios (mapa de 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

Gestión de privilegios (mapa de tareas)

Cómo determinar los privilegios de un proceso

Cómo determinar los privilegios que necesita un programa

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.  Autenticación de servicios de red (tareas)

15.  Uso de PAM

16.  Uso de SASL

17.  Uso de Secure Shell (tareas)

18.  Secure Shell (referencia)

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

Personalización de RBAC para su sitio (tareas)

La configuración inicial de RBAC incluye la creación de usuarios que pueden asumir roles específicos, la creación de roles y la asignación de dichos roles a los usuarios correspondientes.

Configuración inicial de RBAC (mapa de tareas)

Utilice el siguiente mapa de tareas para planificar e implementar inicialmente RBAC en su sitio. Algunas tareas están ordenadas.

Tarea
Descripción
Para obtener instrucciones
Planificar la implementación de RBAC.
Implica examinar las necesidades de seguridad de su sitio y decidir cómo utilizará RBAC en su sitio.
Configurar los usuarios que pueden asumir un rol.
Garantiza que existan usuarios que puedan asumir un rol administrativo.
Crear roles.
Crea roles y asigna los roles a los usuarios.
(Recomendada) Auditar acciones de roles.
Permite preseleccionar una clase de auditoría que incluye el evento de auditoría que registra las acciones de roles.
Crear o cambiar perfiles de derechos.
Crea un perfil de derechos. También modifica atributos de seguridad o perfiles de derechos complementarios en un perfil de derechos.

Agrega privilegios a un comando.

Proteger las aplicaciones antiguas.
Activa los permisos de ID de conjunto para las aplicaciones antiguas. Las secuencias de comandos pueden contener comandos con ID de conjuntos. Las aplicaciones antiguas pueden comprobar si existen autorizaciones, si corresponde.
Solucionar problemas de asignación de atributos de seguridad.
Depura el motivo por el cual los atributos de seguridad asignados podrían no estar disponibles para usuarios, roles o procesos.

Cómo planificar la implementación de RBAC

RBAC puede ser una parte integral de la manera en que una organización gestiona sus recursos de información. La planificación requiere un conocimiento exhaustivo de las capacidades de RBAC, así como de los requisitos de seguridad de la organización.


Nota - Los derechos predeterminados se asignan en el archivo /etc/security/policy.conf.


  1. Aprenda los conceptos básicos de RBAC.

    Lea Control de acceso basado en roles (descripción general). Usar RBAC para administrar un sistema es muy diferente a utilizar las prácticas administrativas UNIX convencionales. Para estar familiarizado con los conceptos de RBAC antes de iniciar la implementación, consulte el Capítulo 10, Atributos de seguridad en Oracle Solaris (referencia).

  2. Examine la política de seguridad.

    La política de seguridad de la organización detalla las amenazas potenciales para el sistema, mide el riesgo de cada amenaza y brinda estrategias para contrarrestar dichas amenazas. Aislar las tareas relacionadas con la seguridad por medio de RBAC puede ser parte de la estrategia. Aunque puede utilizar las configuraciones de RBAC instaladas tal como están, puede que sea necesario personalizarlas para adherirse a su política de seguridad.

  3. Decida qué nivel de RBAC necesita la organización.

    En función de las necesidades de seguridad, puede utilizar distintos grados de RBAC, como se muestra a continuación:

    • Root como un rol: este método se proporciona de manera predeterminada. Evita que cualquier usuario inicie sesión como root. En su lugar, un usuario debe iniciar sesión utilizando su inicio de sesión asignado antes de asumir el rol root.

    • Roles discretos: este método crea roles que se basan en perfiles de derechos proporcionados. Los roles se pueden asignar según el nivel de responsabilidad, el ámbito de la tarea y el tipo de tarea. Por ejemplo, el rol de administrador del sistema puede realizar muchas tareas que el superusuario puede realizar, mientras que el rol de gestión de IPsec de red puede gestionar IPsec.

      Usted también puede separar las responsabilidades de seguridad de otras responsabilidades. El rol de gestión de usuarios puede crear usuarios, mientras que el rol de seguridad de usuarios puede asignar atributos de seguridad, como, por ejemplo, roles y perfiles de derechos. Sin embargo, el rol de seguridad de usuarios no puede crear un usuario y el rol de gestión de usuarios no puede asignar un perfil de derechos a un usuario.

    • Sin rol root: este método requiere que se cambie la configuración predeterminada del sistema. En esta configuración, cualquier usuario que conoce la contraseña de root puede iniciar sesión y modificar el sistema. No puede saber qué usuario era superusuario.

  4. Decida qué roles son adecuados para la organización.

    Revise las capacidades de los roles recomendados y los perfiles de derechos predeterminados. Los perfiles de derechos predeterminados permiten a los administradores configurar un rol recomendado por medio de un único perfil.

    Para examinar de forma más detallada los perfiles de derechos, realice una de las siguientes acciones:

    • Para obtener los perfiles de derechos disponibles en el sistema, utilice el comando getent prof_attr.

    • En esta guía, consulte Perfiles de derechos para obtener resúmenes de algunos perfiles de derechos típicos.

  5. Decida si otros roles o perfiles de derechos son adecuados para la organización.

    Busque otras aplicaciones o familias de aplicaciones en su sitio que puedan beneficiarse del acceso restringido. Las aplicaciones que afectan la seguridad, que pueden causar problemas de denegación del servicio o que requieren una formación especial del administrador son opciones apropiadas para RBAC. Puede personalizar roles y perfiles de derechos para gestionar los requisitos de seguridad de la organización.

    1. Determine qué comandos son necesarios para la nueva tarea.
    2. Decida qué perfil de derechos es adecuado para esta tarea.

      Compruebe si un perfil de derechos existente puede gestionar esta tarea o si es necesario crear un perfil de derechos independiente.


      Nota - Los perfiles de derechos de copia de seguridad de medios o de restauración de medios proporcionan acceso a todo el sistema de archivos raíz. Por lo tanto, estos perfiles de derechos se asignan de manera adecuada solamente a usuarios de confianza. También puede optar por no asignar estos perfiles de derechos. De manera predeterminada, sólo el rol root es de confianza para realizar copias de seguridad y restaurar.


    3. Determine qué rol es adecuado para este perfil de derechos.

      Decida si el perfil de derechos para esta tarea se debe asignar a un rol existente o si es necesario crear un nuevo rol. Si utiliza un rol existente, compruebe que los perfiles de derechos originales del rol sean adecuados para los usuarios que están asignados a este rol. Ordene el nuevo perfil de derechos para que los comandos se ejecuten con los privilegios requeridos. Para obtener información sobre cómo ordenar, consulte Orden de búsqueda para atributos de seguridad asignados.

  6. Decida qué usuarios se deben asignar a qué roles.

    Según el principio de privilegio mínimo, se asignan usuarios a roles que son adecuados para el nivel de confianza del usuario. Al impedir que los usuarios realicen tareas que los usuarios no necesitan realizar, se reducen los problemas potenciales.

Cómo crear un rol

Los roles se pueden crear localmente y en un depósito LDAP.

Antes de empezar

Para crear un rol y asignar su contraseña inicial, debe tener asignado el perfil de derechos de gestión de usuarios. Para asignar los atributos de seguridad al rol, debe tener asignado el perfil de derechos de seguridad de usuarios.

  1. Conviértase en administrador con los atributos de seguridad necesarios.

    Para obtener más información, consulte Cómo obtener derechos administrativos.

  2. Para crear un rol, utilice el comando roleadd.

    Los argumentos de RBAC para el comando son los siguientes:

    # roleadd [-e expire] [-f inactive] [-s shell] [-m] [-S repository] \
    [-A authorization-list] -K key=value] rolename
    -e caducidad

    Fecha en la que un rol caduca. Utilice esta opción para crear roles temporales.

    -f inactivo

    Número máximo de días que se permite entre los usos de un rol. Cuando el valor inactivo se supera, el rol no se puede utilizar. El valor predeterminado es 0, es decir, no hay ninguna fecha de caducidad.

    -m

    Crea un directorio principal para nombre_rol en la ubicación predeterminada.

    -s shell

    Shell de inicio de sesión para nombre_rol. Este shell debe ser un shell de perfil. Para obtener una lista de shells de perfiles, consulte la página del comando man pfexec(1).


    Consejo - También puede ver la lista de shells de perfiles del directorio /usr/bin en su sistema, como en ls /usr/bin/pf*sh.


    -S depósito

    Uno de files o ldap. Los archivos locales son el valor predeterminado.

    -A lista_autorización

    Una o más autorizaciones separadas por comas. Para obtener una lista de autorizaciones, consulte el archivo /etc/security/auth_attr.

    -K clave=valor

    Un par clave=valor. Esta opción se puede repetir. Las claves siguientes están disponibles: audit_flags, auths, profiles, project, defaultpriv, limitpriv, lock_after_retries y roleauth. Para obtener información sobre las claves, sus valores y las autorizaciones que son necesarias para definir los valores, consulte la página del comando man user_attr(4).

    nombre_rol

    Nombre del nuevo rol. Para ver las restricciones en cadenas aceptables, consulte la página del comando man roleadd(1M).


    Consejo - Cuando el nombre del rol refleja el nombre de un perfil de derechos, puede comprender con facilidad el objetivo del rol. Por ejemplo, asigne el perfil de derechos de revisión de auditoría al rol auditreview para permitir que el rol lea, filtre y archive registros de auditoría.


    Por ejemplo, el siguiente comando crea un rol de administrador de usuarios local y un directorio principal:

    # roleadd -c "User Administrator role, local" -s /usr/bin/pfbash \
    -m -K profiles="User Security,User Management" useradm
    80 blocks
    # ls /export/home/useradm
    local.cshrc     local.login     local.profile
  3. Cree la contraseña inicial para el rol.
    # passwd -r files useradmPassword: <Type useradm password>
    Confirm Password: <Retype useradm password>
    #

    Nota - Normalmente, una cuenta de rol se asigna a más de un usuario. Por lo tanto, un administrador, normalmente, crea una contraseña de rol y proporciona a los usuarios la contraseña de rol fuera de banda.


  4. Para asignar el rol a un usuario, ejecute el comando usermod.

    Para conocer el procedimiento, consulte Cómo asignar un rol y el Ejemplo 9-10.

Ejemplo 9-7 Creación de un rol de administrador de usuarios en el depósito LDAP

En este ejemplo, el sitio del administrador utiliza un depósito LDAP. Mediante la ejecución del siguiente comando, el administrador crea un rol de administrador de usuarios en LDAP.

# roleadd -c "User Administrator role, LDAP" -s /usr/bin/pfbash \
-m -S ldap -K profiles="User Security,User Management" useradm

Ejemplo 9-8 Creación de roles para la separación de tareas

En este ejemplo, el sitio del administrador utiliza un depósito LDAP. Mediante la ejecución de los siguientes comandos, el administrador crea dos roles. El rol usermgt puede crear usuarios, darles directorios principales, asignar una contraseña inicial y realizar otras tareas que no son de seguridad. El rol usersec no puede crear usuarios, pero puede cambiar contraseñas de usuarios y cambiar otras propiedades de RBAC.

# roleadd -c "User Management role, LDAP" -s /usr/bin/pfbash \
-m -S ldap -K profiles="User Management" usermgt
# roleadd -c "User Security role, LDAP" -s /usr/bin/pfbash \
-m -S ldap -K profiles="User Security" usersec

Ejemplo 9-9 Creación de un rol de seguridad de archivo y dispositivo

En este ejemplo, el administrador crea un rol de seguridad de archivo y dispositivo para este sistema:

# roleadd -c "Device and File System Security admin, local" -s /usr/bin/pfbash \
-m -K profiles="Device Security,File System Security" devflsec

Cómo asignar un rol

Este procedimiento asigna un rol a un usuario, reinicia el daemon de antememoria de nombres y luego muestra cómo el usuario puede asumir el rol.

Antes de empezar

Agregó un rol y le asignó una contraseña, como se describe en Cómo crear un rol.

Para modificar la mayoría de los atributos de seguridad de un usuario, debe tener asignado el perfil de derechos de seguridad de usuarios. Para modificar los indicadores de auditoría de un usuario, debe ser superusuario. Para modificar otros atributos, debe tener asignado el perfil de derechos de gestión de usuarios.

  1. Conviértase en administrador con los atributos de seguridad necesarios.

    Para obtener más información, consulte Cómo obtener derechos administrativos.

  2. Asigne el rol a un usuario.
    usermod [-S repository] [RBAC-arguments] login

    Por ejemplo, asigne el rol a un usuario local:

    # usermod -R +useradm jdoe-local

    Para conocer las opciones del comando usermod, consulte la página del comando man usermod(1M) o la descripción del Paso 2 en Cómo crear un rol.

  3. Para aplicar los cambios, reinicie el daemon de antememoria de servicio de nombres.
    # svcadm restart system/name-service-cache

Ejemplo 9-10 Creación y asignación de un rol para administrar la criptografía

En este ejemplo, el administrador en una red LDAP crea un rol para administrar la estructura criptográfica y asigna el rol al UID 1111. El administrador reinicia el daemon nscd para que la asignación surta efecto.

# roleadd -c "Cryptographic Services manager" \
-g 14 -m -u 104 -s /usr/bin/pfksh \
-S ldap -K profiles="Crypto Management" cryptmgt
# passwd cryptmgt
New Password:  <Type cryptmgt password>
Confirm password: <Retype cryptmgt password>
# usermod -u 1111 -R +cryptmgt
# svcadm restart system/name-service-cache

El usuario con el UID 1111 inicia sesión, luego asume el rol y muestra los atributos de seguridad asignados.

% su - cryptmgt
Password: <Type cryptmgt password>
Confirm Password: <Retype cryptmgt password>
$ profiles -l
      Crypto Management
          /usr/bin/kmfcfg            euid=0
          /usr/sbin/cryptoadm        euid=0
          /usr/sfw/bin/CA.pl         euid=0
          /usr/sfw/bin/openssl       euid=0
$

Para obtener información sobre la estructura criptográfica, consulte el Capítulo 11, Estructura criptográfica (descripción general). Para administrar la estructura, consulte Administración de la estructura criptográfica (mapa de tareas).

Cómo auditar roles

Las acciones que realiza un rol se pueden auditar. En el registro de auditoría, se incluye el nombre de inicio de sesión del usuario que asumió el rol, el nombre del rol y la acción que realizó el rol. El evento de auditoría 116:AUE_PFEXEC:execve(2) with pfexec enabled:ps,ex,ua,as captura acciones de roles. Mediante la preselección de una de las clases as, ex, ps o ua, se auditan las acciones de roles.

Antes de empezar

Para configurar la auditoría, debe tener asignado el perfil de derechos de configuración de auditoría. Para habilitar o refrescar el servicio de auditoría, debe tener asignado el perfil de derechos de control de auditoría.

  1. Incluya la auditoría de roles en su plan de auditoría.

    Para obtener información sobre planificación, consulte el Capítulo 27, Planificación de la auditoría.

  2. Conviértase en administrador con los atributos de seguridad necesarios.

    Para obtener más información, consulte Cómo obtener derechos administrativos.

  3. Preseleccione una de las clases as, ex, ps o ua.
    • Si el servicio de auditoría está habilitado, revise las clases preseleccionadas.
      # auditconfig -getflags

      Si una de las clases as, ex, ps o ua está preseleccionada, las acciones de roles se están auditando. Si no es así, agregue una de estas clases a las clases existentes.

      # auditconfig -setflags existing preselections,as
    • Si la auditoría aún no está habilitada, preseleccione una clase que audite acciones de roles.
      # auditconfig -setflags as

      En este ejemplo, el administrador elige la clase as. Esta clase incluye otros eventos de auditoría. Para ver los eventos de auditoría que se incluyen en una clase, utilice el comando auditrecord, como se muestra en el Ejemplo 28-25.

  4. Habilite o refresque el servicio de auditoría.
    # audit -s

Cómo crear o cambiar un perfil de derechos

Puede crear o cambiar un perfil de derechos cuando los perfiles de derechos proporcionados no contienen los atributos de seguridad de recopilación que necesita. Para obtener más información sobre los perfiles de derechos, consulte Perfiles de derechos de RBAC.

La forma más fácil de crear un nuevo perfil de derechos es copiar y modificar un perfil de derechos existente.

Antes de empezar

Para crear o cambiar un perfil de derechos, debe tener asignado el perfil de derechos de seguridad de archivos.

  1. Conviértase en administrador con los atributos de seguridad necesarios.

    Para obtener más información, consulte Cómo obtener derechos administrativos.

  2. Cree un nuevo perfil de derechos a partir de un perfil existente.
    # profiles [-S repository] existing-profile-name

    Se le pedirá un nuevo nombre. El contenido del perfil de derechos existente aparece duplicado en el nuevo perfil.

  3. Modifique el nuevo perfil de derechos.

    Agregue o elimine perfiles de derechos suplementarios, autorizaciones y otros atributos de seguridad, como se muestra en los siguientes ejemplos.

Ejemplo 9-11 Creación de un nuevo perfil de derechos a partir de un perfil existente

En este ejemplo, el administrador personaliza el perfil de derechos de usuario de consola en el depósito LDAP.

# profiles -S ldap Console User
New name: ExampleCo Console User
ExampleCo Console User >
Description > Manage MyCompany Systems as the Console User
Help > ExCoConsUser.html

El administrador establece el atributo roleauth para este perfil de derechos.

roleauth=yes

Ejemplo 9-12 Eliminación de un privilegio básico de un perfil de derechos

En el siguiente ejemplo, tras una exhaustiva prueba, el administrador de seguridad elimina un privilegio básico de todos los usuarios que tienen asignado el perfil de derechos de usuarios de Sun Ray. Se les impide utilizar el privilegio proc_session. Es decir, estos usuarios no pueden examinar los procesos fuera de la sesión actual del usuario.

$ profiles -K defaultpriv=basic,!proc_session SunRayUser

Ejemplo 9-13 Eliminación de los privilegios del conjunto límite de un perfil de derechos

En el siguiente ejemplo, tras una exhaustiva prueba, el administrador de seguridad elimina un privilegio de límite de todos los usuarios que tienen asignado el perfil de derechos de usuarios de Sun Ray. Esta eliminación impide que estos usuarios vean procesos de otros usuarios.

$ profiles -K limitpriv=all,!proc_session SunRayUser

Ejemplo 9-14 Adición de privilegios a un comando

En este ejemplo, el administrador de seguridad agrega privilegios a una aplicación en un perfil de derechos. La aplicación admite privilegios.

# profiles -p SiteApp
profiles:SiteApp> set desc="Site application"
profiles:SiteApp> add cmd=/opt/site-app/bin/site-cmd
profiles:SiteApp:site-cmd> add privs=proc_fork,proc_taskid
profiles:SiteApp:site-cmd> end
profiles:SiteApp> exit

Para verificar, el administrador selecciona site-cmd.

# profiles -p SiteApp "select cmd=/opt/site-app/bin/site-cmd; info;end"
Found profile in files repository.
  id=/opt/site-app/bin/site-cmd
  privs=proc_fork,proc_taskid

Véase también

Para solucionar problemas de asignación de atributos de seguridad, consulte Cómo solucionar problemas de asignación de privilegios y RBAC. Para obtener información, consulte Orden de búsqueda para atributos de seguridad asignados.

Cómo agregar propiedades RBAC a las aplicaciones antiguas

Una aplicación antigua es un comando o un conjunto de comandos. Los atributos de seguridad se definen para cada comando en un perfil de derechos. El perfil de derechos se incluye luego en un rol. Un usuario que asume el rol puede ejecutar la aplicación antigua con los atributos de seguridad.

Antes de empezar

Para crear el perfil de derechos, debe tener asignado el perfil de derechos de gestión de derechos o de seguridad de la información. Para asignar el perfil de derechos, debe tener asignado el perfil de derechos de seguridad de usuarios.

  1. Agregue atributos de seguridad a los comandos que implementan la aplicación antigua.

    Agregue los atributos de seguridad a una aplicación antigua del mismo modo que lo haría para cualquier comando. Debe agregar el comando con atributos de seguridad a un perfil de derechos. Para un comando antiguo, proporcione los atributos de seguridad euid=0 o uid=0. Para obtener detalles del procedimiento, consulte Cómo crear o cambiar un perfil de derechos.

    1. Cree un nuevo perfil de derechos para la aplicación antigua.

      Para conocer los pasos, consulte Cómo crear o cambiar un perfil de derechos.

    2. Agregue los comandos con los atributos de seguridad necesarios.

      Si desea ver un ejemplo, consulte el Ejemplo 9-14.

  2. Incluya el perfil de derechos en la lista de perfiles de un rol.

    Para asignar un perfil de derechos a un rol, consulte el Ejemplo 9-10.

Ejemplo 9-15 Adición de atributos de seguridad a comandos en una secuencia de comandos

Si un comando de una secuencia de comandos necesita tener el conjunto de bits setgid o setuid para ejecutarse correctamente, el archivo ejecutable de la secuencia y el comando deben tener los atributos de seguridad agregados en un perfil de derechos. Luego, el perfil de derechos se incluye en un rol, y el rol se asigna a un usuario. Cuando el usuario asume el rol y ejecuta la secuencia de comandos, el comando se ejecuta con los atributos de seguridad.

Ejemplo 9-16 Comprobación de autorizaciones en una secuencia de comandos o un programa

Para tener una secuencia de comandos para las autorizaciones, debe agregar una prueba basada en el comando auths. Para obtener información detallada sobre este comando, consulte la página del comando man auths(1).

Por ejemplo, la siguiente línea verifica si el usuario tiene la autorización que se proporciona como argumento $1:

if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then
        echo Auth granted
else
        echo Auth denied
fi

Para que la prueba sea más completa, debe incluir una lógica que compruebe otras autorizaciones que usan caracteres comodín. Por ejemplo, para verificar si el usuario tiene la autorización solaris.system.date, debe comprobar las siguientes cadenas:

Si está escribiendo un programa, utilice la función getauthattr() para comprobar la autorización.

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

Varios factores pueden afectar el motivo por el que los procesos de un usuario o rol no se ejecutan con atributos de seguridad asignados.

Antes de empezar

Debe tener el rol root.

  1. Verifique y reinicie el servicio de nombres.
    1. Verifique que las asignaciones de seguridad para el usuario o el rol estén en el servicio de nombres que esté habilitado en el sistema.
    2. Reinicie la antememoria del servicio de nombres, svc:/system/name-service/cache.

      El daemon nscd puede tener un intervalo de tiempo de vida prolongado. Mediante el reinicio del daemon, actualiza el servicio de nombres con los datos actuales.

  2. Determine dónde un atributo de seguridad está asignado.

    Utilice el atributo de seguridad como el valor para el comando userattr -v. Por ejemplo, los siguientes comandos indican qué atributos de seguridad se asignan y cuándo la asignación se creó para el usuario jdoe:

    # userattr -v audit_flags jdoe Modifications to the system defaults
    user_attr: fw:no
    # userattr -v auths jdoe Assigned authorizations
    solaris.admin.wusb.read,solaris.device.cdrw,solaris.device.mount.removable,
    solaris.mail.mailq,solaris.profmgr.read,solaris.smf.manage.audit,
    solaris.smf.value.audit
    # userattr -v audit_flags jdoe Modifications to audit preselection mask
    # userattr -v auths jdoe Assigned authorizations
    # userattr -v defaultpriv jdoe Modifications to basic user privileges
    # userattr -v limitpriv jdoe Modifications to limit privileges 
    # userattr -v lock_after_retries jdoe Automatic lockout attribute
    # userattr -v profiles jdoe Assigned rights profiles
    user_attr: Audit Review,Stop
    # userattr roles jdoe Assigned roles
    user_attr : cryptomgt,infosec
  3. Para perfiles de derechos que ha creado, compruebe que ha asignado los atributos de seguridad adecuados al comando.

    Por ejemplo, algunos comandos necesitan uid=0 en lugar de euid=0 para que el proceso se realice con éxito. Aspectos de algunos comandos pueden requerir autorizaciones.

  4. Compruebe lo siguiente si los atributos de seguridad no están disponibles para un usuario.
    1. Compruebe si los atributos de seguridad están asignados directamente al usuario.

      Utilice el comando userattr.

    2. Si los atributos de seguridad no están asignados directamente, compruebe los perfiles de derechos que están asignados directamente al usuario.
      1. En orden, compruebe la asignación de atributos de seguridad en la lista de perfiles de derechos.

        El valor del atributo en el primer perfil de derechos de la lista es el valor que el usuario puede utilizar. Si este valor es incorrecto, cambie el valor de ese perfil de derechos o vuelva a ordenar la lista de perfiles.

        Para comandos con privilegios, compruebe si un privilegio está asignado en la palabra clave defaultpriv. Esta asignación se suma a los privilegios en un comando en particular.

      2. Si no se muestra ninguna asignación de atributos, compruebe los roles que el usuario tiene asignados.

        Si el atributo está asignado a un rol, el usuario debe asumir el rol para obtener los atributos de seguridad. Si el atributo está asignado a más de un rol, la asignación en el primer rol de la lista está en vigor. Si este valor es incorrecto, asigne el valor correcto al primer rol de la lista o vuelva a ordenar la asignación de rol.

  5. Si ha asignado un privilegio directamente a un usuario o rol, compruebe si un comando que falló requiere autorizaciones para que el proceso se realice con éxito.

    Nota - Aspectos de algunos comandos pueden requerir autorización. Se recomienda asignar un perfil de derechos que incluya el comando administrativo, en lugar de asignar un privilegio directamente.


    Revise los perfiles de derechos que incluyen el comando administrativo. Si existe un perfil de derechos que incluye autorizaciones, asigne el perfil de derechos al usuario, no simplemente los privilegios. Ordene el perfil de derechos antes que cualquier otro perfil de derechos que incluye el comando.

  6. Compruebe lo siguiente si un comando falla para un usuario.
    1. Verifique que el usuario esté ejecutando el comando en un shell de perfil.

      Los comandos administrativos se deben ejecutar en un shell de perfil. Para mitigar errores del usuario, puede asignar un shell de perfil como el shell de inicio de sesión del usuario. También puede recordar al usuario que ejecute comandos administrativos en un shell de perfil.

    2. Compruebe si alguno de los atributos de seguridad que están asignados directamente al usuario impiden que el comando se ejecute correctamente.

      En concreto, compruebe los valores de los atributos defaultpriv y limitpriv del usuario.

    3. Determine qué perfil de derechos o rol incluye el comando.
      1. En orden, compruebe el comando con atributos de seguridad en la lista de perfiles de derechos.

        El primer valor de la lista de perfiles de derechos es el valor que el usuario puede utilizar. Si este valor es incorrecto, cambie el valor de ese perfil de derechos o vuelva a ordenar la lista de perfiles.

        En concreto, compruebe los valores de los atributos defaultpriv y limitpriv del perfil.

      2. Si no se muestra ninguna asignación de atributos, compruebe los roles que el usuario tiene asignados.

        Si el comando está asignado a un rol, el usuario debe asumir el rol para obtener los atributos de seguridad. Si el atributo está asignado a más de un rol, la asignación en el primer rol de la lista está en vigor. Si este valor es incorrecto, asigne el valor correcto al primer rol de la lista o vuelva a ordenar la asignación de rol.

  7. Compruebe lo siguiente si un comando falla para un rol.

    Los comandos administrativos requieren privilegios para ejecutarse con éxito. Aspectos de algunos comandos pueden requerir autorización. Se recomienda asignar un perfil de derechos que incluye el comando administrativo.

    1. Compruebe si alguno de los atributos de seguridad que están asignados directamente al rol impiden que el comando se ejecute correctamente.

      En concreto, compruebe los valores de los atributos defaultpriv y limitpriv del rol.

    2. En orden, compruebe el comando con atributos de seguridad en la lista de perfiles de derechos.

      El primer valor de la lista de perfiles de derechos es el valor que el usuario puede utilizar. Si este valor es incorrecto, cambie el valor de ese perfil de derechos o vuelva a ordenar la lista de perfiles.