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) |
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)
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 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 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 (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
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)
17. Uso de Secure Shell (tareas)
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
Una vez que configura y usa RBAC, utilice los procedimientos siguientes para mantener y modificar RBAC en los sistemas.
El siguiente mapa de tareas hace referencia a los procedimientos para mantener el control de acceso basado en roles (RBAC) después de la implementación inicial de RBAC.
|
Estos procedimientos gestionan atributos de seguridad en usuarios, roles y perfiles de derechos. Para conocer procedimientos básicos de gestión de usuarios, consulte el Capítulo 2, Gestión de grupos y cuentas de usuario (descripción general) de Administración de Oracle Solaris: tareas comunes.
Antes de empezar
Debe tener el rol root.
# passwd [-r naming-service] target-rolename
Aplica el cambio de contraseña al depósito files o ldap. El depósito predeterminado es files. Si no especifica un depósito, se cambia la contraseña en todos los depósitos.
Nombre de un rol existente que desea modificar.
Para conocer más opciones de comandos, consulte la página del comando man passwd(1).
Ejemplo 9-17 Cambio de contraseña de un rol
En este ejemplo, el rol root cambia la contraseña del rol devmgt local.
# passwd -r files devmgt New password: Type new password Confirm password: Retype new password
En este ejemplo, el rol root cambia la contraseña del rol devmgt en el servicio de directorios LDAP.
# passwd -r ldap devmgt New password: Type new password Confirm password: Retype new password
En este ejemplo, el rol root cambia la contraseña del rol devmgt en el archivo y LDAP.
# passwd devmgt New password: Type new password Confirm password: Retype new password
Antes de empezar
Debe tener asignado el perfil de derechos de seguridad de usuarios para cambiar los atributos de seguridad de un rol, excepto para los indicadores de auditoría y la contraseña del rol. Las propiedades del rol incluyen perfiles de derechos y autorizaciones. Para asignar indicadores de auditoría o cambiar la contraseña de un rol, debe encontrarse en el rol root.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Este comando modifica los atributos de un rol definido en el servicio de nombres local o en LDAP. Los valores de las opciones -A, -P y -R pueden ser modificados por - o ++. - indica que se reste el valor de los valores asignados actualmente. ++ indica que se agregue el valor a los valores asignados actualmente.
Para obtener más información sobre el comando rolemod, consulte lo siguiente:
Para obtener una descripción breve, consulte la descripción del comando roleadd en Cómo crear un rol.
Para conocer todos los argumentos de este comando, consulte la página del comando man rolemod(1M).
Para obtener la lista de valores de claves para la opción -K, consulte la página del comando man user_attr(4).
El siguiente comando sustituye los perfiles de derechos asignados del rol devmgt en el depósito LDAP:
$ rolemod -P "Device Management,File Management" -S ldap devadmin
Ejemplo 9-18 Cambio de los atributos de seguridad de un rol local
En este ejemplo, el administrador de seguridad modifica el rol prtmgt para incluir el perfil de derechos de gestión de VSCAN.
$ rolemod -c "Handles printers and virus scanning" \ -P "Printer Management,VSCAN Management,All" prtmgt
Estos perfiles de derechos se agregan a los perfiles que se otorgan por medio del archivo policy.conf.
Ejemplo 9-19 Asignación de privilegios directamente a un rol
En este ejemplo, el administrador de seguridad confía al rol systime un privilegio muy específico que afecta la hora del sistema.
$ rolemod -K priv=proc_clock_highres systime
Los valores de la palabra clave priv se encuentran en la lista de privilegios de los procesos del rol en todo momento.
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
Debe tener asignado el perfil de derechos de seguridad de usuarios para cambiar los atributos de seguridad de un usuario, excepto para los indicadores de auditoría y la contraseña del usuario. Para asignar indicadores de auditoría o cambiar la contraseña de un rol, debe encontrarse en el rol root. Para cambiar otros atributos de usuarios, debe tener asignado el perfil de derechos de gestión de usuarios.
Para obtener más información, consulte Cómo obtener derechos administrativos.
Este comando modifica los atributos de un usuario que está definido en el servicio de nombres local o el servicio de nombres LDAP. Los argumentos RBAC para este comando son similares a los argumentos para el comando useradd, como se describe en la página del comando man user_attr(4) y como se muestra en el Ejemplo 9-23.
En el siguiente ejemplo, se asigna el rol devmgt a un usuario LDAP. Este rol sustituye cualquier asignación anterior de rol. El rol devmgt debe existir en el servicio de nombres LDAP.
$ usermod -R devmgt -S ldap jdoe-ldap
En el siguiente ejemplo, este rol se agrega a cualquier asignación anterior de rol.
$ usermod -R +devmgt -S ldap jdoe-ldap
Ejemplo 9-20 Asignación de un rol a un usuario local
En este ejemplo, el usuario jdoe ahora puede asumir el rol de administrador del sistema, sysadmin.
$ userattr roles jdoe secdevice $ usermod -R secdevice,sysadmin jdoe $ userattr roles jdoe secdevice,sysadmin
Ejemplo 9-21 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-22 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-23 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-24 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.
Puede restringir a un usuario de Oracle Solaris al acceso de escritorio solamente.
Antes de empezar
Debe tener el rol root.
Por ejemplo, puede asignar el shell pfbash al usuario.
# usermod -s /usr/bin/pfbash username
Todos los procesos de usuario ahora están bajo el control de RBAC.
El comando siguiente crea el perfil de derechos. El comando end indica que el comando agregado no necesita atributos de seguridad. Para crear el perfil de derechos en el depósito LDAP, utilice la opción -S ldap.
# profiles -p "Desktop Applets" profiles:Desktop Applets> set desc="Can use basic desktop applications" profiles:Desktop Applets> add cmd=/usr/bin/nautilus;end profiles:Desktop Applets> add cmd=/usr/bin/dbus-launch;end profiles:Desktop Applets> add cmd=/usr/lib/dbus-daemon;end profiles:Desktop Applets> add cmd=/usr/lib/clock-applet;end profiles:Desktop Applets> add cmd=/usr/lib/gconfd-2;end profiles:Desktop Applets> add cmd=/usr/lib/gvfsd;end profiles:Desktop Applets> add cmd=/usr/lib/gvfsd-metadata;end profiles:Desktop Applets> add cmd=/usr/lib/gvfsd-trash;end profiles:Desktop Applets> add cmd=/usr/lib/gvfs-hal-volume-monitor;end profiles:Desktop Applets> add cmd=/usr/lib/gnome-pty-helper;end profiles:Desktop Applets> add cmd=/usr/lib/utmp_update;end profiles:Desktop Applets> add cmd=/usr/bin/sh;end profiles:Desktop Applets> add cmd=/usr/bin/bash;end profiles:Desktop Applets> add cmd=/usr/bin/csh;end profiles:Desktop Applets> add cmd=/usr/bin/ksh;end profiles:Desktop Applets> commit profiles:Desktop Applets> exit
Revise si las entradas tienen errores, como errores ortográficos, omisiones o repeticiones.
# profiles -p "Desktop Applets" info Found profile in files repository. name=Desktop Applets desc=Can use basic desktop applications cmd=/usr/bin/nautilus cmd=/usr/bin/dbus-launch cmd=/usr/lib/dbus-daemon cmd=/usr/lib/clock-applet cmd=/usr/lib/gconfd-2 cmd=/usr/lib/gvfsd cmd=/usr/lib/gvfsd-metadata cmd=/usr/lib/gvfsd-trash cmd=/usr/lib/gvfs-hal-volume-monitor cmd=/usr/lib/gnome-pty-helper cmd=/usr/lib/utmp_update cmd=/usr/bin/sh cmd=/usr/bin/bash cmd=/usr/bin/csh cmd=/usr/bin/ksh
Consejo - Puede crear un perfil de derechos para una aplicación o una clase de aplicaciones que tienen iconos de escritorio. A continuación, agregue applets de escritorio como un perfil de derechos complementario a este nuevo perfil de derechos. Juntos, estos perfiles de derechos permiten que el usuario pueda utilizar las aplicaciones de escritorio adecuadas.
# usermod -P "Desktop Applets,Stop" username
Este usuario no tiene el perfil de derechos de usuario básico de Solaris o el perfil de derechos de usuario de consola. Por lo tanto, ningún otro comando que no sean los comandos en el perfil de derechos de applets de escritorio puede ser ejecutado por este usuario. Por ejemplo, el usuario no tiene acceso a una ventana de terminal.
Para obtener más información, consulte Perfiles de derechos, Orden de búsqueda para atributos de seguridad asignados y Cómo limitar el acceso de un usuario a las aplicaciones de escritorio de Configuración y administración de Trusted Extensions.
El comando usermod modifica los atributos de usuario que están definidos en el servicio de nombres local o en LDAP. Para conocer los argumentos de este comando, consulte la página del comando man usermod(1M).
Puede restringir un rol o un usuario a un número limitado de acciones administrativas de dos formas.
Puede utilizar el perfil de derechos de detención.
El perfil de derechos de detención es la forma más sencilla de crear un shell restringido. Las autorizaciones y los perfiles de derechos que están asignados en el archivo policy.conf no se consultan. En la configuración predeterminada, al rol o al usuario no se le asigna el perfil de derechos de usuario básico de Solaris, el perfil de derechos de usuario de consola ni la autorización solaris.device.cdrw.
Puede modificar el archivo policy.conf en un sistema y requerir que el rol o el usuario utilice ese sistema para tareas administrativas.
Antes de empezar
Debe tener el rol root.
Por ejemplo, puede limitar al rol auditrev a realizar sólo revisiones de auditoría.
# rolemod -P "Audit Review,Stop" auditrev
Debido a que el rol auditrev no tiene el perfil de derechos de usuario de consola, el auditor no puede cerrar el sistema. Debido a que este rol no tiene la autorización solaris.device.cdrw, el auditor no puede leer o escribir en la unidad de CD-ROM. Debido a que este rol no tiene el perfil de derechos de usuario básico de Solaris, ningún comando que no sean los comandos en el perfil de derechos de revisión de auditoría se puede ejecutar en este rol. Por ejemplo, el comando ls no se ejecutará. El rol utiliza el explorador de archivos para ver los archivos de auditoría.
Para obtener más información, consulte Perfiles de derechos y Orden de búsqueda para atributos de seguridad asignados.
El comando rolemod modifica los atributos de un rol definido en el servicio de nombres local o en LDAP. Para conocer los argumentos de este comando, consulte la página del comando man rolemod(1M). La lista de argumentos de RBAC es similar a la lista para el comando roleadd, como se describe en Cómo crear un rol.
Ejemplo 9-25 Modificación de un sistema para limitar los derechos disponibles a sus usuarios
En este ejemplo, el administrador crea un sistema que sólo es útil para administrar la red. El administrador elimina el perfil de derechos de usuario básico de Solaris y la autorización solaris.device.cdrw del archivo policy.conf. El perfil de derechos de usuario de consola no se elimina. Las líneas afectadas en el archivo policy.conf resultante son las siguientes:
... #AUTHS_GRANTED=solaris.device.cdrw #PROFS_GRANTED=Basic Solaris User CONSOLE_USER=Console User ...
Sólo un usuario que ha sido asignado de forma explícita autorizaciones, comandos o perfiles de derechos puede usar este sistema. Después de iniciar sesión, el usuario autorizado puede realizar tareas administrativas. Si el usuario autorizado se encuentra en el sistema, el usuario tiene los derechos del usuario de consola.
De manera predeterminada, los usuarios deben escribir la contraseña del rol para asumir un rol. Realice este procedimiento para que asumir un rol en Oracle Solaris sea similar a asumir un rol en un entorno Linux.
Antes de empezar
Debe haber asumido un rol que incluya el perfil de derechos de seguridad de usuarios. Este rol no puede ser el rol cuyo valor roleauth desea cambiar.
$ rolemod -K roleauth=user rolename
Para asumir este rol, los usuarios asignados pueden usar ahora su propia contraseña, no la contraseña que se ha creado específicamente para el rol.
Ejemplo 9-26 Habilitación de un rol para utilizar la contraseña del usuario asignado al utilizar un perfil de derechos
En este ejemplo, el rol root cambia el valor de roleauth por el rol secadmin en el sistema local.
# profiles -K roleauth=user "System Administrator"
Cuando un usuario al que se le asigna el perfil de derechos de administrador de seguridad desea asumir el rol, se le solicita una contraseña. En la secuencia siguiente, el nombre de rol es secadmin:
% su - secadmin Password: Type user password $ /** You are now in a profile shell with administrative rights**/
Si se le han asignado otros roles, el usuario tiene su propia contraseña para autenticarse ante esos roles también.
Ejemplo 9-27 Cambio del valor de roleauth por un rol en el depósito LDAP
En este ejemplo, el rol root permite a todos los usuarios que pueden asumir el rol secadmin utilizar su propia contraseña al asumir un rol. Esta capacidad se concede a estos usuarios para todos los sistemas que están gestionados por el servidor LDAP.
# rolemod -S ldap -K roleauth=user secadmin # profiles -S ldap -K roleauth=user "Security Administrator"
Errores más frecuentes
Si se establece roleauth=user para el rol, la contraseña de usuario permite que el rol autenticado acceda a todos los derechos que están asignados a ese rol. La palabra clave depende de la búsqueda. Para obtener más información, consulte Orden de búsqueda para atributos de seguridad asignados.
Un administrador puede cambiar root a un usuario al retirar un sistema que se ha eliminado de la red. En esta instancia, iniciar sesión en el sistema como root simplifica la limpieza.
Antes de empezar
Debe convertirse en un administrador que tenga asignado los perfiles de derechos de gestión de usuarios y de seguridad de usuarios.
Por ejemplo, elimine la asignación de rol de dos usuarios.
% su - root Password: a!2@3#4$5%6^7 # roles jdoe root # roles kdoe root # roles ldoe secadmin # usermod -R "" jdoe # usermod -R "" kdoe #
# rolemod -K type=normal root
Los usuarios que están actualmente en el rol root lo siguen estando. Otros usuarios que tienen acceso de usuario root pueden cambiar su a root o pueden iniciar sesión en el sistema como el usuario root.
Puede utilizar uno de los siguientes comandos.
# getent user_attr root root::::auths=solaris.*;profiles=All;audit_flags=lo\:no;lock_after_retries=no; min_label=admin_low;clearance=admin_high
Si falta la palabra clave type en la salida o es igual a normal, la cuenta no es un rol.
# userattr type root
Si la salida está vacía o muestra normal, la cuenta no es un rol.
Ejemplo 9-28 Prevención de que el rol root se utilice para configurar un sistema
En este ejemplo, la política de seguridad del sitio requiere que se evite que la cuenta root mantenga el sistema. El administrador ha creado y probado los roles que mantienen el sistema. Estos roles incluyen cada perfil de seguridad y el perfil de derechos de administrador del sistema. Se ha asignado a un usuario de confianza un rol que puede restaurar una copia de seguridad. Ningún rol puede cambiar los indicadores de auditoría para el sistema, un usuario o un perfil de derechos.
Para evitar que la cuenta root se utilice para mantener el sistema, el administrador de seguridad elimina la asignación role raíz. Debido a que la cuenta root debe poder iniciar sesión en el sistema en modo de un solo usuario, la cuenta retiene una contraseña.
# rolemod -K roles= jdoe # userattr roles jdoe
Ejemplo 9-29 Cambio de usuario root a rol root
En este ejemplo, el usuario root devuelve el usuario root a un rol.
Primero, root cambia la cuenta root a un rol y verifica el cambio.
# rolemod -K type=role root # getent user_attr root root::::type=role;auths=solaris.*;profiles=All;audit_flags=lo\:no; lock_after_retries=no;min_label=admin_low;clearance=admin_high
A continuación, root asigna el rol root a un usuario local.
# usermod -R root jdoe
Errores más frecuentes
En un entorno de escritorio, no puede iniciar sesión directamente como root cuando root es un rol. Un mensaje de diagnóstico indica que root es un rol en el sistema.
Si no tiene una cuenta local que pueda asumir el rol root, cree una. Como root, inicie sesión en el sistema en el modo de un solo usuario, cree una cuenta de usuario local y una contraseña, y asigne el rol root a la nueva cuenta. A continuación, inicie sesión como el nuevo usuario y asuma el rol root.