12 junio 2008

Selinux ¿Éxito o bluf?

Selinux nació como un esfuerzo de la intrigante NSA Americana para ofrecer seguridad mejorada en el Kernel de Linux. Inicialmente se desató una horda de conspiranoicos que hablaban de meter "al enemigo en casa" introduciendo código en el kernel de Linux que proviniera de la siempre desconcertánte NSA.

Yo, siempre me posicioné en contra de las tramas conspiranoicas porque, técnicamente hablando, se trata de un parche con el código fuente "en la mano" que se puede auditar, revisar y comprobar. Harina de otro costal hubiera sido si se tratara de un modulo en el kernel en formato binario al estilo "tomaló o dejalo".

RedHat / Fedora fue la primera en abrazar las bondades de Selinux y, todo sea dicho de paso, quienes mas han contribuido a que Selinux sea una solución implantable gracias a sus herramientas grafícas y el soporte implícito ofrecido. Por contra, en Debian el advenimiento de Selinux se ha tomado de una forma mas fría, existe un wiki con abundante información para implantarlo en Debian, pero dejan muy claro, que no están haciendo un especial esfuerzo para que Debian sea totalmente compatible con Selinux.

Desde mi punto de vista, Selinux, sobre el papel, es una excelente idea y es innegable que supone un salto cualitativo en la seguridad para Linux, el problema es que se nota y mucho lo influenciado que está por estándares y paradigmas de tipo Militar. Implantar Selinux en Fedora, de la que se presupone, está nativamente preparada para ello, supone asumir que, todo lo que suponga salirte de los servicios preparados para ello (Apaches, Binds y cia) es todo un reto de pruebas, mas pruebas, errores crípticos y arduos esfuerzos para generar una política para el servicio que se pretende proteger. Además, si lo que pretendes es tener Selinux en una workstation, preparaté para la asidua visita de duendes que harán tu experiencia en linux una colección de lapsus entre visitas a google.

A mi juicio, Selinux rompe los principios tradicionales Unix (Pequeñas herramientas, super-optimizadas y cooperativas entre si) ya que entra "a saco" y sin piedad en cada una de las partes de Linux.

Una alternativa bastante desconocida (a nivel linux) y mucho mas sencilla de usar / configurar, mas amigable e igualmente segura es Systrace. A diferencia de Selinux que desde el primer momento sientes los galones militares en su filosofía de uso, Systrace es mucho mas "Unix friendly" y cuesta bastante menos comulgar con ella. Supongo que, el hecho de que sea un proyecto apoyado por OpenBSD, hace que las cosas suenen mucho mas familiares para la gente mas "Unixera de toda la vida".

También me gustaría señalar otra alternativa que aun no he tenido demasiado tiempo de probar a fondo pero que, a priori, parece mucho menos agresiva que Selinux / Systrace y mas fácil de implementar: Plash

1 comments :

Anónimo dijo...

http://www.coker.com.au/selinux/play.html

zoran