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) |
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)
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 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 perfil de derechos
Cómo clonar y modificar un perfil de derechos del sistema
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 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
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
17. Uso de autenticación simple y capa de seguridad
18. Autenticación de servicios de red (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
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.
Utilice el siguiente mapa de tareas para planificar e implementar inicialmente RBAC en su sitio. Algunas tareas están ordenadas.
|
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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
# 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.
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
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.
usermod [-S repository] [RBAC-arguments] login
Por ejemplo, asigne el rol a un usuario local:
# usermod -R +useradm jdoe-local
Los cambios entran en vigencia a partir del siguiente inicio de sesión del usuario.
Para conocer las opciones del comando usermod, consulte la página del comando man usermod(1M) o la descripción de las opciones para rolemod en el Paso 1 en Cómo cambiar los atributos de seguridad de un usuario.
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).
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.
Para obtener información sobre planificación, consulte el Capítulo 27, Planificación de la auditoría.
# 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
# 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.
# audit -s
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.
# profiles -p [-S repository] profile-name
Se le pedirá una descripción.
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.
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.
# profiles -p [-S repository] existing-profile-name
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.
A continuación, cambie el nombre del perfil y modifíquelo. Si desea ver un ejemplo, consulte el Ejemplo 9-20.
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.
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.
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>
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
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.
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.
Para conocer los pasos, consulte Cómo crear un perfil de derechos.
Si desea ver un ejemplo, consulte el Ejemplo 9-18.
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:
solaris.system.date
solaris.system.*
solaris.*
Si está escribiendo un programa, utilice la función getauthattr() para comprobar la autorización.
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.
# 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.
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
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.
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.
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.
Use el comando userattr, tal como se muestra en el Paso 2.
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.
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.
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.
Si existe, asigne el perfil al usuario. Ordene el perfil de derechos antes que cualquier otro perfil de derechos que incluye el comando.
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.
En concreto, compruebe los valores de los atributos defaultpriv y limitpriv del usuario.
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.
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.
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.
En concreto, compruebe los valores de los atributos defaultpriv y limitpriv del rol.
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.