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