Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Implementación de SELinux




Enviado por Edgar Castañeda



    1. Resumen
    2. Modelos de Control de
      Acceso
    3. SELinux
    4. DAC en SELinux
    5. Seguridad
    6. Instalación
    7. Aplicación de Debian y
      Fedora

    RESUMEN

    El presente trabajo trata
    sobre la necesidad actual de trabajar bajo estándares
    seguros y
    administrar de manera eficiente los sistemas
    operativos, SELinux puede
    aplicar una política de seguridad
    definida administrativamente sobre todos los procesos y
    objetos en el sistema, en base
    a decisiones en etiquetas que contienen una variedad de información de seguridad-pertinente. La
    arquitectura
    proporciona flexibilidad limpia, separando la política
    lógica
    de la política de ejecución lógica. La
    política decision-making lógica se encapsula dentro
    de un solo componente conocido como el servidor de
    seguridad con una interfaz de seguridad general. Una amplia gama
    de modelos de
    seguridad puede llevarse a cabo como los servidores de
    seguridad sin requerir cambios a cualquier otro componente del
    sistema.

    Selinux, Security Enhaced Linux, es una
    colección de parches que modifican el núcleo del
    sistema operativo
    Linux, fortaleciendo los mecanismos de control, posee
    una arquitectura de seguridad integrada en el kernel 2.6.x,
    usando los módulos de seguridad Linux, conocidos como
    Linux Security Modules o LSM, se ha constituido en un Proyecto de la
    Agencia de Seguridad Nacional de los Estados Unidos y
    como se había enunciado de la Comunidad SELinux
    que busca la integración, especialmente en Red Hat Enterprise y
    actualmente con Debian.

    Selinux fortalece los mecanismos de control de acceso
    forzando la ejecución de los procesos dentro de un entorno
    con el mínimo de privilegios.

    1. INTRODUCCION

    El desarrollo
    elevado de la Tecnología y su
    acceso por parte de los usuarios en las últimas
    décadas, ha tornado más fácil el acceso a la
    información así como convertir a ella en centro
    vulnerable de ataques. La utilización de grandes bases de datos,
    sean de carácter comercial como científico,
    el auge investigativo de grandes sociedades
    productoras de conocimientos, la necesidad de manejar grandes
    volúmenes de información ha hecho que el mundo de
    la informática también acelere su paso
    para mantenerse a la par de las necesidades de los grandes
    usuarios, debiéndose en esta sociedad
    globalizada enfrentarse al grave problema de las patentes y el
    usufructo de los derechos de
    autor, tornando muchas veces al conocimiento
    como fuente de opresión especialmente para los
    países denominados subdesarrollados que deben gastar
    ingentes recursos en las
    compras de las
    denominadas "licencias".

    Actualmente la red de redes o internet ha facilitado el
    contacto entre el mundo y los desarrolladores independientes se
    ubican en desigual lucha creando sus propios sistemas y
    compartiéndolo de manera libre entre la sociedad sus
    aspiraciones y conocimientos, basados también en normas y
    estándares internacionales en su desarrollo, bajo
    licencias GNU, siendo los sistemas que más se han
    desarrollado Unix/Linux,
    bajo grupos de
    desarrollo independiente.

    De esta manera, además se ha visto el auge por
    alterar las seguridades y provocar daños hacia sistemas y
    equipos, sean estos locales o remotos, del mismo modo existe una
    comunidad capaz, en frontal lucha para mejorar los sistemas y sus
    seguridades, buscando además que éstas sean
    fáciles de implementar, livianas y de muy bajos costos, que
    consuman la menor cantidad de recursos, sean fiables y
    seguros.

    Entonces, no habrá sistema operativo que no pueda
    ser atacado o vulnerado, creando a pesar de los esfuerzos un
    panorama de inseguridad,
    frente a peligros de ataques sean estos internos o externos, a la
    presencia de virus, malware;
    sabemos que los firewalls son elementos fronterizos, sin embargo
    falta control y protección, el control de acceso se halla
    en primera línea, tornándose en la necesidad de
    mantener una lucha constante por mantener y mejorar la seguridad
    de los sistemas.

    2. MODELOS DE
    CONTROL DE ACCESO

    Tradicionalmente los sistemas Unix han utilizado el
    modelo de
    control de acceso discrecional (Discretionary Access
    Control, DAC) en el que un usuario tiene un completo control
    sobre los objetos que le pertenecen y los programas que
    ejecuta. Así mismo, el programa
    ejecutado por un usuario tendrá los mismos permisos de ese
    usuario que lo está ejecutando.

    Esto implica que la seguridad del sistema depende de las
    aplicaciones que se están ejecutando y, por tanto, cuando
    se produce una vulnerabilidad de seguridad en una
    aplicación, ésta afecta a todos los objetos a los
    que el usuario tiene acceso. Así, si la aplicación
    es ejecutada por root, el atacante puede obtener los
    máximos privilegios en la máquina, comprometiendo
    la seguridad global del sistema.

    Otro modelo de control de acceso es el denominado
    control de acceso obligatorio (Mandatory Access Control,
    MAC), donde existe una política de seguridad definida por
    el administrador y
    que los usuarios no pueden modificar. Esta política va
    más allá de establecer propietarios de archivos sino que
    fija "contextos", en donde se indica cuando un objeto puede
    acceder a otro objeto.

    Este modelo de control de acceso puede aumentar el nivel
    de seguridad, especialmente cuando se establece como base de la
    política definida que no se permite cualquier
    operación no expresamente autorizada. La
    implementación de este modelo de seguridad para todo un
    sistema puede ser una tarea muy tediosa.

    En teoría
    deben definirse reglas para cualquier usuario que utiliza
    cualquier programa que accede a cualquier objeto del sistema.
    Para evitar tener que llegar a este detalle de definición,
    algo que fácilmente se convertiría en un monstruo
    inmanejable, se utiliza el concepto de
    control de acceso basado en roles (Role-Based Access Control,
    RBAC). Bajo este modelo, el administrador define una serie de
    roles y asigna a los usuarios en los diferentes roles que
    corresponden a su perfil. Como ejemplo, el usuario de un programa
    únicamente necesita disponer de permisos para leer y
    escribir los archivos utilizados por esa aplicación
    concreta, pero nada más.

    Otros usuarios es posible que necesiten permisos para
    poder leer
    archivos, pero no modificarlos. Cada uno de estos usuarios se
    asignará a diferentes roles.

    La Agencia de Seguridad Nacional (NSA) de los Estados
    Unidos lanza un proyecto de fuente abierta el Security Enhanced
    Linux (SE Linux), que lo desarrollaron originalmente como un
    avance revolucionario, pero es también muy diferente del
    modelo estándar de seguridad de Linux. Las nuevas
    tecnologías que desarrollo SELinux como, control de
    acceso obligatorio en un sistema basado en Linux, se incorporan
    en distribuciones como RedHat, Fedora y Gentoo, y ahora el nuevo
    lanzamiento de EnGarde Linux 3,0.

    3. SELinux

    Security Enhanced Linux, SELinux, es una
    colección de parches que modifican el núcleo del
    sistema operativo Linux, fortaleciendo los mecanismos de control
    de acceso y forzando la ejecución de los procesos dentro
    de un entorno con los mínimos privilegios
    necesarios.

    3.1 Definición

    SELinux puede considerarse como una
    implementación práctica del modelo de seguridad de
    control de acceso obligatorio basado en el núcleo del
    sistema operativo Linux.

    SELinux determina dos objetos, por un lado, demostrar la
    posibilidad de implementar el modelo de seguridad de control de
    acceso obligatorio (MDAC) y el control de acceso basad o en roles
    (RBAC) en entorno Linux, como segundo objetivo, el
    hacer frente a la eventualidad de que los sistemas
    operativos "trusted" comerciales dejaran de estar
    disponibles.

    Un administrador de un sistema SELinux tiene la
    posibilidad de configurar una política donde se define los
    archivos a que tiene acceso cada programa. SELinux implementa un
    mecanismo para establecer en cada archivo y
    proceso el
    contexto en el que está siendo utilizado.

    Mediante la utilización de un módulo del
    sistema operativo, es posible establecer reglas para permitir o
    denegar el acceso a cualquier archivo del sistema (utilizando el
    concepto de archivo de Unix, lo que incluye a los dispositivos,
    archivos…).

    3.2 Características

    • La noción de un sistema seguro incluye
      muchos atributos (seguridad física, seguridad
      lógica, la seguridad del personal,
      etc.). SELinux se dirige sólo a un juego muy
      estrecho de estos atributos (mandos de acceso obligatorios en
      el sistema operativo).
    • SELinux significa la caja fuerte para proteger la
      información del mundo real de algún adversario
      del mundo real que el dueño de información no
      permita el acceso al usuario.
    • SELinux proporciona compatibilidad binaria con las
      aplicaciones existentes de Linux y con los kernel de Linux,
      algunos kernel pueden requerir modificaciones para actuar con
      SELinux
    • Los nuevos rasgos del SELinux se diseñan para
      dar fuerza a la
      separación de información basada en la
      confidencialidad y requisitos de integridad. Ellos se
      diseñan para impedir a los procesos pocos fiables leer
      datos y
      programas, desviando los mecanismos de seguridad de la
      aplicación, interfiriendo estos procesos en la
      violación de la política de seguridad de sistema.
      Ellos también ayudan confinar el daño
      potencial que puede causar a los datos o programas. Ellos
      también deben ser útiles para permitir usar un
      solo sistema por los usuarios diferenciando las autorizaciones
      de seguridad para acceder a tipos múltiples de
      información mediante requisitos de
      seguridad.
    • El sistema operativo dispone de un proceso servidor
      de seguridad, que se ejecuta como parte del núcleo, que
      decide en base a la política de seguridad definida por
      el administrador, si algo (un proceso o un usuario) dispone de
      permiso para acceder a un objeto (archivo, dispositivo…),
      este mecanismo de control se denomina Type Enforcement
      (TE).
    • SELinux también permite implementar un modelo
      adicional de seguridad (Multi-Level Security, MLS) en el que
      además de lo indicado hasta ahora es posible, para cada
      objeto, una capa de seguridad (como "altamente secreta",
      "secreta", "confidencial" y "sin
      restricción").

    3.3 Ventajas y desventajas

    • El mecanismo de control Type Enforcement (TE), ante
      una incidencia de seguridad como puede ser un desbordamiento de
      búfer en un proceso ejecutado por root, el atacante
      sólo podrá acceder a los archivos para los cuales
      el proceso vulnerable esté autorizado por la
      política del sistema. No tendrá ningún
      efecto sobre el resto de archivos u objetos del
      sistema.
    • Los mecanismos del SELinux añade restricciones
      de que únicamente aquellos procesos y usuarios situados
      en la misma capa (o una capa superior) puede acceder a los
      objetos, pero nunca al revés. Así un usuario o un
      proceso de la capa "confidencial" puede acceder a la
      información "confidencial" y "sin restricción",
      pero nunca a la información marcada como "secreta" o
      "altamente secreta".

    4. DAC EN LINUX

    El modelo de seguridad utilizado por la mayoría
    de sistemas operativos está basado en Discretionary Access
    Control (DAC), que hace cumplir la seguridad por propiedad. En
    este modelo, los usuarios controlan los datos según sus
    necesidades, el dueño del sistema no controla totalmente
    el sistema. Sin embargo, la mayor preocupación sobre el
    modelo de Linux es la planteada por la cuenta de root, quien
    tiene el poder de controlar todos los ficheros y procesos. Si la
    cuenta de root, o un proceso que se ejecute con sus privilegios,
    se ve comprometido, un atacante puede tomar el control del
    sistema y de sus datos.

    Una aproximación más segura podría
    limitar o incluso eliminar la necesidad de una cuenta de root, y
    cambiar el poder de las cuentas de
    usuario al dueño del sistema, esta es la
    aproximación MAC. MAC hace cumplir las políticas
    de seguridad de una forma o mandatory, en lugar de una forma
    discreta o discretionary, a partir del nombre Mandatory Access
    Controls las políticas de seguridad pueden ser
    establecidas por el dueño del sistema e implementadas por
    un sistema o un administrador de seguridad. Una vez que estas
    políticas existan, los usuarios no podrán hacer
    caso omiso de las mismas, aun teniendo privilegios de root. Con
    MAC, la protección de ficheros y procesos es independiente
    de los dueños.

    Todo lo anterior son requerimientos para conocer a un
    sistema operativo con el criterio del Departamento de Defensa de
    EEUU "confiable". Estos criterios están bajo la
    publicación "Trusted Computer System Evaluation Criteria",
    también conocido como Libro
    Naranja.

    Discretionary Access Control (DAC) significa restringir
    el acceso a los objetos basados en la necesidad de identificar y
    conocer a los usuarios o grupos de usuarios los cuales van a
    hacer uso de esos objetos, muchas veces es conocido como
    surrogate access, ya que se debe establecer ciertos permisos de
    acceso o access permission.

    SELinux aparece a finales del año 2000 lanzado y
    distribuido por la Agencia Nacional de Seguridad de los Estados
    Unidos (NSA). El objetivo del mismo es, por un lado, demostrar la
    posibilidad de implementar el modelo de seguridad de control de
    acceso obligatorio (MDAC) y el control de acceso basado en roles
    (RBAC) en entorno Linux.

    Un segundo objetivo, hacer frente a la eventualidad de
    que los sistemas operativos "trusted" comerciales dejarán
    de estar disponibles. SELinux puede considerarse como una
    implementación práctica del modelo de seguridad de
    control de acceso obligatorio basado en el núcleo del
    sistema operativo Linux. Un administrador de un sistema SELinux
    tiene la posibilidad de configurar una política donde se
    define los archivos a que tiene acceso cada programa.

    Para poder realizar esto, SELinux implementa un
    mecanismo para establecer en cada archivo y proceso el contexto
    en el que está siendo utilizado.

    Mediante la utilización de un módulo del
    sistema operativo, es posible establecer reglas para permitir o
    denegar el acceso a cualquier archivo del sistema. El sistema
    operativo dispone de un proceso servidor de seguridad, que se
    ejecuta como parte del núcleo, que decide en base a la
    política de seguridad definida por el administrador, si
    algo (un proceso o un usuario) dispone de permiso para acceder a
    un objeto sea este un archivo o dispositivo, mecanismo de control
    denominado Type Enforcement (TE). Así, ante una incidencia
    de seguridad como puede ser un desbordamiento de búfer en
    un proceso ejecutado por root, el atacante sólo
    podrá acceder a los archivos para los cuales el proceso
    vulnerable esté autorizado por la política del
    sistema sin tener ningún efecto sobre el resto de archivos
    u objetos del sistema. SELinux también permite implementar
    un modelo adicional de seguridad (Multi-Level Security, MLS) en
    el que además de lo indicado hasta ahora es posible, para
    cada objeto, una capa de seguridad conocida como "altamente
    secreta", "secreta", "confidencial" y "sin
    restricción".

    En este modelo, a los mecanismos descritos anteriormente
    se añade la restricción de que únicamente
    aquellos procesos y usuarios situados en la misma capa o una capa
    superior pueden acceder a los objetos, pero nunca en sentido
    contrario.

    5. SEGURIDAD

    • Security Enhanced Linux es un prototipo de investigación para el Kernel de Linux y
      varios utilidades con las funcionalidades del SE
      diseñado para demostrar el valor del
      control de acceso obligatorios para la comunidad de Linux y
      ahora puede agregar dichos controles a Linux. El Kernel de
      Linux contiene nueva arquitectura de componentes desarrollados
      para mejorar la seguridad del sistema operativo. Estos
      componentes arquitectónicos mantienen el apoyo a los
      Roles y Multi-niveles.
    • El Kernel de Linux da fuerza a políticas de
      mando de acceso obligatorias que confinan al usuario programa y
      servidores del sistema a la cantidad mínima de
      privilegio, el super-usuario root no comparte las limitaciones
      de los mecanismos tradicionales.
    • La seguridad de un unmodified en el sistema Linux
      depende de la exactitud del kernel, de todas las aplicaciones
      privilegiadas, y de cada una de sus configuraciones. Un
      problema en cualquier de estas áreas puede comprometer
      el sistema entero. La seguridad del SE Linux depende
      principalmente de la exactitud del kernel y de la
      configuración de su política de seguridad. Los
      problemas
      con la exactitud o configuración de aplicaciones
      comprometen el entorno limitado del usuario individual, ellos
      no proponen una amenaza a la seguridad de otro usuario o a la
      seguridad del sistema en conjunto.

    6. INSTALACIÓN

    SELinux viene distribuyéndose como una
    colección de parches para el código
    fuente del núcleo del sistema operativo, actualmente se ha
    cambiado la arquitectura constituyéndose en un
    módulo que utiliza los enganches de seguridad facilitados
    por el Linux Security Module (LSM), por lo que como paso previo a
    la instalación de SELinux debe instalarse el sistema
    operativo Linux.

    Los requerimientos para la instalación del
    sistema operativo Linux son: Utilizar sistema de archivos ext2 o
    ext3, instalar las herramientas
    necesarias para compilar el núcleo e instalar los diversos
    componentes que deberá ejecutar el servidor (como BIND,
    Apache, Samba).

    La distribución actual de SELinux
    incluye:

    • El código fuente del núcleo
      estándar de Linux, con los parches de SELinux ya
      aplicados.
    • El soporte para Linux Security Modules
      (LSM).
    • El soporte de SELinux para LSM.
    • Programas para la
      administración de SELinux y las políticas de
      seguridad.
    • Diversos ejemplos de políticas de
      seguridad.
    • Diversas utilidades para sustituir algunas de las
      utilidades estándar
      del sistema (cp, find, id, ls).

    SELinux establece una serie de prioridades o
    políticas para el control de la seguridad del sistema
    operativo, conocidas como un conjunto de reglas a ser aplicadas,
    tales como:

    Reglas de acceso de control
    (
    Role-Based Access Control)

    Implementadas en un parche del kernel y un conjunto de
    herramientas administrativas que añaden un número
    de módulos de seguridad al núcleo. El administrador
    de seguridad puede escoger y seleccionar que módulos
    utilizar, existen versiones de los núcleos 2.4 y 2.6.
    RSBAC esta siendo desarrollado desde 1996, incluye módulos
    para:

    Restringir el poder del root

    Listas de control de acceso

    Jaulas de procesos

    Limitación de recursos

    Limitación de acceso a la red

    Control de acceso en base a roles

    Protección del espacio de direcciones con
    PaX3

    Detección de intrusos (Linux
    Intrusion Detection System
    )

    Linux Intrusion Detection System es un parche para el
    núcleo y un conjunto de herramientas de administración que añaden MAC,
    así como otras muchas mejoras de seguridad al
    núcleo de Linux.

    Existen parches disponibles para los núcleos de
    las series 2.4 y 2.6. Con LIDS es posible:

    Restringir el poder del root

    Establecer un granularidad final en el control de
    accesos mediante ACLs

    Proteger ficheros y procesos

    Restringir el acceso a la red

    Detectar escaneos de puertos

    Lattice-Based Access
    Control

    Es una variante de MAC en la que se establecen unos
    flujos de información unidireccionales. Se crean grupos
    dentro de los cuales existen distintas clases de
    información.

    Grupo 1: Clases: desclasificado, público y
    confidencial.

    Grupo 2: Clases: Secreto y supersecreto.

      Un documento puede pasar de:

    Desclasificado a –à Público.

    Los permisos se asignan de esta manera, siempre con
    cambio
    unidireccional. Es posible otorgar ambos permisos a una cuenta de
    forma que el mismo usuario pueda desclasificar de nuevo el
    documento.

    Principios de LBAC

    Reflexivo: Un usuario debe poder modificar un documento
    y volverlo a su estado
    original.

    Desclasificado-à
    Desclasificado

    Grsecurity

    Grsecurity es otro parche que añade mucho
    más que MAC al núcleo de Linux. MAC está
    implementado utilizando RBACS (Role Based Access Controls), y se
    usa a través de su utilidad gradm.
    Ambos núcleos, 2.4 y 2.6 están soportados.
    Grsecurity provee las siguientes mejoras de seguridad:

    Protección del espacio de dircciones con
    PaX

    Aleatoriedad adicional en la pila TCP/IP

    Los usuarios sólo pueden ver sus propios
    procesos.

    Archivos relacionados con Selinux

    Archivos /selinux/

    Contiene los comandos
    más utilizados por el kernel, siendo muy similar al
    subsistema de /proc/, en la mayoría de los casos, los
    administradores y usuarios no necesitan manipular este
    componente.

    Archivos de configuración de Selinux

    La mayoría de archivos se localizan en
    /etc/

    Archivo de configuración.

    Localizado en /etc/sysconfig/selinux

    Hay dos formas de configurar Selinux usando
    principalmente la Herramienta de configuración del nivel
    de seguridad(system-config-security level) o

    Manualmente editando el archivo de
    configuración(/etc/sysconfig/selinux).

    Opciones de configuración:

    SELINUX=<enforcing|permissive|disabled>
    — Define el estado
    superior para SELinux en un sistema.

    enforcing o 'impositivo' — Se impone la
    política de seguridad SELinux.

    permissive o 'permisivo' — El sistema SELinux
    advierte pero no impone la política. Esto es útil
    para propósitos de depuración o de
    resolución de problemas. En modo permisivo, se
    registrarán más rechazos, pues los sujetos
    podrán continuar con acciones que
    de lo contrario serían rechazadas en el modo
    impositivo.

    disabled o 'inhabilitado' — SELinux está
    completamente desactivado. Los ganchos de SELinux no están
    conectados al kernel y el pseudo sistema de archivos no
    está registrado.

    SELINUXTYPE=<targeted|strict> —
    Especifica cuál política está siendo
    implantada actualmente por SELinux.

    targeted (objetivo) — Solamente se protegen
    ciertos demonios particulares.

    La imposición de políticas para estos
    demonios se puede activar y desactivar, utilizando valores
    boleanos controlados por Herramienta de configuración
    de nivel de seguridad
    (system-config-security level). Al
    activar un valor boleano para un demonio objetivo se desactiva la
    transición de políticas para ese demonio, lo que
    previene, por ejemplo, que init pase a dhcpd desde el dominio
    unconfined_t (ilimitado) al dominio especificado en
    dhcpd.te.

    El dominio unconfined_t permite a los sujetos y objetos
    con ese contexto de seguridad a ejecutarse bajo la seguridad
    estándar de Linux.

    strict (estricta) — Protección SELinux
    completa, para todos los demonios. Se definen los contextos de
    seguridad para todos los sujetos y objetos y cada simple acción
    es procesada por el servidor de aplicación de
    políticas.

    El directorio /etc/selinux/

    El directorio /etc/selinux/ es la ubicación
    principal para todos los archivos de políticas así
    como también para el archivo de configuración
    principal.

    El ejemplo siguiente presenta contenidos de muestra del
    directorio /etc/selinux/

    Los dos subdirectorios, strict/ y targeted/, son los
    directorios específicos donde se contienen los archivos de
    políticas del mismo nombre (por ejemplo, strict y
    targeted).

    Para más información sobre las
    políticas de SELinux y su configuración, consulte
    el Guía para escribir políticas SELinux de Red
    Hat

    Utilidades para SELinux

    Los siguientes son algunos de los programas de
    utilidades más usados por SELinux

    /usr/bin/setenforce — Modifica en tiempo real el
    modo en que se ejecuta SELinux.

    Al ejecutar setenforce 1, se coloca SELinux en modo
    impositivo.

    Al ejecutar setenforce 0, SELinux se coloca en modo
    permisivo. Para desactivar SELinux, se necesita que configure el
    parámetro en /etc/sysconfig/selinux o que pase el
    parámetro selinux=0 al kernel, bien sea en /etc/grub.conf
    o al momento del arranque.

    /usr/bin/sestatus -v — obtiene el estado detallado
    de un sistema ejecutando SELinux.

    /usr/bin/newrole — Ejecuta un nuevo shell en un
    nuevo contexto o papel. La política debe permitir la
    transición al nuevo papel.

    /sbin/restorecon — Configura el contexto de
    seguridad de uno o más archivos, marcando los atributos
    extendidos con el archivo apropiado o contexto de
    seguridad.

    /sbin/fixfiles — Verifica o corrige la base de datos
    del contexto de seguridad en el sistema de archivos.

    Nuevas características de los kernel
    2.6

    Integración de UML en el
    kernel

    Las UML (User Mode Linux) es una de las
    características más importantes para los
    administradores de redes y la seguridad de las mismas,
    característica implementada en el kernel 2.6, que permite
    correr "un sistema operativo Linux bajo otro Linux". Esto lo
    realiza corriendo un proceso en el Linux normal, que llamaremos
    anfitrión, este proceso es una versión de Linux
    corriendo normalmente como cualquier otro proceso, pero el cual
    su función
    es emular de manera perfecta el sistema operativo Linux, teniendo
    total independencia
    con el sistema que se esta corriendo como anfitrión. Con
    estas características se hace fácil poder crear
    redes virtuales, simular una red con varios PC,
    aunque en realidad se tenga un único PC, facilitando el
    Webhosting o repositorio para shell.

    Otra de las utilidades de la UML, es conocida como
    "honeypots" (tarro de miel), útil para atrapar crackers o
    aficionados a entrar en lugares donde no invitados, y mantenerlos
    en cuarentena y que no puedan interferir con el sistema real que
    contienen la información.

    Mejoras en el manejo de procesos y CPU

    Se espera que el algoritmo
    introducido por Linus e Ingo, mejore de manera sustancial la
    manera en que el kernel maneje los procesos que se están
    ejecutando, lo que introduciría una notable mejora en la
    administración de los procesos.

    * FileSystem

    Se integran más elementos a seguridad como las
    ACL (Access Control List), que permiten definir con mayor detalle
    los permisos para los archivos, aunque cabe señalar que
    esta característica está disponible solo en los
    sistema de fichero extended 2 (ext2) y extended 3
    (ext3).

    Con respecto al tema de soporte, para ocupar el sistema
    de archivos de SGI, de plataformas IRIX, el llamado sistema XFS,
    hay que parchar el kernel 2.4 para acceder al soporte para este
    FileSystem. En la versión 2.6 del kernel, viene integrado
    por defecto.

    * Módulos

    En la versión 2.6 del núcleo hay un cambio
    drástico en la carga de los módulos, para lo que se
    han desarrollado nuevas herramientas. Hay nuevas APIs que hacen
    que el portar código de módulos de 2.4 a 2.6, sea
    un poco mas trabajoso.

    .Net

    En cuanto a las herramientas para trabajo en red,
    NetWorking, una característica que se nota a primera
    vista, es la incorporación de IPsec, lo cual hace mas
    fácil la posibilidad de implementar una VPN (Virtual
    Private Network).

    En la versión que estoy probando (2.6.0-test2) la
    cantidad de drivers para tarjetas de redes
    es baja.

    Seguridad

    La integración de elementos de seguridad en el
    mismo kernel, da una visión de la importancia que los
    desarrolladores han dado a este tema tan importante en estos
    días. Está a cargo del proyecto lsm (Linux Security
    Modules), perteneciente a Immunix, organización que ha trabajado en conjunto
    con DARPA y la empresa WireX
    Communications en hacer de Linux una plataforma más
    segura.

    Como hemos visto ya, los filesystem traen incorporadas
    ACL, elemento de seguridad importante. Un complemento es la
    sesión "Security Options", en la cual se pueden activar
    los módulos de seguridad. Estos módulos trabajan
    agregando mas campos a las estructuras de
    System V IPC y manejo de socket, activando mas controles de
    acceso a estos.

    Existe un modulo llamado ROOTPLUG, muy interesante en su
    función, el cual deniega cualquier ejecución con
    UID 0 (root), si es que no existe un dispositivo USB.

    Compilación Kernel 2.4.x en
    Debian.

    Decargar el kernel, con wget, para instalarlo con apt.

    ….:/# apt-get update

    ….:/# apt-get install wget

    ….:/# cd /usr/src

    ….:/usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.28.tar.bz2

    Descomprimir el recurso.

    ….:/usr/src# apt-get install
    bzip2

    ….:/usr/src# tar jxvf
    linux-2.4.28.tar.bz2

    Crear un link simbólico.

    ….:/usr/src# ln -s linux-2.4.28
    linux

    OPCIONAL: Parchar el kernel con soporte
    encriptación MPPE 128bit y compresión MPPC VPN
    Server

    ….:/usr/src# wget -c
    http://www.polbox.com/h/hs001/linux-2.4.28-mppe-mppc-1.2.patch.gz

    ….:/usr/src# cd Linux

    ….:/usr/src/linux# apt-get install
    match

    ….:/usr/src/linux# zcat
    ../linux-2.4.28-mppe-mppc-1.2.patch.gz | patch
    –p0

    Configurar el kernel para adaptarlo al hardware.

    ….:/usr/src/linux# apt-get install
    libncurses5-dev

    ….:/usr/src/linux# make clean
    mrproper

    ….:/usr/src/linux# make
    menuconfig

    Una vez configurado el kernel, compilar la imagen y los
    módulos.
    ….:/usr/src/linux# apt-get install gcc
    make

    ….:/usr/src/linux# make dep

    ….:/usr/src/linux# make bzImage

    ….:/usr/src/linux# make modules

    Instalamos los módulos y copiar la imagen del kernel al
    /boot.
    ….:/usr/src/linux# make modules_install

    ….:/usr/src/linux# cp arch/i386/boot/bzImage
    /boot/2.4.28.img

    Creamos la imagen del initrd.

    ….:/usr/src/linux# apt-get install
    mkinitrd-tools

    ….:/usr/src/linux# mkinitrd –o
    /boot/initrd.2.4.28.img /lib/modules/2.4.28

    Opción A: Gestor de arranque Lilo

    Editamos el lilo.conf y añadimos la nueva
    imagen de nuestro kernel.

    ….:/usr/src/linux# nano -w
    /etc/lilo.conf

    image=/boot/2.4.28.img
    label=2.4.28
    read-only
    initrd=/boot/initrd.2.4.28.img

    Cargar la nueva configuración del lilo.

    ….:/usr/src/linux# lilo
    –v

    Opción B: Gestor de arranque Grub

    Editamos el archivo de configuración del grub y
    añadimos la nueva imagen de nuestro kernel.
    ….:/usr/src/linux# nano -w
    /boot/grub/menu.lst

    title Debian
    GNU/Linux, kernel 2.4.28

    root (hd0,1)

    kernel /boot/2.4.28.img root=/dev/hda1
    ro

    initrd /boot/initrd.2.4.28.img

    savedefault
    boot

    Kernel 2.6.x en Debian.

    Descargar el kernel con wget e instalar con
    apt.

    ….:/# apt-get update

    ….:/# apt-get install wget

    ….:/# cd /usr/src

    ….:/usr/src# wget


    http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.11.tar.bz2

    Descomprimir los sources.

    ….:/usr/src# apt-get install
    bzip2

    ….:/usr/src# tar jxvf
    linux-2.6.11.11.tar.bz2


    Crear un link simbólico.

    :/usr/src# ln -s linux-2.6.11.11 linux

    OPCIONAL: Parchar el kernel con soporte
    encriptación MPPE 128bit y compresión MPPC VPN
    Server

    ….:/usr/src# wget –c

    http://www.polbox.com/h/hs001/linux-2.6.11-mppe-mppc-1.3.patch.gz

    ….:/usr/src# cd Linux

    ….:/usr/src/linux# apt-get install
    match

    ….:/usr/src/linux# zcat
    ../linux-2.6.11-mppe-mppc-1.3.patch.gz | patch
    –p0

    Configuramos el kernel para adaptarlo al hardware.

    ….:/usr/src/linux# apt-get install
    libncurses5-dev

    ….:/usr/src/linux# make clean
    mrproper

    ….:/usr/src/linux# make
    menuconfig

    Una vez configurado el kernel , compilar la imagen y los
    módulos.

    ….:/usr/src/linux# apt-get install gcc
    make

    ….:/usr/src/linux# make dep

    ….:/usr/src/linux# make bzImage

    ….:/usr/src/linux# make modules

    Instalar los módulos y copiar la imagen del kernel al
    /boot.
    ….:/usr/src/linux# make modules_install

    ….:/usr/src/linux# cp arch/i386/boot/bzImage
    /boot/2.6.11.img

    Crear la imagen del initrd.

    ….:/usr/src/linux# apt-get install
    mkinitrd-tools

    ….:/usr/src/linux# mkinitrd –o
    /boot/initrd.2.6.11.img /lib/modules/2.6.11

    Opción A: Gestor de arranque Lilo

    Editar el lilo.conf

    ….:/usr/src/linux# vi
    /etc/lilo.conf

    image=/boot/2.6.11.img
    label=2.4.20
    read-only
    initrd=/boot/initrd.2.6.11.img

    Cargar la nueva configuración del lilo.

    ….:/usr/src/linux# lilo
    –v

    Opción B: Gestor de arranque Grub

    Editar el archivo de configuración del grub y
    añadir la nueva imagen del kernel.
    ….:/usr/src/linux# nano -w
    /boot/grub/menu.lst

    title Debian GNU/Linux, kernel 2.6.11

    root (hd0,1)

    kernel /boot/2.6.11.img root=/dev/hda1
    ro

    initrd /boot/initrd.2.6.11.img

    savedefault
    boot

    7. APLICACIÓN EN LINUX FEDORA

    El SElinux esta presente en las ultimas versiones como
    tal del Red Hat, su continuidad en Fedora y ahora en Corel de la
    misma línea. El ingreso tradicional a los sistemas Linux
    es mediante el nombre y password del Usuario que tradicionalmente
    con mucho riesgo como se a
    explicado es con el root (super-administrador).

    Ahora es posible ingresar con un usuario
    específico que se identifica dentro de un grupo.

    Dentro de fedora 2, para la creación de grupos y
    usuarios a un grupo definiendo roles se ingresa mediante la
    siguiente opción.

    Figura 1.

    Cabe destacar que los Sistemas Linux cada vez son
    más completos y fáciles de usar, sin embargo
    requieren de una expertitud para la ejecución de procesos.
    A continuación la creación de un grupo
    Maestría con sus respectivos permisos.

    Figura 2.

    Aquí la asignación del usuarios master al
    grupo Maestría.

    Figura 3.

     

     

    Edgar Castañeda

    Luis Patiño

    Octubre/2005

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter