Las Bases de SE Linux

SELinux (Security-Enhanced Linux) es un conjunto de modificaciones para implementar mejores politicas de seguridad. Fue desarrollado inicialmente por la Agencia de Seguridad Nacional (National Security Agency – NSA) de Estados Unidos bajo licencia GPL e incorporado oficialmente al kernel de linux 2.6.

Provee un sistema de control de acceso obligatorio (MAC) en lugar del control de acceso discrecional (DAC) usado normalmente en los sistemas Linux.

Veamos algo de la teoría base:

1. Criterios de evaluación de un sistema de cómputo confiable

El Trusted Computer System Evaluation Criteria es un estandar acuñado por el Departamento de defensa estadounidense que les indican los requerimientos básicos para evaluar la efectividad de la seguridad incluída en un sistema de cómputo.

El tambien llamado libro naranja, publicado en 1983, describe cuatro niveles de seguridad: A, B, C y D, siendo A el nivel más alto y D el más bajo.

Nivel D: Mínima protección

Los sistemas que no pasan las pruebas de seguridad

Nivel C: Protección discrecional

  • C1: Protección de seguridad discrecional

    • Identificación y autentificación.
    • Separación de usuarios y datos.
    • Un control de acceso discrecional (DAC) capaz de hacer cumplir las limitaciones de acceso sobre una base individual.
  • C2: Protección de control de acceso

    • Un DAC más finamente integrado.
    • Responsabilidad individual a través de procesos de inicio de sesión.
    • Auditorías.
    • Reutilización de objetos.
    • Aislamiento de recursos.
    • Requerida documentación del sistema y manuales de usuario.

Nivel C: Protección obligatoria

  • B1: Protección de seguridad etiquetada

    • Declaración informal del modelo de politica de seguridad.
    • Etiquetas de sensibilidad de datos.
    • Un control de acceso obligatorio (MAC) sobre sujetos y objetos selectos.
    • Capacidad de etiquetas de exportación.
    • Todos los defectos descubiertos deben eliminarse o mitigarse.
    • Especificaciones de diseño y de verificación
  • B2: Protección estructurada

    • Modelo de politicas de seguridad claramente definido y documentado formalmente.
    • El cumplimiento de los DAC y MAC deben extenderse a todos los sujetos y objetos.
    • Los canales de almacenamiento secretos son analizados por ocurrencias y ancho de banda
    • Estructurado cuidadosamente dentro de elementos con protección crítica y no crítica.
    • El diseño y la implementación permite unas pruebas y revisiones más comprensivas.
    • Los mecanismos de autentificación son reforzados.
    • La gestión de instalaciones de confianza es ofrecida por el administrador.
    • Son impuestos controles estrictos de gestion
  • B3: Dominios seguros

    • Satisface los requerimientos del monitor de referencia.
    • Estructurado para excluir código no escencial a la aplicación de politicas de seguridad.
    • Sistemas importantes diseñados para minimizar la complejidad.
    • Definido el rol de administrador de seguridad.
    • Auditar eventos relevantes de seguridad.
    • Detección, notificación y respuesta a intrusos automatizada.
    • Procedimientos para recuperar sistemas seguros.
    • Los tiempos de los canales encubiertos son analizados en ocurrencia y ancho de banda.

Nivel A: Protección verificada

  • A1: Diseño verificado

    • Funcionalidades identicas a B3
    • El diseño formal y las técnicas de verificación incluyen un nivel máximo especificado.
    • Administración formal y distribución de procedimientos
  • Más allá de A1

    • La arquitectura del sistema demuestra que los requerimientos de auto-protección y la íntegridad de los monitores de referencia se han aplicado en la computación base de confianza (CBC).
    • Las pruebas de seguridad generan automáticamente casos de prueba desde la especificación formal más alta o más baja
    • La especificación formal y la verificación es donde la CBC es verificada desde el código fuente, usando metodos formales de verificaciones donde sea factible.
    • El entorno de diseño de confianza es donde la CBC es diseñada en un instalación de confianza con sólamente personal de confianza.

Recursos

SELinux from scratch http://www.ibm.com/developerworks/linux/library/l-selinux.html

Via http://www.confusion.com.mx