SE Linux: seguridad al máximo


En un post anterior dí algunos consejos sobre seguridad. Ahora que sucede cuando tenemos un equipo cuya criticidad es importante y no alcanza con lo expuesto anteriormente.
Por suerte tenemos hoy en día una pieza importante dentro del kernel denominado SE (Secure Enhanced) Linux.
Dicho modulo fue desarrollado por la NSA (National Security Agency). Ellos querían llevar al ambiente *nix un nivel de seguridad superior y encontraron en Linux la respuesta, justamente por la versatilidad del kernel y su capacidad de ser adaptado. Como la licencia del kernel esta amparado por la GPL, la NSA decidió liberar su desarrollo bajo las mismas condiciones.
A partir del Kernel 2.6 fue aceptado dentro de este oficialmente.

Ahora como funciona?
SE Linux funciona como un modulo en el núcleo. Dando un nivel de abstracción mas alto.
Recuerden que la seguridad clásica de *nix es por niveles de usuarios, grupos y derechos de accesos.
Donde un usuario puede ejecutar una aplicación a la que tiene derechos y la aplicación se ejecuta con los niveles de acceso que tiene el usuario. Este tipo de seguridad se denomina DAC (Discretionary Access Control).
La NSA introdujo un sistema de control tipo MAC (Mandatory Access Control) basado en contextos donde se indica cuando un objeto puede acceder a otro objeto.
En este caso el administrador debe definir los derechos para cada usuario que acceda a una aplicaciones que acceda a cualquier objeto del sistema. Para evitar que esta operación sea tediosa se definen roles (Role-Based Access Control,RBAC).
Por ejemplo al usuario A le damos derechos para acceder para leer y escribir en los archivos del programa xx, ahora el usuario B solamente necesita lectura y nada mas sobre los mismos archivos.
SE Linux funciona como un proceso servidor que se ejecuta como parte del núcleo y evalúa si algo (un proceso o un usuario) dispone de permisos para acceder a un objeto (archivo, dispositivo, etc.).
Este mecanismo de control se denomina Type Enforcement (TE).
Vamos a suponer que alguien intenta correr un buffer overflow para lograr una escalada de privilegios sobre el programa X, el atacante sólo podrá acceder a los archivos para los cuales el proceso vulnerable esté autorizado por la política del sistema. El atacante NO logrará el control de TODO el sistema.
Un ejemplo mas reciente pueden encontrar en el siguiente link, donde se demuestra como SE Linux impidió una escalada de privilegios en la rama 2.6.17:

Otro modelo de seguridad que se puede implementar es MLS (Multi-Level Security) donde es posible definir para cada objeto una capa de seguridad por ejemplo “altamente secreta”, “secreta”, “confidencial” y “sin restricción”. En este caso solamente los usuarios o procesos que están en la misma capa o superior pueden acceder a estos objetos pero nunca al revés.

Algunas características importantes:
-Interfaz de políticas bien definidas
-Independiente de políticas especificas y lenguajes de políticas
-Cacheo de decisiones de acceso para lograr mayor eficiencia
-Soporte para cambio de políticas
-Control sobre inicialización de procesos y herencia así como también sobre ejecución de programas.
-Control sobre sistema de archivos, directorios y archivos.
-Control sobre sockets, mensajes e interfaces de red.
-Control sobre el uso de capacidades.

Cuales distros están certificadas para correr SE Linux?
La primera fue Red Hat Entreprise 4 como comercial.
Del lado de las ditros comunitarias tenemos a EnGarde Secure Linux, Fedore Core desde la versión 2 y es parte del proyecto hardened Gentoo. Actualmente se esta trabajando para que sea parte oficial en Debian, SUSE, Slackware, Ubuntu y otras.

Como podrán ver con este segundo articulo de seguridad tienen las herramientas necesarias para poder tener un verdadero búnker casi imposible de penetrar.
Si desean obtener mayor información tanto del funcionamiento como instalación dirijanse a la web oficial del proyecto:
http://www.nsa.gov/selinux/

ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

Más detalles y texto legal de la licencia en: http://creativecommons.org/licenses/by-nc-sa/2.5/ar

  1. #1 by Sultanovich on 11/12/2006 - 2:06

    muy buena sebas, pero si no jode mucho, seria bueno tener alguna opcion para imprimir sin el menu de la derecha. :)

    Saludos.

(will not be published)
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 14 + 7 ?
Please leave these two fields as-is: