Gentoo Logo

Control de Acceso Basado en Conjuntos de Reglas (RSBAC) para Linux - Vista general

Contenido:

1.  Características principales

  • Extensión de seguridad para el núcleo Linux libre y de código abierto (GPL)
  • No depende de ningún gobierno o gran compañía
  • Modelos de seguridad tanto conocidos como nuevos incluyendo MAC, ACL y RC
  • Control sobre usuarios individuales y accesos de programas de red
  • Es posible cualquier combinación de modelos
  • Fácilmente extensible: puede escribir sus propios modelos y registrarlos en caliente
  • Soporta todos los núcleos actuales
  • Estable para su uso en producción

2.  ¿Qué es RSBAC?

RSBAC es una flexible, potente y rápida estructura de control de acceso de código abierto para núcleos Linux actuales, que lleva en producción estable desde enero del 2000 (versión 1.0.9a). Todo el desarrollo se ha llevado a cabo de forma independiente y no se ha usado ningún código de control de acceso previo.

El paquete estándar incluye algunos modelos de control de acceso como MAC, RC o ACL (vea más abajo). Además, la utilidad de registro en caliente (REG) facilita la implementación de sus propios modelos de control de acceso como módulos del núcleo y su registro en caliente.

La estructura RSBAC está basada en la Estructura Generalizada para el Control de Acceso (GFAC) de Abrams y LaPadula. Todas las llamadas de sistema relevantes para la seguridad han sido extendidas mediante código de aplicación de seguridad. Este código llama al componente central de decisión, que a su vez llama a todos módulos de decisión activos y generan una decisión conjunta. Esta decisión se aplica entonces mediante las extensiones a las llamadas de sistema.

Las decisiones se basan en el tipo de acceso (tipo de petición), el motivo del acceso, en los valores de los atributos del sujeto que solicita acceso y el objetivo al que se accede. Algunos módulos pueden usar atributos independientes adicionales, p.e. el módulo de privacidad (PM). Todos los atributos se guardan en directorios totalmente protegidos, uno por dispositivo montado. Por tanto cualquier cambio en un atributo requiere llamadas de sistema especiales.

Todos los tipos de acceso de red pueden ser controlados individualmente para todos los usuarios y programas. Esto le da un control completo sobre el comportamiento de su red y hace que los accesos de red no deseados sean más fáciles de prever y detectar.

Como todas las decisiones sobre tipos de acceso están basadas en peticiones de decisiones generales, se pueden implementar muchas políticas de seguridad diferentes como módulo de decisión. Aparte de los módulos integrados que se explican más abajo, el módulo opcional Módulo de Registro (REG) permite el registro de módulos adicionales de decisión en caliente.

3.  Módulos implementados

Los siguiente módulos están incluidos en la versión 1.2.5 de RSBAC. Tenga en cuenta que todos los módulos son opcionales.

MAC

Bell-LaPadula Mandatory Access Control (Control de Acceso Obligatorio de Bell-LaPadula).

UM

La administración de usuarios (User Management) en RSBAC se hace a través del núcleo y complementa o incluso substituye a la que hace el propio subsistema de Linux. La administración de usuarios se aplica con flexibilidad y granularidad.

PM

Privacy Model (Modelo de Privacidad). Es la primera implementación del Modelo de privacidad de Simone Fischer-Huebner. Puede consultar el documento de RSBAC sobre la implementación del Modelo de Privacidad para la Conferencia Nacional de Información sobre Sistemas de Seguridad (NISSC 98).

Dazuko

Dazuko no es realmente un modelo de control de acceso, sino más bien un módulo de protección del sistema contra malware. Puede prevenir la lectura y ejecución de archivos infectados por malware.

FF

File Flags (Banderas de Archivos). Proporciona y usa banderas para archivos y directorios, actualmente son la siguientes: sólo ejecución (execute_only, archivos), sólo lectura (read_only, archivos y directorios), sólo búsqueda (search_only, directorios), borrado seguro (secure_delete, archivos), no ejecutar (no_execute, archivos), añadir herencia (add_inherited, archivos y directorios), no renombrar ni borrar (no_rename_or_delete, archivos y directorios, no es heredable) y sólo añadir (archivos y directorios). Sólo los oficiales de seguridad FF pueden modificar estas banderas.

RC

Role Compatibility (Compatibilidad con Roles). Define roles y tipos para cada tipo de objetivo (archivo, directorio, dispositivo, ipc, scd, proceso). Se puede definir la compatibilidad de cada rol con todos los tipos y otros roles individualmente y con la granularidad requerida. Hay una fina separación de funciones para la administración. Los derechos otorgados tienen límite de tiempo. Consulte, por favor, el Documento Nordsec 2002 RC para una descripción detallada del diseño y la especificación del modelo.

AUTH

Aplicación de la autorización. Controla toda las peticiones de cambio de propietario (CHANGE_OWNER) para procesos objetivos, sólo los programas/procesos con permiso para hacer setuid y aquellos con una capacidad para el ID del usuario objetivo pueden hacer setuid. Las capacidades pueden ser controladas por otros programas/procesos, p.e. demonios de autentificación.

ACL

Access Control Lists (Listas de Control de Acceso). Hay una lista de control de acceso para cada objeto en la que se definen qué sujetos pueden acceder al objeto y con qué tipo de peticiones. Los sujetos pueden ser de tipo usuario, rol RC, y grupo ACL. Los objetos se agrupan por su tipo de objetivo pero tienen ACLs individuales. Si no hay una entrada en una ACL para un sujeto respecto a un objeto, se heredan los derechos de los objetos padre restringidos por una máscara de herencia. Los derechos directos (usuario) e indirectos (rol, grupo) se acumulan. Hay una ACL predeterminada por cada tipo de objeto en lo más alto de la jerarquía. Se añadió la administración de grupos en la versión 1.0.9a. Los derechos otorgados y la pertenencia a grupos pueden tener limitación de tiempo.

CAP

Linux Capabilities (Capacidades Linux). Se pueden definir un conjunto mínimo y máximo de capacidades Linux ("conjunto de derechos especiales de root") para todos los usuarios y programas. Esto le permite, p.e. ejecutar servicios como un usuario normal o restringir derechos a los programas root de la manera estándar en Linux.

JAIL

Process Jails (Jaula de Procesos). Este módulo añade una nueva llamada de sistema rsbac_jail, que es básicamente un superconjunto de la llamada de sistema jail de FreeBSD. Esta llamada encapsula al proceso solicitante y todos sus subprocesos en un entorno chroot con una IP fija y muchas restricciones adicionales.

RES

Linux Resources (Recursos de Linux). Se Pueden definir un conjunto mínimo y máximo de recursos de Linux (p.e tamaño de memoria, número de archivos abiertos, número de procesos por usuario) para cada usuario y para cada programa. Internamente, estos conjuntos se aplican a las señalizaciones estándar de recursos de Linux.

Todos los módulos de decisión se describen detalladamente en la página de descripción de módulos.

Un objetivo general del diseño de RSBAC ha sido alcanzar algún día el nivel B1 del (obsoleto) Libro Naranja (TCSEC).



Imprimir

Página actualizada 11 de octubre, 2005

Sumario: Este documento le proporcionará una visión general sobre el sistema de control de acceso RSBAC.

Amon Ott
Autor

Michal Purzynski
Editor

Guillaume Destuynder
Editor

Jaime Gascón Romero
Traductor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.