Control de Acceso Basado en Conjuntos de Reglas (RSBAC) para Linux - Vista general
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).
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|