Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Guía de administración del sistema: servicios de seguridad |
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. Control de acceso a dispositivos (tareas)
5. Uso de la herramienta básica de creación de informes de auditoría (tareas)
6. Control de acceso a archivos (tareas)
7. Uso de la herramienta automatizada de mejora de la seguridad (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)
Configuración de RBAC (mapa de tareas)
Cómo planificar la implementación de RBAC
Cómo crear y asignar un rol con la interfaz gráfica de usuario
Cómo crear un rol desde la línea de comandos
Cómo asignar un rol a un usuario local
Cómo convertir el usuario root en un rol
Cómo asumir un rol en una ventana de terminal
Cómo asumir un rol en Solaris Management Console
Gestión de RBAC (mapa de tareas)
Cómo cambiar la contraseña de un rol
Cómo cambiar las propiedades de un rol
Cómo crear o modificar un perfil de derechos
10. Control de acceso basado en roles (referencia)
Parte IV Servicios criptográficos
13. Estructura criptográfica de Oracle Solaris (descripción general)
14. Estructura criptográfica de Oracle Solaris (tareas)
15. Estructura de gestión de claves de Oracle Solaris
Parte V Servicios de autenticación y comunicación segura
16. Uso de servicios de autenticación (tareas)
19. Uso de Oracle Solaris Secure Shell (tareas)
20. Oracle Solaris Secure Shell (referencia)
21. Introducción al servicio Kerberos
22. Planificación del servicio Kerberos
23. Configuración del servicio Kerberos (tareas)
24. Mensajes de error y resolución de problemas de Kerberos
25. Administración de las políticas y los principales de Kerberos (tareas)
26. Uso de aplicaciones Kerberos (tareas)
27. El servicio Kerberos (referencia)
Parte VII Auditoría de Oracle Solaris
28. Auditoría de Oracle Solaris (descripción general)
29. Planificación de la auditoría de Oracle Solaris
30. Gestión de la auditoría de Oracle Solaris (tareas)
La interfaz gráfica de usuario de Solaris Management Console es el método preferido para gestionar RBAC.
Nota - No intente administrar RBAC con la línea de comandos y la interfaz gráfica de usuario al mismo tiempo. En ese caso, se podrían realizar cambios en la configuración que entren en conflicto y el comportamiento sería impredecible. Ambas herramientas pueden administrar RBAC, pero no puede utilizarlas simultáneamente.
Antes de empezar
Debe haber asumido un rol que incluya el perfil de seguridad de usuarios o haber cambiado a superusuario. No puede estar en el rol cuya contraseña desea cambiar. Un rol no puede cambiar su propia contraseña.
$ passwd -r naming-service target-rolename
Aplica el cambio de contraseña a uno de los siguientes depósitos: files, nis, nisplus o ldap. Si no se especifica ningún depósito, la contraseña se cambia en files.
Nombre de un rol existente que desea modificar.
Para conocer más opciones de comandos, consulte la página del comando man passwd(1).
Para iniciar la consola, consulte Cómo asumir un rol en Solaris Management Console.
El rol de inicio de sesión no puede ser el rol de destino.
El ámbito Files modifica la contraseña del rol en el sistema local. El ámbito LDAP modifica la contraseña del rol en el servicio de nombres LDAP.
Para obtener información más exhaustiva, consulte la ayuda en pantalla.
Este comando se ejecuta como cliente del servidor de Solaris Management Console.
$ /usr/sadm/bin/smrole -D domain-name -r admin-role -l <Type admin-role password> \ modify -- -n target-rolename -P password
Nombre del dominio que desea gestionar.
Nombre del rol administrativo que puede modificar el rol de destino. El rol administrativo debe tener la autorización solaris.admin.usermgr.pswd. El rol administrativo y el rol de destino no pueden ser el mismo rol.
Petición de datos para la contraseña de rol_admin.
Separador obligatorio entre las opciones de autenticación y las opciones de subcomando.
Nombre del rol de destino.
Nueva contraseña para nombre_rol_destino.
Para obtener la lista completa de opciones de comandos, consulte la página del comando man smrole(1M).
Ejemplo 9-13 Modificación de la contraseña de un rol local con el comando passwd
En este ejemplo, el superusuario cambia la contraseña del rol local operadm.
# passwd -r files operadm New password: Type new password Re-enter new password: Retype new password
Ejemplo 9-14 Modificación de la contraseña de un rol en un depósito LDAP
En este ejemplo, el rol de administrador principal cambia la contraseña del rol operadm en el servicio de directorios LDAP.
$ passwd -r ldap operadm New password: Type new password Re-enter new password: Retype new password
Ejemplo 9-15 Modificación de la contraseña de un rol con el comando smrole modify
En este ejemplo, el administrador establece contacto con el servidor de Solaris Management Console para cambiar la contraseña de operadm en el dominio NIS. Cuando el administrador no proporciona la contraseña antes de presionar la tecla de retorno, aparece el aviso New Password:.
$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n operadm -P Press the Return key New Password: a!2@3#4$5%6*7 $
Antes de empezar
Debe asumir un rol que incluya el perfil de derechos de administrador principal, o bien cambiar al usuario root para modificar las propiedades de un rol. Las propiedades del rol incluyen la contraseña, perfiles de derechos y autorizaciones.
Nota - Para cambiar la propiedad de contraseña de un rol, consulte Cómo cambiar la contraseña de un rol.
Para iniciar la consola, consulte Cómo asumir un rol en Solaris Management Console. Siga las instrucciones que figuran en el panel izquierdo para modificar un rol en Administrative Roles. Para obtener información más exhaustiva, consulte la ayuda en pantalla.
Este comando modifica los atributos de un rol definido en el servicio de nombres local.
$ rolemod -c comment -P profile-list rolename
Nuevo comentario que describe las capacidades del rol.
Lista de los perfiles incluidos en el rol. Esta lista reemplaza la lista de perfiles actual.
Nombre de un rol local existente que desea modificar.
Para conocer más opciones de comandos, consulte la página del comando man rolemod(1M).
Este comando modifica los atributos de un rol en un servicio de nombres distribuido, como NIS, NIS+ o LDAP. Este comando se ejecuta como cliente del servidor de Solaris Management Console.
$ /usr/sadm/bin/smrole -D domain-name \ -r admin-role -l <Type admin-role password> \ modify -- -n rolename -r username -u username
Nombre del dominio que desea gestionar.
Nombre del rol administrativo que puede modificar el rol. El rol administrativo debe tener la autorización solaris.role.assign. Si desea modificar un rol que asumió, el rol debe tener la autorización solaris.role.delegate.
Petición de datos para la contraseña de rol_admin.
Separador obligatorio entre las opciones de autenticación y las opciones de subcomando.
Nombre del nuevo rol.
Nombre del usuario que ya no puede asumir nombre_rol.
Nombre del usuario que ahora puede asumir nombre_rol.
Para conocer más opciones de comandos, consulte la página del comando man smrole(1M).
Ejemplo 9-16 Modificación de las propiedades de un rol local con el comando rolemod
En este ejemplo, se modifica el rol operadm para incluir el perfil de derechos de gestión de FTP.
$ rolemod -c "Handles printers, backup, and FTP" \ -P "Operator,FTP Management,All" operadm
Estos perfiles de derechos se agregan a los perfiles que se otorgan por medio del archivo policy.conf.
Ejemplo 9-17 Modificación de las propiedades de un rol local con el comando smrole modify
En el siguiente ejemplo, se modifica el rol operadm para agregar el perfil de derechos de gestión de FTP.
$ /usr/sadm/bin/smrole -r primaryadm -l <Type primaryadm password> \ modify -- -n operadm -c "Handles printers, backup, and FTP" \ -p "FTP Management"
Ejemplo 9-18 Modificación de un rol en un dominio con el comando smrole modify
En el siguiente ejemplo, se modifica el rol clockmgr. El usuario NIS cuyo ID es 108 ya no puede asumir el rol. El usuario NIS cuyo ID es 110 puede asumir el rol clockmgr.
$ /usr/sadm/bin/smrole -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n clockmgr -r 108 -u 110
Un perfil de derechos es una propiedad de un rol. Debe crear o modificar un perfil de derechos cuando la base de datos prof_attr no contiene un perfil de derechos que satisface sus necesidades. Para obtener más información sobre los perfiles de derechos, consulte Perfiles de derechos de RBAC.
Antes de empezar
Para crear o modificar un perfil de derechos, debe haber asumido el rol de administrador principal o haber cambiado a superusuario.
Para iniciar la consola, consulte Cómo asumir un rol en Solaris Management Console. Siga las instrucciones que figuran en el panel izquierdo para crear o modificar un perfil de derechos en Rights. Para obtener información más exhaustiva, consulte la ayuda en pantalla.
Este comando permite agregar, modificar, enumerar o eliminar un perfil de derechos. El comando funciona en archivos y en servicios de nombres distribuidos, como NIS, NIS+ o LDAP. El comando smprofile se ejecuta como cliente del servidor de Solaris Management Console.
$ /usr/sadm/bin/smprofile -D domain-name \ -r admin-role -l <Type admin-role password> \ add | modify -- -n profile-name \ -d description -m help-file -p supplementary-profile
Nombre del dominio que desea gestionar.
Nombre del rol administrativo que puede modificar el rol. El rol administrativo debe tener la autorización solaris.role.assign. Si desea modificar un rol que asumió, el rol debe tener la autorización solaris.role.delegate.
Petición de datos para la contraseña de rol_admin.
Separador obligatorio entre las opciones de autenticación y las opciones de subcomando.
Nombre del nuevo perfil.
Descripción breve del perfil.
Nombre del archivo de ayuda HTML que creó y guardó en el directorio /usr/lib/help/profiles/locale/C.
Nombre de un perfil de derechos existente que se incluye en este perfil de derechos. Puede especificar varias opciones -p perfil_complementario.
Para conocer más opciones de comandos, consulte la página del comando man smprofile(1M).
Ejemplo 9-19 Modificación de un perfil de derechos desde la línea de comandos
En el siguiente ejemplo, se convierte al perfil de derechos de gestión de la red en un perfil complementario del perfil de derechos de seguridad de la red. El rol que contiene el perfil de seguridad de la red ahora puede configurar la red y los hosts, además de ejecutar comandos relacionados con la seguridad.
$ /usr/sadm/bin/smprofile -D nisplus:/example.host/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n "Network Security" \ -d "Manage network and host configuration and security" \ -m RtNetConfSec.html -p "Network Management"
El administrador creó un nuevo archivo de ayuda, RtNetConfSec.html, y lo guardó en el directorio /usr/lib/help/profiles/locale/C, antes de ejecutar este comando.
Ejemplo 9-20 Creación de un nuevo perfil de derechos con la herramienta Rights
La siguiente tabla muestra datos de ejemplo para un perfil de derechos hipotético que se denomina “Administrador de compilación”. Este perfil de derechos incluye los comandos del subdirectorio /usr/local/swctrl/bin. Estos comandos tienen un UID efectivo de 0. El perfil de derechos de creación de administrador puede resultar útil para los administradores que gestionan las compilaciones y versiones para el desarrollo de software.
|
Errores más frecuentes
Compruebe lo siguiente si el perfil de derechos no proporciona el rol con las capacidades que espera:
¿Los perfiles de derechos del rol están enumerados en la interfaz gráfica de usuario del más al menos poderoso?
Por ejemplo, si el perfil de derechos All está en la parte superior de la lista, no se ejecuta ningún comando con atributos de seguridad. Un perfil que contiene comandos con atributos de seguridad debe preceder al perfil de derechos All en la lista.
¿Algún comando aparece más de una vez en los perfiles de derechos del rol? En ese caso, ¿la primera instancia del comando tiene todos los atributos de seguridad que son necesarios?
Por ejemplo, un comando puede necesitar privilegios para determinadas opciones en el comando. Para las opciones que requieren privilegios para una ejecución correcta, la primera instancia del comando que se incluye en el primer perfil de derechos de la lista debe tener los privilegios asignados.
¿Los comandos de los perfiles de derechos del rol tienen los atributos de seguridad adecuados?
Por ejemplo, cuando la política es suser, algunos comandos requieren uid=0 en lugar de euid=0 para ejecutarse correctamente.
¿La antememoria de servicio de nombres, svc:/system/name-service-cache, se reinició?
El daemon nscd puede tener un intervalo de tiempo de vida prolongado. Al reiniciar el daemon, actualiza el nombre de servicios con los datos actuales.
Las propiedades del usuario incluyen la contraseña, perfiles de derechos, roles y autorizaciones. 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 asumir un rol que incluya el perfil de derechos de administrador principal, o bien cambiar al usuario root.
Para iniciar la consola, consulte Cómo asumir un rol en Solaris Management Console. Siga las instrucciones que figuran en el panel izquierdo para modificar un usuario en User Accounts. Para obtener información más exhaustiva, consulte la ayuda en pantalla.
Consejo - No es recomendable asignar autorizaciones, privilegios o perfiles de derechos directamente a los usuarios. El enfoque preferido es asignar un rol a los usuarios. Los usuarios luego asumen un rol para llevar a cabo operaciones con privilegios.
Este comando modifica los atributos de un usuario definido en el servicio de nombres local.
$ usermod -R rolename username
Nombre de un rol local existente.
Nombre de un usuario local existente que desea modificar.
Para conocer más opciones de comandos, consulte la página del comando man usermod(1M).
Este comando modifica los atributos de un usuario en un servicio de nombres distribuido, como NIS, NIS+ o LDAP. Este comando se ejecuta como cliente del servidor de Solaris Management Console.
$ /usr/sadm/bin/smuser -D domain-name \ -r admin-role -l <Type admin-role password> \ modify -- -n username -a rolename
Nombre del dominio que desea gestionar.
Nombre del rol administrativo que puede modificar el rol. El rol administrativo debe tener la autorización solaris.role.assign. Si desea modificar un rol que asumió, el rol debe tener la autorización solaris.role.delegate.
Petición de datos para la contraseña de rol_admin.
Separador obligatorio entre las opciones de autenticación y las opciones de subcomando.
Nombre del usuario al que se asigna nombre_rol.
Nombre del rol que asigna a nombre_usuario. Puede especificar varias opciones -a nombre_rol.
Para conocer más opciones de comandos, consulte la página del comando man smuser(1M).
Ejemplo 9-21 Modificación de las propiedades RBAC de un usuario local desde la línea de comandos
En este ejemplo, el usuario jdoe ahora puede asumir el rol de administrador del sistema.
$ usermod -R sysadmin jdoe
A este rol se le agregan los roles que el usuario puede asumir.
Ejemplo 9-22 Modificación de las propiedades RBAC de un usuario con el comando smuser
En este ejemplo, se asignan dos roles al usuario jdoe: administrador del sistema y operador. Como el usuario y los roles se definen de manera local, la opción -D no es necesaria.
$ /usr/sadm/bin/smuser -r primaryadm -l <Type primaryadm password> \ modify -- -n jdoe -a sysadmin -a operadm
En el siguiente ejemplo, el usuario se definió en el servicio de nombres NIS. Por lo tanto, se necesita la opción -D. Se definieron dos roles en el servicio de nombres. Un rol, root, se definió de manera local.
$ /usr/sadm/bin/smuser -D nis:/examplehost/example.domain \ -r primaryadm -l <Type primaryadm password> \ modify -- -n jdoe -a sysadmin -a operadm -a root
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.
Para agregar aplicaciones antiguas en Solaris Management Console, consulte Cómo agregar herramientas en Solaris Management Console de Guía de administración del sistema: administración básica.
Antes de empezar
Debe haber asumido el rol de administrador principal o haber cambiado a superusuario para modificar los atributos de seguridad de un comando en un perfil de derechos.
Para iniciar la consola, consulte Cómo asumir un rol en Solaris Management Console. Siga las instrucciones que figuran en el panel izquierdo para modificar un perfil de derechos en Rights. Para obtener información más exhaustiva, consulte la ayuda en pantalla.
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 modificar un perfil de derechos.
Para agregar un perfil de derechos a un rol, consulte Cómo cambiar las propiedades de un rol.
Ejemplo 9-23 Adición de atributos de seguridad a comandos de 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.
Para agregar atributos de seguridad a un comando o una secuencia de comandos de shell, consulte Cómo crear o modificar un perfil de derechos.
Ejemplo 9-24 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.admin.usermgr.write, debe comprobar las siguientes cadenas:
solaris.admin.usermgr.write
solaris.admin.usermgr.*
solaris.admin.*
solaris.*
Si está escribiendo un programa, utilice la función getauthattr() para comprobar la autorización.