JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Guía de administración del sistema: servicios de seguridad
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.  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)

Novedades de RBAC

Control de acceso basado en roles (descripción general)

RBAC: una alternativa al modelo de superusuario

Elementos y conceptos básicos de RBAC en Oracle Solaris

Escalada de privilegios

Autorizaciones RBAC

Autorizaciones y privilegios

Aplicaciones con privilegios y RBAC

Aplicaciones que comprueban UID y GID

Aplicaciones que comprueban privilegios

Aplicaciones que comprueban autorizaciones

Perfiles de derechos de RBAC

Roles de RBAC

Shells de perfil y RBAC

Ámbito de servicio de nombres y RBAC

Consideraciones de seguridad al asignar directamente atributos de seguridad

Privilegios (descripción general)

Privilegios con protección de procesos del núcleo

Descripciones de privilegios

Diferencias administrativas en un sistema con privilegios

Privilegios y recursos del sistema

Cómo se implementan los privilegios

Cómo obtienen privilegios los procesos

Asignación de privilegios

Ampliación de los privilegios de un usuario o rol

Restricción de los privilegios de un usuario o rol

Asignación de privilegios a una secuencia de comandos

Privilegios y dispositivos

Privilegios y depuración

9.  Uso del control de acceso basado en roles (tareas)

10.  Control de acceso basado en roles (referencia)

11.  Privilegios (tareas)

12.  Privilegios (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)

17.  Uso de PAM

18.  Uso de SASL

19.  Uso de Oracle Solaris Secure Shell (tareas)

20.  Oracle Solaris Secure Shell (referencia)

Parte VI Servicio Kerberos

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)

31.  Auditoría de Oracle Solaris (referencia)

Glosario

Índice

Control de acceso basado en roles (descripción general)

El control de acceso basado en roles (RBAC) es una función de seguridad para controlar el acceso de usuarios a tareas que normalmente están restringidas al superusuario. Mediante la aplicación de atributos de seguridad a procesos y usuarios, RBAC puede dividir las capacidades de superusuario entre varios administradores. La gestión de derechos de procesos se implementa a través de privilegios. La gestión de derechos de usuarios se implementa a través de RBAC.

RBAC: una alternativa al modelo de superusuario

En los sistemas UNIX convencionales, el usuario root, también conocido como superusuario, es omnipotente. Los programas que se ejecutan como root, o los programas setuid, son omnipotentes. El usuario root puede leer y escribir en cualquier archivo, ejecutar todos los programas y enviar señales de terminación a cualquier proceso. De hecho, cualquier persona que puede convertirse en superusuario puede modificar el cortafuegos de un sitio, modificar la pista de auditoría, leer registros confidenciales y apagar toda la red. Un programa setuid usurpado puede realizar cualquier tarea en el sistema.

El control de acceso basado en roles (RBAC) ofrece una alternativa más segura al modelo de superusuario del tipo "todo o nada". Con RBAC, puede aplicar una política de seguridad en un nivel más específico. RBAC utiliza el principio de seguridad del privilegio mínimo. Privilegio mínimo significa que un usuario dispone exactamente de la cantidad de privilegios necesaria para realizar un trabajo. Los usuarios comunes tienen privilegios suficientes para utilizar sus aplicaciones, comprobar el estado de sus trabajos, imprimir archivos, crear archivos nuevos, etc. Las capacidades que van más allá de las capacidades de los usuarios comunes se agrupan en perfiles de derechos. Los usuarios que realizarán trabajos que requieren algunas de las capacidades de superusuario asumen un rol que incluye el perfil de derechos adecuado.

RBAC recopila las capacidades de superusuario en perfiles de derechos. Estos perfiles de derechos se asignan a cuentas de usuario especiales denominadas roles. Luego, un usuario puede asumir un rol para realizar un trabajo que requiere algunas de las capacidades de superusuario. Se incluyen perfiles de derechos predefinidos con el software Oracle Solaris. Usted crea los roles y asigna los perfiles.

Los perfiles de derechos pueden proporcionar capacidades amplias. Por ejemplo, el perfil de derechos de administrador principal es equivalente al superusuario. Los perfiles de derechos también se pueden definir de manera limitada. Por ejemplo, el perfil de derechos de gestión de cron se encarga de los trabajos at y cron. Al crear roles, puede optar por crear roles con capacidades amplias o roles con capacidades limitadas, o ambos.

En el modelo RBAC, el superusuario crea uno o más roles. Los roles se basan en perfiles de derechos. El superusuario luego asigna los roles a los usuarios en los que confía para realizar las tareas del rol. Los usuarios inician sesión con su nombre de usuario. Después del inicio de sesión, los usuarios asumen roles que pueden ejecutar comandos administrativos restringidos y herramientas de la interfaz gráfica de usuario (GUI).

La flexibilidad en la configuración de los roles posibilita una variedad de políticas de seguridad. Aunque se incluyen pocos roles con Oracle Solaris, es posible configurar fácilmente tres roles recomendados. Los roles se basan en perfiles de derechos con el mismo nombre:

No es necesario implementar estos tres roles. Los roles representan una función de las necesidades de seguridad de una organización. Los roles se pueden configurar para administradores con fines especiales en áreas como administración de cortafuegos, redes o seguridad. Otra estrategia es crear un rol de administrador poderoso único junto con un rol de usuario avanzado. El rol de usuario avanzado sería para los usuarios que tienen permiso para corregir partes de sus propios sistemas.

El modelo de superusuario y el modelo RBAC pueden coexistir. La siguiente tabla resume las gradaciones de superusuario a usuario común restringido que son posibles en el modelo RBAC. La tabla incluye las acciones administrativas que se pueden supervisar en ambos modelos. Para obtener un resumen del efecto de los privilegios solamente en un sistema, consulte la Tabla 8-2.

Tabla 8-1 Modelo de superusuario y modelo RBAC con privilegios

Capacidades de usuario en un sistema
Modelo de superusuario
Modelo RBAC
Puede convertirse en superusuario con capacidades completas de superusuario
Puede iniciar sesión como usuario con capacidades completas de usuario
Puede convertirse en superusuario con capacidades limitadas
No
Puede iniciar sesión como usuario y tener capacidades de superusuario, esporádicamente
Sí, sólo con los programas setuid
Sí, con los programas setuid y con RBAC
Puede iniciar sesión como usuario con capacidades administrativas, pero sin capacidades completas de superusuario
No
Sí, con RBAC y con los privilegios y autorizaciones asignados directamente
Puede iniciar sesión como usuario con menos capacidades que un usuario común
No
Sí, con RBAC y con los privilegios eliminados
Puede supervisar las acciones de superusuario
Sí, mediante la auditoría del comando su
Sí, mediante la auditoría de los comandos de shell de perfil

Además, si el usuario root está deshabilitado, el nombre del usuario que asumió el rol root está en la pista de auditoría

Elementos y conceptos básicos de RBAC en Oracle Solaris

El modelo RBAC en Oracle Solaris introduce los siguientes elementos:

La siguiente figura muestra cómo trabajan juntos los elementos de RBAC.

Figura 8-1 Relaciones entre elementos de RBAC en Oracle Solaris

image:El siguiente contexto describe el gráfico.

En RBAC, se asignan roles a los usuarios. Cuando un usuario asume un rol, las capacidades del rol están disponibles. Los roles obtienen sus capacidades de los perfiles de derechos. Los perfiles de derechos pueden contener autorizaciones, privilegios asignados directamente, comandos con privilegios y otros perfiles de derechos complementarios. Los comandos con privilegios son comandos que se ejecutan con atributos de seguridad.

La siguiente figura utiliza el rol de seguridad de la red y el perfil de derechos de seguridad de la red para demostrar las relaciones de RBAC.

Figura 8-2 Ejemplo de relaciones entre elementos de RBAC en Oracle Solaris

image:El siguiente contexto describe el gráfico.

El rol de seguridad de la red se utiliza para la gestión de IPsec, wifi y enlaces de red. El rol se asigna al usuario jdoe. Para asumir el rol, jdoe puede cambiar a dicho rol y, a continuación, suministrar la contraseña del rol.

El perfil de derechos de seguridad de la red se asignó al rol de seguridad de la red. El perfil de derechos de seguridad de la red contiene perfiles complementarios que se evalúan en orden: seguridad de wifi de red, seguridad de enlaces de red y gestión de IPsec de red. Estos perfiles complementarios desempeñan las principales tareas del rol.

El perfil de derechos de seguridad de la red tiene tres autorizaciones asignadas directamente, ningún privilegio asignado directamente y dos comandos con atributos de seguridad. Los perfiles de derechos complementarios tienen autorizaciones asignadas directamente y dos de ellas tienen comandos con atributos de seguridad. En el rol de seguridad de la red, jdoe tiene todas las autorizaciones asignadas en estos perfiles y puede ejecutar todos los comandos con atributos de seguridad en estos perfiles. jdoe puede administrar la seguridad de la red.

Escalada de privilegios

Oracle Solaris proporciona a los administradores mucha flexibilidad al configurar la seguridad. Tal como está instalado, el software no permite la escalonamiento de privilegios. La escalada de privilegios se produce cuando un usuario o un proceso obtienen más derechos administrativos de los que inicialmente se les iban a otorgar. En este sentido, un privilegio comprende cualquier atributo de seguridad, no sólo privilegios.

El software Oracle Solaris incluye atributos de seguridad que están asignados al usuario root únicamente. Con otras protecciones de seguridad implementadas, es posible que un administrador asigne atributos que están diseñados para el usuario root en otras cuentas, pero dicha asignación se debe realizar con cuidado.

Por ejemplo, el perfil de derechos de restauración de medios existe, pero no es parte de ningún otro perfil de derechos. Debido a que la restauración de medios proporciona acceso a todo el sistema de archivos raíz, su uso constituye una posible escalada de privilegios. Se podrían restaurar medios alternativos o archivos modificados deliberadamente. De manera predeterminada, sólo el usuario root tiene este perfil de derechos.

Para conocer las escaladas que afectan el atributo de seguridad del privilegio, consulte Cómo evitar la escalada de privilegios.

Autorizaciones RBAC

Una autorización es un derecho perfectamente definido que se puede otorgar a un rol o a un usuario. Las autorizaciones aplican políticas en el nivel de aplicación del usuario.

Aunque las autorizaciones pueden asignarse directamente a un rol o a un usuario, se recomienda incluirlas en un perfil de derechos. El perfil de derechos luego se agrega a un rol, y el rol se asigna a un usuario. Para ver un ejemplo, consulte la Figura 8-2.

Las aplicaciones compatibles con RBAC pueden comprobar las autorizaciones de un usuario antes de otorgar acceso a la aplicación o a operaciones específicas dentro de la aplicación. Esta comprobación reemplaza la verificación en las aplicaciones UNIX convencionales para UID=0. Para obtener más información sobre las autorizaciones, consulte las siguientes secciones:

Autorizaciones y privilegios

Los privilegios aplican la política de seguridad en el núcleo. La diferencia entre las autorizaciones y los privilegios reside en el nivel en el que se aplica la política de seguridad. Sin el privilegio adecuado, el núcleo puede evitar que un proceso realice operaciones con privilegios. Sin las autorizaciones adecuadas, es posible que se le impida a un usuario utilizar una aplicación con privilegios o realizar operaciones que conllevan riesgos de seguridad dentro de una aplicación con privilegios. Para ver una explicación más detallada de los privilegios, consulte Privilegios (descripción general).

Aplicaciones con privilegios y RBAC

Las aplicaciones y los comandos que pueden anular los controles del sistema se consideran aplicaciones con privilegios. Los atributos de seguridad, como UID=0, los privilegios y las autorizaciones hacen que una aplicación sea una aplicación con privilegios.

Aplicaciones que comprueban UID y GID

Las aplicaciones con privilegios que comprueban la existencia de root (UID=0) o algún otro UID o GID especial han estado presentes en el entorno UNIX desde hace tiempo. El mecanismo de perfiles de derechos permite aislar comandos que requieren un ID específico. En lugar de cambiar el ID de un comando al que cualquiera puede acceder, puede colocar el comando con atributos de seguridad de ejecución en un perfil de derechos. Un usuario o un rol con ese perfil de derechos luego pueden ejecutar el programa sin tener que convertirse en superusuario.

Los ID se pueden especificar como reales o efectivos. Se prefiere la asignación de ID efectivos en lugar de la asignación de ID reales. Los ID efectivos son equivalentes a la función setuid en los bits de permisos de archivo. Los ID efectivos también identifican el UID para auditoría. Sin embargo, dado que algunos programas y secuencias de comandos de shell requieren un UID real de root, también es posible definir UID reales. Por ejemplo, el comando pkgadd requiere un UID real en lugar de uno efectivo. Si un ID efectivo no es suficiente para ejecutar un comando, debe cambiar el ID por un ID real. Para conocer el procedimiento, consulte Cómo crear o modificar un perfil de derechos.

Aplicaciones que comprueban privilegios

Las aplicaciones con privilegios pueden comprobar el uso de privilegios. El mecanismo de perfiles de derechos de RBAC permite especificar los privilegios para comandos específicos. En lugar de requerir capacidades de superusuario para utilizar una aplicación o un comando, puede aislar el comando con atributos de seguridad de ejecución en un perfil de derechos. Un usuario o un rol con ese perfil de derechos luego pueden ejecutar el comando sólo con los privilegios que el comando necesita para una ejecución correcta.

Entre los comandos que comprueban la existencia de privilegios, se incluyen los siguientes:

Para agregar comandos con privilegios en un perfil de derechos, consulte Cómo crear o modificar un perfil de derechos. Para determinar los comandos que comprueban privilegios en un perfil concreto, consulte Determinación de los privilegios asignados.

Aplicaciones que comprueban autorizaciones

Oracle Solaris proporciona además comandos que comprueban autorizaciones. Por definición, el usuario root tiene todas las autorizaciones. Por lo tanto, el usuario root puede ejecutar cualquier aplicación. Entre las aplicaciones que comprueban la existencia de autorizaciones, se incluyen las siguientes:

Para probar las autorizaciones de una secuencia de comandos o un programa, consulte el Ejemplo 9-24. Para escribir un programa que requiere autorizaciones, consulte About Authorizations de Developer’s Guide to Oracle Solaris Security.

Perfiles de derechos de RBAC

Un perfil de derechos es una recopilación de valores de sustitución del sistema que se pueden asignar a un rol o a un usuario. Un perfil de derechos puede incluir autorizaciones, comandos con atributos de seguridad asignados y otros perfiles de derechos. La información del perfil de derechos se divide entre las bases de datos prof_attr y exec_attr. El nombre y las autorizaciones del perfil de derechos están en la base de datos prof_attr. El nombre y los comandos del perfil de derechos con atributos de seguridad asignados están en la base de datos exec_attr.

Para obtener más información sobre los perfiles de derechos, consulte las siguientes secciones:

Roles de RBAC

Un rol es un tipo especial de cuenta de usuario desde la que puede ejecutar aplicaciones con privilegios. Los roles se crean del mismo modo general que las cuentas de usuario. Los roles tiene un directorio principal, una asignación de grupo, una contraseña, etc. Los perfiles de derechos y las autorizaciones otorgan al rol capacidades administrativas. Los roles no pueden heredar capacidades de otros roles u otros usuarios. Los roles discretos dividen las capacidades de superusuario y, por lo tanto, permiten prácticas administrativas más seguras.

Cuando un usuario asume un rol, los atributos del rol reemplazan todos los atributos de usuario. La información del rol se almacena en las bases de datos passwd, shadow y user_attr. La información del rol se puede agregar a la base de datos audit_user. Para obtener información detallada acerca de cómo configurar roles, consulte las siguientes secciones:

Un rol se puede asignar a más de un usuario. Todos los usuarios que pueden asumir el mismo rol tienen el mismo directorio principal, trabajan en el mismo entorno y tienen acceso a los mismos archivos. Los usuarios pueden asumir roles desde la línea de comandos. Para ello, deben ejecutar el comando su y proporcionar el nombre del rol y la contraseña. Los usuarios también pueden asumir un rol en la herramienta de Solaris Management Console.

Un rol no puede iniciar sesión directamente. Un usuario inicia sesión y, a continuación, asume un rol. Tras asumir un rol, el usuario no puede asumir otro rol sin salir primero de su rol actual. Tras salir del rol, el usuario puede asumir otro rol.

Para impedir el inicio de sesión anónimo de root puede cambiar el usuario root a un rol, tal como se muestra en Cómo convertir el usuario root en un rol. Si se audita el comando de shell de perfil, pfexec, la pista de auditoría contiene el UID real del usuario que inició sesión, los roles que el usuario asumió y las acciones que el rol realizó. Para auditar operaciones de roles en el sistema o un usuario concreto, consulte Cómo auditar roles.

No se incluyen roles predefinidos con el software Oracle Solaris. Sin embargo, los perfiles de derechos que se envían con el software están diseñados para asignarlos a roles. Por ejemplo, el perfil de derechos de administrador principal se puede utilizar para crear el rol de administrador principal.

Shells de perfil y RBAC

Los roles pueden ejecutar aplicaciones con privilegios desde el programa de ejecución de Solaris Management Console o desde un shell de perfil. Un shell de perfil es un shell especial que reconoce los atributos de seguridad que se incluyen en un perfil de derechos. Los shells de perfil se inician cuando el usuario ejecuta el comando su para asumir un rol. Los shells de perfil son pfsh, pfcsh y pfksh. Los shells se corresponden con el shell Bourne (sh), el shell C (csh) y el shell Korn (ksh), respectivamente.

Los usuarios a los que se asignó directamente un perfil de derechos deben invocar un shell de perfil para ejecutar los comandos con atributos de seguridad. Para conocer las consideraciones de seguridad y facilidad de uso, consulte Consideraciones de seguridad al asignar directamente atributos de seguridad.

Todos los comandos que se ejecutan en un shell de perfil pueden auditarse. Para obtener más información, consulte Cómo auditar roles.

Ámbito de servicio de nombres y RBAC

El ámbito de servicio de nombres es un concepto importante para comprender RBAC. El ámbito de un rol puede estar limitado a un host individual. El ámbito también puede incluir todos los hosts gestionados por un servicio de nombres, como NIS, NIS+ o LDAP. El ámbito de servicio de nombres de un sistema se especifica en el archivo /etc/nsswitch.conf. Las consultas se detienen en la primera coincidencia. Por ejemplo, si un perfil de derechos existe en dos ámbitos de servicio de nombres, sólo se utilizan las entradas del primer ámbito de servicio de nombres. Si files es la primera coincidencia, el ámbito del rol se limita al host local.

Consideraciones de seguridad al asignar directamente atributos de seguridad

Por lo general, un usuario obtiene capacidades administrativas a través de un rol. Las autorizaciones y los comandos con privilegios se agrupan en un perfil de derechos. El perfil de derechos se incluye en un rol, y el rol se asigna a un usuario.

La asignación directa de perfiles de derechos y atributos de seguridad también es posible:

Sin embargo, la asignación directa de privilegios no es una práctica segura. Los usuarios y los roles con un privilegio asignado directamente pueden anular la política de seguridad cada vez que el núcleo necesite este privilegio. Una práctica más segura es asignar el privilegio como atributo de seguridad de un comando en un perfil de derechos. Luego, ese privilegio sólo estará disponible para ese comando y un usuario que tenga ese perfil de derechos.

Dado que las autorizaciones funcionan en el nivel de usuario, la asignación directa de autorizaciones puede resultar menos riesgosa que la asignación directa de privilegios. Sin embargo, las autorizaciones pueden permitir a un usuario realizar tareas de seguridad elevada, por ejemplo, asignar indicadores de auditoría.

Un perfil de derechos que se asigna directamente a un usuario presenta problemas de facilidad de uso más que problemas de seguridad. Los comandos con atributos de seguridad en el perfil de derechos sólo se pueden ejecutar correctamente en un shell de perfil. El usuario no se debe olvidar de abrir un shell de perfil y, a continuación, debe escribir los comandos en ese shell. Un rol al cual se asigna un perfil de derechos obtiene un shell de perfil automáticamente. Por lo tanto, los comandos se ejecutan correctamente en el shell del rol.