Packet Filter y pfSense

Packet Filter es un firewall que fué publicado hace diez años, en 2001, en OpenBSD debido a problemas de licencias con el firewall (Ip Filter) que incluia anteriormente. Los problemas estaban relacionados con que la licencia que utilizaba IP Filter no permitía la libre modificación del código por lo que realmente no es software libre. En su licencia original ponía:

«Redistribution and use in source and binary forms are permitted provided that this notice is preserved and due credit is given to the original author and the contributors,»

Esto no aclaraba si se podía modificar el código o no (en caso de no poderse modificar, supondría que IP Filter no era libre y sería un problema para el proyecto OpenBSD). Ante este dilema, el autor, Darren Reed, dejó claro su postura en una modificación de la licencia que hizo posteriormente, en la que añadió a lo anterior lo siguiente:

«Yes, this means that derivative or modified works are not permitted without the author’s prior consent.»

Esto provocó por parte del lider de OpenBSD, Theo de Raadt, la eliminación del paquete del repositorio de OpenBSD, el que se consideraba uno de los sistemas operativos libres más seguros, se quedó sin firewall desde Mayo del 2001 hasta finales de año en que Packet Filter, una alternativa propuesta por Daniel Hartmeier era una alternativa sensata para utilizarse.

Con el tiempo, Packet Filter ha sido una buena elección porque a día de hoy se considera una referencia en el ámbito de los firewalls. OpenBSD lo incluye a la última versión pero FreeBSD no, ya que hay ciertas actualizaciones en Packet Filter que obliga a cambiar los ficheros de reglas.

PfSense es una distribución iniciada en 2004 derivada de FreeBSD en la que se le ha añadido un interfaz gráfica web muy clara. Debido a que el kernel de BSD está muy optimizado, PfSense (y OpenBSD + Packet Filter) funciona bastante bien en equipos «limitados». En mi caso lo he probado en un equipo Soekris 5501 instalándolo en una memoria compact flash y aún teniendo sólo 256 MD de ram y una CPU de 433 MHz funciona muy fluido en una empresa pequeña. Los datos que aparecen en su página web de que se ha descargado más de un millón de veces  y que hay más de 100.000 IPs públicas que lo utilizan indica que es un producto muy utilizado

VirtualBox

Para las prácticas del master es interesante tener varias máquinas, cada una de ellas configurada para una tarea concreta. Para poder hacer esto he decidido utilizar máquinas virtuales en mi ordenador y dentro de las opciones de virtualización disponibles la herramienta VirtualBox.

VirtualBox es una herramienta de virtualización para arquitecturas x86 y AMD64/Intel64 desarrollada por Oracle. Frente a otras herramientas existentes, VirtualBox es Open Source con una licencia GPL 2.

Se puede instalar en equipos con sistemas operativos GNU/Linux, Mac OS X, OS/2 Warp , Microsoft Windows, y Solaris/OpenSolaris.

Los sistemas operativos que se pueden instalar en una máquina virtual de VirtualBox puede ser Windows 2000, XP, 2003, Vista, 2008 Server, Windows 7, Linux, Mac OS X, Solaris 10U5+, OpenSolaris y los sistemas operativos de la familia BSD.

Aquí se hace una comparación de VirtualBox con otras soluciones de virtualización existentes y queda patente que es una solución muy potente a tener en cuenta para usar en nuestros equipos o empresas. Tiene algunas características que facilitan su uso:

  • Headless operation: Consiste en arrancar máquinas virtuales sin necesitar una interfaz gráfica para hacerlo.
  • El acceso a las máquinas virtuales se hace a través de RDP (Remote Desktop Protocol) que se puede hacer a través del escritorio remoto de Windows o con cualquier cliente de terminal server en Linux. En otras soluciones hace falta utilizar herramientas específicas para esto (en VmWare ESXi por ejemplo).
  • Tiene soporte para iSCSI por lo que se puede conectar una máquina virtual a un servidor de almacenamiento iSCSI directamente.

La instalación de máquinas virtuales no tiene mucho secreto, básicamente consiste en definir el sistema operativo de la máquina virtual, el disco y por último instalar el sistema operativo. Se pueden encontrar manuales de cómo hacerlo en la propia página web de VirtualBox.

El software libre en las empresas españolas

El 21 de Septiembre de 2011, CENATIC (Centro Nacional de referencia de Aplicación de las TIC basadas en fuentes abiertas) publicó un documento en el que detallan el uso de software libre en las empresas españolas entre los años 2010 y 2011.
Para cualquiera que quiera tenerlo, puede acceder a la url http://www.cenatic.es/dossier/encuesta-ine y descargarlo.
En este documento se toman como muestra 28.980 empresas de toda España, 16.715 de 10 ó más empleados y 12.265 de menos de 10 empleados. Esta cifra no es representativa, ya que en España hay 3.250.576 empresas, por lo que la muestra no llega a ser ni un 1% pero nos da una visión de cómo evoluciona el uso del software en las empresas estudiadas.

Los datos que destacan son:
– 3 de cada 4 empresas españolas, con más de diez personas empleadas, y 5 de cada 10 microempresas, utilizan software libre.
– En las grandes empresas es donde más extendido está el uso de los sistemas operativos libres (47, 2%), los servidores web (47%) y las aplicaciones de tipo ERP o CRM (34%).
– Las aplicaciones ofimáticas de código abierto son las soluciones libres más utilizadas entre las pymes (53,9% de las pequeñas empresas y 51,5% de las medianas).
– 9 de cada 10 empresas TIC apuestan por el uso del software de código abierto en sus infraestructuras TI.
– En todas las Comunidades Autónomas, el software libre está ampliamente implantado en la infraestructura TI de las empresas.
– El porcentaje de empresas que utilizan sistemas operativos libres ha aumentado del 9,5% en enero de 2010 al 26,40% en enero de 2011.

Desde mi punto de vista, este último dato es muy importante. En un año ha aumentado el uso de sistemas operativos libres un 17% mientras que en el periodo que va del año 2007 al 2010 ha aumentado un 1% anual (del 6.80% al 9.50%).

Otra información que se detalla posteriormente es el campo al que pertenece la empresa a la que se le ha hecho el estudio y se puede observar que en los sectores de la construcción, industria y servicios ha habido un aumento importante en el uso del sistema operativo libre Linux y mucho más cuanto estas empresas tienen menos de 25
0 empleados.

Estos dos datos me hacen pensar sobre los motivos de este aumento de uso del software del código abierto en las empresas españolas, los cuales creo que son los siguientes:
– Las empresas confian más y más en el software de código abierto porque consideran que es una alternativa real al software privativo ya que el software libre tiene
bastante madurez .
– Las empresas han notado el efecto de la crisis y han decidido usar el software de código abierto por la crisis, de este modo se ahorran costes.

Git

En la asignatura de casos de estudio nos han presentado la herramienta git.
Inicialmente no era una herramienta que, desde mi punto de vista, aportase mucho ya que vengo utilizando durante años la heramienta svn.

Cuando escuché que fué Linus Torvalds quién la creó y que se utiliza en el desarrollo del kernel de Linux pensé que algo debía tener que la diferencie del resto de herramientas de control de versiones que hay.

Cuando lo estudias más a fondo te das cuenta de que aporta cosas interesantes:

– Cada copia local que hay es en realidad una copia del repositorio completo. Esto en svn no es así, hay un repositorio central en el que está toda la historia de los cambios. Esta diferencia permite en git ver los cambios entre revisiones del software sin tener que acceder al repositorio central en el que están almacenados todos los cambios ya que en realidad esta información la tenemos en nuestro ordenador que es una copia del repositorio principal. Esto hace replantearse la filofía de trabajo ya que no hace falta tener conectividad permanente entre nuestro equipo y el repositorio principal. Normalmente en svn, cuando queremos dar por buena una modificación o mejora del código tenemos que indicárselo al repositorio haciendo un commit pero en git no es así, podemos hacer un commit en nuestro repositorio local y cuando tengamos conectividad con el repositorio principal, indicar que lo actualice con los commits que hemos hecho (push).Esto mismo hace que no haga falta tener conectividad por red continua. Si nos vamos de vacaciones y trabajamos en un proyecto con nuestro equipo, los cambios que hagamos y queramos dar por buenos (commit) se podrán subir al repositorio principal cuando tengamos conectividad con el repositorio principal.

– Git es más óptimo que svn en el espacio de disco que ocupan los cambios, lo que hace que sea ideal para proyectos grandes. He probado a descargarme el repositorio del kernel 2.6 y ocupa 1.1 GB, imaginaos si esto no estuviera bien resuelto cuánto ocuparía…

– Git tiene un potente sistema de ramas (branch) en las que se puede dividir el proyecto en partes y unirlas posteriormente. Esta característica es muy interesante para proyectos grandes en los que diferentes grupos se encargan del desarrollo de partes separadas.

– Git es muy rápido y esto ha sido demostrado por la gente de Netscape. Está especialmente indicado para proyectos grandes porque no pierde rapidez según crece.

Por estas cosas he decidido probarlo y sacar mis propias conclusiones.

Presentación del master en software libre

En una de las últimas clases del curso Arquitectura de servidores con software libre impartido por el grupo Libresoft de la Universidad Rey Juan Carlos, dieron una charla del Master oficial en Software Libre. El hecho de ser impartido por la misma gente que el curso me hizo interesarme ya que quedé bastante contento tanto con el contenido como por la forma de llevar el curso y lo mucho que se involucraban los profesores.

La primera impresión del master es buena ya que para tener posibilidades de acceder primero te hacen una pequeña entrevista. Esto me parece buena idea porque he estado en cursos anteriormente y había gente que no estaba nada preparada, retrasando al resto de los alumnos.

Las personas que han organizado el master han pensado en los alumnos y lo han planificado de tal forma que se sólo haga falta asistir a clase los Jueves y los Viernes, en caso de querer cursarlo en un año o los Jueves o los Viernes, en caso de querer cursarlo en dos años (como es mi caso). Las clases comienzan a partir de las 16:00 horas por lo que es compatible con los trabajos. Otro tema interesante es que no es totalmente necesario asistir a clase porque muchas de estas clases se graban en video y posteriormente se publican en internet. Las cuestiones que nos hacen los profesores y la documentación utilizada en el master están en el moodle del master. Unas preguntas que me hago son, ¿por qué no se graban todas las clases en video? ¿Por qué matricular a tan pocos alumnos? Esta última pregunta es debido a que en clase hay como mucho 20 alumnos pero, si se grabaran todas las clases y se publicaran no creo que hubiera problema alguno en que un alumno matriculado en otro país pudiera seguir las clases a través de internet y obtuviera la titulación.

Los profesores que nos van a impartir las asignaturas son la mayoría personas conocidas del curso,  fueron profesores o vinieron a dar alguna charla sobre un tema en concreto. Algo interesante es que son jóvenes y puedes hablar con ellos de casi cualquier cosa, te escuchan y razonan contigo de una forma muy coherente. Creo que el tener la posibilidad de hablar con ellos y que puedan aconsejarte, con la experiencia que tienen, es interesante.Esto mismo pasa también con los compañeros que aunque asistan como alumnos cada uno tiene experiencias diferentes en el mundo del software libre.

En cuanto al tema de asignaturas, las hay muy variadas,  economía, historía, aspectos legales, presentación de tecnologías con software libre, implantación de sistemas con software libre, motivación de desarrolladores, comunidades de software libre…como se puede observar, pretenden dar una visión global del software libre y no de una cosa en concreto. El especializarnos en un ámbito ya depende de nosotros pero primero debemos tener una base estable.

Inicialmente no hay muchas asignaturas técnicas, que es lo que esperaba que hubiera, y hay asignaturas que supongo que no me gustarán…pero espero corregirme según avance el master.