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

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.
Crea las cuentas de inicio de sesión para usuarios de confianza que pueden asumir un rol administrativo.
Crear roles.
Crea roles y asigna los roles a los usuarios.
(Recomendada) Auditar acciones de roles.
Preselecciona una clase de auditoría que incluye el evento de auditoría que registra las acciones de roles.
Crear un perfil de derechos.
Crea un perfil de derechos.
Modificar un perfil de derechos.
Modifica asignaciones de privilegios en un perfil de derechos.

Agrega privilegios a un comando en un perfil de derechos.

Clonar perfiles de derechos existentes.
Crea un perfil de derechos de un perfil de derechos del sistema.

Agrega la autorización solaris.admin.edit/file a un perfil de derechos.

Elimina las autorizaciones de un perfil de derechos.

Crear una autorización.
Crea una autorización.

Usa la nueva autorización en un perfil de derechos.

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.

      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 contraseñas, 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:

    • Visualice los perfiles de derechos disponibles en el sistema mediante 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 repositorio LDAP.

Antes de empezar

Para crear un rol, debe convertirse en un administrador con el perfil de derechos de gestión de usuarios asignado. Para asignar atributos de seguridad al rol, incluso la contraseña inicial, debe convertirse en un administrador con el perfil de derechos de seguridad de usuario asignado. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Para crear un rol, use el comando roleadd.

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

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

    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.


    Los argumentos RBAC para este comando son similares a los argumentos para el comando usermod, como se describe en la página del comando man user_attr(4) y se muestra en el Paso 1 en Cómo cambiar los atributos de seguridad de un usuario. 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
  2. Cree la contraseña inicial para el rol.
    # passwd -r files useradm
    Password: <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.


  3. 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-14.

Ejemplo 9-11 Creación de un rol de administrador de usuarios en el repositorio LDAP

En este ejemplo, el sitio del administrador utiliza un repositorio 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-12 Creación de roles para la separación de tareas

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

# 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-13 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 caché 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, incluso la contraseña, debe convertirse en un administrador con el perfil de derechos de seguridad de usuario asignado. Para modificar indicadores de auditoría de un usuario, debe asumir el rol root. Para modificar otros atributos, debe convertirse en un administrador con el perfil de derechos de gestión de usuarios asignado. El rol root puede modificar cada atributo de un usuario. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

Ejemplo 9-14 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.

# 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

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 convertirse en un administrador con el perfil de derechos de configuración de auditoría asignado. Para activar o refrescar el servicio de auditoría, debe convertirse en un administrador con el perfil de derechos de control de auditoría asignado. El rol root puede realizar cada tarea de este procedimiento. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  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. Preseleccione una de las clases as, ex, ps o ua.
    • Si el servicio de auditoría está activado, 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á activada, 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-28.

  3. Active o refresque el servicio de auditoría.
    # audit -s

Cómo crear 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.

Antes de empezar

Para crear un perfil de derechos, debe convertirse en un administrador con el perfil de derechos de seguridad de archivos asignado. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Cree un perfil de derechos.
    # profiles -p [-S repository] profile-name

    Se le pedirá una descripción.

  2. Agregue contenidos al perfil de derechos.

    Use el subcomando set para las propiedades de perfil que tengan un único valor, como set desc. Use el subcomando add para las propiedades que tengan más de un valor, como add cmd.

    Por ejemplo, el siguiente comando crea el perfil de derechos PAM en Cómo asignar una nueva política de derechos a todos los usuarios interactivamente. El nombre se acorta con fines de visualización.

    # profiles -p -S LDAP "Site PAM LDAP"
    profiles:Site PAM LDAP> set desc="Profile which sets pam_policy=ldap"
    ...LDAP> set pam_policy=ldap
    ...LDAP> commit
    ...LDAP> end
    ...LDAP> exit

Ejemplo 9-15 Creación de un perfil de derechos de usuarios Sun Ray

En este ejemplo, el administrador crea un perfil de derechos para usuarios Sun Ray en el repositorio LDAP. El administrador ya ha creado una versión Sun Ray del perfil de derechos de usuario de Solaris básico y ha eliminado todos los derechos de perfiles del archivo policy.conf en el servidor Sun Ray.

# profiles -p -S LDAP "Sun Ray Users"
profiles:Sun Ray Users> set desc="For all users of Sun Rays"
... Ray Users> add profiles="Sun Ray Basic User"
... Ray Users> set defaultpriv="basic,!proc_info"
... Ray Users> set limitpriv="basic,!proc_info"
... Ray Users> end
... Ray Users> exit

El administrador verifica el contenido.

# profiles -p "Sun Ray Users"
Found profile in LDAP repository.
profiles:Sun Ray Users> info
        name=Sun Ray Users
        desc=For all users of Sun Rays
        defaultpriv=basic,!proc_info,
        limitpriv=basic,!proc_info,
        profiles=Sun Ray Basic User

Ejemplo 9-16 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 otro privilegio básico del perfil de derechos de usuarios Sun Ray. En el Ejemplo 9-15, el administrador eliminó un privilegio. El perfil de derechos se modifica para eliminar dos privilegios básicos. Los usuarios a los que se asigna este perfil no pueden examinar ningún proceso fuera de su sesión actual y no pueden agregar otra sesión.

$ profiles -p "Sun Ray Users"
profiles:Sun Ray Users> set defaultpriv="basic,!proc_session,!proc_info"
profiles:Sun Ray Users> end
profiles:Sun Ray Users> exit

Ejemplo 9-17 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 dos privilegios límite del perfil de derechos de usuarios Sun Ray.

$ profiles -p "Sun Ray Users"
profiles:Sun Ray Users> set limitpriv="all,!proc_session,!proc_info"
profiles:Sun Ray Users> end
profiles:Sun Ray Users> exit

Ejemplo 9-18 Creación de un perfil de derechos que incluye comandos con privilegios

En este ejemplo, el administrador de seguridad agrega privilegios a una aplicación en un perfil de derechos que crea el administrador. 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 clonar y modificar un perfil de derechos del sistema

Los perfiles de derechos que Oracle Solaris proporciona son de solo lectura. Puede clonar un perfil de derechos proporcionado para modificarlo si su colección de atributos de seguridad no es suficiente. Por ejemplo, es posible que quiera agregar la autorización solaris.admin.edit/path-to-system-file a un perfil de derechos proporcionado.

Antes de empezar

Para crear o cambiar un perfil de derechos, debe convertirse en un administrador con el perfil de derechos de seguridad de archivos asignado. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Cree un nuevo perfil de derechos a partir de un perfil existente.
    # profiles -p [-S repository] existing-profile-name
    • Para mejorar un perfil de derechos existente, cree un nuevo perfil.

      Agregue el perfil de derechos existente como perfil de derechos suplementario y, a continuación, agregue las mejoras. Si desea ver un ejemplo, consulte el Ejemplo 9-19.

    • Para eliminar contenido de un perfil de derechos existente, clone el perfil.

      A continuación, cambie el nombre del perfil y modifíquelo. Si desea ver un ejemplo, consulte el Ejemplo 9-20.

  2. Modifique el nuevo perfil de derechos.

    Agregue o elimine perfiles de derechos suplementarios, autorizaciones y otros atributos de seguridad.

Ejemplo 9-19 Clonación y mejora del perfil de derechos de gestión de IPsec de red

En este ejemplo, el administrador agrega varias autorizaciones solaris.admin.edit a un perfil de derechos de gestión de IPsec de sitio.

El administrador verifica que el perfil de derechos de gestión de IPsec de red no se puede modificar.

# profiles -p "Network IPsec Management"
profiles:Network IPsec Management> add auths="solaris.admin.edit/etc/hosts"
Cannot add. Profile cannot be modified

A continuación, el administrador crea un perfil de derechos que incluye el perfil de gestión de IPsec de red.

# profiles -p "Total IPsec Mgt"
... IPsec Mgt> set desc="Network IPsec Mgt plus edit authorization"
... IPsec Mgt> add profiles="Network IPsec Management"
... IPsec Mgt> add auths="solaris.admin.edit/etc/hosts"
... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/ipsecinit.conf"
... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/ike/config"
... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/secret/ipseckeys"
... IPsec Mgt> end
... IPsec Mgt> exit

El administrador verifica el contenido.

# profiles -p "Total IPsec Mgt" info
        name=Total IPsec Mgt
        desc=Network IPsec Mgt plus edit authorization
        auths=solaris.admin.edit/etc/hosts,
              solaris.admin.edit/etc/inet/ipsecinit.conf,
              solaris.admin.edit/etc/inet/ike/config,
              solaris.admin.edit/etc/inet/secret/ipseckeys
        profiles=Network IPsec Management

Ejemplo 9-20 Clonación y eliminación de atributos de seguridad de un perfil de derechos

En este ejemplo, el administrador separa la gestión de las propiedades del servicio VSCAN de la capacidad para activar y desactivar el servicio.

En primer lugar, el administrador muestra el contenido del perfil de derechos que proporciona Oracle Solaris.

% profiles -p "VSCAN Management" info
        name=VSCAN Management
        desc=Manage the VSCAN service
        auths=solaris.smf.manage.vscan,solaris.smf.value.vscan,
              solaris.smf.modify.application
        help=RtVscanMngmnt.html

Luego, el administrador crea un perfil de derechos para activar y desactivar el servicio.

# profiles -p "VSCAN Management"
profiles:VSCAN Management> set name="VSCAN Control"
profiles:VSCAN Control> set desc="Start and stop the VSCAN service"
... VSCAN Control> remove auths="solaris.smf.value.vscan"
... VSCAN Control> remove auths="solaris.smf.modify.application"
... VSCAN Control> end
... VSCAN Control> exit

Luego, el administrador crea un perfil de derechos que puede cambiar las propiedades del servicio.

# profiles -p "VSCAN Management"
profiles:VSCAN Management> set name="VSCAN Properties"
profiles:VSCAN Properties> set desc="Modify VSCAN service properties"
... VSCAN Properties> remove auths="solaris.smf.manage.vscan"
... VSCAN Properties> end
... VSCAN Properties> exit

El administrador verifica el contenido del nuevo perfil de derechos.

# profiles -p "VSCAN Control" info
        name=VSCAN Control
        desc=Start and stop the VSCAN service
        auths=solaris.smf.manage.vscan
# profiles -p "VSCAN Properties" info
        name=VSCAN Properties
        desc=Modify VSCAN service properties
        auths=solaris.smf.value.vscan,solaris.smf.modify.application

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 crear una autorización

Puede crear una autorización cuando las autorizaciones proporcionadas no cubren las autorizaciones que necesita. Para obtener más información sobre autorizaciones, consulte Autorizaciones RBAC.

Antes de empezar

Ha definido y utilizado la autorización en el programa que protege. Para obtener instrucciones, consulte Developer’s Guide to Oracle Solaris 11 Security y About Authorizations de Developer’s Guide to Oracle Solaris 11 Security.

  1. (Opcional) Cree el archivo de ayuda para su nueva autorización.

    Por ejemplo, cree el archivo de ayuda para que una autorización permita al usuario modificar los datos en una aplicación.

    # pfedit /docs/helps/NewcoSiteAppModData.html
    <HTML>
    -- Copyright 2012 Newco.  All rights reserved.
    -- NewcoSiteAppModData.html 
    -->
    <HEAD>
         <TITLE>NewCo Modify SiteApp Data Authorization</TITLE>
    </HEAD>
    <BODY>
    The com.newco.siteapp.data.modify authorization authorizes you 
    to modify existing data in the application.
    <p>
    Only authorized accounts are permitted to modify data. 
    Use this authorization with care.
    <p>
    </BODY>
    </HTML>
  2. Cree la autorización.

    Por ejemplo, cree la autorización com.newco.siteapp.data.modify en el sistema local.

    # auths add -t "SiteApp Data Modify Authorized" \
    -h /docs/helps/NewcoSiteAppModData.html com.newco.siteapp.data.modify

    Ahora puede agregar la autorización a un perfil de derechos y asignar al perfil un rol o un usuario.

Ejemplo 9-21 Agregación de autorizaciones a un perfil de derechos

En este ejemplo, el administrador agrega una autorización que una aplicación de sitio comprueba antes de permitir que un usuario ejecute la aplicación.

Después de crear la autorización, el administrador de seguridad agrega la autorización com.newco.siteapp.data.modify a un perfil de derechos existente. El administrador creó el perfil en el Ejemplo 9-18.

# profiles -p "SiteApp"
profiles:SiteApp> add auths="com.newco.siteapp.data.modify"
profiles:SiteApp> end
profiles:SiteApp> exit

Para realizar una verificación, el administrador muestra el contenido del perfil.

# profiles -p SiteApp
Found profile in files repository.
  id=/opt/site-app/bin/site-cmd
  auths=com.newco.siteapp.data.modify

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 asignado a 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 convertirse en un administrador con el perfil de derechos de seguridad de la información o de gestión de derechos asignado. Para asignar el perfil de derechos, debe convertirse en un administrador con el perfil de derechos de seguridad de usuario asignado. El rol root puede realizar cada tarea en este procedimiento. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

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

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

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

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

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

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

Ejemplo 9-22 Agregació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 asigna a 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-23 Comprobación de autorizaciones en una secuencia de comandos o un programa

Para comprobar autorizaciones, escriba 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 el uso de 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. Este procedimiento lo ayuda a depurar asignaciones de atributos de seguridad con errores. Muchos de los pasos están basados en Orden de búsqueda para atributos de seguridad asignados.

Antes de empezar

Debe asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  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é activado en el sistema.
      # svccfg -s name-service/switch
      svc:/system/name-service/switch> listprop config
      config                      application
      config/value_authorization  astring  solaris.smf.value.name-service.switch
      config/default              astring  files ldap
      config/host                 astring  "files dns mdns ldap"
      config/netgroup             astring  ldap
      config/printer              astring  "user files"

      En esta salida, todos los servicios que no se mencionan explícitamente heredan el valor predeterminado, files ldap. Por lo tanto, passwd (y por consiguiente user_attr), auth_attr y prof_attr se buscan primero en los archivos, luego en LDAP.

    2. Reinicie la caché 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.

      # svcadm restart name-service/cache
  2. Determine dónde un atributo de seguridad se asigna al usuario.

    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 Indicates modified system defaults
    user_attr: fw:no
    # userattr -v auths jdoe Indicates no added auths
    Basic Solaris User :solaris.mail.mailq,solaris.network.autoconf.read,
    solaris.admin.wusb.read
    Console User :solaris.system.shutdown,solaris.device.cdrw,
    solaris.device.mount.removable,solaris.smf.manage.vbiosd,solaris.smf.value.vbiosd
    # userattr -v defaultpriv jdoe Indicates basic user privileges only
    # userattr -v limitpriv jdoe Indicates default limit privileges 
    # userattr -v lock_after_retries jdoe Indicates no automatic lockout
    # userattr -v pam_policy jdoe Assigned per-user PAM policy
    # userattr -v profiles jdoe Indicates assigned rights profiles
    user_attr: Audit Review,Stop
    # userattr roles jdoe Assigned roles
    user_attr : cryptomgt,infosec

    La salida indica que jdoe tiene asignado directamente indicadores de auditoría, dos perfiles de derechos y dos roles. Por lo tanto, cualquier valor de indicador de auditoría en los perfiles de derechos no se tiene en cuenta. Después de asumir un rol, los indicadores de auditoría en ese rol reemplazan a los indicadores de auditoría para el usuario.

  3. Verifique que las autorizaciones asignadas estén escritas correctamente.

    El origen de una asignación de autorización no es importante, ya que las autorizaciones se acumulan para los usuarios. Sin embargo, una autorización mal escrita produce un error sin notificación.

  4. Para perfiles de derechos que ha creado, compruebe que ha asignado los atributos de seguridad adecuados a los comandos en ese perfil.

    Por ejemplo, algunos comandos necesitan uid=0 en lugar de euid=0 para que el proceso se realice con éxito. Además, las opciones para algunos comandos pueden necesitar autorizaciones.

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

      Use el comando userattr, tal como se muestra en el Paso 2.

    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 en el núcleo. Si este valor es incorrecto, cambie el valor de ese perfil de derechos o vuelva a asignar los perfiles en el orden correcto.

        Para comandos con privilegios, compruebe si un privilegio se asigna a la palabra clave defaultpriv o se elimina de la palabra clave limitpriv.

      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 asignar los roles en el orden correcto.

  6. 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.
    1. Compruebe si una opción para el comando necesita autorización.

      En lugar de asignar directamente un privilegio, asigne el privilegio al comando que lo requiere, agregue las autorizaciones necesarias, coloque el comando y las autorizaciones en un perfil de derechos y asigne el perfil al usuario.

    2. Compruebe si existe un perfil de derechos que incluye la autorización necesaria.

      Si existe, asigne el perfil al usuario. Ordene el perfil de derechos antes que cualquier otro perfil de derechos que incluye el comando.

  7. 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 en el núcleo. Si este valor es incorrecto, cambie el valor de ese perfil de derechos o vuelva a asignar los perfiles en el orden correcto.

        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 el valor es incorrecto, asigne el valor correcto al primer rol de la lista o vuelva a asignar los roles en el orden correcto.

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

    Los comandos administrativos requieren privilegios para ejecutarse con éxito. Las opciones para algunos comandos pueden necesitar 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 en el núcleo. Si este valor es incorrecto, cambie el valor de ese perfil de derechos o vuelva a asignar los perfiles en el orden correcto.