%entities; ]>
&os;: Una alternativa de código abierto a &linux; Dru Lavigne
dru@isecom.org
2005 Dru Lavigne $FreeBSD$ $FreeBSD$ &tm-attrib.freebsd; &tm-attrib.linux; &tm-attrib.unix; &tm-attrib.general; &legalnotice; El propósito de este artículo es explicar algunas de las características y ventajas de elegir &os;; cuando es posible hacerlo se comparan dichas características con las de &linux;. Este artículo debería ser un punto de partida para quienes debería ser un punto de partida para quienes tengan interés tengan interés en alternatívas a &linux; en el ábito del código abierto. &trans.es.gabor;
Introducción &os; es un sistema operativo de tipo &unix; derivado de Berkeley Software Distribution. Aunque &os; y &linux; parecen con frecuencia muy similares existen notables diferencias: &linux; es solamente un kernel. Las distribuciones (p.ej. Red Hat, Debian, Suse, etc) disponen de instalador y de utilidades de usuario. En http://www.linux.org/dist se muestran más de 300 distribuciones distintas. Aunque por una parte tanta variedad proporcione la máxima flexibilidad posible, la existencia de tantas distribuciones pone trabas a los usuarios cuando tiene que aplicar su experiencia con una distribución al usar otra diferente. Las distribuciones no solamente se diferencian en la facilidad de instalación o los programas que incluyen; también hay diferencias en la estructura de directorios, las shells y gestores de ventanas que ofrecen y el procedimiento de instalación o parcheo de software. &os; es un sistema operativo completo (kernel y utilidades) en el que se respeta la herencia del desarrollo original de &unix;.[1] Dado que es el mismo grupo de ingeniería de releases el que controla tanto el kernel como las utilidades, la probabilidad de incompatibilidades entre bibliotecas es menor. El equipo de seguridad gestiona de un modo más rápido las vulnerabilidades de seguridad. Si quiere conocer las nuevas utilidades que se van añadiendo al kernel solo debe seguir un fichero, las Release Notes, que están en la página principal de &os;. &os; tiene un grupo de desarrollo grande y bien organizado, lo que asegura que los cambios se implementen de una forma rápida pero controlada. Hay varios miles de programadores que aportan código regularmente, pero sólo unos 300 de ellos tienen lo que se denomina commit bit, con el que pueden aplicar cambios directamente en el kernel, las utilidades y la documentación. El grupo de ingeniería de releases se encarga del control de calidad de las releases, mientras que el equipo de seguridad se responsabiliza de los problemas de seguridad. Además de estos grupos hay otro denominado Core Team, compuesto por ocho desarrolladores veteranos que supervisan las directrices de desarrollo del proyecto como un todo. Los cambios que se hacen en el kernel de &linux;, en cambio, han de esperar hasta que el responsable del código del kernel, Linus Torvalds, los apruebe. En cada una de las distribuciones hay un modo distinto de trabajar para que esos cambios se lleven a cabo dependiendo del tamanño del grupo de programadores de que disponga y cómo se organicen. Tanto &os; como &linux; usan una licencia de código abierto, pero las licencias son diferentes. El kernel de &linux; usa la licencia GPL, mientras que &os; usa la licencia BSD. Tiene más información sobre éstas y otras licencias de código abierto en el sitio web de Open Source Initiative. La filosofía que hay tras la GPL busca asegurarse de que el código permanezca abierto, cosa que hace imponiendo restricciones en la distribución de código GPL. La licencia BSD, en cambio, no impone ninguna restricción, de forma que es posible dejarlo abierto o cerrarlo para hacer productos comerciales propietarios (también conocidos como privativos)[2]. La existencia de código estable y confiable bajo una licencia tan interesante como la BSD ha hecho que un sistema operativo como Apple OS X esté basado en código de &os;. Todo esto significa que si decide usted utilizar código BSD en sus proyectos puede hacerlo sin preocuparse de que en un futuro tal decisión pueda acarrearle problemas legales. Características de &os; Plataformas soportadas &os; goza de una merecida reputación de sistema operativo seguro y estable sobre plataformas &intel; (&i386;). También es posible utilizarlo en las siguientes arquitecturas: alpha amd64 ia64 &i386; pc98 &sparc64; Además en este momento se está trabajando en portar &os; a las siguientes arquitecturas: &arm; &mips; &powerpc; Existen unas listas actualizadas de hardware para cada arquitectura donde puede verificarse rápidamente si su hardware está soportado por &os;. En el campo de los servidores &os; dispone de un soporte excelente de RAID por hardware y para adaptadores de red. &os; también funciona muy bien en una estación de trabajo o un portátil. &os; soporta X Window System, el mismo que ofrecen las distribuciones de &linux; para interfaces de usuario de escritorio. &os; ofrece además más de 17000 aplicaciones externas muy fáciles de instalar; entre ellas están KDE, Gnome y OpenOffice. Hay varios proyectos que tienen como meta una instalación de &os; más fácil. Los más importantes son: DesktopBSD, que tiene como fin ofrecer un sistema operativo estable y poderoso para usar como escritorio. FreeSBIE, que ofrece un LiveCD de &os;. PC-BSD, que dispone de un sencillo instalador gráfico sobre &os; dirigido al usuario de escritorio. <quote>Framework</quote> integrados Hay diversos frameworks que le permitirán adaptar su entorno &os; a sus necesidades concretas. Veamos algunos de ellos: Netgraph Netgraph es un subsistema de módulos que se puede usar para ampliar la infraestructura de red disponible en el kernel gracias a la posibilidad que se ofrece a los desarrolladores de usar sus propios módulos. De este modo ha sido posible crear nuevos prototipos y productos en el área de los sistemas de red avanzados de un modo más sencillo y limpio. Algunos de estos módulos ya están incluidos en &os;: PPPoE ATM ISDN Bluetooth HDLC EtherChannel Frame Relay y L2TP, solo por enumerar unos cuantos. GEOM GEOM es un framework modular que permite gestionar las peticiones de lectura/escritura en disco. Al ser un dispositivo de almacenamiento que se puede enchufar permite que puedan desarrollarse nuevos servicios de almacenamiento de forma rápida y limpia dentro del subsistema de almacenamiento de &os;. Uso de RAID. Protección criptográfica de los datos almacenados. Las versiones más recientes de &os; disponen de diversas aplicaciones administrativas para facilitar el uso de los módulos de GEOM existentes. Es posible, por ejemplo, crear un disco espejo mediante &man.gmirror.8;; &man.gstripe.8; permite crear un stripe, así como gracias a &man.gshsec.8; puede crearse un dispositivo secreto compartido. GBDE GBDE (de GEOM Based Disk Encryption) ofrece una protección criptográfica fuerte que puede utilizarse en sistemas de ficheros y unidades swap entre otros tipos de unidades de almacenamiento. Además GBDE cifra de forma transparente el sistema de ficheros en su totalidad, no sólamente ficheros individuales. De este modo el texto legible no llega siquiera a tocar el disco duro. MAC MAC (Mandatory Access Control) ofrece un control de acceso a ficheros muy configurable; su propósito es aumentar las posibilidades del control de acceso a ficheros de los que ha gozado hasta ahora el sistema operativo. Puesto que MAC se implementa como un framework modular cualquier sistema &os; puede configurarse para que alcance cualquier rango de exigencia, desde el cumplimiento del estándar HIPAA hasta los sistemas de seguridad de grado militar. &os; incluye módulos que permiten implementar las normas que se listan a continuación, aunque no hay que olvidar que el framework permite desarrollar e implementar cualquier otra que se necesite: Modelo Biba de integridad ACL para ports MLS (norma de confidencialidad Multi-Level Security) LOMAC (norma de integridad de datos Low-watermark Mandatory Access Control) Normas de partición de procesos PAM Igual que &linux;, &os; ofrece soporte para PAM (Pluggable Authentication Modules). Con PAM el administrador puede reforzar el modelo tradicional de autentificación usuario/contraseña. &os; dispone de módulos para integrar PAM en una amplia gama de mecanismos de autenticación. Estos son algunos de ellos: Kerberos 5 OPIE RADIUS TACACS+ También es posible configurar normas que se engarguen de problemas de control de autentificación como la calidad de las contraseñas que los usuarios puedan elegir. Seguridad La seguridad es extremadamente importante para el grupo de ingeniería de releases de &os;. Esto se refleja en distintas áreas: Todos los problemas de seguridad y los parches que los corrigen pasan por el equipo de seguridad, que los publica y pone a disposición de los usuarios en lo que se conoce como Advisories. El equipo de seguridad tiene una merecida reputación de rapidez en la resolución de problemas de seguridad. Si quiere información detallada sobre cómo se gestionan los problemas de seguridad en &os; y dónde encontrar información de seguridad consulte . Uno de los problemas que suelen asociarse al software de código abierto es la escasez de aplicaciones que pueden ejecutarse. Hay literalmente decenas de miles de proyectos desarrollando aplicaciones de código abierto, evidentemente no todas tienen el mismo rigor en cuestiones de seguridad. En &os; se ataja este problema gracias a VuXML. Consiste en una base de datos donde se van almacenando problemas de seguridad que van apareciendo; esta base de datos se cruza con la información de los programas que incluye &os; y las aplicaciones que esté en la Colección de Ports. El administrador tiene a su disposición &man.portaudit.1;, con el que puede determinar rápidamente si cualquier aplicación que haya en un sistema &os; es vulnerable. En el caso de que lo sea recibirá una descripción del problema con un enlace donde encontrará información más detallada sobre él. &os; ofrece también diversos mecanismos para que el administrador pueda hacer que su sistema operativo cumpla los requisitos de seguridad que necesite: La utilidad &man.jail.8; permite al administrador enjaular (de ahí su nombre) un proceso. Es ideal para aplicaciones que no pueden ejecutarse en un entorno chroot. La utilidad &man.chflags.1; aumenta la seguridad que ofrece el sistema tradicional de permisos de &unix;. Puede por ejemplo prohibirse la modificación de uno o más ficheros dados; es posible incluso prohibir que el superusuario pueda modificarlos o borrarlos. &os; ofrece 3 firewalls empotrados y con soporte de NAT, gracias a lo cual puede elegirse el conjunto de reglas más apropiado a las necesidades de seguridad de cada situación. El kernel de &os; puede modificarse muy fácilmente, lo que permite al administrador retirar de él características que no necesite. &os; también admite módulos dinámicos y dispone de herramientas para cargar, descargar y ver los módulos que están en el kernel. sysctl permite al administrador ver y configurar multitud de características del kernel sin tener que reiniciar la máquina. Soporte Del mismo modo que sucede en &linux;, &os; ofrece distintos tipos de soporte, tanto gratuito como comercial. Soporte gratuito &os; es uno de los sistemas operativos mejor documentados; dicha documentación forma parte del sistema y también está en Internet. Las páginas man son claras, concisas y contienen ejemplos útiles. El Handbook de &os; dispone de información a fondo y ejemplos de configuración para casi todas las tareas que deben acometerse en el uso de &os;. &os; dispone de muchas listas de correo; el correo que pasa por estas listas se archiva y pueden hacerse búsquedas en él. Si tiene alguna duda cuya solución no aparezca en el Handbook es muy probable que haya aparecido ya resuelta en alguna lista de correo del proyecto. Hay listas de correo (e incluso versiones del Handbook) en otros idiomas además del inglés. Puede encontrarlas en . Hay muchos canales de IRC, foros y grupos de usuarios. Consulte una lista de de algunos de ellos en . Si busca un administrador, desarrollador o alguien que ofrezca soporte para &os;, envíe la descripción del trabajo a freebsd-jobs@FreeBSD.org; no olvide incluir la ubicación física. Soporte comercial Hay muchas empresas que ofrecen soporte comercial para &os;. Si necesita alguna de estas empresas los siguientes enlaces le serán de mucha utilidad para buscar el que le resulta más adecuado: La página de distribuidores comerciales que hay en el sitio web de &os;: FreeBSDMall, que vende contratos de soporte desde hace casi diez años. La base de datos de BSDTracker: Hay una organización que ofrece certificados para administradores de sistemas BSD. . Si su proyecto necesita un certificado de Common Criteria, &os; incluye el framework MAC de TrustedBSD que puede facilitar el proceso de obtener la certificación. Ventajas de elegir &os; Integrar &os; en su estructura IT tiene muchas ventajas: &os; está bien documentado y cumple muchos estándares. Un administrador con conocimientos de nivel intermedio o avanzado puede utilizar en &os; su experiencia con &linux; y &unix; rápidamente. Los desarrolladores oficiales tienen acceso completo al código[4] de todas las versiones de &os; desde la primera release. El código incluye toda la información que se incluye con cada cambio, así que puede seguirse cada modificación y corrección que se haya hecho en el código. Adem´s, cualquier desarrollador puede obtener una release dada de un modo muy fácil usando la etiqueta adecuada. Por el contrario, &linux; no utiliza este modelo, aunque recientemente haya adoptado un modelo de desarrollo más avanzado[5]. Los desarrolladores oficiales también tiene acceso completo a la base de datos de fallos de &os;, GNATS. Pueden buscar y gestionar los fallos existentes y enviar parches para que puedan probarse e integrarse en el código base de &os;. La licencia BSD le permite modificar el código de la forma que prefiera para que satisfaga su objetivos comerciales. A diferencia de la licencia GPL no hay restricciones en el modo en que deba distribuirse el software que desarrolle. Conclusión &os; es un sistema operativo maduro basado en &unix; que incluye muchas de las características que uno espera en un sistema &unix; moderno. Para quien quiere incorporar soluciones de código abierto a su infraestructura &os; es una alternativa a tener muy en cuenta. Addenda Si quiere una breve historia de BSD consulte . Hay un resumen neutral de las ventajas de las licencias en . Uso de la Colección de ports de &os;: instalar software es tan fácil como ejecutar pkg_add -r nombre_de_aplicación. Además puede verse todo el código via web: . Hay una interesanta visión general del modelo de desarrollo de &linux; en .