From 45682d76c13f279d433e9e9fefc164bc3806d5ae Mon Sep 17 00:00:00 2001 From: "J. Vicente Carrasco" Date: Mon, 3 Nov 2008 00:52:34 +0000 Subject: - Translation deleted. Hope having a fresh translation very soon. - Use %SOURCE% and %SRCID% tags to store the original revisions of the translated files. In this way, we will be able to generate the list of the outdated files automatically. Obtained from: The FreeBSD Hungarian Documentation Project Inspired by: The FreeBSD Greek Documentation Project --- es_ES.ISO8859-1/books/handbook/mac/chapter.sgml | 2487 +---------------------- 1 file changed, 72 insertions(+), 2415 deletions(-) (limited to 'es_ES.ISO8859-1') diff --git a/es_ES.ISO8859-1/books/handbook/mac/chapter.sgml b/es_ES.ISO8859-1/books/handbook/mac/chapter.sgml index ffd735ebb0..8685afb6fd 100644 --- a/es_ES.ISO8859-1/books/handbook/mac/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/mac/chapter.sgml @@ -1,6 +1,15 @@ @@ -25,2487 +34,135 @@ MAC - &os; 5.X introdujo nuevas extensiones de seguridad del - proyecto TrustedBSD basado en el escrito &posix;.1e. Dos de los - mecanismos de seguridad más significativos son las - facilidades de Listas de control de acceso del sistema de archivos - (Access Control Lists,ACLs) y control de acceso - obligatorio (Mandatory Access Control, MAC). - El control de acceso obligatorio permite que nuevos módulos - de control de acceso sean cargados, implementando nuevas - políticas de seguridad. Algunas brindan protecciones de un - angosto subconjunto del sistema, endureciendo un servicio en - particular, mientras otros proveen seguridad etiquetada comprensible - a traveés de todos las áreas y objetos. - La parte obligatoria de la definición proviene del hecho - que la imposición de los controles es realizada por - administradores y el sistema, y no es dejada a la discreción - de los usuarios como se hace con el control de acceso discrecional - (discretionary access control, DAC, los - permisos de archivo y System V IPC estándares - en &os;). - - Este capítulo se enfocará en la estructura - del control de acceso obligatorio (MAC Framework), y un - conjunto de módulos enchufables de políticas de - seguridad habilitando varios mecanismos de seguridad. - - Despues de leer este capítulo, usted sabrá: - - - - Que son los módulos de políticas de seguridad - MAC actualmente incluidos en &os; y sus - mecanismos asociados. - - - - Que implementan los módulos de políticas de - seguridad MAC así como la diferencia - entre una política etiquetada y no etiquetada. - - - - Como configurar eficientemente un sistema para - utilizar la estructura MAC. - - - - Como configurar los diferentes módulos de - políticas de seguridad incluidos con la estructura - MAC. - - - - Como implementar un ambiente más seguro utilizando - la estructura MAC y los ejemplos - mostrados. - - - - Como probar la configuración MAC - para asegurar que la estructura ha sido implementada - correctamente. - - - - Antes de leer este capítulo, usted debería: - - - - Entender las bases de &unix; y &os; - (). - - - - Estar familiarizado - con lo basico de la configuración/compilación - del kernel - (). - - - - Tener cierta familiaridad con seguridad y como - se relaciona con &os; (). - - - - - El uso inadecuado de la - información en este capítulo puede provocar - pérdida de acceso al sistema, irritación de - los usuarios, o inhabilidad para accesar las características - que brinda X11. Aún más importante, - MAC no debe confiarse para asegurar un sistema - completamente. La estructura MAC solo aumenta - las políticas de seguridad existentes; sin prácticas - de seguridad sonadas y revisiones de seguridad constantes el - sistema nunca será completamente seguro. - - También debe notarse que los ejemplos contenidos - dentro de este capítulo son solo eso, ejemplos. No - se recomienda que estas configuraciones en particular sean - desplegadas en un sistema en producción. Implementar - los varios módulos de políticas de seguridad - toma un buen de pensamiento. Alguien que no entiende - completamente como funciona todo puede encontrarse en la - situación de regresar a configurar muchos archivos - y directorios a través de todo el sistema. - - - - Que es lo que no se cubrirá - - Este capitulo cubre un amplio rango de temas de seguridad - relacionados a la estructura MAC; sin embargo, - el desarrollo de nuevos módulos de políticas de - seguridad MAC no serán cubiertos. Un - número de módulos de políticas de seguridad - incluidos con la estructura MAC tienen - características específicas las cuales son provistas - tanto para prueba como para desarrollo de nuevos módulos. - Estos incluyen &man.mac.test.4;, &man.mac.stub.4; y &man.mac.none.4;. - Para más información sobre estos módulos de - políticas de seguridad y los varios mecanismos que brindan, - por favor revise las páginas de manual. - + + +Pendiente de Traducción + + Términos clave en este capítulo - Antes de leer este capítulo, se deben explicar - algunos términos clave. Esto tal vez borre cualquier - confusión que pueda ocurrir y evite la indrocucción - abrupta de nueva información y términos. - - - - compartimiento: Un compartimiento - es un conjunto de programas y datos a ser particionados o - separados, en donde a usuarios se les proporciona acceso - explícito a componentes específico de un sistema. - También, un compartimiento representa un agrupamiento, - como un grupo de trabajo, departamento, proyecto o tópico. - Usando compartimientos es posible implementar una política - de seguridad de necesita-saber. - - - - integridad: Integridad, como - un concepto clave, es el nivel de confianza que puede - ser puesto en un dato. Mientras el nivel de integridad - del dato es elevado también lo hace la habilidad - de confiar en ese dato. - - - - etiqueta: Una etiqueta es un - atributo de seguridad el cual puede ser aplicado a - archivos, directorios o a otros componentes en el - sistema. Se puede considerar una estampilla de seguridad; - cuando una etiqueta es colocada en un archivo describe - las propiedades de seguridad para ese archivo específico - y solo permitirá acceso de archivos, usuarios, - recursos, etc. con características de seguridad - similares. El significado e interpretación de valores - de etiquetas depende de la configuración de la - política: mientras algunas políticas pueden - tratar una etiqueta como la representación de - la integridad o secreto de un objeto, otras políticas - pueden usar etiquetas para mantener reglas de acceso. - - - - nivel: El aumento o disminución - de un atributo de seguridad. Si el nivel incrementa, - su seguridad es considerada que se eleva también. - - - - multietiqueta: La propiedad - es una opción del - sistema de archivos la cual puede ser activada en modo - mono usuario usando la utilidad &man.tunefs.8; , durante - el arranque usando el archivo &man.fstab.5; , o durante - la creación de un nuevo sistema de archivos. - Esta opción le permitirá a un administrador - aplicar diferentes etiquetas MAC en - diferentes objetos. Esta opción - solamente aplica a módulos de políticas de - seguridad que soporten etiquetamiento. - - - - objeto: Un objeto o un - objeto de sistema es una entidad a través de - la cual la información fluye bajo la dirección - de un sujeto. - Esto incluye directorios, archivos, campos, pantallas, - teclados, memoria, almacenamiento magnético, - impresoras o cualquier otro dispositivo de - almacenamiento/transporte. Básicamente, un objeto - es un contenedor de datos o un recurso del sistema; - el acceso efectivo a un objeto significa - acceso a los datos. - - - - política: Una colección - de reglas que definen como se van a lograr los objetivos. - Una política usualmente documenta - como ciertos elementos deben ser manejados. Este capítulo - considerará el término - política en este contexto como - política de seguridad; por ejemplo, - una colección de reglas que controlan el flujo de datos e - información y define quién tendrá acceso a - esos datos e información. - - - - sensitividad: Usualmente utilizado - al discutir MLS. Un nivel de sensitividad - es un término usado para describir que tan importante - o secreto debe ser el dato. - Mientras el nivel de sensitividad - del dato es incrementado también lo hace la - importancia del secreto o confidencialidad del dato. - - - - etiqueta única: Una etiqueta - única es cuando todo el sistema de archivos - utiliza una etiqueta para imponer control de acceso - sobre el flujo de datos. Cuando un sistema de archivos - tiene esto activado, lo cual es en cualquier momento - que la opción - no está activada, todos los archivos concordarán - a la misma configuración de etiqueta. - - - - sujeto: Un sujeto es cualquier - entidad activa que provoca que la información - fluya entre objetos; por ejemplo, - un usuario, usuario procesador, proceso de sistema, etc. - En &os;, esto es casi siempre un hilo actuando en un - proceso en beneficio de un usuario.. - - + + Pendiente de traducción + Explicación de MAC - Con todos estos nuevos terminos en mente, considere - como la estructura MAC aumenta la - seguridad de el sistema como un todo. Los varios módulos - de políticas de seguridad provistos por la estructura - MAC pueden ser usados para proteger - la red y los sistemas de archivos, bloquear usuarios de - accesar ciertos puertos y sockets, y más. Quizás - el mejor uso de los módulos de políticas es el - de mezclarlos juntos, por medio del cargado de varios módulos - de políticas de seguridad al mismo tiempo para un - ambiente de seguridad multicapa. En un ambiente de seguridad - multicapa, múltiples módulos de políticas - están en efecto para mantener la seguridad. Esto es diferente - a un política de endurecimiento, la cual tipicamente endurece - elementos de un sistema que es utilizado solamente para propositos - específicos. El único lado malo es la carga - administrativa en casos de sistemas de archivos con etiquetas - múltiples, configuraciones de control de acceso a red - usuario por usuario, etc. - - Estas desventajas son mínimas cuando se comparan - con el efecto perdurable de la estructura; por ejemplo, la - habilidad de seleccionar y elegir que políticas son - requeridas para una configuración específica mantiene - la sobrecarga de ejecución abajo. La reducción de - soporte para políticas innecesarias puede elevar la - ejecución total del sistema así como también - ofrecer flexibilidad de elección. Una buena - implementación podría considerar los requerimientos - de seguridad total e implementar efectivamente los varios - módulos de políticas de seguridad ofrecidos por la - estructura. - - Así un sistema utilizando una propiedad - MAC debería al menos garantizar que a un - usuario no se le permitirá cambiar atributos de seguridad a - su antojo; todos las utilidades de usuario, programas y scrips deben - trabajar dentro de las restricciones de las reglas de acceso - provistas por el módulo de políticas de seguridad - seleccionado; y ese control total de las reglas de acceso - MAC están en las manos del administrador - del sistema. - - Es deber solamente del administrador de sistema seleccionar - cuidadosamente los módulos de políticas de seguridad - correctos. Algunos ambientes pueden necesitar limitar el control - de acceso a través de la red; en estos casos los - módulos de políticas &man.mac.portacl.4;, - &man.mac.ifoff.4; e incluso &man.mac.biba.4; pueden ser un buen - punto de inicio. En otros casos, confidencialidad estricta de - objetos del sistema de archivos puede ser requerida. Módulos - de políticas como &man.mac.bsdextended.4; y &man.mac.mls.4; - existen para este propósito. - - Desiciones de política pueden hacerse basándose - en la configuración de red. Quizás solo - a ciertos usuarios se les debería permitir acceso - a facilidades proporcionadas por &man.ssh.1; para - accesar la red o Internet. El módulo de políticas - &man.mac.portacl.4; podría ser la opción para estas - situaciones. Pero, ¿que debería hacerse en el caso de sistemas - de archivos?, ¿los accesos a ciertos directorios deberían ser - cortados de otros grupos o usuarios específicos?, ¿o - deberíamos limitar accesos a usuarios o utilidades a archivos - específicos poniendo ciertos objetos como clasificados? - - En el caso de sistemas de archivo, el acceso a los - objetos puede ser considerado confidencial a algunos - usuarios, pero no a otros. Por ejemplo, un gran grupo de - desarrolladores puede ser dividido en pequeños grupos - de individuos. Desarrolladores en el proyecto A no se les - debe permitir accesar objetos escritos por desarrolladores - del proyecto B. Pero pueden necesitar accesar objetos - creados por desarrolladores del proyecto C; esa es una - situación complicada. Utilizando los diferentes - módulos de políticas de seguridad proporcionados - por la estructura MAC; los usuarios pueden - ser divididos en estos grupos y entonces otorgarles acceso - a las áreas apropiadas sin temor de filtrado de - información. - - Así, cada módulo de poliíticas de seguridad - tiene un modo único de tratar con la seguridad de un sistema en - general. La selección de módulo debería basarse - en una poliítica de seguridad bien planeada. En muchos casos, - la poliítica general tal vez necesite ser revisada y - reimplementada en el sistema. Entender los diferentes módulos - de poliíticas de seguridad ofrecidos por la estructura - MAC le ayudará a los administradores a - elegir las mejores poliíticas para sus situaciones. - - El kernel por omisión de &os; no incluye la opción - para la estructura MAC; así que la - siguiente opción del kernel debe ser agregada antes de - usar cualquiera de los ejemplos o la información de - este capítulo: - - options MAC - - Y el kernel requerirá una recosntrucción y - una reinstalación. - - - Mientras varias páginas de manual para módulos - de políticas MAC afirman que pueden - ser construidos dentro del kernel, es posible cortar el acceso - del sistema a la red y más. Implementar MAC - es muy parecido a implementar un firewall, se debe tener - cuidado en prevenir que el sistema quede bloqueado totalmente. - La habilidad de retornar a una configuración previa - debería ser considerada durante la implementación - de MAC, remotamente debe realizarse con - precaución extrema. - - + Pendiente de traducción - Entendiendo etiquetas MAC - - Una etiqueta MAC es un atributo de - seguridad el cual puede ser aplicado a sujetos y objetos - a través del sistema. - - Al aplicar una etiqueta, el usuario debe ser capaz de - comprender, exactamente, lo que se está haciendo. - Los atributos dsponibles en un objeto dependen del módulo - de política cargado, y esos módulos de política - interpretan sus atributos de diferentes maneras. Si la - configuración es inapropiada debido a falta de - compresnsión, o inhabilidad de comprender las implicaciones, - el resultado puede ser lo inesperado y tal vez, la conducta no - deseada del sistema. - - La etiqueta de seguridad en un objeto es utilizada como - parte de una desición de control de acceso de seguridad - por una política. Con algunas políticas, la - etiqueta por si misma contiene toda la información - necesaria para hacer una desición; en otros modelos, - las etiquetas pueden ser procesadas como parte de un conjunto - más grande de reglas, etc. - - Por ejemplo, activando la etiqueta de biba/low - en un archivo representará una etiqueta mantenida por el - módulo de políticas de seguridad Biba, con un valor - de low. - - Algunos módulos de políticas que soportan la - propiedad de etiquetado en &os; ofrecen tres etiquetas - específicas predefinidas. Estas son las etiquetas - low, high, y equal. Aunque refuerzan el control de acceso de - una manera diferente con cada módulo de políticas, - puede estar seguro que la etiqueta low será la - configuración más baja, la etiqueta equal - provocará que el sujeto o el objeto sea deshabilitado o no - sea afectado, y la etiqueta high impondrá la - configuración más alta disponible en los - módulos de políticas Biba y MLS. - - - Dentro de ambientes de sistemas de archivos con etiqueta - única, solamente una etiqueta puede ser utilizada en objetos. - Esto impondrá un conjunto de permisos de acceso a - través del sistema entero y en muchos ambientes puede ser - todo lo que se requiera. Existen algunos casos donde etiquetas - múltiples pueden ser activadas en objetos o sujetos en el - sistema de archivos. Para esos casos, la opción - puede ser pasada a &man.tunefs.8;. - - en el caso de Biba y MLS, una etiqueta - numérica puede activarse para indicar el nivel preciso - de control jerárquico. Este nivel numérico es - utilizado para particionar o para ordenar información - en difeentes grupos de digamos, clasificación permitiendo - acceso solamente a ese grupo o a un nivel de grupo superior. - - En la mayoría de los casos el administrador solo - estará configurando una etiqueta única para - utilizar a través del sistema de archivos. - - ¡Un momento, esto es similar a DAC! - Pensé que MAC daba control estrictamente - al administrador. Esa declaración todavía - se mantiene como verdadera, hasta cierto grado ya que - root es el único en control y el que - configura las políticas para que los usuarios sean colocados - en las categorías/niveles apropiados. Desafortunadamente, - muchos módulos de políticas pueden restringir al - usuario root también. Control - básico sobre objetos serán entonces liberados al - grupo, pero root puede revocar o modificar - las configuraciones en cualquier momento. Este es el modelo - jerárquico/aclaramiento cubierto por políticas tales - como Biba y MLS. - - - Configuración de etiquetas - - Virtualmente todos los aspectos de configuración de - módulos de políticas de etiquetas serán - realizados usando utilidades del sistema base. Estos comandos - brindan una interfaz simple para la configuración de - objetos o sujetos o para manipulación y verificación - de la configuración. - - Toda la configuración puede hacerse usando - las utilidades &man.setfmac.8; y &man.setpmac.8;. - El comando setfmac es usado para - activar etiquetas MAC en objetos del - sistema mientras que el comando setpmac - es usado para activar etiquetas en sujetos del sistema. - Observe: - - &prompt.root; setfmac biba/high test - - Si no ocurrió algún error con el comando de - arriba, se nos regresará el prompt. El único momento - en que estos comandos no son silentes es cuando se produce - un error; similarmente a los comandos - &man.chmod.1; y &man.chown.8;. En algunos casos el error - puede ser un Permission denied y es - obtenido usualmente cuando la etiqueta está siendo - activada o modificada en un objeto el cual está - restringido.Otras condiciones pueden producir - fallas diferentes. Para ilustrar, el archivo puede no ser - propiedad del usuario tratando de reetiquetar el objeto, el - objeto puede que no exista o que sea de solo lectura. Una - política obligatoria no permitirá al proceso - reetiquetar el archivo, debido tal vez a una propiedad del - archivo, una propiedad del proceso o una propiedad del - valor de la nueva etiqueta propuesta. Por ejemplo: un usuario - corriendo a integridad baja trata de cambiar una etiqueta - de un archivo con integridad baja (low) a una etiqueta de - integridad alta (high). El administrador - puede usar los siguientes comandos para lograr esto: - - &prompt.root; setfmac biba/high test -Permission denied -&prompt.root; setpmac biba/low setfmac biba/high test -&prompt.root; getfmac test -test: biba/high - - Como vemos arriba, setpmac - puede usarse para anular las configuraciones del módulo de - políticas asignando una etiqueta diferente al proceso - invocado. La utilidad - getpmac es utilizada generalmente con procesos - en ejecución, como sendmail: - aunque toma un identificador de proceso en - lugar de un comando la lógica es extremadamente - similar. Si usuarios tratan de manipular un archivo al - que no está a su acceso, dependiendo de las - reglas del módulo de políticas cargado, - el error - Operation not permitted será - desplegado por la función mac_set_link. - - - - Tipos comunes de etiquetas - - Para los módulos &man.mac.biba.4;, &man.mac.mls.4; - y &man.mac.lomac.4;, se tiene la posibilidad de asignar - etiquetas simples. Estas toman la forma de high, - equal y low, a continuación una breve descripción - de lo que estas etiquetas brindan: - - - - La etiqueta low es considerada - la configuración de etiqueta más baja que - un objeto o sujeto puede tener. Activando esto en - objetos o sujetos bloqueará su acceso a objetos - o sujetos marcados como high. - - - - La etiqueta equal solo debería - ponerse en objetos considerados excluidos de la - política. - - - - La etiqueta high proporciona a un - objeto o sujeto la configuración más alta - posible. - - - - Con respeto a cada módulo de políticas, cada - una de esas configuraciones establecerá una directiva - de flujo de información diferente. Leyendo las páginas - de manual pertinentes le explicarán en mayor medida - las cualidades de las configuraciones de estas etiquetas - genéricas. - - - Configuración avanzada de etiquetas - - Números de grado numérico usados por - comparación:compartimiento+compartimiento; así - lo siguiente: - - biba/10:2+3+6(5:2+3-20:2+3+4+5+6) - - Puede ser interpretado como: - - Etiqueta de política Biba/Grado 10 - :Compartimientos 2, 3 y 6: - (grado 5 ...) - - En este ejemplo, el primer grado podría ser - considerao el grado efectivo con - compartimientos efectivos, el segundo - grado es el grado bajo y el último es el grado - alto. En la mayoría de configuraciones estas - opciones no serán utilizadas; de hecho se ofrecen - para configuraciones más avanzadas. - - Cuando se aplica a objetos del sistema, solo tendrán - un grado/compartimiento actual tanto en oposición a sujetos - del sistema como reflejen el rango de derechos disponibles - en el sistema, e interfaces de red, donde sean utilizados - para control de acceso. - - El grado y compartimientos en un par sujeto y objeto - son usados para construir una relación referida - como dominante, en la cual un sujeto domina - un objeto, el objeto domina al sujeto, ninguno domina al - otro, o ambos se dominan. El caso ambos dominan - ocurre cuando las dos etiquetas son iguales. Debido a la - naturaleza de flujo de información de Biba, usted - tiene derecho a un conjunto de compartimientos, - necesita saber, que pueden corresponder - a proyectos, pero los objetos también tiene un - conjunto de compartimientos. - Los usuarios deben de subactivar sus derechos usando - su o setpmac para - poder accesar objetos en un compartimiento desde el cual - no estén restringidos. - - - - - Configuraciones de usuarios y etiquetas - - Los mismos usuarios requieren tener etiquetas para - que sus archivos y procesos puedan interactuar - adecuadamente con la política de seguridad - definida en el sistema. Esto se configura a través - del archivo login.conf mediante el - uso de clases de login. Cada módulo de políticas - que utiliza etiquetas implementará las configuraciones - de clases de usuario. - - Una entrada de ejemplo conteniendo cada configuración - de módulo de políticas es desplegado abajo: - - default:\ - :copyright=/etc/COPYRIGHT:\ - :welcome=/etc/motd:\ - :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ - :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\ - :manpath=/usr/share/man /usr/local/man:\ - :nologin=/usr/sbin/nologin:\ - :cputime=1h30m:\ - :datasize=8M:\ - :vmemoryuse=100M:\ - :stacksize=2M:\ - :memorylocked=4M:\ - :memoryuse=8M:\ - :filesize=8M:\ - :coredumpsize=8M:\ - :openfiles=24:\ - :maxproc=32:\ - :priority=0:\ - :requirehome:\ - :passwordtime=91d:\ - :umask=022:\ - :ignoretime@:\ - :label=partition/13,mls/5,biba/10(5-15),lomac10[2]: - - La opción label es usada para - activar la etiqueta de clase de usuario por omisión - la cual será impuesta por MAC. - A los usuarios no se les permitirá nunca modificar - este valor, así pueda ser considerado no óptimo - para el caso del usuario. En un configuración real, - sin embargo, el administrador nunca deseará habilitar - todos los módulos de políticas. - Se recomienda que el resto de este capítulo sea revisado - antes de que cualquiera de estas configuraciones sea implementada. - - - - Los usuarios pueden cambiar su etiqueta despues del - login inicial; sin embargo, este cambio está sujeto - a la restricción de la política. - El ejemplo de arriba le dice a la política Biba - que la integridad mínima de un proceso es 5, su - máximo es 15, pero la etiqueta por omisión - efectiva es 10. El proceso correrá a 10 hasta que - elija cambiar de etiqueta, quizás el usuario - utilice el comando setpmac, el cual será restringido - por Biba a el rango activado al momento de login. - - - En todos los casos, despues de - un cambio a login.conf, la - base de datos de capacidades de clases de login debe - ser reconstruida usando cap_mkdb - y esto será reflejado a lo largo de cada - ejemplo y discusión futura. - - Es útil notar que muchos sitios pueden - tener un grán número de usuarios en - particular que requieren varias clases de usuarios - diferentes. La planeación profunda se requiere - ya que esto puede tornarse extremadamente difícil - de administrar. - - Versiones futuras de &os; incluirán una nueva - manera de tratar con el mapeo de usuarios a etiquetas; - de todas maneras, esto no estará disponible hasta - despues de &os; 5.3. - - - - Interfaces de red y configuración de etiquetas - - Se pueden colocar etiquetas en interfaces de red también - para ayudar a controlar el flujo de datos a través de - la red. En todos los casos éstas funcionan de la misma - manera que las políticas funcionan con respecto - a objetos. Los usuarios con configuraciones altas en - biba, por ejemplo, no se les permitirá - accesar interfaces de red con una etiqueta de low. - - La puede ser pasada a - ifconfig al activar la etiqueta - MAC en interfaces de red. Por - ejemplo: - - &prompt.root; ifconfig bge0 maclabel biba/equal - - activará la etiqueta MAC de - biba/equal en la interfaz &man.bge.4;. - Cuando se está utilizando una configuración - similar a - biba/high(low-high) la etiqueta entera - debería ser entrecomillada; de otra manera se - retornará un error. - - Cada módulo de políticas que soporta - etiquetamiento posee un sintonizable el cual puede ser - usado para deshabilitar la etiqueta MAC - en interfaces de red. Configurando la etiqueta a - tendrá un efecto similar. - Revise la salida de sysctl, las páginas - de manual de políticas, o incluso la información - encontrada má adelante en este capítulo para - esos sintonizables. - - - - - ¿Etiqueta única o miltietiqueta? - - Por omisión el sistema usará la - opción . Pero, ¿que - significa esto para el administrador?, existen varias - diferencias las cuales, por su propio derecho, ofrecen - pros y contras a la flexibilidad en el modelo de - seguridad de los sistemas. - - La opción solo - permite una etiqueta, para ilustrar, biba/high - para ser usado para cada objeto o sujeto. Brinda una menor - carga de administración pero decrementa la flexibilidad - de políticas que soportan etiquetado. Muchos administradores - pueden querer utilizar la opción - en sus políticas de seguridad. - - La opción le permitirá - a cada objeto o sujeto tener su propia etiqueta MAC - independiente en lugar de la opción - estándar la cual solo - permitirá una etiqueta en toda la partición. La - opciones de etiqueta y - solo se requieren para las - políticas que implementan la propiedad de etiquetado, - incluyendo las políticas Biba, Lomac, MLS - y SEBSD. - - En muchos casos, la puede que no - se necesite activar. Considere la siguiente situación y - el siguiente modelo de seguridad: - - - - servidor de Web &os; usando la estructura - MAC y una mezcla de las - diferentes políticas. - - - - Esta máquina solo requiere una etiqueta, - biba/high, para todo en el sistema. - Aquí el sistema de archivos no requerirá - la opción ya que - una etiqueta única estará siempre en - efecto unicamente. - - - - Pero, esta máquina será un servidor web - y debería ejecutar el servidor web en - biba/low para prevenir capacidades de - escritura. La política Biba y su funcionamiento - serán discutidos más adelante, por eso si el - comentario anterior fue dificil de interpretar solo continue - leyendo y regrese despues. El servidor podría utilizar - una partición separada activada a - biba/low para la mayoría o para todo - su estado de ejecución. Faltan muchas cosas en este - ejemplo, como las restricciones en datos, configuración - y propiedades de usuarios; de todas maneras, este es solo un - ejemplo rápido para probar el punto mencionado. - - - - Si alguna de las políticas de no etiquetado - se van a utilizar, entonces la opción - nunca sería requerida. Esto - incluye las políticas seeotheruids, - portacl y partition. - - Debería notarse también que usando - con una partición y - estableciendo un modelo de seguridad basado en la - funcionalidad puede abrir las - puertas para una carga administrativa mayor ya que todo - en el sistema de archivos tendría una etiqueta. - Esto incluye directorios, archivos e incluso nodos de - dispositivo. - - El siguiente comando activará - en el sistema de archivos para tener etiquetas múltiples. - Esto solo puede hacerse en modo mono usuario: - - &prompt.root; tunefs -l enable / - - Esto no es un requerimiento para el sistema de - archivos swap. - - - Algunos usuarios han experimentado problemas - activando la bandera en la - partición raíz. - Si este es el caso, por favor revise la - de este capítulo. - - - - - Controlando MAC con sintonizables - - Sin ningún módulo cargado, hay todavía - algunas partes de MAC las cuales pueden - ser configuradas utilizando la interfaz sysctl. - Estos sintonizables son descritos abajo y en todos los - casos el número uno (1) significa habilitado - mientras que el número cero (0) significa - deshabilitado: - - - - security.mac.enforce_fs tiene el valor - uno (1) por omisión e impone políticas - MAC del sistema de archivos en el sistema - de archivos. - - - - security.mac.enforce_kld tiene el valor - uno (1) por omisión e impone políticas - MAC de enlazado de kernel en el enlazador - dinámico del kernel (ver &man.kld.4;). - - - - security.mac.enforce_network tiene el valor - uno (1) por omisión e impone políticas - MAC de red. - - - - security.mac.enforce_pipe tiene el valor - uno (1) por omisión e impone políticas - MAC en pipes. - - - - security.mac.enforce_process tiene el valor - uno (1) por omisión e impone políticas - MAC en procesos que utilizan - comunicación inter-procesos. - - - - security.mac.enforce_socket tiene el valor - uno (1) por omisión e impone políticas - MAC en sockets (ver la p´gina de manual - &man.socket.2;). - - - - security.mac.enforce_system tiene el valor - uno (1) por omisión e impone políticas - MAC en actividades del sistema tales como - contabilidad y reinicio. - - - - security.mac.enforce_vm tiene el valor - uno (1) por omisión e impone políticas - MAC en la memoria virtual del sistema. - - - - - Cada política u opción MAC - soporta sintonizables. Estas usualmente cuelgan del - árbol - security.mac.<policyname>. - Para visualizar todos los sintonizables de MAC - utilice el siguiente comando: - - &prompt.root; sysctl -da | grep mac - - - Esto debe ser interpretado como si todas las - políticas básicas MAC - están impuestas por omisión. - Si los módulos fueron construidos en el kernel - el sistema podría estar extremadamente cerrado - y muy probablemente sin poder comunicarse con la red - local o conectar a Internet, etc. Debido a esto la - construcción de los módulos dentro del - kernel no es completamente recomendable. No porque - limite la habilidad de deshabilitar funciones al vuelo - con sysctl, pero le permite al - administrador cambiar instantaneamente las políticas - de un sistema sin el requerimiento de recosntruir y - reinstalar un nuevo sistema. - + Las etiquetas MAC + + Pendiente de traducción + - Configuración de módulo - - Cada módulo incluido con la estructura MAC - puede ser ya sea compilado en el kernel como se notó arriba - o cargado como un módulo ejecutable del kernel. - El método recomendado es agregar el nombre del - módulo al archivo - /boot/loader.conf para que se cargue - durante la operación inicial de arranque. - - Las siguientes secciones discutirán los - varios módulos MAC y cubrirán - sus propiedades. - Implementarlos en un ambiente específico también - será una consideración de este capítulo. - Algunos módulos soportan el uso de etiquetamiento, - el cual controla accesos mediante la imposición de - una etiqueta como esto es permitido y esto no. - Un archivo de configuración de etiqueta puede controlar - como se pueden accesar archivos, se dan las comunicaciones - de red y más. La sección previa mostró como - la bandera podía activarse - en sistemas de archivos para habilitar control de acceso - por archivo o por partición. - - Una configuración de etiqueta única impondría - solamente una etiqueta a través del sistema, es por eso - que la opción tunefs es llamada - . - - - El módulo MAC seeotheruids - - - MAC See Other UIDs Policy - - Nombre de módulo: - mac_seeotheruids.ko - - Línea de configuración de Kernel: - options MAC_SEEOTHERUIDS - - Opción de arranque: - mac_seeotheruids_load="YES" - - El módulo &man.mac.seeotheruids.4; imita los - sintonizables de sysctl - security.bsd.see_other_uids - y security.bsd.see_other_gids. - Esta opción no requiere activar ninguna etiqueta - antes de la configuración y puede operar de - manera transparente con los otros módulos. - - Despues de cargar el módulo, los - siguientes sintonizables de sysctl - pueden utilizarse para controlar las opciones: - - - - security.mac.seeotheruids.enabled - habilitará las opciones del módulo, con - las opciones por omisión. Estas opciones por - omisión le negarán a los usuarios la - habilidad de ver procesos y sockets propiedad de - otros usuarios. - - - - - security.mac.seeotheruids.specificgid_enabled - permitirá a un cierto grupo ser exentados de esta - política. Para exentar grupos específicos de - esta política, utilice el sintonizable de - sysctl security.mac.seeotheruids.specificgid=XXX. - En el ejemplo de arriba, XXX - debería ser reemplazado con el ID numérico a ser - exentado. - - - - - security.mac.seeotheruids.primarygroup_enabled - es usado para exentar grupos primarios específicos de - esta política. Cuando utilice este sintonizable no - se debe activar - security.mac.seeotheruids.specificgid_enabled. - - - - + Configuración de módulos + + Pendiente de traducción - - El módulo MAC bsdextended - - MAC - File System Firewall Policy - - Nombre de módulo: - mac_bsdextended.ko - - Línea de configuración de Kernel: - options MAC_BSDEXTENDED - - Opción de arranque: - mac_bsdextended_load="YES" - - El módulo &man.mac.bsdextended.4; impone el - fireall del sistema de archivos. La política de - este módulo brinda una extensión al modelo - estándar de permisos del sistema de archivos, - permitiendo a un administrador un conjunto de reglas - tipo firewall para proteger archivos, utilidades y directorios - en la jerarquía del sistema de archivos. - - La política puede ser creada mediante una utilidad, - &man.ugidfw.8;, que tiene una sintaxis similar a la de - &man.ipfw.8;. Se pueden escribir más herramientas - utilizando las funciones en la librería - &man.libugidfw.3;. - - Se debe tener extrema precaución al trabajar con - este módulo, el uso incorrecto puede bloquear el - acceso a ciertas partes del sistema de archivos. - - - Ejemplos - - Despues de que el módulo &man.mac.bsdextended.4; ha - sido cargado, el siguiente comando puede ser usado para - listar la regla de configuración actual: - - &prompt.root; ugidfw list -0 slots, 0 rules - - Como se esperaba, no existen reglas definidad. Esto - significa que todo es completamente accesible. Para crear - una regla que bloqueará todos los accesos de - usuarios pero dejará inafectado a - root simplemente ejecute - el siguiente comando: - - &prompt.root; ugidfw add subject not uid root new object not uid root mode n - - - En releases previas a &os; 5.3, el - parámetro add no existía. - En esos casos set deberí ser - utilizado en su lugar. Vea abajo para un ejemplo de - comando. - - Esta es una muy mala idea ya que bloqueará a - todos los usuarios de utilizar incluso los comandos más - simples, como ls. Una lista más - patriotica de reglas puede ser: - - &prompt.root; ugidfw set 2 subject uid user1 object uid user2 mode n -&prompt.root; ugidfw set 3 subject uid user1 object gid user2 mode n - - Esto bloqueará todos los accesos, incluyendo - listado de directorios, al directorio home de - user2 - desde el nombre de usuario user1. - - En lugar de user1, se puede pasar - . - Esto impondrá las mismas restricciones de acceso de - arriba para todos los usuarios en lugar de solo uno. - - - El usuario root no será - afectado por estos cambios. - - - Esto debe proporcionar una idea general de - como se puede utilizar el módulo - &man.mac.bsdextended.4; para ayudar a fortificar - un sistema de archivos. Para mayor información, - vea las páginas de manual - &man.mac.bsdextended.4; y &man.ugidfw.8;. - El módulo MAC ifoff - - MAC Interface Silencing Policy - - Nombre de módulo: mac_ifoff.ko - - Línea de configuración de Kernel: - options MAC_IFOFF - - Opción de arranque: mac_ifoff_load="YES" - - - El módulo &man.mac.ifoff.4; existe solamente - para deshabilitar interfaces de red al vuelo y evitar que - interfaces de red sean levantadas durante el arranque - inicial del sistema. No requiere activar ninguna etiqueta - en el sistema, ni tiene dependencias de otros - módulos MAC. - - La mayoría del control es hecho - a través de los sintonizables de sysctl - listados abajo. - - - - security.mac.ifoff.lo_enabled - habilitará/deshabilitará todo el tráfico - en la interfaz loopback (&man.lo.4;). - - - - security.mac.ifoff.bpfrecv_enabled - habilitará/deshabilitará todo el tráfico - en la interfaz del filtro de paquetes de Berkeley - (&man.bpf.4;) - - - - security.mac.ifoff.other_enabled - habilitará/deshabilitará todo el tráfico - en todas las demás interfacez. - - - - Uno de los usos más comunes de &man.mac.ifoff.4; es - el monitoreo de red en un ambiente donde el tráfico de - red no debe ser permitido durante la secuencia de arranque. - Otro uso sugerido puede ser escribir un script el cual - utilice - security/aide para bloquear - el tráfico de red automaticamente si encuentra archivos - nuevos o alterados en directorios protegidos. + Pendiente de traducción + + El módulo MAC portacl - - MAC Port Access Control List Policy - - Nombre de módulo: mac_portacl.ko - - Línea de configuración de Kernel: - MAC_PORTACL - - Opción de arranque: - mac_portacl_load="YES" - - El módulo &man.mac.portacl.4; es utilizado para - limitar el amarre a puertos locales TCP y - UDP usando una variedad de variables - sysctl. En esencia &man.mac.portacl.4; hace - posible permitir a usuarios que no son root - amarrarse a puertos privilegiados específicos, por - ejemplo, puertos menores a 1024. - - Una vez cargado, este módulo habilitará - la política MAC en todos los - sockets, Los siguientes sintonizables están - disponibles: - - - - security.mac.portacl.enabled - habilitará/deshabilitará la política - completamente.Debido a un error, la variable - de sysctl - security.mac.portacl.enabled no - funcionará en &os; 5.2.1 o releases - anteriores. - - - - security.mac.portacl.port_high - especificará el número de puerto más - elevado para el que &man.mac.portacl.4; habilitará - protección. - - - - security.mac.portacl.suser_exempt - exentará cuando esté a un valor diferente - de cero, al usuario root de esta - política. - - - - security.mac.portacl.rules - especificará la política actual mac_portacl; - ver abajo. - - - - La política actual mac_portacl, - como se especifica en la variable de sysctl - security.mac.portacl.rules - es un texto de cadena de la forma: - rule[,rule,...] con tantas reglas - como se necesiten. Cada regla es de la forma: - idtype:id:protocol:port. El - parámetro - idtype puede ser - uid o gid e interpreta - el parámetro id ya sea como - id de usuario o id de grupo, respectivamente. - El parámetro - protocol es usado para determinar - si la regla debe aplicar a TCP o - UDP configurando el parámetro a - tcp o udp. - El parámetro final port es el - número de puerto al que se le permitirá - amarrarse al usuario o grupo especificado. - - - Ya que las reglas son interpretadas directamente por - el kernel, solo valores numéricos pueden utilizarse - para los parámetros ID de usuario, ID de grupo y puerto. - Ejemplo, nombres de usuario, grupo y servicios de puerto - no pueden ser usados. - - - Por omisión, en sistemas tipo &unix;, puertos - menores que 1024 solo pueden ser usados o amarrados a - procesos privilegiados, ejemplo, aquellos que corren - como root. Para que - &man.mac.portacl.4; permita que procesos no privilegiados - se amarren a puertos debajo de 1024 esta restricción - estándar de &unix; debe ser deshabilitada. Esto puede - lograrse activando a cero las variables de &man.sysctl.8; - net.inet.ip.portrange.reservedlow y - net.inet.ip.portrange.reservedhigh. - - Vea los ejemplos abajo o revise la página de - manual &man.mac.portacl.4; para mayor información. - - - Ejemplos - - Los siguientes ejemplos deben iluminar la discusión - de arriba un poco mejor: - - &prompt.root; sysctl security.mac.portacl.port_high=1023 -&prompt.root; sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0 - - Primero configuramos &man.mac.portacl.4; para cubrir - los puertos privilegiados estándar y deshabilitar - las restricciones de amarre normales &unix;. - - &prompt.root; sysctl security.mac.portacl.suser_exempt=1 - - El usuario root no debe ser invalidado - por esta política, así que ponga - security.mac.portacl.suser_exempt a un valor - diferente de cero. El módulo &man.mac.portacl.4; - ha sido ahora configurado para comportarse de la misma - manera en que lo hacen los sistemas tipo &unix; por - omisión. - - &prompt.root; sysctl security.mac.portacl.rules=uid:80:tcp:80 - - Permite al usuario con UID 80 - (normalmente el usuario www) amarrarse - al puerto 80. Esto puede usarse para permitir al usuario - www ejecutar un servidor web sin tener - siquiera privilegios de root. - - &prompt.root; sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995 - - Permite al usuario con UID de - 1001 amarrarse al puerto TCP 110 - (pop3) y 995 (pop3s). - Esto le permitirá a este usuario iniciar un - servidor que acepte conexiones en los puertos - 110 y 995. - + Pendiente de traducción + + - Políticas MAC con propiedades de etiquetamiento - - Las siguientes secciones discutirán políticas - MAC que utilizan etiquetas. - - De aquí en adelante este capítulo se enfocará - en las propiedades de &man.mac.biba.4;, &man.mac.lomac.4;, - &man.mac.partition.4;, y &man.mac.mls.4;. - - - Este es solamente un ejemplo de configuración y - no debe ser considerado para una implementación en - producción. El objetivo es documentar y mostrar la - sintaxis así como los ejemplos para la - implementación y prueba. - - - Para que estas políticas funcionen correctamente - se deben hacer varias preparaciones. - - - Preparación para políticas de - etiquetamiento - - Los siguientes cambios son requeridos en - el archivo login.conf: - - - - Una clase insecure, u otra - clase de tipo similar, debe ser agregada. - La clase de login insecure - no es requerida y solo es utilizada aquícomo un ejemplo; - configuraciones diferentes pueden utilizar otro nombre - de clase. - - - La clase insecure debe tener - las siguientes propiedades y definiciones. Varias - de estas pueden ser alteradas pero la línea - que define la etiqueta por omisión es un - requerimiento y debe permanecer. - - insecure:\ - :copyright=/etc/COPYRIGHT:\ - :welcome=/etc/motd:\ - :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ - :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\ - :manpath=/usr/share/man /usr/local/man:\ - :nologin=/usr/sbin/nologin:\ - :cputime=1h30m:\ - :datasize=8M:\ - :vmemoryuse=100M:\ - :stacksize=2M:\ - :memorylocked=4M:\ - :memoryuse=8M:\ - :filesize=8M:\ - :coredumpsize=8M:\ - :openfiles=24:\ - :maxproc=32:\ - :priority=0:\ - :requirehome:\ - :passwordtime=91d:\ - :umask=022:\ - :ignoretime@:\ - :label=partition/13,mls/5,biba/low: - - El comando &man.cap.mkdb.1; necesita ser ejecutado - en &man.login.conf.5; antes de que cualquiera - de los usuarios puede ser cambiado a la nueva - clase. - - El usuario root debe también - ser colocado en un clase de login; de otra manera, casi - cualquier comando ejecutado por root - requerirá el uso de - setpmac. - - - La reconstrucción de la base de datos - de login.conf puede causar - algunos errores posteriores con la clase daemon. - Simplemente descomentando la cuenta daemon y - reconstruyendo la base de datos debería - aliviar estos síntomas. - - - - - Asegurarse que todas las particiones - en las que el etiquetamiento MAC - será implementado soporten - . - Debemos hacer esto porque muchos de los ejemplos - aquí mostrados contienen diferentes - etiquetas para propósitos de prueba. - Revise la salida del comando mount - como medida precautoria. - - - - Cambie cualquier usuario que tendrá los más - altos mecanismos de seguridad impuestos a la nueva clase - de usuario. Una ejecución rápida de - &man.pw.8; o &man.vipw.8; debe hacer el truco. - - - + Políticas de etiquetas MAC + + + Pendiente de traducción + El módulo MAC partition - - MAC Process Partition Policy - - Nombre de módulo: - mac_partition.ko - - Línea de configuración de Kernel: - options MAC_PARTITION - - Opción de arranque: - mac_partition_load="YES" - - La política &man.mac.partition.4; dejará - caer procesos en particiones específicas - basandose en su etiqueta MAC. Piense en - ello como un tipo especial de &man.jail.8;, aunque eso es - dificilmente una comparación meritoria. - - Este es un módulo que debe ser agregado al - archivo &man.loader.conf.5; para que cargue y - habilite la política durante el proceso - de arranque. - - La mayoría de configuraciones para esta - política son realizadas usando la utilidad - &man.setpmac.8; que será explicada abajo. - El siguiente sintonizable de sysctl - está disponible para esta política: - - - - security.mac.partition.enabled - habilitará la imposición de particiones - de procesos MAC. - - - - Cuando esta política está habilitada, los - usuarios solo tendán permitido ver sus procesos pero - no tendán permitida la posibilidad de trabajar con - ciertas utilidades. Por ejemplo, un usuario en la - clase insecure de arriba no tendá - permitido accesar el comando top así - como muchos otros comandos que necesitan engendrar un - proceso. - - Para activar o tirar utilidades dentro de una etiqueta - de partición, use la utilidad setpmac: - - &prompt.root; setpmac partition/13 top - - Esto agregará el comando top - a la etiqueta activada en usuarios en la clase - insecure. Note que todos los procesos - engendrados por usuarios en la clase insecure - permanecerán en la etiqueta partition/13. - - - - Ejemplos - - El siguiente comando le mostrará la etiqueta de - partición y la lista de procesos: - - &prompt.root; ps Zax - - El siguiente comando permitirá la visualización - de etiqueta de partición de procesos de otro usuario - y que usuario está ejecutando procesos actualmente: - - &prompt.root; ps -ZU trhodes - - - Los usuarios pueden ver procesos en la etiqueta de - root a menos que la política - &man.mac.seeotheruids.4; está cargada. - - - Una implementación realmente engañosa - podría tener todos los servicios deshabilitados - en /etc/rc.conf e iniciados por un - script que inicie con la configuración adecuada - de etiquetamiento. - - - Las siguientes políticas soportan configuraciones - de enteros en lugar de las tres etiquetas ofrecidas - por omisión. Estas opciones, incluyendo sus - limitaciones, son mejor explicadas en las páginas - de manual del módulo. - - + Pendiente de traducción + + El módulo de seguridad multinivel MAC - - MAC Multi-Level Security Policy - - Nombre de módulo: mac_mls.ko - - Línea de configuración de Kernel: - options MAC_MLS - - Opción de arranque: - mac_mls_load="YES" - - La política &man.mac.mls.4; controla accesos entre sujetos - y objetos en el sistema imponiendo una política estricta de - flujo de información. - - En ambientes MLS, un nivel de - aclaramiento es activado en cada etiqueta de - objeto o sujeto, junto con compartimientos. Debido a que - este aclaramiento o niveles de sensibilidad pueden alcanzar - números mayores a seis mil; podría ser una tarea - intimidante para cualquier administrador de sistema configurar - cada objeto o sujeto. Afortunadamente, tres etiquetas - instantaneas esán ya incluidas en - esta política. - - Estas etiquetas son mls/low, - mls/equal y mls/high. - Ya que estas etiquetas son descritas en profundidad - en la página de manual, solo tendrán una - descripción breve aquí: - - - - La etiqueta mls/low contiene una - configuración baja que le permite ser dominada - por todos los otros objetos. Cualquier cosa etiquetada - con mls/low tendrá un nivel - de aclaramiento bajo y no tendrá permitido - accesar información de un nivel más alto. - Adicionalmente, esta etiqueta prevendrá a objetos - de un nivel de aclaramiento más elevado de - escribir o pasar información hacia ellos. - - - - La etiqueta mls/equal debe ser - colocada en objetos considerados exentos de la - política. - - - - La etiqueta mls/high es el nivel - más elevado de aclaramiento posible. Los objetos - que tienen asignada esta etiqueta mantendrán - dominación sobre todos los otros objetos en el - sistema; sin embargo, no permitirán el filtrado - de información a objetos de una clase menor. - - - - MLS brinda: - - - - Un nivel de seguridad jerárquico con un - conjunto de categorías no jerárquicas. - - - - Reglas fijas: no lecturas hacia arriba, no escrituras - hacia abajo (un sujeto puede tener acceso de lectura a - objetos en su propio nivel o inferior, pero no superior. - Similarmente, un sujeto puede tener acceso de escritura - a objetos en su propio nivel o superior pero no - inferior.). - - - - Secreto (previniendo exposición - inapropiada de datos). - - - - Bases para el diseño de sistemas que manejen - datos concurrentemente a niveles múltiples de - sensitividad (sin filtrar información entre - secreto y confidencial). - - - - Los siguientes sintonizables de sysctl - están disponibles para la configuración de - servicios especiales e interfaces: - - - - security.mac.mls.enabled es usado - para habilitar/deshabilitar la política - MLS. - - - - security.mac.mls.ptys_equal - etiquetará todos los dispositivos &man.pty.4; - como mls/equal durante su - creación. - - - - security.mac.mls.revocation_enabled es - utilizado para revocar accesos a objetos despues que su - etiqueta cambie a una etiqueta de un grado inferior. - - - - security.mac.mls.max_compartments es - utilizado para activar el número máximo de - niveles de compartimientos con objetos; basicamente el - número máximo de compartimientos permitidos - en un sistema. - - - - Para manipular las etiquetas MLS, - se ha provisto el comando &man.setfmac.8;. Para asignar - una etiqueta a un objeto, ejecute el siguiente comando: - - &prompt.root; setfmac mls/5 test - - Para obtener la etiqueta MLS para - el archivo test ponga el siguiente - comando: - - &prompt.root; getfmac test - - Este es un resumen de las propiedades de la política - MLS. Otro enfoque es crear un archivo de - políticas maestro en /etc - que especifique la información de la política - MLS y alimentar con ese archivo el comando - setfmac. Este método será - explicado despues de cubrir todas las políticas. - - Observaciones: un objeto con aclaramiento inferior es - incapaz de observar procesos con aclaramiento más - elevado. Una política básica podría - ser imponer mls/high en todo lo que - no va a ser leído, incluso si necesita escribirse. - Imponga mls/low en todo lo que - no va a ser escrito, incluso si necesita ser leído. - Y finalmente imponga - mls/equal en el resto. Todos los usuarios - marcados insecure deben configurarse - a mls/low. + Pendiente de traducción + + El módulo MAC Biba - - MAC Biba Integrity Policy - - Nombre de módulo: mac_biba.ko - - Línea de configuración de Kernel: - options MAC_BIBA - - Opción de arranque: - mac_biba_load="YES" - - El módulo &man.mac.biba.4; carga la política - MAC Biba. Esta política funciona - muy parecido a la política MLS con - la excepción que las reglas para flujo de información - están ligeramente invertidas. Esto es dicho para prevenir - el flujo hacia abajo de información sensitiva mientras - que la política MLS previene el - flujo hacia arriba de información sensitiva; así - mucha de esta sección puede aplicar a ambas - políticas. - - En ambientes Biba, una etiqueta de integridad - es activada en cada objeto o sujeto. Estas etiquetas son hechas - de grados jerárquicos, y de componentes no jerárquicos. - Cuando el grado de un objeto o sujeto asciende también - lo hace su integridad. - - Las etiquetas soportadas son biba/low, - biba/equal, ybiba/high; - como se explica abajo: - - - - La etiqueta biba/low es considerada - la integridad más baja que un objeto o sujeto - puede tener. Activando esto es objetos o sujetos bloqueará - sus accesos de escritura a objetos o sujetos marcados - como high. Aunque aún tendrán acceso - de lectura. - - - - La etiqueta biba/equal solo debe - ser colocada en objetos considerados exentos de la - política. - - - - La etiqueta biba/high permitirá - la escritura a objetos puestos a una etiqueta de nivel - inferior, pero no permitirá leer ese objeto. - Se recomienda que esta etiqueta sea colocada en - objetos que afecten la integridad del sistema entero. - - - - Biba brinda: - - - - Nivel de integridad jerárquico con un - conjunto de categorías de integridad no - jerárquica. - - - - Reglas fijas: no escrituras hacia arriba, no - lecturas hacia abajo (lo opuesto a MLS). - Un sujeto puede tener acceso de escritura a objetos - en su propio nivel o inferior, pero no superior. - Similarmente, un sujeto puede tener acceso de lectura - a objetos en su propio nivel o superior, pero no - inferior. - - - - Integridad (previniendo modificaciones inapropiadas - de datos). - - - - Niveles de integridad (en lugar de niveles de - sensitividad MLS). - - - - Los siguientes sintonizables de sysctl - pueden utilizarse para manipular la política - Biba. - - - - security.mac.biba.enabled puede usarse - para habilitar/deshabilitar la imposición de la - política Biba en la máquina destino. - - - - security.mac.biba.ptys_equal puede - usarse para deshabilitar la política Biba en - dispositivos &man.pty.4;. - - - - security.mac.biba.revocation_enabled - forzará la revocación de acceso a objetos si - la etiqueta es cambiada a dominar el sujeto. - - - - Para accesar la configuración de la política - biba en objetos del sistema, use los comandos - setfmac y getfmac: - - &prompt.root; setfmac biba/low test -&prompt.root; getfmac test -test: biba/low - - Observaciones: un sujeto con integridad inferior es - incapaz de escribir a un sujeto con integridad más - elevada; un sujeto con integridad más elevada no - puede observar o leer a un objeto con integridad inferior. + Pendiente de traducción + + + + + El módulo MAC LOMAC - - MAC LOMAC - - Nombre de módulo: mac_lomac.ko - - Línea de configuración de Kernel: - options MAC_LOMAC - Opción de arranque: - mac_lomac_load="YES" - - A diferencia de la política MAC Biba, - la política &man.mac.lomac.4; permite acceso a - objetos con integridad inferior solamente despues de - decrementar el nivel de integridad para no romper - cualquier regla de integridad. - - La versión MAC de la política - de integridad de marca-inferior, no confundirla con la antigua - implementación &man.lomac.4;, funciona casi identicamente - a Biba, pero con la excepción de utilizar etiquetas - flotantes para soportar el descenso a través de un - compartimiento de grado auxiliar. Este compartimiento - secundario toma la forma de [auxgrade]. - Al asignar una política lomac con un grado - auxiliar, se debe ver un poco como: lomac/10[2] - donde el número dos (2)es el grado - auxiliar. - - La política MAC LOMAC se - basa en el etiquetamiento omnipresente en todos los - objetos del sistema con etiquetas de integridad, - premitiendo a sujetos leer de objetos con integridad - inferior y entonces desactualizar la etiqueta en el - sujeto para prevenir escrituras futuras a objetos - con integridas más alta. Esta es la opci6oacute;n - [auxgrade] discutida arriba, así - la política puede brindar una compatibilidad - mayor y requiere menos configuración inicial - que Biba. - - - Ejemplos - - Como en las políticas Biba y MLS; - las utilidades setfmac y setpmac - pueden usarse para colocar etiquetas en objetos del - sistema: - - &prompt.root; setfmac /usr/home/trhodes lomac/high[low] -&prompt.root; getfmac /usr/home/trhodes lomac/high[low] - - Note que el grado auxiliar aquí es low, - esta es una cualidad brindada solamente por la - política MAC LOMAC. - + + + + Pendiente de traducción + - Implementando un ambiente seguro con MAC + Implementación de un entorno seguro con MAC + + + + Pendiente de traducción + - - MAC Example Implementation - - La siguiente demostración implementará - un ambiente seguro utilizando varios módulos - MAC con políticas configuradas - correctamente. Esta solamente es una prueba y no debe - ser considerada una respuesta completa a las aflicciones - de seguridad de todos. Solamente implementar una - política e ignorarla nunca funciona y puede - ser desastroso en un ambiente en producción. - - Antes de iniciar este proceso, la opción - multilabel debe ser aplicada a cada - archivo del sistema como se declaró al principio - de este capítulo. No hacerlo resultará - en errores. - - - Crear una clase de usuario insegura - - Inicie el procedimiento agregando la siguiente clase - de usuario al archivo /etc/login.conf: - - insecure:\ -:copyright=/etc/COPYRIGHT:\ -:welcome=/etc/motd:\ -:setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ -:path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin -:manpath=/usr/share/man /usr/local/man:\ -:nologin=/usr/sbin/nologin:\ -:cputime=1h30m:\ -:datasize=8M:\ -:vmemoryuse=100M:\ -:stacksize=2M:\ -:memorylocked=4M:\ -:memoryuse=8M:\ -:filesize=8M:\ -:coredumpsize=8M:\ -:openfiles=24:\ -:maxproc=32:\ -:priority=0:\ -:requirehome:\ -:passwordtime=91d:\ -:umask=022:\ -:ignoretime@:\ -:label=partition/13,mls/5: - - Y añadiendo la siguiente línea a la - clase de usuario por omisión: - - :label=mls/equal,biba/equal,partition/15: - - Una vez que esto se ha completado, el siguiente - comando debe ejecutarse para reconstruir la base - de datos: - - &prompt.root; cap_mkdb /etc/login.conf - - - - Arrancar con los módulos correctos - - Agregue las siguientes líneas al archivo - /boot/loader.conf para que los - módulos requeridos sean cargados durante la - inicialización del sistema: - - mac_biba_load="YES" -mac_mls_load="YES" -mac_seeotheruids_load="YES" -mac_partition_load="YES" - - - - Configure todos los usuarios a inseguro - - Todas la cuentas de usuarios que no sean root - o usuarios de sistema ahora requerirán una clase - de login. Esta clase de login es requerida o de otra - manera a los usuarios se les negará acceso a - comandos comunes como &man.vi.1;. - El siguiente script de sh debe - hacer el truco: - - &prompt.root; for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \ - /etc/passwd`; do pw usermod $x -L insecure; done; - - El comando cap_mkdb necesitará - ser ejecutado en /etc/master.passwd despues - de este cambio. - - - - Complete la configuración - - Un archivo de contexto debe ser creado ahora; el - siguiente ejemplo fué tomado del ejemplo de - política de Robert Watson y debe ser colocado en - /etc/policy.contexts. - - # Esta es la política BIBA/MLS por omisión para este sistema. - -.* biba/high,mls/high -/sbin/dhclient biba/high(low),mls/high(low) -/dev(/.*)? biba/equal,mls/equal -# This is not an exhaustive list of all "privileged" devices. -/dev/mdctl biba/high,mls/high -/dev/pci biba/high,mls/high -/dev/k?mem biba/high,mls/high -/dev/io biba/high,mls/high -/dev/agp.* biba/high,mls/high -(/var)?/tmp(/.*)? biba/equal,mls/equal -/tmp/\.X11-unix biba/high(equal),mls/high(equal) -/tmp/\.X11-unix/.* biba/equal,mls/equal -/proc(/.*)? biba/equal,mls/equal -/mnt.* biba/low,mls/low -(/usr)?/home biba/high(low),mls/high(low) -(/usr)?/home/.* biba/low,mls/low -/var/mail(/.*)? biba/low,mls/low -/var/spool/mqueue(/.*)? biba/low,mls/low -(/mnt)?/cdrom(/.*)? biba/high,mls/high -(/usr)?/home/(ftp|samba)(/.*)? biba/high,mls/high -/var/log/sendmail\.st biba/low,mls/low -/var/run/utmp biba/equal,mls/equal -/var/log/(lastlog|wtmp) biba/equal,mls/equal - - Esta política impondrá seguridad activando - restricciones tanto de bajada como de subida en el flujo - de información en relación a los directorios - y utilidades listadas en la izquierda. - - Esto puede ahora ser leído hacia nuestro - sistema ejecutando el siguiente comando: - - &prompt.root; setfsmac -ef /etc/policy.contexts / -&prompt.root; setfsmac -ef /etc/policy.contexts /usr - - - El esquema de sistema de archivos de arriba puede - ser diferente dependiendo del ambiente. - - - El archivo /etc/mac.conf requiere - las siguientes modificaciones en la secci6oacute;n - principal: - - default_labels file ?biba,?mls -default_labels ifnet ?biba,?mls -default_labels process ?biba,?mls,?partition -default_labels socket ?biba,?mls - - - - Probando la configuración - - - MAC Configuration Testing - - - Agregue un usuario con el comando adduser - y coloque a ese usuario en la clase insecure - para estas pruebas. - - Los ejemplos de abajo mostrarán una mezcla - de root y usuarios regulares de - prueba; utilice el prompt para distinguie entre - los dos. - - - Pruebas de etiquetamiento básico - - &prompt.user; getpmac -biba/15(15-15),mls/15(15-15),partition/15 -&prompt.root; setpmac partition/15,mls/equal top - - - El proceso top será asesinado antes - de iniciar otro proceso top. - - - - - Pruebas MAC Seeotheruids - - &prompt.user; ps Zax -biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.03 -su (bash) -biba/15(15-15),mls/15(15-15),partition/15 1101 #C: R+ 0:00.01 ps Zax - - No se debe permitir ver - procesos propiedad de otros usuarios. - - - - Prueba MAC Partition - - Deshabilitar la política MAC - seeotheruids para el resto de estas - pruebas: - - &prompt.root; sysctl security.mac.seeotheruids.enabled=0 -&prompt.user; ps Zax -LABEL PID TT STAT TIME COMMAND - biba/equal(low-high),mls/equal(low-high),partition/15 1122 #C: S+ 0:00.02 top - biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.05 -su (bash) - biba/15(15-15),mls/15(15-15),partition/15 1123 #C: R+ 0:00.01 ps Zax - - Todos los usuarios deben tener permitido ver todos - los procesos en su partición. - - - - Probando etiquetas Biba y MLS - - &prompt.root; setpmac partition/15,mls/equal,biba/high\(high-high\) top -&prompt.user; ps Zax -LABEL PID TT STAT TIME COMMAND - biba/high(high-high),mls/equal(low-high),partition/15 1251 #C: S+ 0:00.02 top - biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.06 -su (bash) - biba/15(15-15),mls/15(15-15),partition/15 1157 #C: R+ 0:00.00 ps Zax - - La política Biba nos permite leer objetos - etiquetados más alto. - - &prompt.root; setpmac partition/15,mls/equal,biba/low top -&prompt.user; ps Zax -LABEL PID TT STAT TIME COMMAND - biba/15(15-15),mls/15(15-15),partition/15 1096 #C: S 0:00.07 -su (bash) - biba/15(15-15),mls/15(15-15),partition/15 1226 #C: R+ 0:00.01 ps Zax - - La política Biba no permite que objetos - etiquetados como inferiores sean leídos; de - todas maneras, MLS si lo - permite. - - &prompt.user; ifconfig bge0 | grep maclabel -maclabel biba/low(low-low),mls/low(low-low) -&prompt.user; ping -c 1 192.0.34.166 -PING 192.0.34.166 (192.0.34.166): 56 data bytes -ping: sendto: Permission denied - - Los usuarios son incapaces - de dar un ping a - example.com, o cualquier - dominio. - - Para prevenir que ocurra este error, ejecute el - siguiente comando: - - &prompt.root; sysctl security.mac.biba.trust_all_interfaces=1 - - Esto configura la etiqueta por omisión de interfaces - a modo inseguro, con ello la política Biba por omisió - no será impuesta. - - &prompt.root; ifconfig bge0 maclabel biba/equal\(low-high\),mls/equal\(low-high\) -&prompt.user; ping -c 1 192.0.34.166 -PING 192.0.34.166 (192.0.34.166): 56 data bytes -64 bytes from 192.0.34.166: icmp_seq=0 ttl=50 time=204.455 ms ---- 192.0.34.166 ping statistics --- -1 packets transmitted, 1 packets received, 0% packet loss -round-trip min/avg/max/stddev = 204.455/204.455/204.455/0.000 ms - - Configurando una etiqueta más correcta, - podemos ejecutar peticiones de ping. - - Ahora para crear algunos archivos para procedimientos - de prueba de lectura y escritura: - - &prompt.root; touch test1 test2 test3 test4 test5 -&prompt.root; getfmac test1 -test1: biba/equal,mls/equal -&prompt.root; setfmac biba/low test1 test2; setfmac biba/high test4 test5; \ - setfmac mls/low test1 test3; setfmac mls/high test2 test4 -&prompt.root; setfmac mls/equal,biba/equal test3 && getfmac test? -test1: biba/low,mls/low -test2: biba/low,mls/high -test3: biba/equal,mls/equal -test4: biba/high,mls/high -test5: biba/high,mls/equal -&prompt.root; chown testuser:testuser test? - - Todos estos archivos deben ser ahora propiedad - de nuestro usuario testuser. - Y ahora para algunas pruebas de lectura: - - &prompt.user; ls -test1 test2 test3 test4 test5 -&prompt.user; ls test? -ls: test1: Permission denied -ls: test2: Permission denied -ls: test4: Permission denied -test3 test5 - - No deberíamos tener permitido observar - pares; ejemplo: - (biba/low,mls/low), - (biba/low,mls/high) y - (biba/high,mls/high). Y por supuesto, - el acceso de lectura debe estar denegado. Ahora para - algunas pruebas de escritura: - - &prompt.user; for i in `echo test*`; do echo 1 > $i; done --su: test1: Permission denied --su: test4: Permission denied --su: test5: Permission denied - - Como con las pruebas de lectura, el acceso de - escritura no debe ser permitido para escribir pares; - ejemplo: - (biba/low,mls/high) y - (biba/equal,mls/equal). - - &prompt.user; cat test? -cat: test1: Permission denied -cat: test2: Permission denied -1 -cat: test4: Permission denied - - Y ahora como root: - - &prompt.root; cat test2 -1 - - - Otro ejemplo: Utilizando MAC para confinar un servidor web - - Una locación separada para los datos de - web a los cuales los usuarios deben ser capaces de - accesar será seleccionada. Esto permitirá - a los procesos biba/high derechos - de acceso a los datos web. - - Inicie creando un directorio para guardar los - datos de web: - - &prompt.root; mkdir /usr/home/cvs - - Ahora inicialicelo con cvs: - - &prompt.root; cvs -d /usr/home/cvs init - - El primer objetivo es habilitar la política - biba, así - mac_biba_enable="YES" debe ser - colocado en - /boot/loader.conf. Se asume que - el soporte para MAC ha sido - habilitado en el kernel. - - De este punto en adelante todo en el sistema - debe configurarse a biba/high por - omisión. - - La siguiente modificación debe ser hecha - al archivo login.conf, bajo - la clase de usuario por omisión: - - :ignoretime@:\ - :umask=022:\ - :label=biba/high: - - Cada usuario debe ser ahora colocado en la clase por - omisión; un comando como: - - &prompt.root; for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \ - /etc/passwd`; do pw usermod $x -L default; done; - - logrará esta tarea en unos cuantos momentos. - - Ahora hay que crear otra clase, web, una copia de - la clase por omisión, con la configuración de - etiqueta biba/low. - - Agregue un usuario que será utilizado para - trabajar con los datos principales de web guardados - en un repositorio cvs. - Este usuario debe ser colocado en nuestra nueva clase - de login, web. - - Ya que en todos lados por omisión es - biba/high, el repositorio será - el mismo. Los datos de web también deben ser - lo mismo para usuarios que tienen acceso de lectura/escritura. - de todas maneras, ya que nuestro servidor de web - estará sirviendo datos que usuarios - biba/high deben accesar, necesitaremos - rebajar los datos como un todo. - - Las herramientas perfectas para esto son &man.sh.1; - y &man.cron.8; y ya están en &os;. El siguiente - script debe hacer todo lo que queremos: - - PATH=/bin:/usr/bin:/usr/local/bin; export PATH; -CVSROOT=/home/repo; export CVSROOT; -cd /home/web; -cvs -qR checkout -P htdocs; -exit; - - - En muchos casos los Id tags de cvs - deben ser colocados dentro de los archivos - de datos del sitio web. - - - Este script puede ahora ser colocado - en el directorio home de web - y la siguiente entrada agregada a &man.crontab.1;: - - # Descargar los datos de web como biba/low cada doce horas: -0 */12 * * * web /home/web/checkout.sh - - Esto descargará las fuentes HTML - cada doce horas en la máquina. - - El método de arranque por omisión para el - servidor de web debe ser modificado también para - iniciar los procesos como biba/low. - Esto puede realizarse haciendo la siguiente modificación - al script - /usr/local/etc/rc.d/apache.sh: - - command="setpmac biba/low /usr/local/sbin/httpd" - - La configuraci6oacute:n de Apache - debe ser alterada para trabajar con la política - biba/low. En este caso el software debe ser - configurado para agregar a los archivos de log en un directorio - configurado como biba/low o de lo contrario - errores de access denied serán - retornados. - - - Siguiendo este ejemplo requiere que la - directiva docroot sea - puesta a /home/web/htdocs; - de otra manera, Apache - fallará al tratar de localizar el - directorio desde donde servir documentos. - - - Otras variables de configuración deben ser - también alteradas, incluyendo el PID - de archivo, - Scoreboardfile, - DocumentRoot, sitio del archivo de log o - cualquier otra variable que requiera acceso de escritura. - Al utilizar biba, todos los accesos de - escritura serán negados al servidor en áreas - no puestas a - biba/low. - - + Otro ejemplo: Uso de MAC para restringir un servidor web + + + Pendiente de traducción + + - - Determinando errores en la estructura MAC + Depuración de errores en MAC + + + + Pendiente de traducción + + - - MAC Troubleshooting - - Durante la fase de desarrollo, algunos usuarios reportaron - problemas con la configuración normal. Algunos de - estos problemas están listados abajo: - - - La opción <option>multilabel</option> no puede ser - habilitada en <filename>/</filename> - - ¡La bandera no permanece - habilitada en mi partición raíz - (/)! - - Parece que uno de cada cincuenta usuarios tiene - este problema, de hecho, hemos tenido este problema - durante nuestra configuración inicial. - Mayor observación en este llamado bug - me ha llevado a creer que es el resultado de documentación - incorrecta o de interpretación errónea - de la documentación. Sin importar por qué - sucede, se pueden tomar los siguientes pasos para - resolverlo: - - - - Editar /etc/fstab y poner la - partición raíz a para - solo lectura. - - - - Reiniciar en modo mono usuario. - - - - Ejecutar tunefs - en /. - - - - Reiniciar el sistema a modo normal. - - - - Ejecutar mount - / y cambiar - de regreso a en - /etc/fstab y reiniciar el sistema de nuevo. - - - - - Revisar nuevamente la salida de - mount para asegurarse - que haya sido - activada correctamente el el sistema de - archivos raíz. - - - - - - No se puede iniciar un servidor X11 despues de - <acronym>MAC</acronym> - - Despues de establecer un ambiente seguro con - MAC, ¡ya no puedo iniciar - X! - - Esto puede ser causado por la política - MAC partition - o por un etiquetamiento erroneo en una de las - políticas de etiquetamiento MAC. - Para determinar el error trate lo siguiente: - - - - Revise el mensaje de error; si el usuario está - en la clase insecure, la política - partition puede ser la culpable. - Trate poner la clase del usuario de regreso a la - clase default y recostruya la base - de datos con el comando cap_mkdb. - Si esto no alivia el problema, vaya al paso dos. - - - - Revise doblemente las políticas de etiquetamiento. - Asegúrese que las políticas están - configuradas correctamente para el usuario en cuestión, - la aplicación X11 y las entradas - /dev. - - - - Si ninguno de estos resuelve el problema, envie el - mensaje de error y la descripción de su ambiente - a la lista de discusión TrustedBSD localizada en - el sitio web - TrustedBSD - o a la lista de correo &a.questions;. - - - - - - Error: &man..secure.path.3; cannot stat - <filename>.login_conf</filename> - - Cuando trato de cambiar de root a - otro usuario en el sistema, aparece el mensaje de error - _secure_path: unable to state .login_conf. - - - Este mensaje es usualmente desplegado cuando el usuario - tiene una etiqueta más alta que la del usuario al que - se está tratando de convertir. Por ejemplo, un usuario - en el sistema, joe, tiene una etiqueta - por omisión de - . El usuario root, - que tiene una etiqueta de , no - puede ver el directorio home de joe. - Esto sucederá sin importar que root - haya usado el comando su para convertirse - en joe, o no. En este escenario, el modelo - de integridad Biba no permitirá a root - ver objetos puestos a un nivel de integridad inferior. - - - - ¡El usuario <username>root</username> no funciona! - - En modo normal o incluso en modo monousuario, - root no es reconocido. El - comando whoami regresa 0 (cero) y - su regresa who are you?. - ¿Que es lo que puede estar pasando? - - Esto puede suceder si una política de etiquetamiento - ha sido deshabilitada, ya sea por &man.sysctl.8; o el - módulo de política ha sido removido. - Si la política ha sido deshabilitada o ha sido - temporalmente deshabilitada, entonces las capacidades de - la base de datos de login necesita ser reconfigurada con - la opción eliminada. - Revise doblemente el archivo login.conf - para asegurarse que todas las opciones - hayan sido eliminadas y reconstruya la base de datos con - el comando cap_mkdb. - -- cgit v1.2.3