El desarrollo explosivo que tiene Linux en todo aspecto también se refleja en su flexibilidad a la hora de construir una solución de seguridad personalizada. En esta segunda y ultima parte de la evaluación hecha por Kurt Seifried, el autor de la Linux Administrators Security Guide, enfrentaremos las fortalezas de Linux con las debilidades de OpenBSD, en el polémico tema de la seguridad de nuestras redes
Contraparte: Porqué Linux nunca será tan seguro como OpenBSD
Este artículo es un intento para educar a las personas, personalmente considero que OpenBSD es un sistema operativo razonablemente seguro, de alguna manera es más seguro que una distribución Linux promedio. Sin embargo, la gente tiene toda una variedad de necesidades cuando se trata de la seguridad, y algunas de estas necesidades no son satisfechas con Linux más de lo que lo son con OpenBSD. Hay toda una oferta de productos de seguridad y suites de software actualmente disponibles para Linux, y otro número de proyectos de seguridad en desarrollo que tendrán un efecto significativo. Dependiendo de sus necesidades especificas, presupuesto, nivel de pericia, etc., casi seguramente existe una solución de seguridad para Linux que las satisfaga.
SubDomain, StackGuard & FormatGuard
WireX distribuye una versión endurecida de Linux usando un número de mejoras en la seguridad. Las más obvia es SubDomain, que permite especificar cuáles archivos puede acceder un programa y de qué manera (lectura, escritura, ejecutar o listar). Esto le permite contener estrechamente al software, no es necesario hacer ninguna modificación al software o pasar por los problemas de usar chroot() (que para paquetes como Sendmail puede ser extramadamente complejo). SubDomain puede projeter software disponible en formato binario únicamente. No existe ningún equivalente a SubDomain en OpenBSD. Otros beneficios de WireX incluyen StackGuard y FormatGuard, que aunque puede objetarse que debido a que el código de OpenBSD ya ha sido auditado no los necesita, el hecho es que los buffers overflows y los ataques de format strings siguen siendo descubiertos en OpenBSD. La belleza de estas tres tecnologías de WireX es que no es necesario una enorme cantidad de experiencia o tiempo para implementarlas.
El parche para el kernel de OpenWall
El parche para el kernel de OpenWall es un realivamente simple conjunto de parches para el kernel, que una vez compilados prevendrán o evitarán un número de problemas. Un área de pila no ejecutable para el usuario prevendrá varios buffers overflows, y aunque pueda ser sorteado, definitivamente hace las cosas más difíciles para un atacante. Restringir los links y los FIFOs en /tmp es otra característica, y aunque nuevamente OpenBSD ha auditado su código y removido la mayoría de las vulnerabilidades en /tmp, no hay garantías sobre el software en los paquetes de los ports o aquellos en formato sólo binario. Una vez que este parche ha sido instalado, no es necesario hacer nada más, no se requiere configuración o setup adicional cuando se instala nuevo software, terminando con la posibilidad de accidentalmente olvidarse de protegerlo.
Argus PitBull LX
PitBull LX es un producto comercial para Linux que viene como un kernel binario (y las cabeceras del kernel, si quiere crear su propio kernel personalizado) y varias utilidades para configurar las opciones de seguridad. El beneficio principal es que PitBull LX ofrece Controles de Acceso Obligatorios (MAC: Mandatory Access Controls), una de las diferencias principales en estos y los Controles de Acceso Discretos (Discretionary Access Controls) que usa Linux por defecto, es que ni siquiera el usuario root puede alterar un sistema habilitado con MAC. Adicionalmente, pueden ubicarse controles en los dispositivos de red y hasta en los mismos puertos, se puede especificar que el puerto 53 y todos los archivos necesarios para ejecutar Bind estén un un dominio asegurado; si Bind es comprometido no podrá hacer nada fuera de su dominio (por ej., escribir /etc/passwd). Los controles también pueden ser ubicados en los objetos IPC (Comunicación Inter Procesos), permitiendo sólo correctas configuraciones de procesos, archivos, objetos de red, etc. Esta capacidad, aunque complicada y no trivial permite una flexibilidad no disponible en OpenBSD.
NSA SE Linux
NSA SE Linux es un conjunto de parches para el kernel y utilidades modificadas permite un control extremadamente granular de las configuraciones de seguridad, es similar (pero diferente) a PitBull LX. SE Linux provee Control de Acceso basado en Roles (Role-based Access Control), Type Enforcement y Seguridad Multi-Nivel. Básicamente, cualquier cosa que pueda imaginar es posible. ¿Quiere restringir el puerto 80 a ciertos procesos? Puede hacerlo. ¿Quiere evitar que ciertos procesos accedan a determinados archivos? Puede hacerlo. ¿Quiere cerrar el sistema de tal manera que hasta el usuario root pueda causar poco daño? Puede hacerlo. Desafortunadamente, este software no es para nada trivial, y puede ser muy difícil de aprender.
LIDS
LIDS es mucho menos complicado que PitBull LX o SE Linux. LIDS provee una variedad de características que va desde una mejorada protección del sistema de archivos hasta un número de capacidades que le permiten al administrador cerrar al sistema en una configuración que requiera un significativo esfuerzo para modificar. Por ej., la característica CAPSYSADMIN permite restringir el nombre de dominio, el host, la configuración de los puertos serie, activar o desactivar el swap, etc. Mientras que OpenBSD tiene un sistema similar con el securelevel de BSD, LIDS es más flexible en muchos aspectos.
Medusa DS9
Aún otro sistema de seguridad para Linux que le permite al administrador controlar el acceso a archivos, las acciones de varios procesos, llamadas del sistema y más. Una característica interesante de Medusa DS9 es la habilidad de redirigir el acceso de un archivo a otro, útil como una opción de seguridad o cuando se está debuggeando o chrooteando una aplicación. Como LIDS, SE Linux, PitBull LX, SubDomain y otros, Medusa DS9 permite un mejorado control sobre los procesos y archivos de un sistema, una vez más, no existe software comparable disponible para OpenBSD.
Conclusión
Como puede ver, existe una gran colección de software de seguridad para Linux, desde items simples como el parche de OpenWall hasta muy configurables suites como PitBull LX. Estas soluciones simplemente no está disponibles para OpenBSD, así que sus necesidades están más allá de las restricciones de usuario/grupo/otros del sistema de archivos, básicamente se le acabó la suerte. Restringir el acceso al puerto 80, por ej., aunque muy fácilmente realizable con SE Linux o PitBull LX, es imposible en OpenBSD. Proteger software binario se puede hacer con Linux con una variedad de herramientas, hacerlo en OpenBSD es muy difícil (puede hacer muy poco). Aún con uno de los códigos más seguros en el mundo, OpenBSD no será capaz de proveer los mismos niveles de seguridad de un sistema Linux con el software apropiado. Para que un sistema sea tanto seguro como confiable, se necesita tanto un código seguro como items adicionales que provean Controles de Acceso Obligatorios, RBAC, Type Enforcement y demás. Es por esto que OpenBSD nunca será tan seguro como Linux.
Traducido del artículo
Why OpenBSD will never be as secure as Linux de Kurt Seifried


Links