viernes, noviembre 14, 2008

Así se financian los grandes proyectos del software libre

Poco a poco el software libre está dejando de ser un producto reservado a una minoría de usuarios avezados a las nuevas tecnologías y se está abriendo camino entre sectores cada vez más amplios de la población, que utilizan con normalidad navegadores como Firefox, distros de GNU/Linux como Ubuntu o programas P2P como el eMule.

Pero, ¿cómo se gestionan los proyectos emblemas del software libre? ¿Las empresas que se dedican profesionalmente a ello están obteniendo una remuneración económica acorde a la popularidad de los productos que desarrollan? ¿Y las fundaciones sin ánimo de lucro que hay detrás de algunos de estos programas? ¿Cómo se financian? ¿Tienen dificultades para conseguir el dinero que necesitan para pagar los costes de los servidores, del ancho de banda, de la asesoría legal o de sus oficinas?

Para responder a estas y otras preguntas he elaborado este artículo en el que he tratado de exponer de manera resumida cómo les va en materia económica a algunos de los desarrollos emblema del software libre. Comencemos:

· MOZILLA (Firefox, Thunderbird, Camino, etc)
FirefoxLa gestión de los ingresos que generan los programas desarrollados por la Mozilla Foundation, con el navegador Firefox y el cliente de correo electrónico Thunderbird a la cabeza, corre a cargo de la Mozilla Corporation, una empresa filial que se creó el 3 de agosto del 2005 y que en la actualidad cuenta con más de 100 empleados.

En el 2006 gestionó unos ingresos de 66,8 millones de dólares, una pequeña parte de los cuales proceden de donaciones anónimas de particulares. Aún así, el gran grueso proviene de Google, que con casi 60 millones de dólares anuales, es el gran mecenas de esta organización. El acuerdo de patrocinio actual se extenderá hasta, al menos, el 2011.


· CANONICAL (Ubuntu)
UbuntuA pesar de haberse convertido en la distribución de GNU/Linux más popular del momento, Ubuntu no es un proyecto económicamente rentable. La estructura operativa se mantiene en pie gracias al empeño y a la fortuna personal de Mark Shuttleworth, un sudafricano que en diciembre de 1999, en plena burbuja de las punto.com, se convirtió en multimillonario tras vender Thawte Consulting, la empresa que había fundado 4 años atrás, a VeriSign por 575 millones de dólares.

El mes pasado Shuttleworth declaró que va a seguir aportando dinero a Canonical, la compañía que guía los destinos de Ubuntu, durante otros 3 a 5 años más. A partir de entonces, espera que el proyecto sea autosuficiente gracias a los ingresos provinientes de firmas interesadas en recibir servicio técnico especializado para sacar el máximo partido a esta distro.


· NOVELL (SUSE Linux Enterprise, OpenSUSE)
SuseNovell es una de las empresas ligadas al software libre código abierto a la que mejor le están yendo las cosas desde el punto de visto económico. Cabe remarcar, eso sí, que la mayor parte de sus ingresos no proceden de SUSE Linux, sino de las licencias de los programas de código privativo que comercializa.

A día de hoy posee una capitalización bursátil de 1.470 millones de dólares, en el 2007 obtuvo unos ingresos de 935 millones de dólares y unos beneficios netos de 44,5 millones. Las previsiones para el ejercicio en curso se sitúan entre los 940 y los 970 millones de dólares.

Respecto a la entrada de capital procedente de la explotación de SUSE Linux Enterprise, los datos más actualizados que he encontrado son del primer trimestre de este año, en el que las ventas aumentaron un 65% respecto al mismo periodo del 2007 y llegaron hasta los 28 millones de dólares.


· KDE
KDEComo tantos otros proyectos de software libre, el desarrollo de este entorno de escritorio se fundamenta en la colaboración desinteresada de infinidad de voluntarios, si bien también cuenta con el apoyo de compañías como Novell, Trolltech o Mandriva, que pagan a programadores para que participen en el proyecto.

La financiación llega gracias a las pequeñas aportaciones individuales de los seguidores de KDE, pero también mediante la esponsorización que realizan universidades, millonarios como Mark Shuttleworth o empresas del calibre de Intel y Novell.


· GNOME
GNOMEEl caso de GNOME es muy parecido al de KDE, ya que además de las aportaciones voluntarias de miembros y seguidores de este escritorio cuenta con la esponsorización de compañías como Google o Motorola. La cuantía de dichas ayudas la desconozco. Si sabéis a cuánto ascienden, indicadlo en los comentarios por favor.


· RED HAT (Red Hat Enterprise Linux, Fedora, JBoss)
Red HatEsta empresa asentada en Raleight (Carolina del Norte) tuvo el año pasado unos ingresos de 400 millones de dólares, mientras que los beneficios netos se quedaron en unos nada despreciables 59,9 millones de dólares. En el primer trimester del año fiscal de 2009, esta empresa que cuenta con 2.200 empleados y tiene una capitalización bursátil de 2.190 millones de dólares, ha obtenido un saldo positivo de 156,6 millones de dólares.

El modelo de negocio de Red Hat se sustenta en la prestación de un servicio de asistencia técnica profesionalizado a empresas de todo tipo y por el que cobra unas cantidades que oscilan entre los 349 dólares y los 8.499 dólares anuales.


· GIMP
GIMPUn proyecto tan conocido dentro del mundillo del software libre como GIMP no cuenta con una estructura profesionalizada que se encargue de buscar vías para la obtención de ingresos más allá del típico apartado en su web destinado a captar pequeñas aportaciones por parte de seguidores de este software.


· APACHE (Servidor Web Apache, SpamAssassin, Tomcat, etc)
ApacheEl servidor web Apache es desarrollado por una comunidad de programadores bajo el paraguas de la Apache Software Foundation, que cuenta con un programa de esponsorización tanto para organizaciones y empresas como para las pequeñas contribuciones individuales.

A las primeras se les ofrecen 3 niveles de colaboración en función de la cuantía que estén dispuestas a aportar: Platinum Sponsorship (donación de 40.000 dólares anuales), Gold Sponsorship (donación de 20.000 dólares anuales) y Silver Sponsorship (donación de 40.000 dólares anuales). Microsoft, Google y Yahoo donan forman parte del nivel de patrocinio más alto.


· EMULE
eMuleConvertido por derecho propio en uno de los demonios de la industria discográfica y las productoras de cine, la web de este programa P2P contiene un apartado para las donaciones... que aparentemente no funciona (al menos yo no he sabido hacerlo funcionar) y no permite efectuar pequeños pagos para sostener el proyecto.

Sí que existe en cambio una tienda online en la que se pueden adquirir todo tipo de productos relacionados con eMule como camisetas, peluches, tazas, gorras, delantales, calzoncillos e incluso baberos. ¿Cuánto consiguen recaudar? Un misterio, aunque presumiblemente no será demasiado.


· MENÉAME
MenéameEste no es desde luego un proyecto de un alcance tan global como el del resto de casos que he tratado en este artículo, pero dado que lo uso a diario y al fin y al cabo soy yo quien escribe estas líneas, pues allá vamos sonrisa

La vía de financiación más obvia para Menéame procede de la publicidad de AdSense que se incluye en formatos de 728x90 (bajo el logo) y de 300x250 (bloque de la derecha). Teniendo en cuenta el perfil de los visitantes habituales del sitio, mucho me temo que las ganancias derivadas de la colocación de estos banners deben ser más bien bajas, por no decir rematadamente bajas. Suerte que tienen muchas visitas, que sino...

Por otra parte, y de acuerdo a lo aparecido en los medios, el 2 de noviembre del 2006 Martín Varsavsky, fundador de empresas como Jazztel y Ya.com, se hizo con el 10% del capital de Menéame y a finales del 2007 aumentó su participación hasta el 33%.

El otro método que he encontrado (si hay más, lo decís) es a través de la venta de objetos adornados con el logo del portal (1 y 2). Así, se pueden adquirir camisetas, bufandas, bolsas de viaje, sudaderas, agendas, relojes de pared, tazas, etc.

domingo, noviembre 09, 2008

Congreso Nacional de Software Libre 2008

Se ha lanzado el “Conasol 2008” - Congreso Nacional de Software Libre 2008, que se realizará en la ciudad de La Paz, los días 13, 14 y 15 de Noviembre. Este congreso pretende contagiar a más personas en el uso del Software Libre en Bolivia, además de presentar nuevas herramientas que puedan cubrir más necesidades en todas las áreas de trabajo que tengan que ver con software.
Este año, se hizo también el lanzamiento del “Llamado a Trabajos” donde básicamente, las personas podrán exponer sus trabajos, desarrollos, experiencias, etc. Todo en cuanto a software libre se refiere. Para poder obtener mayor información en cuanto a esta exposición de trabajo, pueden visitar: este link.
En este congreso, también se tendrá concursos, exposiciones, talleres, charlas, etc. Están todos invitados a participar y divulgar este evento nacional.

Las 5 distribuciones con menos requerimientos

DeLi Linux. Desktop Light Linux, es una distro específicamente diseñada para correr en ordenadores antíguos. Requerimientos mínimos: 386 con 8 Mb de RAM.
Damn Small Linux. DSL en tan sólo 50Mb es capaz de ofrecernos, desde transformarse en una Debian completa tras instalarla, a funcionar en un 486 con 16 Mb de RAM.
Puppy Linux. Una distro en LiveCD que dispone prácticamente de todo lo que necesitamos para navegar, mirar el correo, música, vídeos etc. Requerimientos mínimos: a partir de un 486 en adelante.
TinyMe. Basada en PClinux OS, que cuenta con gran cantidad de paquetes y aplicaciones que darán vida a nuestro ordenador. Requerimientos mínimos: a partir de un Pentium III en adelante.
Zenwalk. Una distribución excelente, que dispone de todo lo que necesitamos para usar el ordenador. Tiene muchas aplicaciones extras que podemos instalar más tarde y entornos gráficos diversos a elegir. Requerimientos mínimos: Pentium II con 96 Mb de RAM.

jueves, agosto 28, 2008

Asegurando un servidor con PHP

php

1. Introducción.

Hay muchas personas y administradores que dejan la instalación PHP por default, es decir, no tocan nada de php.ini, cosa que compromete de una manera grave la seguridad, tanto del servidor en sí, como de los usuarios y obviamente, la información que se trate.

Y viendolo desde el lado del prestigio del servidor puede acarrear problemas, tanto con otros servidores como con la misma blacklist*. Pues programar una herramienta que verifique puertos abiertos, cheque la versión del httpd server y sus extenciones, hasta la compilación de un exploit no es dificil pues hay funciones que practicamente nos dan una shell aunque no se tenga acceso por ssh o telnet.

Como debes saber, lo que aquí explicaré aplica para la mayoría (si no es que todas) las plataformas en las que PHP esta, hasta la fecha, portado. Y sólo como referencia les menciono las condiciones del equipo en las que se trabajó:

Sistema Operativo: OpenBSD 3.2
Versión de Apache: 1.3.29
Versión de PHP: 4.0.5

Mi servidor vecino más pronto en el que apliqué también estas opciones de configuración cuenta con estas caracterizticas:

Sistema Operativo: Microsoft Windows ME
Versión de Apache: 1.3.14
Versión de PHP: 4.0.5

Sin duda grandes diferencias, pero lo cierto es que los importante aquí no es la estructura y componenete en sí del servidor, si no de php y la manera en la que este configurado.

En algunas plataformas se corren mas riesgos que en otras, por ejemplo, en Windows, es mas peligroso ejecutar un ‘del’ que un ‘rm’ en unix.

2. Scripts mal intensionados.

Una mala configuración de PHP puede, como ya comente, significar una grave falla de seguridad en nuestro sistema, ya que cualquier persona con acceso y permiso para escribir o subir aplicaciones dentro del servidor puede jugar de muchas maneras con la información y comprometer al sistema.

Veamos un caso típico de una función peligrosa.

comandos.php

system(”ls -l”);

?>

Como podras imaginar, la función system(); ejecutar una orden en el sistema, o sea, un comando. En el ejemplo se listaría el directorío en el que se esta ejecutando el programa. Por que no probamos listar otro directorio, /homa, por ejemplo.

comandos.php

system(”ls /home”);

?>

Eso nos daría, literalmente, los nombres de todos los usuarios existentes en el sistema (que tengan su directorio en /home, claro). Y ya tendras la idea de lo que pasaría si se lanza un ‘del’ en un sistema Windows.

Existe otra forma de conseguir acceso al interprete de comandos

Puede estar desactivada/bloqueada la función system();, pero aún quedan las comillas invertidas.

comandos.php

$comando=`ls /home`;

echo $comando;

?>

Eso, si system(); llegará a fallar, también lanza la orden al shell.

Lo anterior expone la integridad del servidor, ahora veamos como se puede comprometer un sistema de manera ‘etica’, es decir, ejecutando acciones hacia otras maquinas en internet que se puedan mal interpretar, y claro, puedan ser mal intensionadas.

puertos.php

$puerto=25;
$sock=fsockopen(”www.otro-servidor.com”, $puerto, $errno, $errstr, 5);

if ($sock) {
echo “El puerto esta abierto”;
} else {
echo “El puerto esta cerrado”;
}
?>

Un escaner de puertos, esa función tomaría el script anterior. Y como se lee se ejecuta hacia otro servidor. Pero esto es un ejemplo nada mas, con un poco de dedicación se pueden hacer más cosas.

Existe otra falla de seguridad común en aplicaciónes PHP, esto quizá no sea una tarea propia de nosotros como administradores, pero proveeriamos a nuestros usuarios de seguridad extra para sus aplicaciones, y les vendría muy bien si se tratara de usuarios/programadores iniciados ó no con mucha experiencia.

Hablo de \ (caracter de escape) en variables pasadas por GET, POST y Cookies,que puede ser agregado a “, ‘ y \ automaticamente.

Veamos un ejemplo de “Inyección SQL” que nosotros mismo como administradores podemos evitar.

$sentencia_sql=”SELECT * FROM nombres WHERE id=$id”;
$cnx= mysql_connect (”localhost”, “pam25″, “ilovemygeek”);
mysql_db_query(”nominas”, $sentencia_sql);
mysql_close ($cnx);

?>

Supongamos que el codigo mostrado anteriormente es el ‘target’ de un formulario que permite a los visitantes ver los datos o el perfil de los trabajadores de la empresa.

Ahora, supongamos que un vistante ‘malvado’ en lugar de ingresar un ID, manda algo como: xx; DELETE FROM nominas. La variavle $sentencia_sql tomaría un aspecto así:

$sentencia_sql=”SELECT * FROM nombres WHERE id=xx; DELETE FROM nominas”;

¡Vaya!, borro todos los datos de “nonimas”.

3. Asegurando PHP.

Para asegurar PHP en nuestro sistema, como era de esperarse, debemos tener muy bien configurado el archivo php.ini.

Abrirmos con cualquier editor de textos el archivo php.ini y:

Empezemos deshabilitando funciones que no querramos que sean ejecutadas en nuestro servidor, como system(), shell_exec(), fsockopen(), etc…

disable_functions=system,fsockopen,shell_exec ; This directive allows you to disable certain
; functions for security reasons. It receives
; a comma separated list of function names.

La función mail() puede implicar problema si se trata de un servidor publico, pues es muy fácil enviar ‘fake mails’ (claro, con todos los datos de nuestro servidor).

Ahora, PHP permite conexiones mediante FTP. Eso también podemos evitarlo, pues no queremos que si el usuarios usa indebidamente recursos de otros servidores, nos vayan a culpar, entonces también beriamos incluir en esa lista la función ftp_connect().

NOTA: Las funciones FTP sólo estarán disponibles si se compiló PHP con –enable-ftp ó
–with-ftp (en PHP3).

Buscamos la directiva magic_quotes_gpc, que quizá este en Off, pues la activamos con On. Esto hace la adición automática del caracter de escape “\” en variables tomadas de GET, POST y Cookies.

magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data

Para evitar que en lugar de enviar cadenas mal intencionadas, sean almacenadas en bases de datos o archivos de texto. Debemos activar magic_quotes_runtime.

magic_quotes_runtime = Off ; magic quotes for runtime-generated data.

Se podría decir que hasta ahí tenemos mas o menos asegurado PHP. ¿Fácil, no?.

Bueno esto fue un docus corto de como asegurar php en sismples pasos en diferentes plataformas, si tienes mas tips o formas me las puedes hacer llegar mediante mensaje en este mismo apartado y vamos colocando ende vayan llegando mas sugerencias.

martes, agosto 26, 2008

XV Congreso Nacional de Ciencias de la Computación CCBol 2008 (Sucre - Bolivia)

Del 5 al 10 de octubre de 2008 se celebrará en la ciudad Sucre. Bolivia, el XV Congreso Nacional de Ciencias de la Computación CCBol 2008, organizado por la Universidad Mayor, Real y Pontificia de San Francisco Xavier de Chuquisaca USFX a través de las Carreras de Ingeniería de Sistemas e Informática de la Facultad de Tecnología, y con la colaboración de la Red Temática CriptoRed.
En esta ocasión CCBol 2008 tendrá como característica especial abordar temas de actualidad sobre Seguridad de la Información, en una serie de tutoriales, conferencias magistrales y foros.
Los 5 tutoriales planificados abordarán la Seguridad en el Desarrollo de Aplicaciones, la Seguridad en Redes Wireless, la Seguridad en Sistemas Operativos Linux, los Test de Seguridad (Ethical Hacking, Penetration Testing, Evaluación de Vulnerabilidades) y las Infraestructuras de Clave Pública (PKI) e Identidad Digital. En cuanto a las conferencias invitadas, éstas tratarán sobre la Seguridad en el Desarrollo de Aplicaciones Web, las Fortalezas y Debilidades de las Funciones Hash, los Planes de Continuidad del Negocio y Recuperación de Desastres - BCP & DPR, la Metodología Abierta para Test de Seguridad - OSSTMM / ISECOM, la Formación y Futuro Laboral en Seguridad Informática, el Fraude Online: Evolución y Contramedidas, la Informática Forense, las VPN sobre IPSec: un Enfoque Práctico, la Seguridad Perimetral usando CHECK POINT y el Enfoque Convergente de Auditoría y Seguridad en el Desarrollo de Aplicaciones. En su momento se actualizará esta información con los nombres de los ponentes invitados y confirmados. En su Comité Organizador participa D. Angel Baspineiro Valverde.

19 aplicaciones libres esenciales

smashing apps publica una selección de 19 aplicaciones open source que deberiamos conocer. La mayoría son aplicaciones web basadas en PHP y MySQL pero hay de todo, incluido un programa para Microsoft Windows. Como la lista incluye algunos programas que no se citan habitualmente en la blogosfera hispana he decidido reproducirla:

1. WordPress ¿Qué decir del mejor CMS? Sin WP, la vida de los bloggers sería otra.

2. ModSecurity. Firewall. Aplicación web que puede embeberse o usarse como reverse proxy.

3. SteelBlue Servidor de aplicaciones web

4. Dolphin Software para la creación de comunidades y redes sociales

5. PURE Genera y renderiza tus plantillas HTML, CSS y JavaScript

6. Bugzilla Seguimiento de bugs

7. Mindquarry Gestión de grupos de trabajo

8. EPIWARE Gestión colaborativa de documentación

9. jobberBase CMS para crear bolsas de trabajo

10. Flex SDK Desarrollo de aplicaciones enriquecidas de Internet (RIA) que se ejecutan, ay, en Flash

11. Open source Ticket Request System Gestión de tickets o solicitudes de servicio

12. phpMyVisites Free Web Statistics And Analytics Medición de estadísticas de audiencia para sitios web

13. Lime Survey Gestión de sondeos y encuestas

14. dotproject Gestión de proyectos

15. Freeway Plataforma de ecomercio

16. AtMail Webmail

17. OpenOffice ¿Quién no lo conoce?

18. Open Workbench Planificación de proyectos, del estilo de Microsoft Project. Para Windows

19. SeaMonkey Suite de Internet: navegador, email & news, editor HTML, IRC y herramientas de desarrollo web.