A medida que Internet absorve todas la redes del planeta, el tema de la seguridad de la nuestra cobra cada vez más importancia. En esta doble entrega de una evaluación hecha por Kurt Seifried, el autor de la Linux Administrators Security Guide, enfrenta las fortalezas de OpenBSD contra las debilidades de Linux. Sólo como a título educativo, esta traducción intenta orientar al administrador a la hora de tomar una decisión sobre el OS de su servidor. ¡La última palabra es de Uds.!
Contraparte: Porqué OpenBSD nunca será tan seguro como Linux
El Código
Reconozcámoslo, Linux es un OS genial, yo tengo lo tengo corriendo en varias PCs, pero debido a una serie de factores nunca llegará a ser tan seguro como OpenBSD (que también lo tengo corriendo en otras tantas máquinas). Linux nunca será tan seguro como OpenBSD por razones técnicas, políticas y de márketing. Una de las más obvias diferencias entre Linux y OpenBSD (asumiendo que uno mire debajo del capót un poco) es el hecho de que OpenBSD ha realizado una extensiva auditoría de su código. El equipo de OpenBSD ha pasado literalmente docenas de años-hombre de trabajo auditando el código, no sólo por seguridad, sino también por exactitud general. Hasta las man pages de OpenBSD son prolijas y consistentes. Esta es una forma muy proactiva de seguridad, OpenBSD soluciona muchos errores antes de que se conviertan en riesgos.
En el mundo de Linux no existe una auditoría del código similar en su extensión, y seguramente nunca lo habrá. La mayoría de los vendedores con los que hablé típicamente tienen un pequeño grupo de seguridad de menos de una docena de personas (usualmente, mucho menos). Incluso ignorando el hecho de que los vendedores de Linux distribuyen muchos más paquetes por defecto que OpenBSD (que tiene a confiar en una colección de ports para aumentar su base de software) la cantidad de los componentes fundamentales que tienen Linux y OpenBSD (kernel, shells, utilidades del sistema, etc.) es muy grande, varios cientos de megabytes de código fuente en total. Simplemente no hay suficientes programadores Linux competentes para hacer una auditoría de seguridad en ese código, los vendedores deben entonces contratar personas para arreglar sus propias versiones (de los paquetes). Aún cuando los vendedores hacen auditorías de código, típicamente enfrentan un problema: muchos programadores encargados de mantener el software son indiferentes o hasta hostiles cuando les envían correcciones de seguridad, así que es muy común que el software original sea inseguro, y que el vendedor deba mantener su propia colección de parches.
Este problema afecta a OpenBSD mucho menos, por cuanto ellos mismos mantienen su propio código base ahora, y ha divergido significativamente en muchas áreas (ssh y openssh son un caso principal). Aún si los vendedores de Linux decidieran auditar todo su código, no hay suficientes programadores Linux capaces de hacerlo. Esto significa que están condenados a reaccionar a los problemas de seguridad, aplicando parches y distribuyendo las versiones corregidas, mientras dejan a sus usuarios abiertos a vulnerabilidades por horas, días o hasta semanas.
Esto es por lejos mucho más importante de lo que suena, incluso con productos adicionales de seguridad como PitBull, aún hay puede haber maneras en que un atacante pueda explotar un error en el kernel que le permita saltar esta seguridad agregada, como sucedió con PitBull para Solaris. PitBull estaba bien, pero el kernel de Solaris no. Generalmente hablando, los productos de seguridad agregada no pueden asegurar completamente un sistema. Por ejemplo, a menos que un producto de firewall reemplace la pila TCP-IP de un OS, cualquier problema con él continuará siendo explotable.
[PAGEBREAK]
Software Criptográfico
Esta es un área en que OpenBSD apabulla a Linux. OpenBSD no sólo viene con OpenSSL, OpenSSH, IPSec y otros paquetes de software criptográfico, sino que también ha sido responsable en gran medida por OpenSSH, que es un software increíblemete imporante hoy en día. Aunque muchos vendedores de Linux sí incluyen OpenSSL y OpenSSH, hay otros que no (Caldera es un ejemplo notable). Sin embargo, ninguno de los principales vendedores de Linux incluye soporte de IPSec por defecto, aunque existe un proyecto Linux IPSec, que en el mejor de los casos es difícil de configurar e instalar, y en el peor, imposible. OpenBSD, por el contrario, viene por defecto con una de las mejores implementaciones de IPSec disponibles.
OpenBSD también provee de un key daemon diferente (mejor en muchas maneras) que soporta varios métodos de autentificación, un área donde FreeS/WAN es débil. Además, debido a que la mayoría del trabajo sobre Linux es hechos en los Estados Unidos (Linus Torvalds ahora vive allí) casi no hay ningún soporte de criptografía integrado en el kernel Linux. Si un desea agregar criptografia, debe parchar el kernel y recompilarlo. Muy pocos vendedores, si es que existe alguno, incluyen soporte criptográfico directamente en kernel Linux (similar al soporte de IPSec) o cualquier otra forma de criptografía. Debido a que OpenBSD se hace en Canadá, la exportación de software de dominio público (usualmente interpretado como Open Source) no es ningún problema, y está disponible out of the box.
Hardware Criptográfico
Aún otra área donde OpenBSD brilla y Linux está casi ausente. OpenBSD soporta varios productos de aceleración criptográfica, permitiéndole, por ejemplo, construir gateways IPSec muy poderosos y baratos. Aunque si hay hardware de aceleración SSL disponible para Linux, éste es escencialmente un problema fácil de resolver (muchos balanceadores de carga para la web pueden manejar encriptación y mantener las sesiones organizadas adecuadamente). Hasta donde conozco, no existe hardware capaz de acelerar IPSec para Linux.
OpenBSD está trabajando en permitir que otro hardware acelere otro software criptográfico como ssh, que se convertirá cada vez en un problema más grande (¿cuánto más CPU debería agregar a su servidor para soportar 1000 usuarios usando ssh en lugar de telnet?). Así como con OpenSSH, el soporte para la carga de transferencias de grandes archivos (vía scp y sftp) sólo aumentará.
En el frente de la critpografía OpenBSD vence por lejos a Linux. Las chances de que Linux gane este mismo tipo de soporte son escasas por un número de razones: La política de exportación de criptografía de los Estados Unidos y la falta de programadores capaces de escribir el software son sólo unos pocos. Esto no es algo que pueda cambiar por un largo tiempo (si es que lo hace alguna vez).
[PAGEBREAK]
Clientes felices
Los vendedores de Linux se preocupan por tener clientes felices. Los desarrolladores de OpenBSD, no. El mercado Linux se ha convertido en un espacio muy competitivo, con alrededor de una docena de distribuciones mayores, y quizás cientos más de jugadores pequeños. Las principales distribuciones generalmente persiguen mercados similares, usuarios hogareños, corporativos, escolares y sus servidores. Casi todos estos vendedores comerciales han invertido un esfuerzo significativo instalaciones gráficas, software de escritorio como GNOME o KDE y otros de productividad, usabilidad y entretenimiento. No hay nada absolutamente malo con esto, mientras más personas usan Linux, la instalación se vuelve más fácil y cosas como procesadores de texto son más necesitadas. Sin embargo, esto significa que los vendedores de Linux deben invertir muchos más esfuerzos conformando a sus usuarios: muchas distribuciones vienen en múltiples CDs debido a todos los agregados de software que incluyen. A pesar que los clientes se quejan sobre la seguridad, muy pocos eligirán un producto seguro en lugar de otro inseguro, pero con más características (aún si no necesitan esas características). A menos que una buena parte de estos clientes pongan su dinero donde dicen que les preocupa, los vendedores no cambiarán significativamente.
Seguro por defecto
En comparación, los archivos de instalación de OpenBSD 2.8 (todos ellos) son sólo un poco más que 90 Mb, instalados requieren cerca de 200 Mb de espacio. Las únicas cosas activadas por defecto en OpenBSD son aquellas que los desarrolladores consideran seguras. Por ejemplo, Telnet está desactivado por defecto y OpenSSH activado. Sendmail es configurado en modo de cola local, puede enviar email pero no recibirlo (debe agregar la opción -bc rc.conf para activarlo). Como lo dicen en la página de OpenBSD: Cuatro años sin un agujero remoto con la instalación por defecto.
Lo que no es algo que un vendedor de Linux pueda afirmar (o jamás llegue a hacerlo, aparentemente). Una instalación típica de Linux resulta en que media docena de servicios de red se activen, y aunque algunos vendedores están comenzando a mejorar también muchos no lo harán, debido a que desactivar cosas resultará en frustrados usuarios y costos de soporte técnico mayores (aunque uno se pregunte sobre los costos de reconstruir máquinas después de que han sido hackeadas).
Sumario
Necesitamos enseñar a la gente a programar bien, y entonces tal vez cómo programar de una forma segura. Entonces necesitamos que estos programadores reescribar importantes porciones del software que muchos vendedores de Linux distribuyen, o auditar el código existente (en ambos casos es una tarea poco probable en ser realizada). Debido a que esto es básicamente imposible, necesitamos ver otras soluciones. Immunix OS y SE Linux son dos soluciones a este problema, y cuando se instalan, mantienen y usan correctamente, sí ayudan, y mucho. Sin embargo, ésto no beneficiará a la vasta mayoría de los usuarios Linux. Los usuarios de OpenBSD, por otro lado, tienen un extremadamente limpio y seguro código base en donde trabajar, que está proactivamente auditado en forma continua. Linux se ha enterrado a sí mismo en un agujero muy profundo, y parece enterrarse cada vez más rápido.
Aún con software adicional como PitBul LX, o las modificaciones del kernel de SE Linux de la NSA, siguen existiendo potenciales agujeros de seguridad que podrían permitir a un atacante saltar cualquier Control de Acceso Obligatorio, RBAC o Type Enforcement, como fué el caso de PitBull para Solaris. Sin una alto nivel de seguridad en el mismo código fuente del kernel Linux y sus archivos asociados, siempre habrá un atisvo de duda sobre la seguridad del sistema como un todo. Es por esto que Linux nunca será tan seguro como OpenBSD.
Traducido del artículo Why Linux will never be as secure as OpenBSD de Kurt Seifried http://www.seifried.org/security/os/20011107-linux-openbsd.html
Los links a los productos mencionados se encuentran en el Directorio de Links de Planeta Linux Argentina.


Links