You are on page 1of 62

opinin

La autoformacin no nos hace expertos en seguridadsociales

www.lpmagazine.org 58
ndice

En este nmero

novedades conferir el aspecto exclusivo que aporte valor a la marca. En este artculo
revisamos el proceso de convertir un diseo tradicional en una plantilla
4 Noticias
Jos Alex Sandoval Morales
Joomla! instalable.

hardware
6 Ubuntu
Francisco Javier Carazo Gil 42 Paralelizacin de procesos
Lino Gara Morales
Los procesadores multincleos corren ms rpido a pesar de ir ms despa-
7 Mandriva
Juan Gamez cio. Es posible aumentar el rendimiento de un ordenador si tiene una unidad
de procesado grfica. Cmo? En la paralelizacin de los procesos est la
clave.
8 Fedora
Diego Rivero Montes
linux y sociedad
seguridad
48 Menores en redes sociales: software libre para un
movimiento social
10 PyFlag: Interfaz grfica de usuario
Antonio Gmez y M Dolores Nogueras
para anlisis forense
Alonso Caballero Quezada Distintas noticias de las que se han hecho eco diversos medios de comuni-
Cuando se piensa en realizar anlisis forense utilizando Software cacin han provocado un estado de alarma social sobre el uso por parte de
Libre en GNU/Linux, por defecto nuestra mente se orienta a la com- nios y adolescentes de las redes sociales. En este artculo se describe el
binacin The Sleuth Kit y Autopsy. Pero es aqu donde puede entrar funcionamiento de una plataforma impulsada por profesores y padres que
en escena PyFLAG, el cual es una nueva inplementacin de FLAG garantiza el libre intercambio de materiales de formacin e informacin al
en Python. FLAG, ha sido disenado para hacer ms fcil el proceso de respecto, basndose en licencias libres.
analizar archivos donde se realiza algn tipo de registro o anotacin,
denominados comnmente "logs" y tambin realizar investigaciones
proyectos open source
forenses. FLAG facilita el trabajo de realizar un anlisis eficiente de
grandes cantidades de datos en un entorno interactivo. 55 Plataforma OSOR:
SAN de alta disponibilidad con Linux
soluciones para empresas Francisco Olcina Grande
Hace algo ms de dos aos, comenz el proyecto OSOR (Open Source

22 Cmo elegir un buen hosting Observatory and Repository), una plataforma para el intercambio de
informacin, experiencias, y software libre, para su uso en las administra-
Francisco Javier Carazo Gil
En muchas ocasiones hemos hablado de las posibilidades y particula- ciones pblicas de la comunidad europea. El grupo de investigacin GSyC/
ridades tcnicas de montar nuestros propios servicios de alojamiento Libresoft de la Universidad Rey Juan Carlos, fue el encargado de dar vida a
web y de base de datos en nuestros propios equipos. Desde equipos este proyecto, instalando una plataforma basada ntegramente en software
antiguos a equipos modernos, pasando por distintos tipos de tecnolo- libre. En este artculo se dar una visin general de la arquitectura implan-
gas y de alternativas. Sin embargo, en pocas ocasiones, por no decir tada para luego centrarse en el mdulo de almacenamiento (SAN).
ninguna, hemos hecho una comparativa de servicios externos de hos-
ting que nos ofrecen las mismas posibilidades pero sin utilizar nuestros
software
equipos y lneas de red. En este artculo haremos una pequea compa-
rativa de estos servicios que pueden convertirse en mejores alternativas 60 Juegos
Francisco Javier Carazo Gil
por distintos aspectos a tener nuestro propio hosting en casa.
opinin
30 Moderniza tu web con Joomla!
Francisco Ramn Torrado Bea
Los usuarios desconfan de los sitios que usan disenos ya trillados mue-
61 Un pingino en mi procesador no es suficiente
Fernando de la Cuadra, director de Educacin de
stran diseos cutres. Esto rebaja el nivel de la marca, por eso cada vez Ontinet.com
ms empresas cuidan mucho estos detalles. El diseo de pginas web La informtica est cada vez ms introducida en nuestras vidas cotidianas.
es un negocio en auge. Sin embargo los diseadores se enfrentan cada A nuestro alrededor se amontonan ms y ms dispositivos programables,
vez ms a un desafo creciente y es el uso ampliamente extendido de desde porttiles, netbooks, tabletas y PC de sobremesa a telfonos mviles
los CMS como Joomla! Para el diseador web representa una vuelta de con su variedad de sistemas operativos. Los datos de mercado reflejan este
tuerca, ya que su clsico diseo de pgina HTML con su correspon- auge. En el primer trimestre de 2010 se vendieron en Espaa ms de un
diente CSS no ser directamente aplicable. Para que lo sea, a partir de milln y medio de ordenadores, segn los ltimos datos presentados por
su diseo deber generar una plantilla que se instalar en Joomla! y le IDC, y registrando un sorprendente crecimiento del 38%.

www.lpmagazine.org 3
novedades
NE WS

Noticias seccin llevada por Alex Sandoval

Intel porta Android al Atom


Una de las novedades que se anun- gBrainy: cmo mejorar las destrezas
ciaron en el reciente Intel Developer
Forum (IDF) fu el hecho de que esa
mentales con software libre
empresa ha portado, y aparentemente
desde hace un tiempo, el sistema ope-
rativo Android para dispositivos mviles
S egn un estudio realizado por in-
vestigadores britnicos y el sitio de
la BBC Lab sugiere que los juegos com-
de Google para que corra en telfonos
putacionales para entrenamiento cere-
inteligentes basados en su microproce-
sador Atom. Una ejecutiva dijo bral no sirven y no aumentan las capa-
muy brevemente en el evento que cidades mentales.
"Intel est habilitando a todos los sis- Durante seis semanas se realizaron
temas operativos para los telfonos
una serie de pruebas a ms de once mil
Atom". Originalmente, Google cre
Android para telfonos basados en los voluntarios, stas comprendan una se-
procesadores ARM, construdos sobre rie de tareas en lnea durante un mnimo
una arquitectura RISC, muy distinta de diez minutos al da, tres veces por
a la x86 del Intel Atom. Pero con el
semana. Los usuarios se agruparon de
surgimiento de Android como una pla-
taforma competitiva que ahora tambin la siguiente forma:
puede posicionarse en la escena de
los "tablets", Intel no quiere quedarse Un grupo, realiz tareas centradas en
afuera de esa fiesta.
el razonamiento, la planificacin y ca-
Recordemos tambin que Intel ya ha-
ba presentado en el anterior IDF 2009 pacidades para resolver problemas,
su sistema operativo Moblin 2.1 (ahora Ejercicio para la memoria
habilidades correlacionadas con la
MeeGo) corriendo en telfonos con inteligencia general. moria, planificacin o habilidades visuo-
Atom, un temprano indicio ms de su
Un segundo grupo fue entrenado so- espaciales.
deseo de abrir ese mercado para uno
de sus CPUs ms populares de los bre funciones mentales dirigidas por El procedimiento utilizado en el estu-
ltimos tiempos. programas comerciales de entrena- dio fue demasiado ambiguo y en tan po-
http://www.vivalinux.com.ar/hard/ miento cerebral (memoria a corto pla- co tiempo no es posible lograr profundos
android-para-atom
zo, atencin, capacidades visuoes- avances. Al cerebro le toma ms tiempo
Google Maps, ahora tambin en 3D paciales y matemticas). realizar y establecer las conecciones co-
Tener que descargarse el software de Un tercer grupo, simplemente utiliz rrespondientes de memoria, motricidad,
Google Earth para poder acceder a la
visin 3D del mundo ya no ser necesa-
Internet para encontrar respuestas agilidad mental, etc. Dependiendo de la
rio. Google ha decidido integrar dentro a las preguntas. actividad, le puede llevar desde meses
de Maps esta posibilidad, aadiendo En los resultados se encontr que aun- hasta aos realizar esas conecciones es-
a las opciones de vista como Mapa que las personas mejoraban progresiva- tables.
y Satlite, la vista Earth. Esta nueva
opcin, que funciona mediante un plug-
mente sus destrezas, no mejoraron su La repeticin, la prctica y la prueba
in en el navegador, fue anunciada a tra- capacidad intelectual. Es decir, los vo- son las mejores herramientas para en-
vs de un post en el blog corporativo de luntarios no mostraron ningn efecto en trenar el cerebro. La idea de estos jue-
Google. En l, el Manager de Producto trminos de razonamiento general, me- gos no es hacernos ms inteligentes,
de la compaa, Peter Birch, explicaba
las diferencias entre la vista de satlite
sino que mejorar nuestras habilidades
normal de Maps y la nueva visin de mentales. Y gracias al software libre con-
Earth, afirmando que esta ltima "ofrece tamos con un programa para entrenar
una perspectiva tridimensional que per- nuestro cerebro.
mite apreciar los detalles de las monta-
as, edificios en 3D y viajes en primera
gBrainy es un programa de entrena-
persona bajo el ocano". miento mental y un juego a la vez que per-
Aunque la mayora de los lugares del mite ejercitar nuestras mentes mientras
mundo que aparecen en Maps an no nos divertimos resolviendo puzzles lgi-
han sido adaptados a la visin Earth
(se ve una fotografa plana sobre un
cos, realizando clculos mentales y ejer-
relieve, sin ninguna sensacin de citamos nuestra memoria.
perspectiva real), el plan de Google es Podemos afirmar que este tipo de
profundizar en esta direccin, como programas son tiles y beneficiosos, ya
demuestra el hecho de que contine
fotografiando lugares sin descanso.
que permiten mejorar la concentracin,
La compaa est adems reconstru- la velocidad de respuesta, la capacidad
yendo su tecnologa 3D para hacerla de asociar, mtodos para usar la memo-
ms potente. ria, etc.
http://www.itespresso.es/es/news/
2010/04/27/google-maps-ahora-
tambien-en-3d
gBrainy es un programa de entrenamiento mental

4 LiNUX+ 5/2010
novedades NE WS

seccin llevada por Alex Sandoval Noticias

Gesture Suite de Synaptics ahora AMD lanza sus procesadores de seis ncleos
para PC
disponible en Linux AMD acaba de lanzar sus primeros

S
procesadores de seis ncleos
ynaptics es el fabricante de la ma-
diseados para jugones y usuarios
yora de los touchpads que pode- que buscan un sistema potente
mos encontrar hoy en da. Los touchpads para creacin de contenido
que estn dotados de multitouch (varios multimedia.
El nuevo Phenom II X6, antes cono-
toques a la vez) permiten realizar gestos
cido como Thuban, est disponible
complejos con los dedos para realizar inicialmente con una velocidad de
funcionalidades que van mucho ms all reloj de 3,2GHz e incluye una
del apuntar o desplazar la pantalla. caracterstica que permite que
algunos de sus ncleos incrementen
Para habilitar y reconocer estos ges-
su velocidad de reloj por encima
tos, la compaa provee Synaptics Ges- de lo normal, similar a lo que
ture Suite (SGS), con la que se dota a las hace la funcin Turbo Boost
aplicaciones de gestos como rotar y amp- de Intel, que lanz su chip de seis
ncleos el pasado mes de marzo,
liar, por mencionar los casos ms conoci-
el Core i7.
dos. Hasta ahora, SGS estaba disponi- La diferencia es que mientras que
ble slo para Windows, pero la compa- el procesador de Intel tiene un precio
a ya anunci una versin para Linux de 999 dlares, el de AMD cuesta
tres veces menos.
(SGS-L).
El top de gama de los nuevos
Esta versin est pensada para ser Phenom II X6 es el modelo 1090T,
entregada a los fabricantes de equipos con una velocidad de 3,2GHz, pero
Synaptics es el fabricante de la mayora de los
(OEM) que usen Linux como sistema ope- que puede incrementarse hasta
touchpads que podemos encontrar hoy en da los 3,6GHz cuando es necesario
rativo y Synaptics como touchpad. Ya se
gracias a la tecnologa Turbo Core
cuenta con versiones para variadas dis- SGS-L no ser de cdigo abierto por de AMD.
tribuciones y adems prometen una ver- lo que es difcil que se integre en las dis- http://www.itespresso.es/es/news/
sin para Google Chrome OS apenas tribuciones en un principio, pero siempre 2010/04/27/amd-lanza-procesadores-
seis-nucleos-para-pc
est disponible. hay mecanismos alternativos, como los
Algunos gestos ya se encontraban en repositorios partner de Ubuntu combi- Windows contar con sistema de paquetes
X.org, pero hay otros que son muy com- nado con su solucin para instalar dri- similar al usado en Linux
Garret Serack, ingeniero del rea
plejos de implementar o peor an, estn vers privativos, por lo que no sera extra-
Open Source en Microsoft, ha iniciado
cubiertos por patentes lo que impide que o que SGS-L se incorpore de esa ma- un proyecto para llevar el concepto de
se puedan implementar libremente. Sy- nera en la popular distribucin. sistema de paquetes de Linux al siste-
naptics viene a cubrir este vaco entre- ma operativo Windows, para simplifi-
car el uso e instalacin de componen-
gando SGS-L para que los fabricantes http://www.fayerwayer.com/2010/04/
tes de cdigo abierto en este sistema.
de equipos basados en Linux puedan gesture-suite-de-synaptics-ahora-dispo- La motivacin de Serack es la dificul-
sacar el mximo provecho de sus touch- nible-en-linux/ tad existente hoy en da para instalar
pads. aplicaciones de cdigo abierto en
Windows, ya que el usuario puede
perder horas y horas entre descargar,
El proyecto de software libre X264 instalar y configurar componentes de
cdigo abierto, algo que en Linux es
codifica Blu-ray prcticamente automtico y el sistema

E
lo puede hacer en forma automtica
l proyecto de software libre X264 inicial, tal y como podemos leer en el
en pocos minutos (ver bonus track
permita la decodificacin de con- anuncio oficial. Desde ah nos guan ms abajo).
tenidos en formato Blu-ray de alta defi- a las posibilidades de uso de la ultima El proyecto bautizado como CoApp
nicin de manera gratuita y sencilla. Hoy versin de X264. (Common Open Source Application
Publishing Platform) y que se
acaba de conseguir el ttulo de primera Como se puede ver, estamos ha-
encuentra alojado en Launchpad.net
aplicacin en codificar Blu-ray gratis. Es blando de un gran paso para la comuni- de Canonical, es una iniciativa
un paso al frente para el software libre y dad de software libre, que ya dispone de personal de Serack que cuenta
la posibilidad que brinda X264 permitir una herramienta con la que crear conte- con la bendicin de Microsoft
y se desarrollar como cdigo
el nacimiento de herramientas de crea- nidos que cumplen con los estndares
abierto.
cin y edicin de contenidos multimedia Blu-ray, sin tener que pagar. http://www.fayerwayer.com/
y vdeos software libre. 2010/04/windows-contara-con-
Aunque el soporte ha sido conse- http://www.muylinux.com/2010/04/26/el- sistema-de-paquetes-similar-al-
usado-en-linux/
guido, hay que tener en cuenta ciertas proyecto-de-software-libre-x264-codifi-
limitaciones al menos en esta versin ca-blu-ray/

www.lpmagazine.org 5
novedades
Ubuntu seccin llevada por Francisco Javier Carazo Gil

Ubuntu Music Store


Manual oficial de Ubuntu
El primer manual oficial de Ubuntu

D
saldr a la vez que Lucid Lynx, aunque esde esta seccin se ha comentado Qu podemos encontrar en la tien-
por ahora slo en versin inglesa. Pa-
rece extrao que una distribucin tan en ms de una ocasin que Canoni- da? Bsicamente msica de cualquier gru-
popular no haya tenido hasta ahora un cal, la empresa que soporta Ubuntu, tiene po que se os pueda venir a la cabeza. Es
manual oficial de estas caractersticas, como objetivo ser autosuficiente a medio posible que grupos poco conocidos no
pero siempre es mejor tarde que nun- plazo en conjunto. De hecho ya lo es en lo estn presentes, pero s es cierto que la
ca. Por otro lado, los hispanohablantes
esperamos la llegada de la versin en que respecta a servidores. La parte de es- base de datos disponible es muy grande
espaol, que probablemente sea la critorio ajusta cada vez ms gastos, limi- y no tendris problemas en encontrar vues-
segunda en ver la luz. tando por ejemplo el envo de CDs gratui- tros artistas favoritos. Las discogrficas
Crticas a la nueva imagen tos a casa, para intentar ser menos defi- espaolas no estn presentes todava en
Estos das son frecuentes las crticas citaria y en un futuro cercano llegar a un gran medida, por lo que al que le guste la
de una forma u otra a la nueva interfaz equilibrio econmico que asegure la exis- msica nacional es posible que tampoco
grfica de Ubuntu. Desde los colores tencia de Canonical primero y por lo tanto encuentre lo que busca. Para poder utili-
elegidos a la posicin de los botones,
parece que parte de los usuarios de de Ubuntu, tal como lo conocemos hoy. zar el servicio necesitas tener activa una
la distribucin no han digerido bien un La necesidad de tener recursos eco- cuenta de Ubuntu One. De hecho, las com-
paquete de cambios tan grande, de una nmicos en un mercado como el del Soft- pras de msica no pasan directamente
versin a otra. La idea de acercar Ubun- ware Libre est poco explotada. Las ideas a tu PC sino que se quedan en tu cuenta
tu a todos el pblico de los equipos
de escritorio, obliga a tomar decisiones de negocio actuales estn ms orientadas de Ubuntu One para que luego las des-
ambiciosas que no siempre gustan a proveer al usuario de un producto y no cargues donde mejor te venga. El siste-
a todos pero que han de ser tomadas de un servicio. La alternativa en la que se ma tambin te dice cules son los discos
si se quiere progresar con el proyecto. basa el futuro econmico de muchos pro- vendidos y te recomienda otras canciones
Mark Shuttleworth ha dejado claro que
Canonical Ltd. no es una democracia yectos libres es justo ese, centrarse en en funcin a tus gustos. Cunto vale una
y que Ubuntu seguir las pautas mar- el software como un servicio. Puesto que cancin? El precio inicial por cancin es de
cadas desde arriba (al fin y al cabo Ubuntu es un sistema operativo para equi- 0,99 aunque podemos comprar discos
somos libres de coger el cdigo y mon- pos de escritorio los servicios que puede enteros por precios ms econmicos por
tar una distribucin a nuestro gusto).
Como en el fondo Canonical trata de ofrecer Canonical han de estar relacio- cancin. Los precios son similares a la
hacer de Ubuntu un producto autosu- nados con actividades que frecuente el competencia y el hecho de integrarse en la
ficiente, aunque siempre libre y gra- usuario de escritorio. distribucin es la mejor baza para la tien-
tuito, mi opinin es clara, creo que los El primer ejemplo claro de servicio de da en lnea. Si me preguntis si creo que
cambios han sido buenos y atraern
a muchos ms usuarios de los que se pago llevado a Ubuntu fue Ubuntu One. tendr xito o no, os comento mi opinin.
vayan porque se puedan sentir decep- Aunque existe una versin gratuita que Por un lado, a favor le veo la integra-
cionados. nos ofrece 2 GB de almacenamiento en la cin en Rythmbox, la novedad dentro del
Cambios en los navegadores nube, si queremos tener 50 GB de alma- entorno del Software Libre y sobre todo, las
De los pequeos cambios que afectan cenamiento deberemos pagar 10 dlares similitudes con alternativas como iTunes
a Lucid Lynx, los cambios que afectan mensuales. El segundo ejemplo es el que que han tenido un gran xito. El da que
a los navegadores tienen una gran rele- traemos como portada de este mes en la vea tarjetas de regalo en los centros co-
vancia dado el mundo de computacin
en la nube y aplicaciones web en el seccin. merciales en Navidades con tantos euros
que nos movemos a diario. Su nombre es Ubuntu Music Store para Ubuntu Music Store sabr que ha sido
El primero de ellos es que el buscador y como podis suponer por el ttulo es una un xito (alguno veris esto lejos, pero tras
por defecto para Firefox no ser Go- tienda de msica virtual. Su primera apari- ver tantos equipos con Ubuntu preinstala-
ogle sino Yahoo!. Las razones del cam-
bio hay que buscarlas en lo econmico, cin tuvo lugar el da 22 de marzo en fase do hasta en la publicidad de los grandes
aunque an as el cambio de motor de beta para ir puliendo detalles. Viene acom- almacenes veo posible sto y ms).
bsqueda ser tan fcil como siempre. paando a Lucid Lynx y es una de las Por otro lado, tambin veo inconvenien-
La segunda de ellas y no menos impor- grandes novedades de esta versin. Est tes. El primero es que el mercado de la
tante es que Chromium estar incluido
en los repositorios de Lucid Lynx de for- accesible desde el reproductor oficial de venta de canciones en red no est ma-
ma que ser casi inmediato instalarlo. la distribucin, Rythmbox. El diseo ha si- duro, le quedan muchos pasos por dar
Esta noticia que a priori no tiene mucha do realizado por 7 Digital. La idea de una y mientras sea tan fcil tener canciones va
importancia, puede significar el primer tienda en lnea de msica no es nueva, si- P2P o mediante servicios como Spotify, la
paso para cambiar de navegador por
defecto: Firefox a Chromium, en un no que se lo pregunten a Apple con el iTu- compra de canciones puede ser un mer-
futuro, segn como progresen ambos nes, y puede llegar a ser un xito. Sin lugar cado destinado al fracaso. Otro defecto que
proyectos. El cambio podra producirse a dudas interesa tanto a los artistas que le veo es su exclusividad para Ubuntu. De-
slo en la edicin para netbooks dada ven un nuevo mercado para vender sus sconozco si en un futuro piensan abrir la
las limitaciones hardware de este tipo
de dispositivos y las necesidades de canciones como a Ubuntu, porque es otro tienda a otras distribuciones y sistemas
Firefox. servicio que puede ofrecer con un margen operativos, lo que abrira el abanico de
de beneficio. clientes enormemente.

6 LiNUX+ 5/2010
novedades
seccin llevada por Juan GamezMandriva

Lo que nos traer la primavera Presentacin de Mandriva Pulse 2


con Imaging

Y a queda menos para la salida de la via de Gnome-Shell la cual ser parte El pasado 30 de marzo se present
esperada Mandriva 2010.1 Spring. de Gnome3. GNOME Shell se carac- en Paris Mandriva Pulse 2 con
el nuevo mdulo Imaging. Como
Esta versin saldr, si se cumple con el teriza por una innovadora nueva inter- sabis Pulse2 es una herramienta
calendario, el da 3 de junio, pero ya que- faz de usuario usando la potencia del que ayuda a la organizacin y admi-
rra adelantaros algunas de las noveda- escritorio con grficos compuestos. nistracin de sistemas heterogneos
des que traer esta nueva versin de GNOME Shell hace fcil aadir reas donde encontraremos maquinas
Linux, Unix, Mac y Microsoft
nuestra querida distribucin. de trabajo adicionales, iniciar aplica- Windows.
A la hora de escribir esto est dis- ciones usadas con frecuencia y acce-
Nuevo CEO en Mandriva
ponible la beta1 de la distribucin, an der a sus archivos y documentos ms
Mandriva anunci el que a partir
falta la beta2 y la RC (Release candi- usados. del da 24 de marzo Arnaud
date). Si alguien se anima a instalar Respecto a las aplicaciones de es- Laprvote ser el nuevo Director
esta beta1 o la beta2 recordaros que critorio esta beta nos ofrece Firefox en Ejecutivo en sustitucin de Stanislas
estas versiones son versiones de de- su versin 3.6.2, OpenOffice 3.2 (lti- Bois. Arnaud lleg a Mandriva
en 2007 cuando Mandriva compr
sarrollo y por lo tanto pueden contener ma versin estable), Chromium (el na- Linbox y ha estado dedicado a la
programas inestables por lo que no se vegador de Google), la versin 2.0.0 direccin de proyectos de desarrollo
aconseja su utilizacin como ordena- de Bluefish, el editor Web. e investigacin.
dor de trabajo diario y habitual. As mis- Mandriva 2010.1 usara el nuevo dri- Android funciona en iPhone
mo Mandriva aconseja su instalacin ver libre Nouveau para las tarjetas NVi- David Wang, creador del blog Linux
desde cero, es decir, no actualizar des- dia. Respecto al sistema, se incluye el on the iPhone, ha conseguido que
Android corra sobre un iPhone de
de una versin anterior. Una vez hechas kernel 2.6.33.1, Glibc 2.11, Ruby 1.9.1,
segunda generacin.
estas salvedades vamos a descubrir esta versin es mucho ms rpida que Wang que ha trabajado todo un ao
que nos ofrece esta versin. la 1.8, adems python ha sido actuali- en este objetivo, asegura que tambin
En cuanto a los escritorios, nos en- zado a 2.6.5. es capaz de hacer funcionar la plata-
forma abierta de Google para aparatos
contramos en esta versin con KDE En cuanto a la administracin del
mviles sobre los modelos 3G y 3GS
4.4.2 final release, es casi seguro que sistema Sysklogd ha sido reemplazado del telfono de Apple, "aunque el 3GS
en la versin final tendremos la versin por el demonio de log de sistemas rsys- ser un poco ms complicado".
4.4.3 de este escritorio. Esta es una ver- log. Rsyslog en un sistema moderno Una vez liberado, el aparato puede
funcionar en ambos sistemas.
sin de mantenimiento del ya muy esta- con un desarrollo muy activo. Incluye
ble KDE 4.4, donde se han resuelto fa- el almacenaje de log en bases de da- Steam para Linux?
llos en Plasma, Dolphin y Okular, tam- tos SQL, envo de alertas por correo La plataforma de juegos que est
siendo probada actualmente por
bin se ha parcheado KRunner y se ha electrnico de algunos mensajes de
Valve de manera interna en su versin
solucionado un problema con la lnea log. para Mac OS X dispone de nada me-
de tiempo del applet Microblog. Dentro Spamassassin ha sido actualizado nos que 25 millones de usuarios
de esta versin de KDE podemos en- a su versin 3.3.1, as mismo se han y distribuye ms de 1.100 juegos.
Linux es el siguiente objetivo tal
contrar Qt en su versin 4.6.2, Amarok reorganizado los paquetes de MySQL,
y como han podido constatar desde
2.3, Nepomuk. tambin est disponible Postfix en su Phoronix en el lanzador de la versin
Respecto a Gnome, tendremos a nu- versin 2.1.0 as como Munin 1.4 y Za- para Mac OS.
estra disposicin la versin 2.10.0. Las ca- rafa. Por el momento no hay nada confir-
mado ni oficial, pero parece que Valve
ractersticas ms interesantes de esta En resumen, esta beta1 de Mandri-
Software est haciendo todo lo posible
nueva versin de Gnome son las si- va 2010.1 ya nos comienza a mostrar por que sus juegos sean realmente
guientes: Nautilus, el gestor de archi- las maneras y novedades que nos trae- multiplataforma.
vos de Gnome ha sido configurado en r la versin final. Aun tratndose de
modo examinador de forma predeter- una versin de desarrollo es muy esta-
minada reemplazando el modo espa- ble y los fallos, por lo menos en lo que
cial. Tambin incluye un modo de vista he estado probando, son mnimos. Es-
partida. Se han corregido errores y re- pero con verdadera ansiedad la publi-
gresiones en el navegador web Epi- cacin de la versin definitiva pues tie-
phany, as como se han aadido nue- ne un aspecto impresionante, en fin dos
vas caractersticas como la vista previa meses pasan rpido!
de impresin, se ha restaurado el so-
porte de icono favorito, se reemplaza
el Flash de Youtube con HTML 5 por lo
que no se requiere tener Flash insta-
lado. Tambin se incluye una vista pre-

www.lpmagazine.org 7
novedades
Fedora seccin llevada por Diego Rivero Montes

GNOME 2.30
Fedora Spins: Diferentes Fedoras
para diferentes gustos

C
Los "Spin" de Fedora o tambin si lo ada seis meses nos tiene acostum- Tiene mltiples cararctersticas me-
traducimos "Ediciones", son lo que se
consideran las versiones alternativas brados a ser sorprendidos con mu- joradas aunque de entre estas podemos
de la distribucin, o sea que han sido chas novedades en lo que respecta a las destacar:
adaptadas para diferentes tipos de uso caractersticas de uno de los escritorios
o con un conjunto de aplicaciones ms populares en lo que al mundo Linux Nautilus mejorado: Ahora se podrn
y personalizaciones.
Ya hemos hablado en alguna otra oca- se refiere y aunque no estar disponible visualizar los archivos de forma ms
sin por ejemplo de la versin de jue- en los repositorios para las versiones clara as como la navegacin que por
gos de Fedora, la cual est hecha para ateriores, s lo estar para la nueva Fe- defecto ser en modo explorador.
dar a todos los aficionados a ello una dora 13 "Goddard". Emphaty: Este cliente de mensajera
gran cantidad de software de este tipo
adems de libre y a la ltima. La versin 2.30 es la ltima de GNO- ha sido mejorado con una mejor
Otro spin es lo que se llama el "labo- ME, un entorno de escritorio que centra integracin con Facebook, as como
ratorio electrnico de Fedora". En este su concepcin en la facilidad de uso, esta- tambin dispone de la posibilidad de
caso la distribucin se halla equipada bilidad e internacionalizacin adems de arrastrar archivos a la ventana de chat
con un buen armamento para el diseo
y la simulacin de hardware de alto una accesibilidad fuera de toda duda. para enviarlos.
nivel, todas ellas aplicaciones libres Por otra parte es necesario resaltar la Tomboy: Las notas se pueden sincro-
y de cdigo abierto. idea de que se trata de Software Libre nizar automticamente, se amplia el
SIG, es el grupo que se encarga de y que adems cuenta con todas las herra- soporte a HTML y se mejora mucho
la creacin y mantenimiento de las
ediciones y es quien se encarga de mientas necesarias y usuales que deben el inicio de la aplicacin.
hacer el oportuno seguimiento incorporar los equipos modernos como Evince, el visor de documentos PDF,
y administracin desde el ao 2007 pueden ser la navegacin web, el trabajo etc tambin ha sido mejorado.
cuando empezaron a crearse. en grupos, administracin de archivos, etc. Vinagre, el cliente de escritorio remo-
En la actualidad las ms populares
por descargas son: KDE, LXDE, XFCE, Adems posee tambin la cualidad de ser to, puede ahora realizar conexiones
Games, FEL Plataforma de diseo muy flexible y potente como plataforma sobre tneles SSH.
y simulacin, BrOffice Spin de Brasil para los desarrolladores de software.
que provee OpenOffice Brasil y Edu
Una edicin especial con propsitos
educativos y cientficos.
Qbes

Fedora 13 y btrfs Cmo conseguir el sistema operati- de los que se estn ejecutando en ese mo-
Otra buena noticia respecto a la nueva
release y el flamante sistema de archi- vo ms seguro del mundo? Est claro mento as como todos los datos del usua-
vos que al parecer va a ser el prximo que la solucin ha de venir de mano de los rio. Para ello en lugar de empezar un nue-
relevo de Ext4. Con Fedora 13 y btrfs que saben ms que nadie de seguridad vo S.O. desde cero se pens en usar el
vamos a tener la posibilidad de realizar informtica, por supuesto los Hackers. que ya exista pero con una concepcin un
copias exactas e instantneas de nues-
tro sistema de archivos, lo que significa As es en este caso Joana Rutkows- tanto diferente y as moldearlo a su gusto.
que si daamos nuestro sistema por ka, Hacker polaca,famosa en todo el mun- La respuesta estaba en Xen y en la
haber realizado una instalacin errnea do por crear en el ao 2006 el malware virtualizacin que permite crear comparti-
o de algn programa de prueba, llamado Blue Pill, un rootkit para Vista, in- mentos estancos y as cada mquina vir-
podremos deshacer lo hecho y montar
el respaldo que tendremos guardado detectable y que toma el control del equipo tual aisla los procesos. Xen en Qbes crea
a buen recaudo, sin ningn tipo de sin necesidad de ser reiniciado, es la que dos tipos de mquinas virtuales AppVMs,
problema y cuantas veces queramos. puso en prctica esta idea, un sistema para las aplicaciones de usuario y Syste-
Fedora 13 beta operativo en el que todas las aplicaciones mVMs, para las aplicaciones de los servi-
La cuenta atrs para el lanzamiento estn controladas por mquinas virtuales, cios de todo el sistema.
de la nueva distribucin Fedora 13 cada una la suya. Se trata del mismo con- El estado actual de Qbes OS se sus-
denominada "Goddard" est en marcha cepto con el que fue creado Blue Pill. tenta en Linux, Xen y el sistema X. Se en-
y si no surgen contratiempos debera-
mos tenerla para mediados de este Hace ya ms de seis mese que fue cuentra en estado Alfa pero segn asegu-
mayo. Todo esto si no se hace de rogar concebida la idea de crear Qbes OS, po- ra su creadora ya es utilizable, ella misma
como sus antecesoras a las cuales, nindose manos a la obra en su empresa lo usa en su Mac Book y de momento no
como toda dama que se precie, hemos Invisible Things Lab para dar soporte al se encuentra para instalar como una distri-
debido aguardarlas aunque sea por
no mucho tiempo. Eso s, siempre que posiblemente pronto se consagrar bucin de las habituales sino que habre-
a la vanguardia y cumpliendo con un como el Sistema Operativo Linux ms mos de realizar la instalacin sobre Fedo-
nuevo lanzamiento cada seis meses seguro del mundo. ra, segn la gua de instalacin que podeis
aportando siempre innovacin. Cuando una aplicacin se ve compro- obtener aqu:
A estas alturas ya tenemos la Beta de
esta release en nuestras manos metida en su seguridad ninguno de los http://www.qubes-os.org/trac/wiki/
y ya podemos saborear sus virtudes. sistemas operativos actuales es capaz de InstallationGuide
aislar los procesos para proteger el resto

8 LiNUX+ 5/2010
opinin
La autoformacin no nos hace expertos en seguridadsociales

www.lpmagazine.org 58
seguridad
Anlisis Forense

PyFlag: Interfaz grfica


de usuario para anlisis forense
Alonso Eduardo Caballero Quezada
Cuando se piensa en realizar anlisis forense utilizando Software Libre en GNU/Linux,
por defecto nuestra mente se orienta a la combinacin The Sleuth Kit y Autopsy. Pero es
aqu donde puede entrar en escena PyFLAG, el cual es una nueva inplementacin de FLAG
en Python. FLAG, ha sido diseado para hacer ms fcil el proceso de analizar archivos donde
se realiza algn tipo de registro o anotacin, denominados comnmente logsy tambin
realizar investigaciones forenses. FLAG facilita el trabajo de realizar un anlisis eficiente
de grandes cantidades de datos en un entorno interactivo.

E
l objetivo del presente artculo es expo- Debido a que PyFLag est basado en web, permite
es@lpmagazine.org

ner la parte terica sobre el funciona- desplegar un servidor central y que ste sea compartido
miento de PyFlag, basado en la propia al mismo tiempo con un nmero de usuarios. Los datos
documentacin que proporciona la p- se cargan en casos, lo cual mantiene la informacin
gina del proyecto, y para exponer los ejemplos, en separada. Se debe mencionar tambin que PyFlag
donde sea requerido, se utilizar una imagen bit a bit est disponible bajo los trminos de la GPL para que
de una memoria stick USB, de un caso personal. cualquiera pueda utilizarla, modificarla y mejorarla.
En primera instancia es adecuado definir de ma- La versin ms reciente de PyFlag es la 0.87
nera precisa el significado de FLAG, por sus siglas en pre1 que data del mes de septiembre del ao 2008.
el idioma ingls (Forensic and Log Analysis GUI) o In- Entre algunas de sus mejoras se pueden detallar las
terfaz Grfica de Usuario para anlisis forense y de ar- siguientes:
chivos de anotacin; es una herramienta forense para
realizar el anlisis de grandes cantidades de archivos Esta versin incorpora todos los cambios imple-
de anotacin log e investigaciones forenses. mentados en las respuestas al reto forense DF-
PyFlag tiene una lista muy interesante de carac- RWS.
tersticas, entre las cuales se incluyen las siguien- Tiene la habilidad de preparar reportes indepen-
tes: dientes con pginas HTML estticas inter enlaza-
das.
Forense de Red: PyFlag permite analizar capturas Anlisis de una cantidad de correos va web
de red en el formato del programa TCPDump, y tie- o Webmail.
ne soporte para un buen nmero de protocolos. Un widget de un editor hexadecimal que permi-
Anlisis de archivos de anotacin: PyFlag tiene te un anlisis interactivo.
una resaltable facilidad para realizar anlisis de
archivos de anotacin. Soporta varios formatos
de archivos de anotacin y proporciona un pode-
roso sistema para realizar consultas a los datos
del archivo de anotacin.
Forense de discos: PyFlag tiene una poderosa fa-
cilidad para analizar imgenes forenses y unida-
des de disco duro. PyFlag soporta un gran nme-
ro de formatos de archivo. Adems est presente
una emergente capacidad para realizarCarving
o extraccin.
Forense de memoria: PyFlag soporta algunas fun-
ciones forenses para analizar la memoria, utilizan- Figura 1. Consulta de PyFlag para la creacin de la Base de
do el Framework Volatily. Datos por defecto de nombre pyflag

10 LiNUX+ 5/2010
seguridad
Anlisis Forense

Una nueva y poderosa indexacin de palabras clave y fa- # wget http://sourceforge.net/projects/libewf/files/


cilidad de bsqueda que permite ser distribuido entre va- libewf/libewf-20100226/libewf-20100226.tar.gz/download
rios CPUs en cluster. # tar xzvf libewf-20100226.tar.gz
El anlisis forense a la memoria se integra al Framework #./configure; make; make install
Volatily.
Es factible tambin la instalacin del Antivirus ClamAV:
Instalacin
Estos son los datos del Sistema Operativo sobre el cual se # apt-get install clamav-daemon
realizar la instalacin de PyFlag:
Se debe tener en consideracin de que tambin se ha instala-
# cat /etc/motd do la ms reciente versin de The Sleuth Kit.
Es es el turno ahora de configurar la Base de Datos con el
Linux debian 2.6.18-6-686 #1 SMP Mon Oct 13 16:13:09 UTC siguiente comando:
2008 i686
Para proceder con la instalacin de PyFlag se deben cum- # mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -
plir ciertos requisitos previos. En este caso puntual se ha pro- uroot -p mysql
cedido a instalar los siguientes paquetes listados en orden:
PyFlag puede ser instalado de la forma usual, es decir el tpico
# apt-get install build-essentials ./configure; make; make install. Pero se ha preferido hacerlo
# apt-get install python-dev obteniendo las fuentes desde los repositorios Darcs y proce-
# apt-get install libz-dev diendo luego a compilar PyFlag. Para realizar esto es necesa-
# apt-get install libmagic-dev rio cumplir algunas dependencias extras, que pueden solucio-
# apt-get install python-mysqldb narse ejecutando el comando detallado a continuacin:
# apt-get install python-imaging
# apt-get install python-pexpect # apt-get install darcs automake autoconf libtool
# apt-get install python-dateutil
# apt-get install python-urwid Voy a explicar de manera breve lo que es Darcs. Darcs es
# apt-get install mysql-server un sistema de manejo de cdigo fuente Open Source y libre.
Darcs tiene tres caractersticas principales que son: ser Distri-
Luego se procede a instalar los paquetes listados a conti- buido, Interactivo e Inteligente. Sugiero revisar la seccin de
nuacin, los cuales permiten utilizar algunas caractersticas referencia para obtener ms informacin al respecto.
adicionales de PyFlag: Para proceder a descargar la versin ms reciente del
rbol de desarrollo desde el repositorio Darcs, se utiliza el
# apt-get install libgeoip-dev siguiente comando:
# apt-get install libjpeg62-dev
Se procede con la instalacin de AFFLIB: # darcs get http://www.pyflag.net/pyflag/
# wget http://www.afflib.org/downloads/afflib-
3.5.8.tar.gz Una vez descargada la versin en desarrollo, puede ser nece-
# tar xzvf afflib-3.5.8.tar.gz sario ejecutar la auto configuracin para asegurarse de que el
#./configure && make && make install script de configuracin sea generado. Este paso tal vez no sea
necesario ya que el lanzamiento de la versin tiene un script
Se procede con la instalacin de libewf: ya configurado:

# sh autogen.sh

Figura 2. Pantalla de bienvenida de PyFlag Figura 3. Pantalla que permite actualizar la configuracin de PyFlag

www.lpmagazine.org 11
seguridad
Anlisis Forense

Si todo lo anterior ha sido realizado de una manera adecuada, un caso. La Figura 5 muestra la opcin y los datos solicitados
es momento de ejecutar PyFlag: por PyFlag. En este caso se ha colocado el nombre del caso
y la zona horaria.
# pyflag Luego de que se ha creado el caso, es factible copiar la
imagen que se analizar, al directorio adecuado en la estruc-
Dado que PyFlag se ha instalado en otro Sistema Operativo tura de directorios de PyFlag, en la configuracin por defecto
para ser utilizado de manera remota, se procede a ejecutar del caso, el directorio se crea en /tmp/.
PyFlag de la siguiente manera: Las caractersticas de la imagen bit a bit son las siguientes:

# pyflag --httpserver_bindif=192.168.1.34 Nombre: usbmemory.dd


SHA-1: 048f6490e266293878304b53de69e557f05bb3ea
Con el parmetro httpserver_bindif le indica a PyFlag en cual Tamao: 512753664
interfaz debe atender a las conexiones HTTP, existen otros
parmetros que permiten por ejemplo definir un puerto deter- Cuando se carga una Fuente de Datos, se debe especificar el
minado, pues PyFlag usa por defecto el puerto 8000, cul es Subsistema de E/S, en este caso se ha seleccionado la opcin
la BD a la cual se debe de conectar, el nombre del servidor de Standard, y tambin se ha definido la zona horaria a America/
BD, el nombre de usuario de la BD, entre otras opciones. Al Lima, se debe tener en consideracin que esta zona horaria
ejecutar PyFlag se puede obtener un listado y breve descrip- corresponde a la evidencia. La Figura 6 muestra en detalle este
cin de todas las opciones disponibles en lnea de comando, proceso. En la segunda pantalla de este proceso, ver Figura 7,
muy til de requerirse alguna opcin en particular. se solicita ms informacin sobre la Fuente de datos.
La Figura 1 muestra el mensaje de PyFlag indicando que Con la opcin Select Standard image se define la ubica-
la Base de Datos por defecto de nombre pyflag no ha sido de- cin del tem de evidencia a analizar; se debe recordar que se
tectada y consulta al usuario si desea proceder a su creacin. est trabajando con una imagen en bruto (raw). El campo Cu-
En la Figura 2 se muestra la pantalla de bienvenida para rrently Select files indica todos los tems a utilizar en el traba-
utilizar PyFlag. jo. La opcin Enter partition offset, permite definir el inicio de
Para actualizar la configuracin de PyFlag, se debe seguir un Sistema de Archivo; de esta manera es factible visualizar la
los siguiente pasos: ir a Configuration y luego a PyFlag Con-estructura lgica de la unidad que est siendo analizada. Ha-
figuration, en donde se mostrarn todos los parmetros sus- ciendo clic en el icono ubicado a la izquierda de esta opcin,
ceptibles de modificacin, alguno de los cuales se exponen en se mostrar su estructura en una nueva ventana, siendo fac-
la Figura 3. Una vez realizados los cambios requeridos, sim- tible de esta manera tambin elegir cualquier desplazamiento
plemente se debe hacer clic en el botn Submit ubicado en la deseado. En este caso se utilizar un desplazamiento de 32,
parte final de la pgina, para que los cambios tomen efecto. que es donde est ubicado un Sistema de Archivo FAT16.
Finalmente se define Unique Data Load ID, un identificador
Funcionamiento de PyFlag nico del dato cargado, en este caso se ha definido a USB01.
La arquitectura general de PyFlag se muestra en la Figura 4. Para los ejemplos del presente artculo se est utilizando
A continuacin se detallarn los componentes principales una imagen en bruto obtenida con dd. La obtencin y carac-
que constituyen PyFlag. tersticas de ste y otros programas similares para la captura
de evidencia, ya se ha detallado en un anterior artculo sobre
Fuentes de E/S herramientas que cumplen este propsito. Pero PyFlag tiene
Muchas veces las imgenes son almacenadas en diferentes caractersticas interesantes cuando se trata de cargar la Fuen-
formatos en lugar de volcados en bruto de datos (algunas ve- te de Datos, que se detallan a continuacin.
ces denominados formato dd). Esto se realiza para proporcio-
nar comprensin, o para almacenar meta-datos relacionados SGZIP
al caso juntos dentro de la imagen original En la actualidad se manejan grandes cantidades de informa-
PyFlag soporta diferentes formatos de imagen a travs cin y discos de una elevada capacidad de almacenamiento,
del uso de controladores de Fuentes de E/S. Antes de que se
pueda analizar una imagen, se debe definir una Fuente de E/
S. Una Fuente de E/S es simplemente una coleccin de infor-
macin la cual es utilizada para obtener los datos de la imagen
en bruto. Para dar inicio al primer ejemplo, se procede a crear

Figura 4. Arquitectura de PyFlag Figura 5. Creacin de un caso en PyFlag

12 LiNUX+ 5/2010
seguridad
Anlisis Forense

lo cual dificulta algunas veces la manipulacin de imgenes Montado


dd. Esto debido a que las imgenes dd necesitan ser descom- PyFlag utiliza The Sleuth Kit como motor fundamental para leer
primidas para ser analizadas, lo cual implica que la plataforma Sistemas de Archivos. TSK soporta un nmero importante de
donde se realiza el trabajo debe tener el espacio suficiente Sistema de Archivos, pero no tantos como los que es capaz de
para manejar toda la informacin relacionada con el caso. reconocer el Kernel de Linux para montar Sistemas de Archivos.
Para ayudar con el manejo de imgenes de gran tamao Para cubrir este dficit del sistema el montado de la Fuente de
se utiliza un programa de compresin estndar como es gzip o E/S est diseado para incorporar el contenido de un directorio
bzip2. Esto ayuda a comprimir el archivo, pero se hace imposi- (o punto de montaje) dentro de PyFlag. Pero es bueno tener en
ble analizar directamente el archivo sin descomprimirlo prime- consideracin que existen un nmero importante de puntos crti-
ro. La principal razn para esto es que la mayora de formatos cos cuando se utiliza una Fuente de Datos de E/S montada:
de compresin de propsito general, no estn diseados para
buscar a travs del archivo de manera aleatoria. PyFLAG tie- El controlador de Sistemas de Archivos del Kernel de Linux
ne soporte para diferentes formatos como gzip, el formato de no conoce o tiene cuidado sobre los inodos borrados. No
compresin de EnCase y FTK. est diseado para trabajo forense, as que no es posible
El formato sgzip se basa en gzip, pero proporciona la capa- recuperar archivos eliminados con un Sistema de Archivos
cidad de poder ubicar algo en l. Esto se logra comprimiendo montado.
bloques (por defecto de 32K) de manera individual. La operacin Montar un Sistema de Archivos es una operacin con privi-
de ubicacin simplemente necesita calcular la localizacin del legios. De manera tpica slo el usuario root puede montar
bloque de 32K correcto y descomprimirlo. Se pueden encontrar un sistema de archivos.
detalles especficos del formato en el archivo sglib.h. Debido a que un Sistema de Archivos puede contener ar-
Sgzip es un formato robusto, lo cual implica que si un archivo chivos con propietarios esto puede prevenir que usuarios
de imagen se daa de alguna manera (est corrupta o trunca- regulares accedan a estos archivos, es mejor ejecutar Py-
da), puede ser posible recuperar la mayora de datos dentro de Flag como el usuario root cuando se utilice una Fuente de
l. Para obtener un listado de las opciones de uso se puede E/S montada. Esta es la nica ocasin es que es necesario
ejecutar el siguiente: sgzip --help. ejecutar PyFlag como un usuario privilegiado, dado que no
es una prctica recomendada.
EWF (Expert Witness Format) Debido a que PyFlag no es responsable de montar el Sis-
El formato EWF es un formato propietario principalmente uti- tema de Archivos, es completa responsabilidad del usuario
lizado por EnCase y FTK. Este formato tambin comprime los que el Sistema de Archivos sea montado de manera correc-
datos en trozos de 32Kb para lograr un archivo comprimido don- ta; por ejemplo, en solo lectura (aqu se debe tener cuidado
de sea factible ubicar algo dentro de l. Este formato de archivo con el Journaling de algunos sistemas). Se recomienda que
tambin puede ser dividido en partes menores a 2GB. Aunque el usuario realice un hash SHA-1 antes y despus del mon-
PyFLAG tambin puede crear archivos EWF, estos podran no taje para verificar la integridad del archivo.
ser reconocidos por EnCase. Pero es perfectamente vlido ge- Ya que el Kernel de Linux no soporta imgenes sgzip,
nerar archivos EWF utilizando PyFLAG para ser utilizado dentro EWF, los archivos de imgenes deben estar simplemente
de PyFLAG, sin embargo debido a que el formato EWF es muy como una imagen dd en bruto (con la posibilidad de un des-
frgil, no se recomienda su uso y es mejor utilizar sgzip para plazamiento) el cual ser entendido por el controlador loop.
este propsito. Debido a que la Fuente de E/S montada no es una Fuente
La mayora de las veces se utiliza PyFLAG para analizar de E/S real, existen limitaciones cuando se utiliza este tipo
imgenes tomadas utilizando EnCase, o para reparar im- de Fuente de E/S. Es decir, ciertos reportes que necesitan
genes daadas de EnCase (la inplementacin de PyFLAG acceso al dispositivo en bruto podran no funcionar, por
de EWF es muy flexible y puede ser utilizada para reparar ejemplo la extraccin de archivos o la indexacin. Para esto
imgenes de EnCase). Para utilizar una imagen EWF simple- se recomienda una fuente de E/S separada representan-
mente se deben seleccionar todos los archivos con extensin do el dispositivo en bruto que est siendo utilizado para
.E01,E02, etc. en la fuente de E/S. este propsito.

Figura 6. Pantalla para cargar la Fuente de E/S Figura 7. Segunda pantalla para cargar la Fuente de E/S

www.lpmagazine.org 13
seguridad
Anlisis Forense

La fuente de E/S montada puede ser utilizada para analizar importantes operaciones sobre los archivos son la lectura
una imagen de CDROM (ISO9660). De igual manera mon- y ubicacin. De esta manera es posible ubicar cualquier
tajes NFS o SMB pueden ser analizados de esta forma, en punto dentro de los datos contenidos en un archivo, y leer
caso de que no sea posible el acceso fsico al disco duro. tantos datos como sean necesarios hasta el final del archivo.
Sistema de Archivos: los archivos se organizan en
RAID Sistemas de Archivos. Los Sistemas de Archivos son es-
PyFlag es capaz de procesar automticamente un conjunto tructuras las cuales permiten almacenar y acceder a varios
RAID. Este tema se cubre de una manera ms detalla en un archivos. El Sistema de Archivos de PyFlag permite acceso
documento titulado: RAID Reassembly A forensic Challenge. a los archivos por nombre y por inodo.
Inodo: un inodo es una direccin nica dentro del Sistema
El Cargador del Sistema de Archivos de Archivos para permitir al usuario acceder a un archivo
Cuando se crea un nuevo caso en PyFlag, el VFS de PyFlag especfico (y sus datos). En PyFlag no se representan como
se encuentra vaco. Se debe poblar el VFS con algunos datos enteros, sino como cadenas. Anotar tambin que los ino-
iniciales, lo cual es la tarea del cargador del Sistema de Archi- dos son nicos en el sentido de que el mismo inodo siem-
vos. El cargador simplemente examina el Sistema de Archivos pre proporcionar el mismo archivo (con los mismos datos),
que est localizado dentro de la Fuente de E/S proporcionada, pero varios inodos pueden proporcionar tambin el mismo
y descubre todos los archivos residentes en l. El cargador archivo (y datos). Se debe recordar que en PyFlag el VFS
adems llama al VFS para crear los respectivos archivos den- puede tener un nmero infinito de inodos.
tro del VFS de PyFlag. Nombre de Archivo: los Sistemas de Archivos tambin alma-
Existen varios cargadores disponibles, pero estn dividi- cenan los nombres de archivos. Los nombres de archivos
dos en pocos tipos: organizan los archivos en directorios y archivos dentro de un
directorio. Ntese sin embargo, que no todos los archivos
Controladores del Sistema de Archivos de TSK: estos con- dentro del Sistema de Archivos tienen que tener un nombre
troladores utilizan el programa TSK de Brian Carrier pa- de archivo. Los inodos pueden estar presentes en un Sis-
ra leer varios tipos de Sistema de Archivos, tales como tema de Archivos sin tener un nombre de archivo (o ruta)
NTFS, FAT, ext2/3, FFS, etc. completa.
Controlador del Sistema de Archivo Montado: este con-
trolador solamente puede trabajar con una Fuente de E/S Es momento de realizar una inmersin en el Sistema de Archi-
montada, y est diseado para registrar archivos y direc- vos Virtual de PyFlag, el cual es un Sistema de Archivos abstrac-
torios que se encuentra debajo de un directorio determi- to. El Sistema de Archivos por s mismo solamente almacena las
nado. relaciones entre los inodos y nombres de archivos. El Sistema
Archivo PCAP: este pseudo Sistema de Archivos proporcio- de Archivos de PyFlag proporciona tres facilidades principales.
na acceso a archivos PCAP, facilitando as las capacida-
des de PyFlag en lo referente al tema Forense de redes. Abrir archivos en VFS
Cuando se requiere que un archivo sea ledo, el VFS ubica el
El Sistema de Archivos Virtual (VFS) de PyFlag inodo, y entonces intenta abrir el archivo asociado con el inodo.
Los Sistema de Archivos son fundamentales en el mundo Existen muchos tipos de inodos almacenados dentro del
forense digital, y por lo tanto son una parte central de PyFlag. VFS, cada uno con sus propios controladores. El VFS cambia
En el corazn de PyFlag se encuentra el Sistema de Archivos a un nico controlador para el inodo, basado en el nombre de
Virtual (VFS). Pero primero se exponen algunas definiciones. inodo utilizando las siguientes reglas:

Dato: el dato es un flujo de nmeros digitales. La interpreta- Si un inodo tiene caracteres pipe (|), el VFS los utiliza
cin de estos nmeros es todo en el mundo forense digital. para dividir el nombre del inodo en componentes.
Archivos: los archivos son piezas discretas de datos. Un El VFS adems utiliza el componente ms a la izquierda
archivo tiene una cantidad finita de datos en l. Las ms para abrir el archivo denotado por el inodo. Para deter-

Figura 8. Aadiendo archivos con la opcin de carga de un Sistema de Archivos Figura 9. Aadiendo archivos con la opcin de escaneo sobre el VFS

14 LiNUX+ 5/2010
seguridad
Anlisis Forense

www.lpmagazine.org 15
seguridad
Anlisis Forense

minar cul es el controlador responsable de este com- PyFlag tiene diferentes escneres. Un escner es una pe-
ponente, el controlador del VFS consulta los primeros quea pieza de cdigo construido, el cual busca archivos en el
caracteres del nombre del componente. Sistema de Archivos, y recolecta informacin sobre ellos. Por
Utilizando el controlador adecuado, el VFS abre el com- ejemplo, un escner de archivos ZIP, busca todos los archivos zip,
ponente y obtiene el archivo. y crea nodos VFS representando el contenido de un archivo zip.
El VFS entonces se mueve al siguiente componente, deter- Como se puede apreciar en la Figura 9, los escneres estn
mina el controlador y se lo da con el archivo antes abierto.
divididos en categoras. Cada categora puede ser habilitada
El archivo resultante es utilizado para abrir el siguiente o inhabilitada de manera separada. Haciendo clic en el botn de
componente y se contina as. configuracin es factible personalizar cada categora.
Una vez que todos los componentes han sido procesados, Cada vez que el escner crea un nuevo archivo VFS, se
el archivo resultante se le presenta al usuario del VFS. aplica el conjunto de escneres al mismo. Por ejemplo, supo-
niendo que el escner PST encontr un archivo PST se crea
Creando nuevos archivos dentro del VFS por lo tanto un nuevo inodo VFS para cada adjunto del correo
Existen dos maneras para aadir archivos al VFS. La primera electrnico encontrado. El escner de archivos ZIP entonces
opcin es cargar un Sistema de Archivos, mediante Load Data puede descubrir que uno de los adjuntos es un archivo zip,
-> Load File System Image, ver Figura 8. Y la segunda manera y por lo tanto crear un conjunto de nodos VFS representando
es ejecutando el Escner sobre el VFS, realizando la siguiente el contenido del archivo zip. Adems el escner de virus puede
accin: Load Data -> Scan Filesystem, ver Figura 9. encontrar que uno de esos archivos es un virus.

Navegando el VFS LA GUI y el visor de tablas


El navegar un Sistema de Archivos es una poderosa tcnica El mecanismo ms poderoso en PyFlag es el visor de tablas.
de anlisis. En la Figura 10 se puede visualizar un Sistema de Este mecanismo permite una bsqueda extremadamente sofisti-
Archivos que est siendo navegado. cada del conjunto de datos. La Figura 12 muestra la utilizacin t-
La Figura 10 muestra que se est examinando un direc- pica de este mecanismo, sin embargo en PyFlag se utiliza en va-
torio que contiene archivos de extensin JPG. Y al hacer clic rios lugares. A continuacin se detallarn los componentes ms
sobre alguno de estos archivos se puede obtener variada in- importantes de la ventana principal. Como se puede apreciar
formacin sobre el archivo, tal como estadsticas, un volcado en la Figura 12 existen unos nmeros en rojo que identificarn
en Hexadecimal, volcado en Texto, descargar el archivo, y las a cada uno de los componentes detallados a continuacin.
dems opciones que se muestran en la Figura 11.
Barra de Men
Escneres Esta barra de color azul en la parte superior de la pantalla se
Ya se ha visto como el VFS de PyFlag juega un rol central para utiliza para navegar los reportes disponibles en PyFlag, permi-
proporcionar un lugar donde se almacenan los inodos. Se ha te realizar cambios en la configuracin actual (para esto se re-
visto que estos inodos pueden ser abiertos por el VFS utilizan- quiere reiniciar PyFlag), y manejar casos (crear, borrar, aadir
do una variedad de archivos controladores del VFS. nuevas fuentes de datos). Desde aqu se pueden seleccionar
Tambin se ha mencionado de que el Sistema de Archivos otros mdulos o simplemente otro reporte. Se debe anotar que
puebla el VFS desde una Fuente de E/S. por conveniencia estos reportes son agrupados por el tipo de
Sin embargo, el cargar un Sistema de Archivos no es la ni- investigacin, pero no todas las funciones son exclusivas al ti-
ca manera de poblar el VFS. El VFS puede ser poblado a tra- po de investigacin. Por ejemplo se pueden navegar paquetes
vs de otro proceso denominado Escaneo. desde el men Disk Forensics -> Brose Filesystem.

Escaneando el Sistema de Archivos Caso Actual


El escaneo de un grupo de archivos puede ser iniciado desde La caja desplegable en el lado derecho de la pantalla a con-
la pgina Browse File System, o puede ser accedido directa- tinuacin de men muestra el caso actualmente seleccionado
mente desde el men Load Data. y puede ser utilizado para seleccionar la visualizacin de

Figura 10. Navegando un Sistema de Archivos Figura 11. Visualizando un archivo con PyFlag

16 LiNUX+ 5/2010
seguridad
Anlisis Forense

Figura 13. La Interfaz en Lnea de Comando PyFlash


Figura 12. Vista de tabla en PyFlag
de tabla actual. Las anotaciones de inodos pueden ser visua-
casos alternos. Los siguiente componentes pueden ser visua- lizados de la siguiente manera Case Management -> View
lizados en el conjunto de herramientas. Case Report en cualquier momento. Se debe tener presente
que los inodos pueden ser anotados directamente desde la
Me siento con Suerte (I'm Feeling Lucky) tabla, y tambin revisados o cambiados.
Apertura de una ventana con una lista de reportes preconfigu-
rados para obtener un anlisis rpido. Pgina siguiente / anterior
Algunas veces el nmero de filas de datos no caben en una
Navegar inodos en la table pantalla completa. En este caso, la flecha de pgina siguiente
Abre una nueva ventana para navegar los inodos (muestra el estar sin sombrear lo cual indicar que existe otra pgina
contenido de los inodos) en la tabla actual. disponible para ser visualizada.

Anotar inodos Saltar la fila


Abre una ventana donde el usuario ingresa un comentario so- Abre una ventana donde el investigador ingresa una fila espe-
bre el inodo actualmente seleccionado (check box) en la vista cfica a la cual ir.

PUBLICIDAD

www.lpmagazine.org 17
seguridad
Anlisis Forense

Filtro de Tabla Bsqueda de palabras clave


Abre una ventana de filtro. El filtrado de un conjunto de datos Abre una ventana de ndice de bsqueda. Se muestra una caja
se logra ingresando un instruccin MySQL de filtro en la caja de palabra clave donde un nuevo trmino o un trmino existen-
de Search Query. te en la indexacin del diccionario puede ser ingresado. Se le
La construccin de instrucciones se facilita por las cajas presenta al investigador un conjunto de inodos que requieren
desplegables y la ventana de ayuda. Las instrucciones de filtro indexacin, sea el caso, antes de que se inicie la indexacin. Si
anteriores se guardan en una ventana de historial para una el investigador selecciona continuar entonces:
seleccin ms fcil.
Los nuevos trminos deben ser asignados a una categora
Ocultar Columnas y tipo (Palabra, Literal [sensible a maysculas], o expresio-
Abre una ventana donde el investigador puede seleccionar las nes regulares) antes de que se inicie la indexacin, o:
columnas a ocultar de la vista actual. Los trminos del diccionario existente son indexados de
manera inmediata.
Agrupar por una Columna
Abre una ventana donde los inodos son agrupados de acuerdo PYFLASH: el shell de PyFlag
a una columna seleccionada. Es bastante til para encontrar co- Como se ha visto hasta el momento, PyFlag tiene un adecuado
rrespondencias de inodos por tamao, fecha de creacin, MD5, GUI el cual permite navegar de manera rpida los resultados
fuente IP, etc., haciendo clic en el enlace de una salida ordenada del anlisis forense. Sin embargo cualquier practicante forense
se crea una vista de la tabla con el conjunto de datos ordenado. conoce que el tema forense es un proceso lento, sobre cual-
quier hardware. Los tamaos de las imgenes de los discos
Cuenta Filas duros se incrementan exponencialmente, y esto consume mu-
Abre una ventana y muestra el nmero de filas en la tabla actual. cho tiempo de procesamiento para el investigador forense. Los
usuarios de Pyflag deben notar que PyFlag hace un cach de
Exportar Tabla los resultados del anlisis, de esta manera slo necesita rea-
Abre una ventana para exporta la tabla. Las tablas pueden ser lizar el anlisis una sola vez. Los reportes y navegacin sub-
exportadas en varios formatos de reporte para un posterior secuentes solamente cargan la versin de cach haciendo la
anlisis. Existen los siguientes tipos de reportes disponibles. fase de navegacin muy rpida. La fase de anlisis de otra
manera tomara ms tiempo.
Exportador HTML peridico: una pgina HTML actualiza- Una de las fortalezas del GUI de PyFlag es que la interfaz
ble de la tabla de contenidos. El archivo de datos descrito de usuario (UI), est abstrada del programa. En otras pala-
en los meta-datos de la tabla puede ser exportado y enla- bras como el usuario interactua con el software puede ser
zado en una tabla HTML. cambiada fcilmente sin alterar demasiado el cuerpo del cdi-
Valores Separados por Coma (CSV): un archivo de texto go. Esto abre la puerta a una variedad de diferentes opciones
CSV para importarlo en una hoja de clculo. del GUI. Hasta ahora se ha introducido la interfaz de usuario
Directorio HTML: una pgina HTML no actualizable de la tabla en HTML, que es la principal interfaz web, y actualmente la
de contenidos. El archivo de datos descrito en la tabla de me- ms funcional para determinadas tareas.
ta-datos puede ser exportado y enlazado en una tabla HTML. La Interfaz en Lnea de Comando (CLI) ha sido un concep-
Exportar Galera: una galera de miniaturas de las imge- to central en Unix por dcadas. Sin embargo muchos usuarios
nes. Los archivos de imagen original pueden ser exporta- nuevos tienen temor al CLI, alegando que es menos intuitivo y
dos y enlazados a una galera de imgenes en HTML. ms difcil que usar un GUI, el CLI es una realidad y no se ir a
ningn lado. La razn para esto es que CLI es ms poderoso
Instruccin SQL usada en ciertas circunstancias, y que permite realizar scripting y ba-
Muestra la instruccin SQL utilizada para presentar la tabla tching. PyFlag permite a los usuarios utilizar cualquiera de las
actual. til para aprender instrucciones MySQL para filtrado interfaces, as que los usuarios que no se sientan a gusto con
o depurado. CLI, pueden seguir utilizando GUI.

Figura 14. Anlisis de nuestro caso mediante los comandos en PyFlash Figura 15. Comando execute en PyFlash

18 LiNUX+ 5/2010
seguridad
Anlisis Forense

Comandos de PyFlash El problema aqu es que se necesitar mucho tiempo


PyFlash puede ser iniciado desde el directorio de PyFlag, me- utilizando la GUI para extraer estos archivos. Debido a que
diante ./pyflash. Tal como se muestra en la Figura 13. cada uno de estos archivos necesita ser navegado, abierto
y guardado. Para los usuarios que utilizan GNU/Linux en
load: carga un Sistema de Archivos en una shell para ser anlisis forense, podra ser una buena idea montar la imagen
utilizado con los comandos ls, cp, etc. El Sistema de Ar- en un directorio, y utilizar un gran comando de copia para rea-
chivos debe haber sido cargado previamente mediante el lizar esta tarea. Sin embargo GNU/Linux no puede montar un
reporte LoadData adecuado. archivo sgzip. El Sistema de Archivos Virtual Flash es lo que
execute: permite al usuario ejecutar la fase de anlisis de realmente se necesita en este caso. Despus de que el Sis-
cualquier reporte. tema de Archivos es cargado en PyFlag (ya sea mediante el
set: configura una variable de entorno. GUI o un script), se puede cargar simplemente el Sistema de
less: visualiza un archivo desde el Sistema de Archivos Archivos en PyFlash (el shell de PyFlag) y navegarlo como de
Virtual utilizando el paginador less. costumbre, tal como se muestra en la Figura 14.
istat: muestra informacin sobre el inodo en el Sistema de Como se puede apreciar en la Figura 14, esta es una bue-
Archivos Virtual. na solucin para hacer un scripting de tareas automatizadas.
En primera instancia el Sistema de Archivos Virtual es cargada
El Sistema de Archivos Virtual en PyFlash. Una vez realizado es posible navegar a travs del
A modo de ejemplo terico se define el siguiente escenario en Sistema de Archivos como si estuviera actualmente montado
una investigacin forense. Se ha realizado la imagen de un dis- en el directorio raz de PyFlash (/). Se puede hacer un cd a los
co duro utilizando sgzip para conservar el espacio, sabiendo que diferentes directorios, y de igual manera se puede listar el con-
PyFlag puede trabajar con esto fcilmente. Se toma la eviden- tenido de dichos directorios.
cia en el laboratorio y se utiliza satisfactoriamente PyFlag para En este caso sera factible copiar todos los archivos conte-
localizar el directorio con algunos documentos Word interesan- nidos de un directorio a uno de nombre /tmp/evidencia, el cual
tes. Se puede desear realizar la extraccin de estos archivos debe haber sido creado previamente en la computadora en la
de evidencia, pero existen cientos de estos documentos en el cual se est realizando el anlisis. El comando sera:
mismo directorio, y combinados con otros archivos de diferente
extensin. Flag Shell: /> cp * /tmp/evidencia/

PUBLICIDAD

www.lpmagazine.org 19
seguridad
Anlisis Forense

Esta accin tambin puede extraer los archivos borrados de de visualizacin subsecuentes para navegar a travs de la
ser posible. informacin de manera rpida.
Pyflash permite la ejecucin de mtodos de anlisis en un
Script Flash script, o desde la shell. Esto se logra mediante la ejecucin del
Algunas investigaciones forenses consumen mucho tiempo, comando mostrado en la Figura 15.
se necesita realizar mucho trabajo antes de que sea inminente Para tener una idea de los argumentos requeridos para
encontrar la evidencia real. Por ejemplo, se pueden tomar cada reporte el usuario puede utilizar el GUI para realizar el
pasos similares cuando se obtiene una nueva imagen de un anlisis y copiar la URL desde el navegador. Por ejemplo:
disco duro.
http://192.168.1.34:8000/f?report=Browse%20Filesystem&
Crear una Fuente de E/S de una unidad. family=Disk%20Forensics&case=RYDS-LL-TRU-007
Cargar el Sistema de Archivos de de la unidad en PyFlag.
Construir la cronologa MAC para cada Sistema de Archi- Por lo tanto, en este ejemplo, la siguiente lnea de argumentos
vos. es requerida en Pyflash:
Ejecutar una comparacin de hash NSRL sobre todos los
archivos. Flag Shell: />execute Load\ Data.Load \ Filesystem\
Escanear todos los archivos de una unidad en busca de image case=RYDS-LL-TRU-007 fstype=Sleuthkit
algn virus o troyano. iosourceUSB01
Extraer archivos, buscando documentos/pelculas/imge-
nes borradas. Es factible configurar aqu tambin algunas variables, por
Indexar la unidad contra el diccionario de indexacin. ejemplo:

Estos procesos deben ser repetidos para cada unidad encon- Flag Shell />set case=RYDS_LL-TRU-007
trada (algunos trabajos tienen muchas unidades). Este proce- Flag Shell />set mount_point=/media/USB01
so consume mucho tiempo, y puede tomar muchas horas para
ser completado, incluso sobre un hardware poderoso. Este proceso puede ser escrito en un script. Los scripts pue-
La solucin para este inconveniente es permitir que un den tener variables que sern interpoladas en ellas despus
script se ocupe de todo este proceso, dejando que se ejecute de la respuesta del usuario a las preguntas. Por ejemplo el di-
por s solo. El analista solamente necesitar mirar el caso una rectorio examples/ contiene un script pyflash para realizar el
vez que todas las tareas que consumen bastante tiempo han anlisis inicial de una unidad. Las variables son cargadas por
sido realizadas de manera automtica, y aadir el elemento pyflash y son interpoladas, como se muestra en la Figura 16.
humano a esta tarea. En la Figura 16 se muestra el script load_new_file.flash.
Todos los reportes en PyFlag se separan en un nmero Al ejecutar este script en Pyflash, se le formulan al usuario al-
de mtodos. Los dos mtodos ms interesantes en este gunas preguntas, y luego se procede a realizar las tareas que
contexto son los mtodos de anlisis y de pantalla. El mto- pueden consumir bastante tiempo. Aunque Pyflash no admite
do de anlisis se utiliza para realizar tareas que consumen un lenguaje de script completo, lo que tiene Pyflash puede ser
mucho tiempo y construir un cache de resultados para futu- de mucha utilidad.
ros mtodos de pantalla. Los mtodos de pantalla, simple-
mente formatean los resultados para que los usuarios pue- Forense de Redes
dan navegar a travs de estos. El resultado de este diseo Uno de los tipos ms valiosos de evidencia en una investiga-
es que los mtodos de anlisis contienen todo el cdigo de cin digital es la captura de la red. El trfico de red presenta
anlisis, que una vez ejecutados, sern el cach de PyFlag. informacin muy rica, ya sea de valor forense como de valor
Una vez que el mtodo de anlisis es ejecutado para un administrativo o de seguridad.
cierto reporte, el usuario puede emitir llamadas a mtodos Desafortunadamente la mayora de herramientas disea-
das para analizar trfico (por ejemplo Ethereal), son diseadas

Figura 16. Ejecucin de un Script con PyFlash Figura 17. Pantalla para realizar anlisis forense de redes en PyFlag

20 LiNUX+ 5/2010
seguridad
Anlisis Forense

para depurar problemas de red, o diseccionar protocolos. Sin Escneres HTTP: el Escner HTTP opera sobre el ensam-
embargo los investigadores forenses estn interesados en blado de flujos y clasifica las diferentes URLs visitadas. Ade-
informacin de alto nivel, tales como archivos transferidos, ms crea nodos VFS para el contenido de los objetos HTTP de-
redes sociales, etc. scargados.
El mdulo de forense de redes de PyFlag ayuda a pro- Escneres POP/SMTP: el Escner POP opera sobre flu-
porcionar informacin de anlisis de alto nivel, mientras que jos POP e identifica el correo electrnico transportado. Con la
al mismo tiempo suministra suficiente informacin para deter- ayuda del escner RFC1822, puede producir flujos VFS para
minar con precisin a donde se debe derivar cada pieza de adjuntos individuales dentro de los correos electrnicos trans-
datos. Por ejemplo, cuando se navega por mensajes de chat, portados.
se puede ver exactamente cuales paquetes contienen cada Escneres MSN/IRC: este escner registra todos los men-
mensaje de chat. sajes de chat, y los muestra en un formato de bsqueda fcil.
Se ha expuesto como PyFlag maneja los archivos dentro Los archivos transferidos en MSN pueden tambin ser aadi-
del VFS de Pyflag. El modelo parece ser ms confortable para dos al VFS para un posterior escaneo.
forense de discos que para forense de redes, pero coaccionar En la Figura 17 se muestra un ejemplo de anlisis de un ar-
el forense de redes dentro del modelo de forense de discos chivo PCAP. Se puede visualizar una conexin entre 192.168.
proporciona algunos beneficios. No siendo el menor de ellos la 1.2 al puerto 443 de la direccin IP 74.125.113.83. Esta es
capacidad de manejar de manera transparente los archivos in- solo una breve muestra de la capacidad de Pyflag en el tema
crustados dentro del trfico de red utilizando las mismas herra- forense de redes.
mientas usadas para manejar estos archivos cuando residen Espero que este extenso y en su mayora terico artculo
en el disco. haya sido de su agrado. Es factible desarrollar un prximo art-
culo netamente orientado a la parte prctica de PyFlag donde
El Sistema de Archivos PCAP pueda percibirse en mayor medida todas las caractersticas
Para cargar un archivo PCAP, primero se carga una Fuente de con las que cuenta esta herramienta.
E/S y se le da un nombre. Entonces se puede seleccionar el
Sistema de Archivos PCAPFS. El Sistema de Archivos PCAP Conclusiones
escanea la Fuente de E/S e indexa los paquetes en l. Ade- El presente artculo ha detallado la arquitectura y funcionamien-
ms crea un archivo dentro del VFS denominado rawdata. to de PyFlag, basado en la propia documentacin disponible en
Este archivo representa los datos en bruto del paquete. la pgina del Proyecto. Adems se utiliz un caso personal pa-
Ya que PyFlag utiliza Fuentes de E/S regulares para ma- ra los ejemplos. Para las personas que utilizan, entra las cua-
nejar archivos PCAP, es posible utilizar cualquiera de los con- les me incluyo, la combinacin The Sleuth Kit & Autopsy para
troladores de Fuente de E/S. En particular es posible manejar realizar anlisis forense, enfrentarse por primera con PyFlag
directamente archivos comprimidos y separados utilizando puede resultar un poco desconcertante, pero nada mejor que
sgzip. una tranquila y profunda lectura a la documentacin para en-
tender su diseo y funcionamiento.
Los Escneres de Red Resalta entre las caractersticas de Pyflag, su modalidad
El VFS inicial es bastante aburrido, tiene solo un archivo. Los para trabajar con los tems de evidencia, su Sistema de Archi-
escneres son los responsables de poblar el VFS con nuevos vos Virtual, sus escneres, la posibilidad de hacer scripts para
archivos. Los siguientes son los escneres de red ms impor- automatizar los trabajos, su CLI, y la capacidad inherente para
tantes. forense de redes.
Escneres de ensamblado de flujo: este escner reen- Las nicas crticas que puedo hacer sobre PyFlag es que
sambla el flujo clasificando paquetes TCP en flujos individua- el proyecto no se actualiza de manera formal desde el mes de
les. El controlador VFS correspondiente puede adems crear septiembre del ao 2008. Y que algunas partes de la docu-
los datos dentro del flujo disponible como si ste fuera un mentacin presente en su Wiki no se han actualizado acorde
archivo regular. a la ms reciente versin de Pyflag disponible. Por lo dems
solo me resta invitar a todos los interesados con el tema de
cmputo forense, que no hayan visto an PyFlag, a evaluar
Sobre el Autor esta interesante herramienta.

Alonso Eduardo Caballero Quezada es Brainbench Certified


Computer Forensics (U.S.) y GIAC SSP-CNSA. Actualmente la-
bora como consultor en Cmputo Forense y Hacking tico. Per- En la red
teneci por muchos aos al grupo RareGaZz. Actualmente es
integrante del Grupo Peruano de Seguridad PeruSEC. Se pre- FLAG http://www.dsd.gov.au/library/software/flag/
senta de manera frecuente en cursos y ponencias; las cuales se PyFlag http://www.pyflag.net/cgi-bin/moin.cgi
enfocan en Cmputo Forense, Hacking tico, Anlisis de Vulne- AFFLIB http://www.afflib.org/
rabilidades, Pruebas de Penetracin, GNU/Linux y Software Li- LibEWF http://sourceforge.net/projects/libewf/files/
bre. Su correo electrnico es ReYDeS@gmail.com y su pgina Darcs http://darcs.net/
personal est en: http://www.ReYDeS.com The Sleuth Kit http://www.sleuthkit.org/

www.lpmagazine.org 21
soluciones para empresas
Comparativa de servicios de hosting

Cmo elegir
un buen hosting
Francisco Javier Carazo Gil
En esta revista hemos hablado en muchas ocasiones de las posibilidades y particularidades
tcnicas de montar nuestros propios servicios de alojamiento web y de base de datos en
nuestros propios equipos. Desde equipos antiguos a equipos modernos, pasando por distintos
tipos de tecnologas y de alternativas. Sin embargo, en pocas ocasiones, por no decir ninguna,
hemos hecho una comparativa de servicios externos de hosting que nos ofrecen las mismas
posibilidades pero sin utilizar nuestros equipos y lneas de red. En este artculo haremos una
pequea comparativa de estos servicios que pueden convertirse en mejores alternativas por
distintos aspectos a tener nuestro propio hosting en casa.

L
os problemas de tener el hosting en casa del hardware. La tercera y ltima es similar a la ante-
es@lpmagazine.org

son bsicamente tres, desde mi punto de rior pero en lugar de ir orientada a problemas fsicos
vista. El primero de ellos es la disponibili- del emplazamiento del servidor, viene dada por los
dad de ancho de banda. Las lneas doms- problemas del software derivados de mantener un
ticas que tenemos casi todos, sin hablar de lneas servidor actualizado y perfectamente protegido de
de fibra y otro tipo de lneas de comunicaciones ms ataques exteriores cuando estamos dando servicio
profesionales, suelen ser lneas telefnicas de la red al exterior.
pblica conmutada sobre la que utilizamos tecno- Slo por estas razones es interesante saber cuan-
logas tipo ADSL. Como su mismo nombre indica, do nos interesa tener un servicio de hosting en nues-
Asymmetric Digital Subscriber Line o en espaol, L- tra propia casa o cuando nos interesa contratar uno
nea de Suscripcin Digital Asimtrica; son lneas asi- fuera. Las razones son mltiples y hay que valorar-
mtricas que se caracterizan por tener una velocidad las todas. El factor econmico es importante porque
de subida mucho menor que la de bajada. sta es aunque un servicio externo tenga un coste fijo y peri-
la configuracin ms lgica cuando somos nosotros dico, el coste creciente de la electricidad puede ha-
quienes demandamos contenidos a la red y no los cer que incluso nos salga ms caro tener el servidor
ofrecemos. Sin embargo, cuando queremos propor- en casa.
cionar servicios web, tenemos un grave problema. Para poder decidir con conocimiento, voy a co-
Necesitamos ms recursos de subida y ya que no mentar primero qu debemos buscar en un servicio
podemos utilizar la tecnologa ms popular, utilizar de alojamiento, para pasar posteriormente a comen-
otras alternativas ms viables para este uso se hace
difcil por precio e imposibilidad de que nuestro ISP,
Internet Service Provider, Compaa Proveedora de
Servicios de Internet, nos los proporcione.
La segunda son las dificultades que suponen
tener en un domicilio un equipo encendido 24 horas
al das los 7 das de la semana. No slo por proble-
mas como los posible cortes de luz, sino por otros
temas como la refrigeracin y el gasto energtico del
equipo, el hecho de tener un equipo encendido en
un domicilio tanto tiempo es un problema. Antes de
pasar al siguiente punto, aqu tambin me gustara
remarcar los problemas derivados de fallos y roturas Figura 1. Imagen del interior de un gran data center

22 LiNUX+ 5/2010
soluciones para empresas
Comparativa de servicios de hosting

tar algunos de los servicios de hosting ms populares en la


red. Es tal la difusin que ha tenido este mercado los ltimos
aos que existen multitud de proveedores de alojamiento ac-
tualmente, por lo que me he decantado por los que, a priori,
considero ms interesantes.

Qu debo comparar en un servicio


de alojamiento?
Vamos a enumerar y comentar una a una las caractersticas que
debemos observar y estudiar antes de decidirnos por un ser-
vicio de alojamiento u otro. La experiencia es muy importante
en este punto por lo que intentar transmitiros los conceptos
fundamentales para que hagis una buena eleccin, incluso
los ms noveles en estos temas.

Espacio de almacenamiento
El primer factor que salta a la vista cuando buscamos alojamien-
Figura 3. Logo HostGator
to web es el espacio en disco que nos ofrecen. Este es uno de
los problemas que nos quitamos de encima cuando tenemos servidor externo. Recuerdo cuando hace aos ofrecan 50 MB
un servidor casero, pero que puede ser un factor limitante en un por un precio que pareca barato y hoy en da incluso llegan
a ofrecer espacio ilimitado en paquetes bsicos. Con el tiempo
esta limitacin desaparecer pero mientras tanto es una cifra
a tener en cuenta.
Nos limitar sobre todo a la hora de subir contenido mul-
timedia o ficheros de datos. Con 100 MB tenemos para alojar
cualquier CMS con contenido grfico incluido.

Volumen de transferencia
Es la cantidad de datos que nos permiten transmitir cada
cierto tiempo, suele ser mensualmente. Por ejemplo, si tene-
mos 10 GB/mes de datos, tendremos la posibilidad de que
los clientes (los visitantes) se descarguen a lo largo del mes
10 GB de datos de nuestra web. Esta cantidad en realidad no
es demasiado alta, porque como sabris, los lenguajes del
lado del servidor como por ejemplo PHP, generan contenido
HTML que es el que transmiten. Este contenido adems va-
riar en funcin de a qu secciones, comentarios, plugins...
se carguen.
Para hacer un estudio del volumen de transferencia que
necesitamos, debemos hacer un estudio emprico, es decir
con los datos que vayamos obteniendo de nuestro proveedor
de hosting. De todas formas os aseguro que los paquetes de
alojamiento suelen venir bien ajustados entre espacio de alo-
jamiento y volumen de transferencia, por lo que si no tenis
mucho contenido grfico o muchsimas visitas, este factor no
ser limitante.

Sistema operativo
Los proveedores de servicio web pueden funcionar bajo distin-
tos sistemas operativos. La opcin mayoritaria es GNU/Linux,
la segunda ms popular Microsoft Windows Server y en raras
ocasiones he visto otros (vese cualquier rama de Unix como
Solaris, porque Mac OS X s que es raro encontrarlo). Normal-
mente no habr duda, mucho mejor un servidor Linux que uno
Windows. La primera razn es por todas las ventajas que tiene
Linux en el mundo del servidor profesional en comparacin con
Figura 2. Panel de control que suelen utilizar todos los servicios, el llamado Windows y que no me voy a parar a detallar; y la segunda de
cPanel ellas por precio. Un servidor Windows ser casi siempre ms

www.lpmagazine.org 23
soluciones para empresas
Comparativa de servicios de hosting

Cuando tenemos un problema queremos una comunica-


cin lo ms fcil y rpida posible. El idioma es sin lugar a du-
das un punto esencial.

Figura 4. Logo Dreamhost


Opiniones en la red
caro que uno con Linux, la razn de este hecho tenis que Aunque siempre ser mejor una opinin de un usuario que
buscarla en el coste de las licencias del primero. conozcamos de un servicio que de un sitio de opinin y reco-
Por qu nos puede interesar un servicio con Windows? mendaciones en la red, antes de comprar un servicio, si no
Si utilizamos tecnologa .NET para el desarrollo de nuestras tenemos ninguna informacin disponible, os recomiendo mirar
aplicaciones web o tenemos necesidad de albergar nuestros por la red a ver qu dicen de tal empresa. Puede hacernos
datos sobre una plataforma SQL Server, esta opcin ser una idea, aunque como digo, siempre ser ms relevante una
casi limitante. En esta misma revista expliqu que podemos opinin de un compaero o amigo.
usar XSP o Apache con Mono para dar servicio a aplicacio-
nes con tecnologa ASP.NET, pero comercialmente esta op- Otras caractersticas
cin est poco extendida. Para cualquier otra tecnologa del En este punto englobo cosas como la disponibilidad de plan-
lado del servidor (de las mayoritarias) nos servir un servidor tillas, la instalacin de ciertos CMS de forma automatizada, la
con Linux. posibilidad de tener cuentas de correo en el servidor, si tene-
mos acceso por SSH, FTP sobre canal seguro... y todas aque-
Disponibilidad de tecnologas llas ms breves de explicar pero no por ello menos importan-
Muy estrechamente relacionado con el punto anterior. ASP.NET tes. Cuantas ms opciones de este tipo traiga mejor, pero no
es el caso claro de una tecnologa que nos limitar mucho sern determinantes en la mayora de los casos.
nuestra eleccin. En otros casos como Ruby (para Rails) o Py- De las que he comentado, la posibilidad de tener cuentas
thon (para Django, Turbo Gears,...) este factor tambin es de correo electrnico es la que me parece menos til. El servi-
importante. cio de correo electrnico que suelen ofrecer estas compaas
Aunque el sistema sea Linux no quiere decir que vaya deja mucho que desear en comparacin con soluciones como
a soportar estas tecnologas. PHP es casi un estndar y no creo la que proporciona Google a travs de Google App.
que tengamos problemas. Tambin lo es en el mismo sentido
MySQL. Pero si utilizamos Python, Ruby, PostgreSQL o cual- Clasificacin
quier otra tecnologa, debemos documentarnos previamente Aunque probablemente pudiramos hacer ms divisiones de
para ver que no tendremos problemas (es posible que aunque las que aqu os vamos a presentar, los distintos tipos de ser-
no est instalado puedan instalarla). vicios de alojamiento a la venta podramos clasificarlos como
muestro a continuacin.
Nmero mximo de procesos ejecutndose
simultneamente Cuenta en servidor compartido
Si tenemos una cuenta en un host compartido con otros usua- Sin lugar a dudas la ms popular. Ofrece un usuario con el que
rios, para evitar que el rendimiento decaiga, las empresas conectarnos a una mquina en la que hay ms usuarios con sus
vendedoras de hosting limitan en ocasiones el nmero de pro- datos y aplicaciones web. Tiene la ventaja de ser la ms bara-
cesos que podemos ejecutar simultneamente. El problema ta pero es la ms limitada de todas.
puede venir con ciertas tecnologas que crean procesos nue-
vos con nuestro usuario y pueden llegar al tope permitido. Cuenta de revendedor
Similar a la anterior pero con una particularidad importante,
Situacin y lenguaje del soporte permite crear nuevos usuarios a los que asignarles cuotas de
La situacin del servidor tambin es importante. A algunos les espacio y volumen de transferencia. Como su nombre indica
puede interesar que el servicio est en Espaa o fuera de Es- su uso principal es ser revendedores de hosting. A partir de
paa por temas fiscales. Otro muy importante es el idioma del este nivel todos los servicios pueden ser revendidos.
soporte. Aunque para muchos no sea un problema comuni-
carse en ingls, si prefers hacerlo en espaol buscad una Servidores privados virtuales
empresa hispanohablante, no tienen por qu ser espaolas, Servidor virtual funcionando sobre una mquina fsica en la que
hay muchas empresas sudamericanas que dan un servicio hay ms servidores virtuales. Se nos asignan unos recursos
excelente. de clculo, memoria y espacio en disco y actuamos remota-
mente como si tratramos con un servidor propio. Popular-
mente llamados VPS (Virtual Private Server).

Servidor dedicado

Figura 5. Logo Sitios Hispanos Figura 8. Logo Hostalia

24 LiNUX+ 5/2010
soluciones para empresas
Comparativa de servicios de hosting

Servidor fsico que lo tenemos alquilado en la empresa de HostGator (http://www.hostgator.com/)


alojamiento. Sus potencialidades son muy similares al ante- Esta compaa estadounidense es la primera que comenta-
rior pero a diferencia de ste el equipo es a efectos prcticos, mos. Actualmente tengo una cuenta en ella y personalmente
nuestro. Es la solucin ms cara. mi experiencia es satisfactoria. Como detalles positivos co-
mentaros que haba un cambio que costaba dinero que me lo
Servicios actuales hicieron gratuitamente; y el soporte responde muy rpido. El
Puesto que los precios y los servicios cambian con frecuencia, uptime, al menos para los sitios que tengo alojados, es prc-
os recomiendo que volvis a mirar el precio real de los paquetes ticamente del 100%. De hecho nunca he tenido un sitio cado
que aqu comento. Har un resumen de cada uno de los servi- las veces que he accedido. Sus planes se caracterizan por
cios que a priori creo ms interesantes, pero como este mun- ofrecer espacio y volumen de transferencia ilimitado. La mayor
do est en expansin y existe una cantidad de oferta inabar- desventaja que le he encontrado es que el soporte est en in-
cable, es posible que conozcis algn servicio mejor (incluso gls, aspecto que puede ser una limitacin para quien no do-
alguno que vosotros vendis), as que os animo a comunica- mine bien el idioma.
ros mediante la web para aportar vuestra opinin a travs del La oferta bsica en cuentas en servidor compartido, las
sistema de comentarios. que probablemente ms os interesen son a rasgos bsicos.
No comentamos ninguna oferta de hosting gratuito porque
Nombre del plan Hatchling Baby Business
adems de los datos que proporcionan, habra que valorar la
estabilidad de las mismas y otras limitaciones e imposiciones Espacio en disco Ilimitado Ilimitado Ilimitado
como la imposibilidad de poner publicidad propia o la presencia Volumen de transferencia Ilimitado Ilimitado Ilimitado
de publicidad de la empresa que nos da el servicio. Este ltimo Dominios permitidos 1 Ilimitado Ilimitado
aspecto adems vara mucho de una oferta a otra, desde un IP gratis dedicada No No S
banner con una imagen a un pop up cada vez que entramos.
SSL privado gratis No No S
Antes de continuar comentaros que los precios varan mucho
Precio (al mes) 4.95$ 7.95$ 12.95$
con el tiempo, pero si consegus una buena oferta aunque los
precios de la compaa cambien, las condiciones que habis
contratado seguirn siendo las mismas, al igual que ocurre La cotizacin euro-dlar es un factor positivo respecto a ot-
con compaas de telecomunicaciones. ras empresas que cobren en euros, al igual que ocurre con las

PUBLICIDAD

www.lpmagazine.org 25
soluciones para empresas
Comparativa de servicios de hosting

proporciona el alojamiento para Linux Hispano, a cambio de


un patrocinio, y a pesar de la carga que llega a tener la pgi-
na, no hay problemas de estabilidad.
Hablando ya de precios, comencemos como de costum-
Figura 7. Logo Arsys
bre por los planes de alojamiento en servidor compartido. En
dems empresas estadounidenses. Respecto a otro tipo de este caso hay una oferta de acceso muy bsica pero a la vez
cuentas comentaros brevemente que: muy barato que puede seros de inters si queris empezar en
este tema: 20$ al ao. Veamos qu nos ofrecen.
Cuenta de revendedor: empieza en 24.95$ al mes pero
Nombre del plan 1 2 3 4
tiene limitado el espacio (50 GB) y el volumen de transfe-
rencia mensual (500GB) Espacio en disco 2 GB 4 GB 6 GB 8 GB
Servidor privado virtual: comienza en 19.95$ al mes. Ofre- Volumen 30 GB 60 GB 90 GB 120 GB
ce 560 MHz de cmputo, 384 MB de RAM, 10 GB de es- de transferencia
pacio y 250 GB de transferencia mensual. Bases de datos MySQL Ilimitados Ilimitados Ilimitados Ilimitados
Servidor dedicado: el ms barato tiene un coste de 174$ al Precio 20$ al 4$ al 8$ al 16$ al
mes y se trata de un Intel Xeon Dual Core con 1 GB de me- ao mes mes mes
moria RAM, 250 GB de disco, 1.500GB de transferencia
mensual y 5 direcciones IP dedicadas. Los precios de los servicios para revendedores empiezan
en 20$ al mes con 12 cuentas de revendedor, 2 GB de espacio
Todas las cuentas comentadas son servidores bajo GNU/Linux. en disco y 30 GB de transferencia. El servicio ms bsico en
servidores privados virtuales cuesta 26$ al mes, con 256 MB de
Dreamhost memoria dedicada, 10 GB de espacio en disco y transferencia
(http://www.dreamhost.com/) limitada a 40 GB. Para terminar el servidor dedicado bsico Intel
Fui cliente de esta compaa har unos dos aos y la verdad Celeron 1.8 con 512MB, 40GB de espacio en disco, transferen-
es que no tuve ningn problema. Acced a ella a travs de un cia de hasta 300GB al mes. El precio mensual es 120$ al mes.
cupn de descuento de una web que frecuentaba que hizo que Todos los servicios se ofrecen bajo servidores GNU/Linux.
me saliera el alojamiento tremendamente barato ese ao (s-
lo lo tuve durante un ao y me cost 29.40$). Aunque he ledo 1 and 1 (http://www.1and1.es/)
opiniones contrarias en la red, tambin las he ledo positivas El cuarto servicio que comentamos no lo he usado personal-
y conozco personas que me han hablado muy positivamente mente, pero conozco a una persona que lo ha utilizado y su
de ellos. Antes de seguir comentaros que el soporte tambin opinin es positiva. Es otro de los grandes de este negocio en el
es en ingls. En cuanto a precios y posibilidades tienen slo mundo y como podis ver en su nombre, son extranjeros pero
disponible una posibilidad en cuentas en servidor compartido a ofrecen servicios en espaol. Ofrecen servidores con equipos
la que se le pueden sumar caractersticas, previo pago, si nos Microsoft Windows, por lo que sta ser una alternativa intere-
interesan. El espacio en disco, el volumen de transferencia, sante para quienes necesiten esta opcin. Las caractersticas
los dominios alojados y el nmero de bases de datos MySQL principales de espacio en disco, volumen de transferencia y si-
permitidas son ilimitados. El precio es muy competitivo para milares son prcticamente las mismas que en equipos Linux
las caractersticas que os acabo de comentar: 8.95$ al mes. pero con un sobrecoste de precio de entre un 20% y un 40%
No hay oferta para servicios de reventa (al menos anun- aproximadamente. Los precios y caractersticas que aqu co-
ciada claramente). La oferta de servidores privados virtuales mentaremos sern para servidores GNU/Linux.
empiezan en 15$ al mes ofreciendo 300 MB de RAM. Res-
pecto a los servidores dedicados comienza en 69$ al mes e Nombre del plan Inicial Confort Business Business
incluye: procesador AMD Opteron 2.2GHz Dual Core, 4GB de plus
memoria RAM, 250GB de disco duro, 2TB al mes de volumen Espacio en disco 1 GB 5 GB 10 GB 20 GB
de transferencia y sistema operativo a elegir entre: CentOS, Volumen de transfe- Ilimitado Ilimitado Ilimitado Ilimitado
Debian, FreeBSD, o Ubuntu. rencia
Bases de datos MySQL 1 5 20 50
Sitios Hispanos Direccin IP dedicada No No No S
(http://www.sitioshispanos.com/)
Acceso SSH No No No S
Primera compaa hispanohablante que tratamos, aunque no
espaol, sino argentina, concretamente de Rosario. Comen- Precio (al mes) 1,99 2,49 4,99 9,99
taros que soy usuario actual de ella y al igual que en otras oca-
siones, el trato que he recibido ha sido exquisito. La verdad El precio del servidor privado virtual empieza en 19,99
es que creo que todas las empresas dedicadas al alojamien- al mes y ofrece: 256 MB de RAM dedicada (1024 de RAM
to web suelen dar un buen servicio. En este caso el soporte dinmica), 10 GB de disco duro y 100 GB de transferencia. El
no es tan inmediato como pueda ser en HostGator, aunque servidor dedicado ms bsico cuesta 39,99 al mes y ofrece:
el tiempo de respuesta es bajo y sobre todo est en espaol, AMD Opteron 1216, 2 x 2,4 GHz, 2 GB RAM y 250 GB HD con
lo que compensa el otro aspecto. Es la compaa que me Raid 1 (en espejo).

26 LiNUX+ 5/2010
soluciones para empresas
Comparativa de servicios de hosting

www.lpmagazine.org 27
soluciones para empresas
Comparativa de servicios de hosting

Arsys (http://www.arsys.es/) orientadas a usuarios con necesidades especficas: ASP.NET,


Es la primera compaa espaola que comentamos. Tiene su soporte de Access o SQL Server.
sede en La Rioja, concretamente en Logroo. En los casos en Respecto a otras opciones tenemos un servidor virtual pri-
los que contratemos hosting en Espaa tendremos que pagar vado con 10 GB de disco, 128 MB de RAM y 100 GB de trans-
IVA (16% hasta que sea efectiva la subida al 18%). Los precios ferencia por 39 al mes. Los servidores dedicados arrancan
que aqu damos son sin IVA. en 99 al mes y son mquinas Intel Pentium Dual Core a 2,2
La tnica general en compaas espaolas es que son MHz con 1MB de cach, 1 GB de RAM y 160 GB de disco duro
ms caras y menos competitivas que las extranjeras aun- en espejo. La transferencia es de 1 TB.
que por lo que he visto al mirar en la red para hacer este ar-
tculo, es que cada vez ofrecen servicios ms competitivos Piensa Solutions
en precio y posibilidades. El plan ms bsico en Arsys es (http://www.piensasolutions.com/)
uno con redirecciones que no comento, porque el primero El mundo del hosting en Espaa ha evolucionado mucho lti-
que ofrece espacio web real es el siguiente. Su precio es de mamente y entre las opciones ms famosas ya encontramos
2,95 al mes y ofrece 200 MB de espacio en disco, 2 GB de muchas empresas espaolas. Piensa Solutions es una empre-
transferencia mensual pero no tiene soporte para PHP ni pa- sa espaola que tiene ya 10 aos en este campo y que hasta
ra MySQL (algo que me parece muy raro en las fechas que hace poco no conoca, pero ltimamente he odo hablar de ella
estamos). El siguiente plan s ofrece MySQL y PHP, cuesta positivamente a compaeros que la utilizan y adems tambin
4,00 y ofrece 3 GB de transferencia y 300 GB de espacio la he visto en el portal de la revista. Como dato a destacar,
en disco. aunque no sea la nica en sta est bien resaltado, hay ofer-
El VPS bsico cuesta 14,50 al mes en el caso de GNU/ tas puntuales que pueden ser muy interesantes.
Linux y 17,50 en el caso de Windows Server. Ofrece 10 GB es- Respecto a los precios deciros que el paquete bsico en
pacio en disco, 100 GB transferencia, direccin IP propia y 1 GB servidor compartido, llamado Entry, cuesta 1,95 al mes y vie-
RAM dinmica. Por su parte, el servidor dedicado ms bsico ne con 200 MB de espacio en disco y 4 GB de transferencia.
ofrece 2 GB de memoria, System x3250 (un tipo de servidor de No trae soporte de MySQL por lo que si queremos usar bases
IBM) y 1 CPU Intel Dual Core a 1,87 Ghz por 69,50 al mes. de datos deberemos comprar el siguiente, Smart. ste viene
incluido con 500 MB de espacio y 10 GB de transferencia,
Hostalia (http://www.hostalia.com/) adems de bases de datos MySQL ilimitadas.
La segunda empresa espaola que presentamos es Hostalia. Los servidores virtuales arrancan en 19,95 al mes y nos
Su sede est en Bilbao aunque su centro de datos est situa- ofrecen 5 GB de espacio en disco, 256 MB de RAM propios
do en Alcobendas. Fue fundada por Eneko Knrr, uno de los y 1 GB de RAM compartida, junto con 100 GB de transferencia.
pioneros en el mundo del desarrollo de nuevas empresas de Respecto a los servidores dedicados la oferta empieza con un
base tecnolgica en Espaa, las tan famosas start ups. IBM x306, con un procesador de un nico ncleo, Single Core
La nica empresa espaola que he utilizado tiene un nom- a 3,2 Ghz; 1 GB de RAM, 160 GB de disco duro en espejo
bre muy similar a esta empresa, Hostinet, pero no entra dentro y transferencia ilimitada por 59,95 al mes.
de este artculo porque su volumen de negocio es inferior
a las que aqu comentamos. Hablando de oferta comercial, co- Nominalia
mentaros que la oferta en hosting Linux comienza en 4,42 al (http://www.nominalia.com)
mes y en hosting Windows en 7,42 al mes. El plan bsico de Para terminar con esta pequea comparativa comentaremos
Linux incluye 200 MB de espacio en disco y 10 GB de transfe- los servicios que ofrece Nominalia. Es una empresa espao-
rencia. Todos los planes soportan PHP. Si queremos algo ms la con sede en Barcelona y con delegaciones en Inglaterra
tenemos un plan, llamado Bronze, por 9,90 al mes que s e Italia. Como detalle curioso respecto a otras es que ofrece
incluye ya base de datos MySQL y dobla las cifras del anterior, tambin soporte en cataln, adems de en espaol, ingls e ita-
400 MB en disco y 40 GB de transferencia. Hay muchos ms liano. Ofrecen una oferta muy variada y por lo que he podido com-
paquetes que aumentan prestaciones y precio gradualmente, probar no cuesta ms el paquete con Windows que con Linux.
adems de poder hacerlo mediante opciones: 10 GB ms de El primer paquete en alojamiento compartido cuesta 60 al
transferencia por tantos euros, o 100 MB ms de espacio por ao y ofrece 1 GB de espacio en disco y 100 GB de transferen-
otros tanto, que ser a priori ms caro que contratando un cia mensual. Limita el nmero de bases de datos a 1. Los ser-
plan. Las opciones en Windows estn ms limitadas y estn vidores privados virtuales comienzan en 10 al mes con Linux,
256 MB de RAM garantizados y 256 MB compartidos con el
resto de servidores virtuales. Tiene un disco duro virtual de 10
GB y 250 GB de transferencia. Para terminar comentaros que
el servidor dedicado ms barato cuesta 44 al mes y ofrece

Figura 9. Logo Piensa Solutions Figura 10. Logo Nominalia

28 LiNUX+ 5/2010
soluciones para empresas
Comparativa de servicios de hosting

En la red Sobre el autor


HostGator http://www.hostgator.com/ Francisco Javier Carazo Gil es Ingeniero Tcnico en Informtica
DreamHost http://www.dreamhost.com/ de Sistemas. Nacido en Crdoba, actualmente est estudiando
Sitios Hispanos http://www.sitioshispanos.com/ Ingeniera en Informtica adems de trabajar en el Consejo Su-
1 and 1 http://www.1and1.es/ perior de Investigaciones Cientficas. Es webmaster de Linux
Arsys http://www.arsys.es/ Hispano.net, sitio del que es uno de los fundadores, adems
Nominalia http://www.nominalia.com/ de ser el responsable de LinuxHispano-Juegos y colaborador
habitual del podcast de LinuxHispano. En esta revista es co-
AMD Athlon X2 3400+ 2x 1.8GHz con 1 GB de RAM, 80 GB laborador habitual y sus intereses son principalmente el soft-
de disco duro, 1 TB de trfico mensual y una lnea de salida de ware libre, la programacin y todo lo relacionado con GNU/
100 Mbps de velocidad. Tiene una IP dedicada. Linux. Su sitio web personal est en http://www.jcarazo.com.
Acaba de editar un libro para la editorial Ra-Ma de nombre:
Conclusiones Ubuntu Linux, instalacin y configuraciones bsica en equipos
La decisin de un servidor que se adapte a nuestras necesi- y servidores. Podis contactaar con l a travs de carazo@
dades puede ahorrarnos mucho dinero y muchos quebraderos gmail.com.
de cabeza. A travs de estas lneas espero haberos presenta-
dos las opciones con la informacin suficiente para que podis
comenzar a decidir cul ser vuestra opcin. nada contratar un paquete con espacio ilimitado si luego con 100
Desde el punto de vista de la facilidad, casi todos, por no de- MB habramos tenido suficiente.
cir todos, disponen de un CPanel grfico va web que os facilitar Para terminar comentaros que este mercado es muy com-
enormemente las gestiones que tengis que hacer en vuestra petitivo y sobre todo globalizado. Podis contratar una empre-
cuenta; as que la decisin de uno u otro la tendris que hacer sa extranjera sin problemas porque al fin y al cabo, todo se
en funcin de las caractersticas que hemos comentado. Pun- hace en lnea. Por esto los precios estn siempre movindose
tualmente podis encontrar ofertas o cupones descuento que y la tecnologa permite que los movimientos siempre sean
hagan ms suculento el precio de alguno de los paquetes aqu hacia abajo, as que posiblemente cuando vayis a contratar
comentados pero lo que tenis que tener claro es que debis vuestro servicio estos precios ya se hayan quedado por enci-
contratar un paquete para vuestras necesidades. No sirve de ma de lo que os piden.

PUBLICIDAD

www.lpmagazine.org 29
soluciones para empresas
Moderniza tu web con Joomla!

Moderniza
tu web con Joomla!
Francisco Ramn Torrado Bea
Los usuarios desconfan de los sitios que usan diseos ya trillados o muestran diseos cutres.
Esto rebaja el nivel de la marca, por eso cada vez ms empresas cuidan mucho estos detalles.
El diseo de pginas web es un negocio en auge. Sin embargo los diseadores se enfrentan
cada vez ms a un desafo creciente y es el uso ampliamente extendido de los CMS como
Joomla!

P
ara el diseador web representa una creciente y es el uso ampliamente extendido de los
es@lpmagazine.org

vuelta de tuerca, ya que su clsico diseo CMS. CMS son las siglas de Content Management
de pgina HTML con su correspondiente System, que en espaol se traduce como Sistema
CSS no ser directamente aplicable. Para Gestor de Contenidos. Los CMS hacen que la puesta
que lo sea, a partir de su diseo deber generar una en marcha de un sitio web sea mucho ms rpida
plantilla que se instalar en Joomla! y le conferir el y econmica, adems de proporcionar sitios ms robus-
aspecto exclusivo que aporte valor a la marca. En este tos y fciles de administrar. Esto se consigue gracias
artculo revisamos el proceso de convertir un diseo a la aplicacin de los principios de la ingeniera del
tradicional en una plantilla Joomla! instalable. software, como la reutilizacin de cdigo, el empleo de
buenos paradigmas de programacin y la depuracin
Introduccin de errores entre versiones del CMS. Pero para el dise-
Hoy por hoy, podemos encontrar en la web casi cual- ador web representa una vuelta de tuerca, ya que su
quier negocio, desde el bar de la esquina hasta gran- clsico diseo de pgina en HTML con su correspon-
des corporaciones. Crear una imagen de marca es diente CSS no ser directamente aplicable al CMS.
fundamental para cualquier empresa que se precie, Para que lo sea, a partir de su diseo deber generar
y uno de los escaparates ms importantes para los clien- una plantilla que se instalar en el CMS y le conferir el
tes es el sitio de la empresa en Internet. Los usuarios aspecto exclusivo que aporte valor a la marca.
desconfan de los sitios que usan diseos ya trillados Hay muchos tipos de CMS, pero los que nos in-
o muestran diseos cutres. Esto rebaja el nivel de la teresan aqu son los CMS del tipo Open Source (be-
marca, por eso cada vez ms empresas cuidan muy cause Open Source Matters, y en concreto Joomla!.
mucho estos detalles. El diseo de pginas web es un Joomla! se ha convertido en uno de los CMS ms po-
negocio en auge. pulares de nuestros das. Es un proyecto de software
El diseador web es el profesional que se centra libre que pasa por ser uno de los ms populares de su
en estos aspectos: concretamente la apariencia y la clase. Durante los Open Source CMS Awards 2009
funcionalidad del sitio. Es decir, la experiencia del Joomla obtuvo un meritorio segundo puesto en la
usuario. Como diseador web no le preocuparn ni la categora Hall of Fame. En la convocatoria de 2006
creacin de contenidos, ni su edicin, ni otros aspectos
administrativos o de desarrollo. Por ello, un diseador
web debe atesorar conocimientos sobre HTML y CSS
pero podra tener tan solo una rudimentaria experien-
cia de programacin, por lo que podra necesitar un
soporte extra cuando se las vea con JavaScript y PHP.
Por supuesto, un diseador web adems de estas ha-
bilidades tcnicas, por encima de todo debe tener una
habilidad fundamental: el buen gusto. Sin embargo los
diseadores se enfrentan cada vez ms a un desafo Figura 1. Vista del diseo que se usar como ejemplo

30 LiNUX+ 5/2010
soluciones para empresas
Moderniza tu web con Joomla!

gan la categora general de los citados premios, que detentan user1,


un enorme prestigio internacional. user2,
En este artculo explicaremos los pormenores para con- content,
vertir un clsico diseo HTML-CSS en una plantilla Joomla! left,
versin 1.5 instalable a travs del panel de administracin del right,
sitio Joomla. footer.

El diseo clsico El sangrado denota cmo las cajas se disponen unas dentro de
A continuacin expondremos el diseo clsico que utilizaremos otras (puede verificarlo tanto en la Figura 1, como en el index.
como ejemplo. Se trata de un diseo muy simplificado que cons- html). Para verbalizarlo un poco: dentro de container estn las
ta de dos archivos: el index.html con los contenidos del diseo cajas llamadas container2 y footer. Dentro de container2 estn
y su correspondiente hoja de estilos en el fichero template.css. a su vez: container3 y right. Dentro de container3 estn: top,
No se incluyen en el diseo imgenes, para simplificar el ejem- content y left. Finalmente dentro de top estn: user1 y user2.
plo. Por otro lado, las imgenes no requieren un tratamiento Recomiendo trabajar sobre los diseos con Firefox, pues
especial al convertir el diseo en una plantilla Joomla! es un navegador acorde con la filosofa Open Source que
adems cumple los estndares CSS. Por supuesto, cualquier
Somero anlisis del diseo diseo debe ser validado en mltiples navegadores, sobre
En la Imagen 1 se puede ver el aspecto del diseo, mientras todo los ms utilizados. Firefox presenta algunos plugins que
que en los Listados 1 y 2 se pueden leer el cdigo HTML y CSS podemos instalar y que nos sern de gran utilidad. Uno de
correspondientes. Se ha aadido un borde coloreado a cada mis preferidos es el FireBug. Con esta herramienta, podemos
caja del diseo y un margen de 5 pxeles (fjese en la clase analizar el esquema y estilos aplicados, no slo a nuestros
margen de la hoja de estilos del Listado 2 y su aplicacin en diseos, sino al de cualquier pgina en Internet que resulte de
el index.html del Listado 1) para facilitar la comprensin de la nuestro inters.
distribucin espacial del esquema. Si observa la Imagen 1, ve-
r una primera caja contenedora perfilada con un borde negro, Los nombres de las cajas
que contiene a todas las dems cajas. En el Listado 1 corres- Usted puede dar a las cajas el nombre que desee. Su diseo
pondiente al fichero index.html puede ver como las marcas: ser convertible en una plantilla para Joomla! 1.5 sin problema
tcnico alguno. Sin embargo se recomienda no dar a las cajas
<div id="container"> nombres arbitrarios y ceirse en la medida de lo posible a los
... nombres sugeridos por el uso y la tradicin que se ha estable-
</div> cido en Joomla!. En Joomla! se establecen los nombres de las
cajas segn la posicin y uso que ocuparn en el diseo. Gra-
encierran a todas las dems cajas. En el Listado 2 correspon- cias a esta forma de asignar los nombres de las cajas, los admi-
diente a la hoja de estilos template.css, puede leer los estilos nistradores de las pginas web saben que la caja denominada
asignados al primer contenedor. No nos vamos a detener en el content albergar los artculos principales del sitio web; que la
detalle de los estilos aplicados y asumiremos que el lector cono- caja left est situada a la izquierda de content y que normal-
ce los entresijos del CSS. De no ser as puede encontrar estu- mente albergar los mens; que la caja right est a la derecha
pendos tutoriales en lnea (por ejemplo en http://www.w3schools. de content y habitualmente se situar en una ubicacin apro-
com/css/). Este ejemplo se centrar en los aspectos del esque- piada para banners o contenidos poco relevantes, etc. Usted,
ma posicional, sin prestar atencin a los estilos de letra, etc... como diseador, querr crear diseos que los administradores
La estructura de cajas aplicada al diseo sigue el siguiente web puedan comprender fcilmente para que su utilizacin sea
esquema: ms intuitiva. Asignar a las cajas nombres y posiciones estn-
dar ser de gran ayuda.
container,
container2, El entorno de desarrollo
container3, El entorno de desarrollo suele ser una eleccin muy personal.
top, Para los diseadores, hay herramientas muy populares como
Dreamweaver y Photoshop; pero yo recomiendo las opciones

Figura 2. Paquete plantillaBasica.zip abierto con Ark Figura 3. Instalar/desinstalar extensiones con Joomla!

www.lpmagazine.org 31
soluciones para empresas
Moderniza tu web con Joomla!

Listado 1. HTML del diseo clsico para el ejemplo de referencia. Fichero: index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-


transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Diseo clsico de ejemplo</title>
<style type="text/css" media="screen">
@import url("css/template.css");
</style>
</head>
<body>
<div id="container"> <!-- container : contiene a container2 y footer-->
<div id="container2" class="margen"> <!-- container2 : contiene a container3 y right -->
<div id="container3" class="margen"> <!-- container3 : contiene a header, content y left -->
<div id="top" class="margen"> <!-- header : contiene a user1 y user2 -->
<h1>Posicin: top</h1>
<h4>www.TopazioWeb.com</h4>
<div id="user1" class="margen">
<h2>Posicin: user1</h2>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua:
</div> <!--//user1-->
<div id="user2" class="margen">
<h2>Posicin: user2</h2>
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
aperiam:
</div> <!--//user2-->
</div> <!--//header-->
<div id="content" class="margen"> <!-- content : caja para el contenido principal-->
<h2>Posicin: content</h2>
<p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum
deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident,
similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem
rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque
nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor
repellendus. </p>
</div><!-- //content -->
<div id="left" class="margen"> <!-- left : columna izquierda para mens -->
<h2>Posicin: left</h2> <p> Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed
quia consequuntur magni.</p>
</div><!--//left -->
</div><!--//container3-->
<div id="right" class="margen"> <!-- right : columna derecha para mens -->
<h3>Posicin: right</h3> Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe
eveniet ut et voluptates repudiandae sint et molestiae non recusandae.
</div><!--//right -->
<div id="limpia"> </div> <!--// asegura que la caja footer se situar al fondo de la columna mayor -->
</div><!--//container2-->
<div id="footer" class="margen"> <!-- footer : pie de la pgina -->
<h3>Posicin: footer</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, </p>
<p>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div><!--//footer-->
</div><!--//container-->
</body>
</html>

32 LiNUX+ 5/2010
soluciones para empresas
Moderniza tu web con Joomla!

Open Source como Quanta Plus y Gimp, que son las que utili- mdulos y componentes as como las hojas de estilo en cascada
zo. Los desarrolladores Joomla! suelen recomendar el entorno (css) para el sitio. Tanto el front-end como el back-end disponen
de desarrollo Eclipse, que es Open Source; junto con otras de sus respectivas plantillas. Cuando Joomla! se instala por
herramientas como SVN para el control de versiones; Phing primera vez, varias plantillas se incluyen por defecto. Podr en-
para la construccin automtica del proyecto; PHPMyAdmin contrar ms plantillas en otros sitios web. Algunas estarn dispo-
para gestionar la base de datos; phpDocumentor para tareas nibles gratis bajo diferentes licencias, y otras estarn a la venta.
de documentacin, etc. Por supuesto, todas estas herramien- Adems, hay numerosos desarrolladores disponibles, quienes
tas estn disponibles para GNU/Linux. pueden crear plantillas a su medida. Tambin podra crearse us-
A mi particularmente, me gusta el entorno de desarrollo ted su propia plantilla. Las plantillas se gestionan con el gestor
Kdevelop para el entorno de escritorio KDE. de plantillas, que est localizado en el men de Extensiones
en el rea de administracin del sitio (vea la Figura 7).
Manos a la obra
Lance su entorno de desarrollo preferido. Cree una carpeta La plantilla Joomla! bsica
para albergar el proyecto. Llmele por ejemplo plantillaBasi- La plantilla que desarrollaremos en este ejemplo es muy bsi-
ca. Dentro de esta carpeta cree otra que llamar css. Ahora ca, por lo que tan slo necesitamos una carpeta:
toca escribir: escriba el Listado1 dentro de un fichero llamado
index.html y gurdelo en /plantillaBasica. Escriba ahora el /css: contendr las hojas de estilo.
Listado2 en un fichero llamado template.css y gurdelo en
/plantillaBasica/css. Si no le apetece mucho escribir, encon- La plantilla dispondr de los siguientes archivos:
trar los listados del ejemplo en http://www.topazioweb.com/
index.php/joomla/listados listos para copiar. Ahora lance el index.php: provee la lgica para la visualizacin y posicio-
navegador Firefox y abra el fichero index.html. Tendr que ver namiento de mdulos y componentes.
en el navegador algo muy parecido a la Figura 1. template.css: la hoja de estilos, establece los aspectos de
presentacin de las plantillas incluyendo especificaciones
Estructura de la plantilla Joomla! como mrgenes, fuentes, cabeceras, bordes para imge-
Ahora que ya hemos implementado el diseo que queremos nes, formatos de listas, etc. Ir dentro de la carpeta /css.
convertir en una plantilla para Joomla!, ha llegado el momen- templateDetails.xml: contiene meta-informacin relacio-
to de introducir los aspectos esenciales de estas plantillas. nada con la plantilla y es utilizada por el instalador y el
Lo que aqu pretendemos es realizar un ejercicio prctico, gestor de plantillas de Joomla!
por lo que le recomendamos ponerse manos a la obra. Esto
significa que debera usted disponer de una instalacin de La conversin
Joomla! funcionando en su ordenador de trabajo. Puede des- Comenzamos el proceso de conversin del diseo clsico a la
cargarse la ltima versin de Joomla! del sitio web oficial plantilla Joomla!
www.joomla.org. Si tiene problemas con esta instalacin, dis-
pone de ayuda en los foros del sitio Joomla! as como abundan- Adaptar el templateDetails.xml
te documentacin. Por ejemplo en el sitio de Joomla! hay una Hemos dicho entonces que necesitamos una carpeta css con
seccin dedicada a los desarrolladores (http://docs.joomla. un archivo template.css. Estos dos elementos ya los tenemos
org/Developers). Bajo el epgrafe Setting up your worksta- y no necesitaremos tocarles. Necesitaremos un index.php que
tion for Joomla! Development encontrar una gua paso a construiremos modificando el index.html que tenemos. Lo ha-
paso. Tambin existen numerosas publicaciones, al final del remos en un apartado posterior. Tambin necesitamos un archi-
artculo recomiendo un par de libros. vo templateDetails.xml que no tenemos. Lo ms sencillo ser
Una plantilla controla el aspecto de un sitio, as como su copiar un archivo existente y modificarlo a nuestra conveniencia.
esquema. Provee el marco que ana los elementos comunes, Al no tener que escribir todo el texto nos ahorraremos errores
sintcticos. La instalacin predeterminada de Joomla! instala
por defecto varias plantillas, llamadas: Milkyway, Beez y JA_Pu-
rity. Las plantillas para el Front End del sitio se instalan bajo la
carpeta /Site_path/templates/nombre_plantilla. Donde Site_pa-
th es la ruta de su instalacin Joomla! y nombre_plantilla ser
alguna de las anteriores por ejemplo beez. Acceda a esta
carpeta (/Site_path/templates/beez) y copie en su carpeta de
trabajo (plantillaBasica) el fichero templateDetails.xml. Abra el
fichero y modifquelo como se indica...

<name> En primer lugar, estableceremos el nombre de la


plantilla. Fjese bien, porque ese nombre deber ser igual al
nombre que hemos puesto a la carpeta de trabajo, a saber
plantillaBasica. Deben coincidir maysculas y minsculas
Figura 4. Instalar mediante: Subir Archivo & instalar (ntese la B).

www.lpmagazine.org 33
soluciones para empresas
Moderniza tu web con Joomla!

<creationDate> Establezca la fecha de creacin de la para la visualizacin y posicionamiento de mdulos y compo-


plantilla. nentes. Renombre el fichero index.html que creamos antes,
<author> Escriba su nombre. y llmele index.php. Gurdelo en la raz de la carpeta de
<authorEmail> Su direccin de e-mail. trabajo. No se asuste si no es usted programador de PHP, las
<authorUrl> La direccin de su sitio web. sentencias que introduciremos sern muy simples indepen-
<copyright> Djelo en blanco dientemente de la complejidad de la plantilla. Abra el fichero
<license> Escriba GNU/GPL. Si quiere leer ms sobre index.php para su edicin y siga los siguientes pasos.
la licencia de documentacin para Joomla acceda a http://
docs.joomla.org/JEDL. Si quiere saber ms acerca de la Ejecucin en entorno Joomla!
licencia GNU/GPL, encontrar informacin til en http:// Debemos de asegurarnos que nuestro index.php se ejecuta
www.gnu.org/licenses/gpl.html. exclusivamente en el entorno Joomla!, para evitar problemas
<version> Escriba el nmero de la versin. de seguridad. Para ello aadiremos una sentencia PHP en la
<description> Descripcin de la plantilla. Por ejemplo: primera lnea de nuestro script:
mi primera plantilla.
<files> <?php defined( '_JEXEC' ) or die( 'Restricted access'
<filename> Cada lnea bajo esta etiqueta se corresponde ); ?>
con un fichero de la plantilla. Ver que la plantilla Beez,
contiene un gran nmero de ficheros. Borre todas las lneas Es una sentencia PHP, que se distingue del restante cdigo
excepto estas cinco: css/template.css, css/index.html, HTML porque est encerrada entre las marcas <?php y ?>.
index.php, index.html y templateDetails.xml. Significa que la variable de entorno Joomla! _JEXEC debe
<positions> Hemos hablado sobre este asunto en un estar establecida o de lo contrario el script terminar con el
apartado anterior. En este apartado se declaran las po- mensaje Restricted access.
siciones que tendr nuestra plantilla, para que aparezcan
en los mens de administracin en el back-end. Deje: left, Estableciendo el lenguaje configurado en Joomla!
right, user1 y user2. Borre los otros. En la siguiente lnea:

Guarde este fichero en su directorio de trabajo (plantillaBasica). <html xmlns="http://www.w3.org/1999/xhtml" xml:


En el Listado 3 dispone de un ejemplo de edicin de este fichero. lang="es" lang="es">
De nuevo, si no le apetece escribir, dispondr del Listado 3 en
http://www.topazioweb.com/index.php/joomla/listados. el lenguaje fue establecido a es (espaol). Ahora lo modifica-
remos para que la plantilla acepte el lenguaje que el adminis-
index.php trador Joomla! decida. Modifquela as:
El fichero index.php es el esqueleto del sitio web. Cada pgina
que Joomla! entrega toma cuerpo a travs de una seleccin de <html xmlns="http://www.w3.org/1999/xhtml" xml:
contenido insertada desde la base de datos. El fichero index.php lang="<?php echo $this->language; ?>" lang="<?php echo
de una plantilla contiene una mezcla de cdigo HTML que ser $this->language; ?>">
entregado al navegador tal cual es, y cdigo PHP que ser mo-
dificado previamente a su entrega al navegador. El cdigo ser Hemos cambiado es por <?php echo $this->language; ?>
familiar para cualquiera que haya diseado una pgina HTML dos veces. Esto hace que el intrprete PHP publique el con-
sencilla: hay dos secciones principales la <head> y la <body>. tenido de la propiedad language de la instancia de objeto en
En lo que difiere index.php con respecto a index.html es en el ejecucin $this.
uso de cdigo PHP para insertar informacin seleccionada des-
de la base de datos de Joomla!. Estableciendo el nombre configurado en Joomla!
Lo prximo que haremos ser crear este fichero index.php. Habamos configurado el ttulo de nuestro diseo como:
Ser el corazn de nuestra plantilla porque provee la lgica
<title>Diseo clsico de ejemplo</title>

Figura 5. Instalacin de plantilla con xito Figura 6. Vista del diseo ya instalado en Joomla!

34 LiNUX+ 5/2010
soluciones para empresas
Moderniza tu web con Joomla!

Para que la plantilla visualice el Nombre del sitio configurado Aadiendo los mdulos a sus posiciones
en Joomla!, debemos cambiar la anterior sentencia por: De la misma manera que hemos hecho para la caja content,
sustituiremos el contenido esttico por la sentencia jdoc que
<jdoc:include type="head" /> crea el contenido dinmicamente, aadiendo los mdulos co-
rrespondientes en sus posiciones.
Estamos ante una sentencia jdoc:include, que a partir de aho- Bajo top:
ra usaremos mucho. Esta sentencia es un mtodo especfico
de las plantillas Joomla! que visualiza contenido especfico de <jdoc:include type="modules" name="top" />
la pgina que se pretende visualizar. En este caso es del tipo
head, lo que significa que la sentencia suministrar la cabece- Bajo user1:
ra de la pgina, creada de manera dinmica, acorde con la con-
figuracin establecida por el administrador del sitio. As que, en <jdoc:include type="modules" name="user1" />
lugar de esas cabeceras definirse dentro del fichero index.php,
son obtenidas de la base de datos por pequeos bocados de Bajo user2:
cdigo PHP. Lo ingenioso es que ambos scripts entregarn el
mismo cdigo a los usuarios. Si usted investiga, ver que en el <jdoc:include type="modules" name="user2" />
cdigo de un sitio Joomla!, todos los <?php blah /> sern reem-
plazados por cdigo HTML regular. Bajo left:

Aadiendo los estilos <jdoc:include type="modules" name="left" />


Habamos establecido la hoja de estilos mediante:
Bajo right:
<style type="text/css" media="screen">
@import url("css/template.css"); <jdoc:include type="modules" name="right" />
</style>
Bajo footer:
Ahora lo haremos de forma distinta mediante:
<jdoc:include type="modules" name="footer" />
<link rel="stylesheet" href="<?php echo $this->baseurl
?>/templates/system/css/system.css" type="text/css" /> Hemos terminado con el archivo index.php
<link rel="stylesheet" href="<?php echo $this->baseurl
?>/templates/system/css/general.css" type="text/css" /> index.html
<link rel="stylesheet" href="<?php echo $this->baseurl; Ahora crearemos un nuevo archivo index.html muy simple.
?>/templates/<?php echo $this->template; ?>/css/ Contendr solamente el siguiente cdigo:
template.css" type="text/css" />
<html><body bgcolor="#FFFFFF"></body></html>
Como puede ver, hemos aadido tres hojas de estilo. Las dos
primeras son estilos predeterminados que establece Joomla!. y s... efectivamente, es una hoja en blanco. Incluiremos una
La ltima es la hoja de estilos creada para este ejemplo. Las copia en cada una de nuestras carpetas de la plantilla. Para
dos primeras hojas de estilo, establecen aspectos en los que nuestro ejemplo slo necesitamos dos copias, una en la raz
usted probablemente no habr reparado. Si alguno de ellos no y otra en /css. Hacemos esto por motivos de seguridad. De-
le convence, puede analizarlo con el Firebug y sobrescribirlo en pendiendo de su configuracin, el servidor web suministra el
su hoja de estilos particular, aprovechando la caracterstica de archivo index.html al navegador (si existe) o en su defecto la
la cascada de las CSS. lista de ficheros de la carpeta accedida. Para evitar la mirada
de los curiosos es mejor suministrar una pgina en blanco.
Aadiendo contenido Hemos terminado con la edicin de nuestro ejemplo. El
Busque la caja content y borre el contenido. Deje la marca resultado final para index.php est disponible en el Listado
h2, y debajo aada la sentencia jdoc correspondiente. Que- 4. De nuevo, si no quiere escribir puede copiar este listado de
dar as: http://www.topazioweb.com/index.php/joomla/listados.

<div id="content" class="margen"> <!-- content : caja


para el contenido principal-->
<h2>Posicin: content</h2>
<jdoc:include type="component" />
</div><!-- //content -->

Esta sentencia jdoc del tipo component debe aparecer una sola
vez en la plantilla. Suministra a la pgina el contenido principal. Figura 7. Acceso al gestor de plantillas

www.lpmagazine.org 35
soluciones para empresas
Moderniza tu web con Joomla!

Crear el paquete instalable Ya tenemos la plantilla preparada y lista para instalar en


A modo de resumen... tenemos en nuestro directorio de traba- Joomla! con nuestro diseo.
jo plantillaBasica, convenientemente editados, los siguientes En la Figura 2 se muestra el archivo comprimido plantilla
ficheros y carpetas: Basica.zip abierto con el programa de gestin de paquetes
Ark. En l pueden verse la lista de archivos y carpetas as
<filename>index.html</filename> como su tamao real y comprimido.
<filename>css/index.html</filename>
<filename>css/template.css</filename> Instalacin de la plantilla en Joomla!
<filename>index.php</filename> Procederemos a instalar la plantilla recin creada a partir del
<filename>templateDetails.xml</filename> fichero de plantilla empaquetado, va Panel de Administracin
de Joomla!
Ahora lo empaquetamos todo en un zip desde plantillaBasi- Acceda al back-end de su sitio (www.su-sitio.com/admini-
ca. En mi ordenador lo hago pulsando botn derecho sobre strator/).
la carpeta y eligiendo comprimir como ZIP en el men emer- Haga clic sobre: Extensiones -> Instalar/Desinstalar (Ver
gente. Figura 3).

Listado 2. Hoja de estilos aplicada al diseo. Fichero: template.css


#user1{
/* border: 1px solid coral;
--------------- listado 2 ------------------ width: 250px;
Hoja de estilos para el ejemplo float: left;
--------------- listado 2 ------------------ }
*/ #user2{
/*////////// GENERAL //////////*/ border: 1px solid coral;
body { width: 250px;
margin-top: 10px; float: right;
} }
#container { /*////////// CONTENIDO //////////*/
width: 1000px; #content {
border: 1px solid black; width: 520px;
font-size: 12px; float: right;
line-height:16px; border: 1px solid black;
} }

#container2 {
border: 1px solid blue; /*////////// BARRAS LATERALES //////////*/
} #left {
#container3 { width:200px;
width: 760px; border: 1px solid red;
float:left; float:left;
border: 1px solid red; }
}
#limpia{ #right {
clear:both; width: 200px;
} float: right;
.margen { /* Aade 5px de margen para visualizar border: 1px solid DeepPink;
mejor los bordes*/ }
margin: 5px;
} /*////////// FOOTER //////////*/
/*////////// POSICIONES ESTANDAR JOOMLA! ///////// #footer {
/*/ border: 1px solid #000033;
/*////////// CABECERAS //////////*/ height: 90px;
#top { text-align:center;
border: 1px solid GreenYellow; }
height: 210px;
}

36 LiNUX+ 5/2010
soluciones para empresas
Moderniza tu web con Joomla!

Desde aqu podr instalar sus plantillas, plugins, mdulos, crea una plantilla propia, y no quiere tener que empaquetarlo
componentes y lenguajes. Dispone de tres opciones: para instalar la plantilla, o si quiere instalar ms de una plan-
tilla a la vez.
Subir un fichero empaquetado, Nota: no intente usar FTP para instalar Componentes,
Instalar desde un directorio, Mdulos, ni plugins si es usted un principiante/novato. Estas
Instalar desde una URL. extensiones necesitan entradas en la base de datos que
debern insertarse manualmente si no se usa el instalador
Veremos aqu, cmo subir un fichero empaquetado. Selec- de paquetes.
cione la plantilla plantillaBasica.zip desde su PC con el botn
"Navegar"y haga clic sobre el botn "Subir Archivo & Instalar" Resultado final
(ver Figura 4). Si el paquete no contiene errores, se instalar En la Figura 6 puede ver la plantilla, ya instalada en Joomla!
y se mostrar un mensaje de xito como el de la Figura 5. y funcionando. Si usted ha seguido las indicaciones correc-
Si tiene problemas con esta forma de instalacin de la tamente hasta aqu, observar que en su pequeo labora-
plantilla, hay una alternativa... torio la plantillaBasica no se visualiza. Como se ha dicho,
Joomla! dispone de varias plantillas por defecto y el admi-
Instalar va FTP nistrador an puede instalar ms. Por tanto, hay que decirle
Las plantillas no empaquetadas, se pueden instalar va FTP. a Joomla! qu plantilla queremos que aplique. Es decir,
Simplemente se trata de seleccionar la carpeta de la plantilla debemos conmutar la plantilla actual a la plantilla deseada
en su PC y subirla a su servidor, usando su software de FTP (plantillaBasica).
favorito. Asegrese de que la carpeta de la plantilla se sube
al directorio: /ruta_a_joomla/templates/ donde /ruta_a_jo- Cmo conmutar entre plantillas
omla/ es la localizacin de su instalacin de Joomla! en su Para modificar la plantilla por defecto del sitio (front-end) o de
servidor. Este mtodo es principalmente usado cuando se administracin (back-end), siga los siguientes pasos:

Listado 3. Declaracin de los metadatos de la plantilla. Fichero: templateDetails.xml

<?xml version="1.0" encoding="utf-8"?>


<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-
install.dtd">
<install version="1.5" type="template">
<name>plantillaBasica</name>
<creationDate>15 Abril 2010</creationDate>
<author>Francisco Ramon Torrado Bea</author>
<authorEmail>mi@correo.es</authorEmail>
<authorUrl>http://www.topazioWeb.com</authorUrl>
<copyright></copyright>
<license>GNU/GPL</license>
<version>1.0.0</version>
<description>Plantilla Basica para Joomla 1.5</description>
<files>
<filename>index.html</filename>
<filename>css/index.html</filename>
<filename>css/template.css</filename>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
</files>
<positions>
<position>left</position>
<position>right</position>
<position>top</position>
<position>user1</position>
<position>user2</position>
</positions>
<params>
</params>
</install>

www.lpmagazine.org 37
soluciones para empresas
Moderniza tu web con Joomla!

Acceda a la pgina de administracin (back-end). Ver la pantalla del gestor de plantillas, como se muestra en
Haga clic en: Extensiones -> Gestor de plantillas (ver Fi- la Figura 8. Ntese que solamente el Super Administrador de
gura 7). Joomla! puede acceder a este gestor.

Listado 4. El corazn de la plantilla. Fichero: index.php

<?php defined('_JEXEC') or die('Restricted access'); <h2>Posicin: user2</h2>


?> <jdoc:include type="modules" name="user2"
style="xhtml" />
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 </div> <!--//user2-->
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ </div> <!--//header-->
xhtml1-transitional.dtd">
<div id="content" class="margen"> <!-- content :
<html xmlns="http://www.w3.org/1999/xhtml" xml: caja para el contenido principal-->
lang="es" lang="es"> <h2>Posicin: content</h2>
<jdoc:include type="component" />
<head> </div><!-- //content -->
<title>Diseo clsico de ejemplo</title>
<div id="left" class="margen"> <!-- left : columna
<link rel="stylesheet" href="<?php echo $this- izquierda para mens -->
>baseurl ?>/templates/system/css/system.css"
type="text/css" /> <h2>Posicin: left</h2>
<link rel="stylesheet" href="<?php echo $this- <jdoc:include type="modules" name="left"
>baseurl ?>/templates/system/css/general.css" style="xhtml" />
type="text/css" />
</div><!--//left -->
<link rel="stylesheet" href="<?php echo $this-
>baseurl; ?>/templates/<?php echo $this->template; </div><!--//container3-->
?>/css/template.css" type="text/css" />
<div id="right" class="margen"> <!-- right : columna
</head> derecha para mens -->

<body> <h3>Posicin: right</h3>


<jdoc:include type="modules" name="right"
<div id="container"> <!-- container : contiene a style="xhtml" />
container2 y footer-->
</div><!--//right -->
<div id="container2" class="margen"> <!-- container2
: contiene a container3 y right --> <div id="limpia"> </div> <!--// asegura que la caja
footer se situar al fondo de la columna mayor -->
<div id="container3" class="margen"> <!--
container3 : contiene a header, content y left --> </div><!--//container2-->

<div id="top" class="margen"> <!-- header : contiene <div id="footer" class="margen"> <!-- footer : pie
a user1 y user2 --> de la pgina -->
<h1>Posicin: top</h1>
<jdoc:include type="modules" name="top" <h3>Posicin: footer</h3>
style="xhtml" /> <jdoc:include type="modules" name="footer"
style="xhtml" />
<div id="user1" class="margen"> </div><!--//footer-->
<h2>Posicin: user1</h2>
<jdoc:include type="modules" name="user1" </div><!--//container-->
style="xhtml" />
</div> <!--//user1--> </body>
</html>
<div id="user2" class="margen">

38 LiNUX+ 5/2010
soluciones para empresas
Moderniza tu web con Joomla!

Desde aqu se gestionan las plantillas tanto para el front- Component.php: provee la lgica para la visualizacin de la
end como para el back-end. La instalacin por defecto mues- pgina para impresin, enve esto a un amigo, versin
tra las plantillas instaladas para el front-end. La plantilla por para imprimir, etc...
defecto para el front-end est marcada con una estrella; en la template.css: establece los aspectos de presentacin de
Figura 8 se trata de la plantilla rhuk_milkyway. las plantillas incluyendo especificaciones como mrge-
Para conmutar la plantilla por defecto a Beez: nes, fuentes, cabeceras, bordes para imgenes, formatos
de listas, etc...
haga clic en el botn de radio a la izquierda del nombre templateDetails.xml: mantiene meta-informacin relacio-
de la plantilla Beez para seleccionarla. nada con las plantillas y es utilizada por el instalador y el
clic en el botn default en la barra de herramientas. gestor de plantillas.
template_thumbnail.ext: reemplace .ext con un forma-
La estrella se mover de rhuk_milkyway a beez y est hecho. to de imagen (.jpg, .png, .gif). Se trata de una imagen
Para conmutar la plantilla por defecto a plantillaBasica siga en miniatura, generalmente de 200x150 pxeles que se
el mismo procedimiento. muestra cuando el cursor se sita sobre el nombre de la
plantilla en el Gestor de Plantillas. Esto da al Administra-
Asignar ms de una plantilla al front-end dor una imagen de la plantilla antes de aplicarla sobre el
Joomla! provee una opcin para usar ms de una plantilla en sitio.
el front-end. Podr hacerlo a travs del gestor de plantillas, favicon.ico: el icono que representa al sitio en las barras
asignando la plantilla correspondiente a cada men. Pique de los navegadores.
sobre Extensiones-> Gestor de plantillas.
Ver sus plantillas instaladas, ahora elija una plantilla Una plantilla tpica para Joomla! 1.5 incluye las siguientes
que no sea la "por defecto". Haga clic sobre el nombre de la carpetas:
plantilla o sobre el botn de radio a la izquierda de su nombre,
y haga clic sobre el botn "Editar" en la barra de herramientas. css: contiene los ficheros css,
Ahora ver la pgina "Plantilla: [editar]", clic sobre el botn de html: sobrescribir el resultado de la plantilla en el siste-
radio "Seleccionar desde la lista" en el bloque de "Asignacin ma Joomla! y ciertos mdulos,
de men" (Figura 9) y elija los tems del men para los que se Images: contiene las imgenes usadas por la plantilla.
mostrar esa plantilla en concreto. Haga clic sobre guardar en
la barra de herramientas y estar hecho. Todas las plantillas del sitio (las que cambian la apariencia del
sitio) pueden encontrarse en la carpeta de plantillas (templates).
Asignar los mdulos a las posiciones Por ejemplo, si su plantilla se llama "miplantilla", entonces esta-
Ahora ya puede ver su plantilla plantillaBasica recin creada, r situada en la carpeta "[ruta_a_joomla]/templates/miplantilla.
instalada en Joomla! Sin embargo, el aspecto de la pgina no Busque en su instalacin de Joomla! e investigue.
es tan bonito como el mostrado en la Figura 6. Esto es debido Todas las plantillas de administracin (las que modifican
a que hay demasiados mdulos asignados a posiciones. La la apariencia de la seccin de administracin), se encuentran
plantilla plantillaBasica tal y como est diseada no admite en la carpeta administrator/templates. Por ejemplo, si su
ms de un mdulo en las posiciones user1 o user2 porque al administrador de plantillas se denomina "miplantillaadminis-
visualizarse se solapan con el content o left. Para arreglar este tracion", entonces se situar en la carpeta "[ruta_a_joomla]/
pequeo desaguisado, acceda al gestor de mdulos en el men administrator/templates/miplantillaadministracion.
de administracin y asigne un slo mdulo user1 y user2. En el sitio del proyecto Joomla! (http://docs.joomla.org/
En la Figura 6 puede ver que en user1 he posicionado el Tutorial:Understanding_Joomla!_templates) podr encontrar
mdulo ltimas noticias y que en user2 he posicionado el ms informacin al respecto.
mdulo Popular. Las posiciones left y right s estn prepa-
radas para albergar varios mdulos. Por ejemplo en right tene- Ms sobre sentencias Jdoc
mos tres mdulos: un banner de www.topazioweb.com; otro Las sentencias <jdoc:include /> son mtodos especficos de
mdulo Quin est en lnea?; y el ltimo Encuesta. las plantillas Joomla! que ofrecen distintos contenidos, es-
pecfico para la pgina servida al navegador. Esta sentencia
Ms sobre estructura de una plantilla admite varios atributos:
La plantillaBasica que hemos creado es muy simple, al fin
y al cabo consta de tres ficheros y una carpeta. Las plantillas type
comerciales suelen tener una estructura ms compleja. Va- name
mos a dar un pequeo repaso a los tpicos componentes de style
una plantilla. id
Lo ms comn para una plantilla es disponer al menos de
los siguientes ficheros: Por ejemplo, una sentencia completa podra tener esta guisa:

index.php:provee la lgica para la visualizacin y posicio- <jdoc:include type="module" name="submenu"


namiento de mdulos y componentes. style="rounded" id="submenu-box" />

www.lpmagazine.org 39
soluciones para empresas
Moderniza tu web con Joomla!

Dispone de ms ejemplos en: http://docs.joomla.org/Jdoc_sta- <link rel="stylesheet" href="<?php echo $this->baseurl


tements. ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl;
Atributo type ?>/templates/<?php echo $this->template; ?>/css/
Hay cinco posibles tipos en la sentencia jdoc. La especificacin template.css" type="text/css" />
de tipo debe ir siempre con comillas dobles. Los tipos posibles
son: Los archivos system.css y general.css que se cargan en
la primera y segunda lnea, proporcionan estilos tiles para
Component: slo puede aparecer una vez en elemento mensajes de error, depuracin, etc.
<body> y ofrece el contenido principal de la pgina. Adems de esto, Joomla! establece unos nombres de es-
Head: slo debe aparecer una vez en el elemento <head> tilos predeterminados que se aplicarn a diferentes partes de
de la plantilla. Ofrece la cabecera de la pgina. la pgina. Por ejemplo, el estilo del ttulo para el componente
Module: ofrece los mdulos que se configuren desde la principal se define mediante la clase componentheading.
administracin de Joomla! para presentarse en la posicin Podemos sobrescribirlos en nuestro template.css para darle
name. No hay que olvidar que existen una serie de nom- a cada estilo nuestro toque particular. Quizs los estilos pre-
bres de posicin tradicionales. En el ejemplo se han utili- determinados ms importantes sean: componentheading, con-
zado algunos de ellos. Para ver una lista completa de posi- tentheading, small, createdate, buttonheading, readon, arti-
ciones y su uso, experimente con alguno de los templates cle_separator, contentpaneopen, moduletable. Cada uno tie-
que facilita Joomla! como por ejemplo Beez que es uno de ne un uso. Investigue con el Firebug o pruebe a leer el cdigo
los ms completos. Vea el fichero templateDetails.xml co- fuente de una pgina Joomla!.
rrespondiente.
Installation:slo se usa en la plantilla de instalacin Joomla! Buenas prcticas del diseo web
Sin uso para las plantillas del front-End ni back-End. La accesibilidad web se basa en ciertas tcnicas en el diseo
Message: slo debe aparecer una vez en el <body>. Of- web que posibilitan a personas con alguna discapacidad el
rece mensajes de error tiles para depuracin. No se suele acceso a la informacin contenida en la pgina. Algunos de
habilitar en las plantillas en produccin. Los estilos CSS los aspectos que afectan a la accesibilidad incluyen redi-
para los mensajes del sistema, suelen estar en templates/ mensionado, uso de javascript, imgenes y tipo de medios
system/css/system.css. usados, as como el uso de ciertas tcnicas en el diseo de
los esquemas.
Atributo style o module chrome Considere su audiencia... ellos podran no estar capa-
Combinable con el atributo module. Mediante el atributo citados para ver, or, o moverse; podran utilizar un nave-
style especificamos el estilo que aplicaremos a la salida gene- gador de texto o un navegador antiguo. Los estndares de
rada por el mdulo. En caso de no especificar ninguno se asu- accesibilidad estn diseados para hacer los sitios web
me un valor none para este atributo. Los valores a elegir para utilizables por estas personas y cada vez es ms importan-
este atributo son: none, rounded, table, horz, xhtml y outline. te que los diseadores web y desarrolladores tomen nota
Para ver una especificacin detallada de cada uno de ellos: de estos requerimientos. En algunos pases es un requisi-
http://docs.joomla.org/What_is_module_chrome%3F. to legalmente establecido, mientras que en otros se les da
Tambin es posible crear estilos module chrome propios. cierta prioridad legal.
Hoy en da existen dos estndares primordiales usados en
Ms sobre estilos predeterminados las bancos de pruebas para la Accesibilidad Web.
Como hemos dicho anteriormente los estilos que se aplica-
rn a Joomla! se declaran en el index.html por medio de las WCAG
siguientes lneas: WCAG es producido y mantenido por el World Wide Web
Consortium (W3C). Los estndares WCAG estn basados en
<link rel="stylesheet" href="<?php echo $this->baseurl tres niveles de prioridad (Prioridad 1, 2 y 3). La Prioridad 1
?>/templates/system/css/system.css" type="text/css" /> mantiene los requisitos ms bsicos que un sitio debera al-
canzar para ser accesible. Un buen lugar para empezar a ob-
tener informacin sobre WCAG puede ser el Web Content

Figura 8. Gestor de plantillas Figura 9. Asignacin de plantillas a los mens

40 LiNUX+ 5/2010
soluciones para empresas
Moderniza tu web con Joomla!

Figura 10. Pgina web de documentacin de Joomla! en la que hay mucha informacin tanto para principiantes como para usuarios avanzados

Accessibility Guidelines 1.0 que encontrar en http://www. Lecturas recomendadas


w3.org/TR/WCAG10/. Por supuesto en el sitio web de Joomla! encontrar abundante
documentacin dedicada a los diseadores (http://docs.joomla.
Section 508 org/Web_designers), en ingls.
La Section 508 es una ley federal de los EE.UU. promulgada en El libro de Dan Rahmel editado por Anaya Multimedia en
1998. En principio era para uso de las agencias gubernamen- castellano: Profesional Joomla! es una muy buena intro-
tales, pero desde entonces se ha adoptado por la comunidad duccin que toca todos los palos (diseo, desarrollo, admi-
como banco de pruebas para la accesibilidad web. Para nistracin).
ms informacin puede acceder al sitio oficial en http://www. El libro de Tessa Blakeley editado por PACKT titulado
section508.gov/index.cfm. Joomla! 1.5 Template Design (en ingls) me parece muy re-
Para asegurarse de que sus pginas pueden ser accesi- comendable. Est muy enfocado hacia los diseadores web.
bles por virtualmente cualquiera que lo desee, sus pginas
deben ser validadas contra los estndares de accesibilidad. Conclusin
La forma ms fcil de hacerlo es usando alguno de los Tras una breve introduccin sobre el diseo web, en el art-
muchos validadores de accesibilidad, suministrados por los culo se parte del anlisis de un esquemtico diseo tradicio-
grupos de soporte a la accesibilidad. Simplemente teclee nal y se muestra paso a paso cmo convertirlo en una planti-
validador de accesibilidad en su buscador preferido para lla para Joomla! 1.5. Se muestra cmo empaquetar la planti-
encontrar uno. lla en un fichero y se explica su instalacin desde el panel
de administracin de Joomla!. Adems de la prctica paso
a paso del ejemplo, se introducen nociones acerca de las
plantillas Joomla!, como la estructura de una plantilla bsi-
ca, los nombres de las posiciones tradicionales, los estilos
predeterminados, las sentencias jdoc, los estilos module
chrome, etc. Por ltimo se destaca la importancia del diseo
que respeta los estndares de accesibilidad para facilitarle la
vida a las personas discapacitadas.

Sobre el autor
Francisco Ramn Torrado Bea es ingeniero superior de tele-
comunicaciones con especialidad en telemtica. Certificado
Cisco CCNP y Mster en Gestin de Empresas de Teleco-
municaciones. Trabaj como soporte y configuracin de red de
datos en las principales operadoras espaolas.
En la actualidad es director tcnico de TopazioWeb.com.
Figura 11. Foro de Joomla!

www.lpmagazine.org 41
hardware
Paralelizacin de procesos

Paralelizacin
de procesos:
En busca del tiempo escondido
Lino Garca Morales
Los procesadores multincleos corren ms rpido a pesar de ir ms despacio. Es posible
aumentar el rendimiento de un ordenador si tiene una unidad de procesado grfica.
Cmo? En la paralelizacin de los procesos est la clave.

Qu puede hacer si necesita ms capaci- La medida de rendimiento habitual de una CPU


es@lpmagazine.org

dad de cmputo que la que le provee su es su frecuencia de reloj (en MHz). La mayora de
ordenador? En el artculo Comunicacin las CPUs son sncronas: requieren de determina-
entre procesos. En busca del eslabn per- do nmero de ciclos de reloj para correr un de-
dido, publicado en el nmero 3/2010 (63) de Linux+, terminado conjunto de instrucciones. Algunas ar-
se describen algunas estrategias. Interconectando quitecturas slo ejecutan una instruccin por ciclo
CPUs (CPU, Central Process Unit), los procesos de de reloj (como las RISC, Reduction Instruction Set
cada una pueden compartir datos con los de sus ve- Computer) y otras un nmero diferente de instruc-
cinas incrementando enormemente la capacidad de ciones por el mismo nmero de ciclos de reloj (como
procesamiento. Tiene a su disposicin, desde este
punto de vista, el ordenador ms grande que existe
en la Tierra: Internet. Herramientas como BOINC,
(Berkeley Open Infrastructure for Network Compu-
ting, http://boinc.berkeley.edu/) la infraestructura abier-
ta de Berkeley para la computacin en red lo hacen
posible.
Sin embargo, increblemente, el propio ordena-
dor puede que disponga de otras opciones. La prime-
ra: aprovechar la capacidad multincleo de su CPU,
la segunda: reutilizar la unidad de procesamiento gr-
fico (GPU, Graphics Processing Unit) y una tercera,
que presupone disponer de al menos una de las op-
ciones anteriores, la paralelizacin de los procesos,
o lo que es lo mismo, cualquier cdigo no vale, tiene
que poder desdoblarse.
El rendimiento es una medida de cunto se pue-
de hacer con lo que se tiene evaluable en trminos
de eficiencia y escalabilidad. La eficiencia es un ndi-
ce del grado de rendimiento real, comparado con el Figura 1.. La tecnologa Intel multi-core, que incorpora varios
mximo valor alcanzable mientras que la escalabili- ncleos de ejecucin en un mismo encapsulado y hace posible
dad ofrece una idea del comportamiento del sistema la ejecucin paralela de varios subprocesos de software, permite
cuando se incrementa su capacidad de cmputo que cada ncleo se ejecute a una menor frecuencia, por lo que
o nmero de procesadores pero ni todos los siste- se divide la alimentacin que normalmente se proporciona a un
mas paralelos son escalables ni la eficiencia de un solo ncleo. En consecuencia, los usuarios pueden disfrutar de
sistema paralelo crece proporcionalmente al incre- una increble experiencia con una laptop o una PC, una estacin
mento del nmero de procesadores. de trabajo o servidores

42 LiNUX+ 5/2010
hardware
Paralelizacin de procesos

las CISC, Complex Instruction Set Computer). La arquitectu- vez, el consumo de energa. Por lo tanto, comparar rendimien-
ra CISC, a diferencia de la RISC, permite operaciones comp- to en trminos de MHz o frecuencia de reloj, exige una misma
lejas entre operandos situados en la memoria o en los regis- microarquitectura, mismo tamao de memoria cach, mismo
tros internos de la CPU a la vez que dificulta el paralelismo bus (FSB, Front-Side Bus), cantidad de ncleos, etc.
entre instrucciones, por lo que, en la actualidad, la mayora de
los sistemas CISC de alto rendimiento convierten dichas ins- Reutilizacin de la GPU
trucciones complejas en varias instrucciones simples del tipo La GPU es un procesador dedicado exclusivamente al proce-
RISC llamadas generalmente microinstrucciones. Sin embar- samiento de grficos. La idea inicial de este co-procesador es
go existen otras maneras de mejorar drsticamente el rendi- aliviar la carga de trabajo del procesador central en aplicacio-
miento de una CPU subescalar, la segmentacin y el para- nes como los videojuegos y/o aplicaciones 3D interactivas. De
lelismo. La segmentacin consiste en descomponer la eje- esta manera la CPU puede dedicarse a otro tipo de clculos
cucin de cada instruccin en varias etapas para procesar (como la inteligencia artificial o los clculos mecnicos en los
una instruccin diferente en cada una de ellas y trabajar videojuegos) mientras que la GPU procesa especficamente
con varias a la vez, mientras que el paralelismo es capaz de los grficos.
ejecutar ms de una instruccin por ciclo de reloj; ya sea La GPU, como la que se muestra en la Figura 2, implemen-
a nivel de instruccin (ILP, Instruction Level Parallelism), ta ciertas operaciones grficas llamadas primitivas, optimizadas
que busca el aumento de la velocidad en la cual las instruc- y especficas para el procesamiento grfico. Por ejemplo antia-
ciones son ejecutadas dentro de un CPU, o a nivel de liasing en 3D, que suaviza los bordes de las figuras para darles
hilo, (TLP, Thread Level Parallelism), que se propone incre- un aspecto ms realista; shader, que procesa pxeles y vrtices
mentar el nmero de hilos (efectivamente programas indivi- para efectos de iluminacin, fenmenos naturales y superficies
duales) que pueden correr simultneamente en una CPU. con varias capas, entre otros; HDR, que es una tcnica novedo-
sa para representar el amplio rango de niveles de intensidad de
Arquitectura Multincleo las escenas reales (desde luz directa hasta sombras oscuras); el
Los microprocesadores multincleo, como la Intel multicore mapeado de texturas, que aade detalles en las superficies de
(http://www.intel.com/multi-core/) de la Figura 1, combinan dos los modelos, sin aumentar su complejidad; motion blur o depth
o ms CPUs independientes en un solo paquete, a menudo un blur, que es un efecto de emborronado debido a la veloci-
solo circuito integrado y, en general, exhiben una cierta forma dad de un objeto en movimiento o adquirido por la lejana de un
de paralelismo a nivel de hilo o TLP sin incluir mltiples CPUs objeto, respectivamente; lens flare, que imita los destellos pro-
en paquetes fsicos separados. Esta forma de TLP se conoce ducidos por las fuentes de luz sobre las lentes de la cmara;
a menudo como multiprocesamiento a nivel de chip (CMP, efecto Fresnel o de reflejo especular, que refleja sobre un ma-
Chip-Level Multiprocessing). La idea de estas tecnologas es terial en dependencia del ngulo entre la superficie normal y la
aumentar el rendimiento a costa de potenciar el paralelismo. direccin de observacin (a mayor ngulo, ms reflectante);
Las arquitecturas multincleos son ms rpidas, paradjica- o aquellas funciones para dibujar formas bsicas como rectn-
mente, con frecuencias de reloj menores, lo que reduce, a la gulos, tringulos, crculos y arcos.

Figura 2. La GPU es el componente principal de un acelerador grfico Figura 3. Ejemplo de explotacin de las capacidades GPGPU, a cargo de la
o tarjeta de vdeo cuya funcin es acelerar los clculos y transferencias de compaa S3, a travs de DX10 y OpenGL, a diferencia de aplicaciones de
datos en aplicaciones de vdeos y de movimientos grficos (pelculas, jue- cmputo de alto rendimiento (HPC, High-Performance Computing) escritas
gos, programas con interfaces grficas); el otro componente bsico es en lenguajes de alto nivel (C o C++) que explotan la GPU slo para el com-
la memoria (RAM, Random Access Memory) del acelerador puto y no sus primitivas grficas

www.lpmagazine.org 43
hardware
Paralelizacin de procesos

La GPU tiene una arquitectura muy distinta a una CPU. A di- MHz (el estndar hoy en da en las GPU de ms potencia),
ferencia de la CPU, que tiene arquitectura Von Neumann o los muy baja en comparacin con lo ofrecido por las CPU (3.8-4
procesadores de seal digital (DSP, Digital Signal Processor), GHz en los modelos ms potentes que no necesariamente
cuya arquitectura es de tipo Hardward, la GPU se basa en el ms eficientes), se traduce en una potencia de clculo mucho
modelo circulante; que es una arquitectura que facilita el pro- mayor.
cesamiento en paralelo, y una gran segmentacin. La programacin de la GPU ha evolucionado desde las
Una GPU, por su especificidad, no reemplaza una CPU. llamadas a servicios de interrupcin de la BIOS (Basic Input
Sin embargo la alta especializacin de las GPU, optimizadas Output System), la programacin en lenguaje ensamblador
para clculo con valores en coma flotante, predominantes en especfico a cada modelo, hasta alcanzar un nivel ms de
los grficos 3D, y el alto grado de paralelismo inherente al pro- abstraccin entre hardware y software, con el diseo de APIs
cesamiento grfico, convierten su fuerza bruta en una buena (Application Program Interface), que proporcionan un lengua-
estrategia para completar ms clculos en el mismo tiempo, je ms homogneo para los modelos disponibles en el mer-
especialmente en el mbito cientfico y de simulacin; desde cado (el primer API usado ampliamente fue el estndar abier-
la biologa computacional a la criptografa por ejemplo. Por ello to OpenGL, Open Graphics Language, tras el cual Microsoft
una GPU puede ofrecer un gran rendimiento en aplicaciones desarroll DirectX) hasta, en la actualidad, el desarrollo de un
diseadas con muchos hilos que realizan tareas independien- lenguaje de alto nivel para grficos ms natural y cercano al
tes (que es lo que hacen las GPUs al procesar grficos; su programador. Por ello, de OpenGL y DirectX surgieron
tarea natural). propuestas como: GLSL (OpenGL Shading Language) im-
Los modelos actuales de GPU suelen tener una media plementado en principio por todos los fabricantes, asociado
docena de procesadores de vrtices (que ejecutan Vertex a la biblioteca OpenGL; Cg (del ingls, "C for graphics") de
Shaders), y hasta dos o tres veces ms procesadores de frag- la empresa californiana NVIDIA, con mejores resultados
mentos o pxeles (que ejecutan Pixel Shaders o Fragment Sha- que GLSL en las pruebas de eficiencia y HLSL (High Level
ders). De este modo, una frecuencia de reloj de unos 600-800 Shading Language), producto de la colaboracin de NVIDIA

Listado 1. Llamada a las APIs OpenCL para calcular una Transformada de Fourier

// create a compute context with GPU device


context = clCreateContextFromType(CL_DEVICE_TYPE_GPU);
// create a work-queue
queue = clCreateWorkQueue(context, NULL, NULL, 0);
// allocate the buffer memory objects
memobjs[0] = clCreateBuffer(context,
CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR,
sizeof(float)*2*num_entries, srcA);
memobjs[1] = clCreateBuffer(context,
CL_MEM_READ_WRITE,
sizeof(float)*2*num_entries, NULL);
// create the compute program
program = clCreateProgramFromSource(context, 1, &fft1D_1024_kernel_src, NULL);
// build the compute program executable
clBuildProgramExecutable(program, false, NULL, NULL);
// create the compute kernel
kernel = clCreateKernel(program, fft1D_1024);
// create N-D range object with work-item dimensions
global_work_size[0] = n;
local_work_size[0] = 64;
range = clCreateNDRangeContainer(context, 0, 1,
global_work_size, local_work_size);
// set the args values
clSetKernelArg(kernel, 0, (void *)&memobjs[0], sizeof(cl_mem), NULL);
clSetKernelArg(kernel, 1, (void *)&memobjs[1], sizeof(cl_mem), NULL);
clSetKernelArg(kernel, 2, NULL, sizeof(float)*(local_work_size[0]+1)*16, NULL);
clSetKernelArg(kernel, 3, NULL, sizeof(float)*(local_work_size[0]+1)*16, NULL);
// execute kernel
clExecuteKernel(queue, kernel, NULL, range, NULL, 0, NULL);

44 LiNUX+ 5/2010
hardware
Paralelizacin de procesos

memoria. Las CPU estn diseadas para el acceso directo


(aleatorio) a memoria lo que favorece la creacin de estruc-
turas de datos complejas, con punteros a posiciones arbi-
trarias en memoria. En cambio, en una GPU, el acceso a me-
moria es mucho ms restringido. Por ejemplo, en un proce-
sador de vrtices, se favorece el modelo scatter, en el que
el programa lee en una posicin predeterminada de la me-
moria, pero escribe en una o varias posiciones arbitrarias.
En cambio, un procesador de pxeles, o fragmentos, favore-
ce el modelo gather, en el que el programa lee de varias po-
siciones arbitrarias, pero escribe slo en una posicin pre-
determinada.
La tarea del diseador de algoritmos GPGPU (General-
Purpose Computing on Graphics Processing Units) consiste
principalmente en adaptar los accesos a memoria y las estruc-
turas de datos a las caractersticas de la GPU. Generalmente,
la forma de almacenar datos es en un bfer 2D, en lugar de lo
que normalmente sera una textura. El acceso a esas estruc-
turas de datos es el equivalente a una lectura o escritura de
Figura 4. Ejemplo de flujo de procesamiento en CUDA. 1. Se copian los una posicin en la textura. Puesto que generalmente no se
datos de la memoria principal a la memoria de la GPU, 2. La CPU encarga puede leer y escribir en la misma textura, si esta operacin
el proceso a la GPU, 3. La GPU lo ejecuta en paralelo en cada ncleo y 4. es imprescindible para el desarrollo del algoritmo, ste se
Se copia el resultado de la memoria de la GPU a la memoria principal debe dividir en varias pasadas.
Cualquier algoritmo que es implementable en una CPU lo
y Microsoft, prcticamente idntico a Cg, pero con ciertas in- es tambin en una GPU, sin embargo, esas implementaciones
compatibilidades menores. no sern igual de eficientes en las dos arquitecturas. Slo los
algoritmos con un alto grado de paralelismo, sin necesidad de
Paralelizacin de los Procesos estructuras de datos complejas, y con una alta intensidad arit-
Las diferencias fundamentales entre las arquitecturas de la mtica, obtienen mayores beneficios de su implementacin en
GPU y la CPU dificultan la implementacin beneficiosa de la GPU. La Figura 3 muestra un ejemplo de explotacin de las
cualquier problema en la GPU. El primer reto es el acceso a capacidades GPGPU.

Listado 2. Cmputo GPGPL en s del listado 1

// This kernel computes FFT of length 1024. The 1024 length FFT is decomposed into
// calls to a radix 16 function, another radix 16 function and then a radix 4 function
__kernel void fft1D_1024 (__global float2 *in, __global float2 *out,
__local float *sMemx, __local float *sMemy) {
int tid = get_local_id(0);
int blockIdx = get_group_id(0) * 1024 + tid;
float2 data[16];
// starting index of data to/from global memory
in = in + blockIdx; out = out + blockIdx;
globalLoads(data, in, 64); // coalesced global reads
fftRadix16Pass(data); // in-place radix-16 pass
twiddleFactorMul(data, tid, 1024, 0);
// local shuffle using local memory
localShuffle(data, sMemx, sMemy, tid, (((tid & 15) * 65) + (tid >> 4)));
fftRadix16Pass(data); // in-place radix-16 pass
twiddleFactorMul(data, tid, 64, 4); // twiddle factor multiplication
localShuffle(data, sMemx, sMemy, tid, (((tid >> 4) * 64) + (tid & 15)));
// four radix-4 function calls
fftRadix4Pass(data); fftRadix4Pass(data + 4);
fftRadix4Pass(data + 8); fftRadix4Pass(data + 12);
// coalesced global writes
globalStores(data, out, 64);
}

www.lpmagazine.org 45
hardware
Paralelizacin de procesos

cin que aprovecha la GPU sin intervencin explcita por parte


del programador. Otra herramienta de este estilo es Sh (http://
www.libsh.org/), una extensin de para con una implementa-
cin automtica en la GPU.
La iniciativa OpenCL es un estndar de computacin abier-
to (OpenCL, Open Computing Language) que consta de una
API y de un lenguaje de programacin. Juntos permiten crear
aplicaciones con paralelismo a nivel de datos y de tareas (en un
nico o varios procesadores) que pueden ejecutarse tanto en
como CPUs (GPU, CPU, GPU + CPU o mltiples GPUs), con
recursos computacionales heterogneos. OpenCL, adems,
est diseado para trabajar con APIs grficas como OpenGL
y est basado, al igual que Brook, en ANSI C, eliminando cier-
ta funcionalidad y extendindolo con operaciones vectoriales.
Los listados 1 y 2 ilustran un ejemplo del cmputo de la Trans-
formada de Fourier utilizando OpenCL.
OpenCL define un dominio computacional N-Dimensional
donde cada elemento independiente de ejecucin en N-D es
denominado work-item. El domino N-D define el nmero total
de work-items que corren en paralelo (tamao del trabajo glo-
Figura 5. Ejemplo de trazado de rayos en CUDA (ray tracing)
bal; los work-items se pueden agrupar en work-groups). Los
El desarrollo de programas GPGPU se realiza tradicional- work-items en grupo se pueden comunicar entre s y pueden
mente en ensamblador o en los lenguajes especficos para sincronizar la ejecucin entre work-items en grupo para co-
aplicaciones grficas de la GPU como GLSL, Cg o HLSL. Sin ordinar el acceso a memoria (ejecutar mltiples work-groups
embargo existe una tendencia hacia la abstraccin de los de- en paralelo y mapeado del tamao del trabajo global para los
talles relacionados con los grficos y la presentacin de una work-groups). El modelo de ejecucin de datos en paralelo
interfaz de ms alto nivel como BrookGPU (http://graphics. (data-parallel) debe estar implementado en todos los dispo-
stanford.edu/projects/brookgpu/), desarrollada en la Universi- sitivos de cmputo OpenCL. Algunos dispositivos de cmputo
dad de Stanford, una extensin ANSI C que proporciona nue- como las CPUs pueden ejecutar kernels de cmputo de tareas
vos tipos de datos y operaciones ("stream", "kernel", "reduc- en paralelo: como un nico work-item, un kernel de cmputo
tion", etc.) automticamente convertidos a una implementa- escrito en OpenCL o una funcin C/C++ nativa.

Figura 6. Escaparate de la comunidad CUDA: Aplicaciones de GPU computing desarrolladas con la arquitectura CUDA por programadores, cientficos
e investigadores de todo el mundo

46 LiNUX+ 5/2010
hardware
Paralelizacin de procesos

CUDA (Compute Unified Device Architecture) es otra Conclusiones


iniciativa, desarrollada por NVIDIA (http://www.nvidia.es/ Sacar el mayor rendimiento al ordenador parece una obvie-
object/cuda_home_new_es.html), que intenta explotar las dad; sin embargo, los ordenadores caducan con potencia de
ventajas de las GPUs frente a las CPUs de propsito gene- sobra para lo que habitualmente se utilizan. La obsolescencia
ral utilizando el paralelismo que ofrecen sus mltiples n- la imponen grandes campaas de consumo, programas que
cleos, y permite el lanzamiento de un altsimo nmero de gastan ms recursos para hacer lo mismo, y el afn de seguir
hilos simultneos. CUDA es un conjunto de herramientas de la moda. Linux es una excepcin en este desvaro de hacer
desarrollo, entre las que se encuentra un compilador, que menos con ms. Poco a poco las instituciones y el pblico en
permiten a los programadores usar una variacin del pa- general, van tomando nota de las ventajas que tiene el uso
ra codificar algoritmos en de NVIDIA de la serie G8X en de software libre, pero an queda mucho recorrido para di-
adelante, incluyendo GeForce, Quadro y la linea Tesla. Por sear y explotar aplicaciones que expriman al mximo todos
medio de se puede usar Python, y en vez de C/C++ y en el los recursos.
futuro, quiz el presente, se sumarn otros lenguajes como Estas iniciativas que explotan la paralelizacin de proce-
y Direct3D. sos son alentadoras en este sentido. La mayora de las crti-
CUDA es una estrategia de programacin interesante. cas al uso de la GPU, pese que las ventajas de su uso para
Sin embargo, CUDA no permite recursividad, punteros a fun- ciertas aplicaciones son evidentes, estn generalmente diri-
ciones, variables estticas dentro de funciones o funciones gidas a la inconveniencia de usar un procesador para fines
con nmero de parmetros variable; no soporta el renderi- completamente diferentes a lo que se pensaba al disearlos.
zado de texturas; en precisin simple no soporta nmeros Otro argumento comn es la falta de continuidad de las arqui-
desnormalizados o NaNs; no garantiza ausencia de cuello tecturas usadas. La rpida evolucin o exagerada obsoles-
de botella entre la CPU y la GPU por los anchos de banda cencia del grfico, segn se quiera ver, hace que implemen-
de los buses y sus latencias; y obliga a lanzar los hilos, por taciones de algoritmos que funcionaban ptimamente en un
razones de eficiencia, agrupados en al menos 32, con miles modelo de GPU, dejan de hacerlo, o lo hacen sub-ptima-
de hilos en total. mente en un modelo posterior. Otra crtica es la falta de preci-
La estrategia de CUDA, como ilustra la Figura 4, es permi- sin de los registros de coma flotante de las GPU (2 o 4 para
tir la creacin de aplicaciones que, de forma transparente, es- representar un nmero real, en comparacin con los 4, 8 o ms
calen su paralelismo e incrementar as el nmero de ncleos usados en las CPUs modernas, no son suficientes para mu-
computacionales. Los tres puntos clave de este diseo son: la chas aplicaciones cientficas).
jerarqua de grupos de hilos, las memorias compartidas y las Pese a las crticas, cualquier lnea en la bsqueda de una
barreras de sincronizacin. explotacin eficiente de los recursos ocultos, de su reutili-
La estructura que se utiliza en este modelo est definida zacin y de la prolongacin de la vida til de las mquinas
por un grid, dentro del cual hay bloques de hilos formados es bienvenida. A la larga el entrecruce de estas tecnologas
por, como mximo, 512 hilos distintos. En la arquitectura CU- es beneficioso. En un futuro, quiz no muy lejano, las CPUs
DA un multiprocesador contiene ocho procesadores escala- introduzcan tecnologas propias de las GPUs o viceversa y el
res, dos unidades especiales para funciones trascendenta- paralelismo, clave para el aumento de la velocidad de las
les, una unidad multi-hilo de instrucciones y una memoria mquinas, se convierta definitivamente, por qu no, en el pa-
compartida. El multiprocesador crea y maneja los hilos sin radigma de la programacin en paralelo.
ningn tipo de sobrecarga (overhead) por la planificacin, lo
cual unido a una rpida sincronizacin por barreras y una
creacin de hilos muy ligera, consigue que se pueda utili-
zar CUDA en problemas de muy baja granularidad, incluso Sobre el autor
asignando un hilo a un elemento; por ejemplo de una ima-
Lino Garca Morales es Graduado en Ingeniera en Control Auto-
gen (un pixel). La Figura 5 muestra una imagen obtenida
mtico, Mster en Sistemas y Redes de Comunicaciones y Doc-
por trazado de rayos en CUDA.
tor por la Universidad Politcnica de Madrid. Ha sido profesor
en el Instituto Superior de Arte de La Habana, la Universidad
Pontificia Comillas y la Universidad Melndez Pelayo.
En la red Actualmente es profesor de la Escuela Superior de Arte
y Arquitectura y de la Escuela Superior Politcnica de la
BrookGPU: http://graphics.stanford.edu/ Universidad Europea de Madrid y Director del Mster Uni-
projects/brookgpu/ versitario en Acstica Arquitectnica y Medioambiental. Ar-
GPGPU: http://gpgpu.org/ tista y cientfico, lidera un grupo de investigacin transdisci-
Intel Multi-Core Technology: http://www.intel.com/multi-core/ plinar en la interseccin Arte, Ciencia y Tecnologa. Ha dis-
OpenCL: http://s08.idav.ucdavis.edu/munshi-opencl.pdf, frutado de Becas por la Agencia Espaola de Cooperacin
http://www.macworld.com/article/134858/2008/08/ Internacional, FUNDESCO, el Consejo Superior de Inves-
snowleopard_opencl.html tigaciones Cientficas (CSIC) y la Universidad Politcnica
Zona CUDA: http://www.nvidia.es/object/cuda_ de Madrid.
home_new_es.html

www.lpmagazine.org 47
linux y sociedad
Menores en redes sociales

Menores en redes
sociales: software libre
para un movimiento social
Antonio Gmez y M Dolores Nogueras
Distintas noticias de las que se han hecho eco diversos medios de comunicacin han
provocado un estado de alarma social sobre el uso por parte de nios y adolescentes
de las redes sociales. En este artculo se describe el funcionamiento de una plataforma
impulsada por profesores y padres que garantiza el libre intercambio de materiales
de formacin e informacin al respecto, basndose en licencias libres.

A
l contrario que otros artculos en los que sociedad: adolescentes y nios. Al principio anec-
es@lpmagazine.org

hemos trabajado para esta publicacin, dticamente, con noticias del tipo entra a robar en
en esta ocasin vamos a prescindir del una casa y le pillan porque se par a comprobar su
carcter tecnicista y sobrio con el que perfil en Facebook, despus se interesaron mucho
hemos tratado de imitar a compaeros de revista, en su capacidad de convocatoria (desde las convo-
que han demostrado siempre tener una base in- catorias a macrobotellones en los telediarios hasta
formtica realmente slida en la que apoyar sus las manifestaciones a favor o en contra de cualquier
aseveraciones. Dado que somos simples profeso- movimiento, suceso o declaracin de corte poltico,
res que tratamos de reflejar nuestra experiencia deportivo o social), actualmente, da la sensacin de
con Linux en la educacin, tampoco nos ha pre- que en todos los medios informativos tienen a una
ocupado nunca tratar de parecer gurs que im- persona (un becario, parecera) encargada de sumer-
presionen al populacho con sus todopoderosos girse en este apasionante mundo para recopilar no-
conocimientos sobre kernels, makefiles, Gnome, ticias o simples ancdotas con las que rellenar su
Kde, etc... Nos basta con preocuparnos de contar programacin.
la verdad sobre nuestra propia experiencia, reco- Naturalmente, en una poca tan dada al exce-
nocer nuestras limitaciones, y seguir avanzando so en televisin como la nuestra, el amarillismo no
en nuestro aprendizaje para poder utilizarlo ade- poda tardar en surgir. No hay suceso relacionado
cuadamente en enseanza. con nios o jvenes, cuanto ms escabroso mejor,
Sin embargo, en esta ocasin queremos apro- en el que no se haga notar el uso de estas herra-
vechar la oportunidad que nos brinda Linux+ de ha- mientas por parte de los implicados, independien-
blar de nuestro proyecto, al creer firmemente en el temente de que eso tenga relacin con la noticia o
software libre y el derecho que tiene todo el mundo no. Y por supuesto no faltan las fotos, colgadas por
a acceder al conocimiento que pueda permitirle me- los propios jvenes, para aderezar tan sabrosas
jorar su vida profesional y/o personal. Porque lo que informaciones.
hoy vamos a proponer a nuestros lectores es una
reflexin sobre, como dira Kennedy, no pensar so-
bre cmo puede la filosofa GNU/Linux ayudarnos,
sino cmo podemos contribuir a ayudar a esta
filosofa.
Vayamos al grano. La cuestin es que en los
ltimos meses, varios medios de comunicacin, Figura 1. Todos los materiales puestos a disposicin de padres
serios y no tan serios, han empezado a informar y educadores se distribuyen bajo licencia Creative Commons
sobre la relevancia de las redes sociales, especial- de libre distribucin, modificacin, uso no comercial y obligado
mente entre los miembros ms jvenes de nuestra reconocimiento

48 LiNUX+ 5/2010
linux y sociedad
Menores en redes sociales

En el otro miembro de la ecuacin, entran los dos colec- alumnos. Como mucho, se le ha ofertado una formacin muy
tivos responsables de estos jvenes: padres y educadores. bsica por parte de los Centros de Profesores, que se han
En ambos grupos se ha ignorado, se dira que tozudamente, visto obligados a disear estas actividades a la carrera, si
la irrupcin de estas herramientas entre nios de diez a die- bien, justo es reconocerlo, estn realizando una labor enco-
cisis aos. Han sido testigos, con actitud condescendiente, miable al respecto.
del creciente inters de hijos/alumnos hacia lo que vean co- As las cosas, hemos considerado que es absolutamente
mo juguetes, y con el convencimiento que otorga la propia imprescindible proporcionar una herramienta de apoyo que
ignorancia y desinters hacia el tema, han dormido el sueo permita la comunicacin y el libre intercambio de informacin
de los inocentes del que les ha despertado abruptamente la y material de formacin entre padres y profesores. Para ello
noticia de que el nio, amparado en la falsa seguridad del hemos creado la plataforma El guardin entre el centeno
que se asoma a la ventana al mundo que supone Internet (http://www.elguardianentreelcenteno.com). Pero antes de
desde su casa, ha podido contactar con absolutos extraos pasar a presentar nuestra propuesta, permtasenos hacer
de intenciones desconocidas, colgar en la red fotografas de una composicin de conjunto de lo que es, a nuestro juicio,
carcter personal con las que podran no estar de acuerdo, el problema.
y en resumen, situarse en una posicin de absoluta vulnera-
bilidad e indefensin del que el adulto ha sido completamen- Anlisis de la situacin actual
te ignorante hasta ahora. Si el lector ha sido tan amable de recorrer tan enjundiosa in-
Como guinda de este pastel, surge el actual plan Escuela troduccin, no cabe duda de que est interesado en nuestra
2.0 impulsado por la Administracin Educativa espaola, que propuesta. Pero antes de presentarla y justificar su plantea-
dota con un netbook a cada estudiante de quinto y sexto de miento, vamos a comentar brevemente los factores a los que
Educacin Primaria, pero que no viene acompaado de una creemos que hay que atender en este hecho.
programacin definida sobre metodologa, objetivos, ade- En primer lugar, es innegable que hay tres agentes que
cuacin de contenidos, propuestas de actividades, etc., que interactan en esta problemtica, y que no mantienen el nivel
permita al profesor adaptar estos cambios a su realidad en de comunicacin que deberan:
el aula. De este modo, lo que tena que ser (y sigue siendo)
un paso valiente y necesario en la adaptacin de nuestro El profesorado, que se ve con un tiempo decreciente para
sistema educativo a los tiempos que corren, se ha convertido impartir sus clases y una creciente relacin de obligacio-
de momento en un problema para el maestro que no sabe nes burocrticas, se considera desautorizado por la Admi-
cmo utilizar estos ordenadores de obligada entrega a los nistracin en cualquier tipo de discusin y/o conflicto con el
alumnado, y al que se le brinda una oferta formativa muy
pobre en este aspecto.
Los padres de los alumnos, hijos de una sociedad de con-
sumo que exige resultados continuamente, con obligacio-
nes laborales muy absorbentes, horarios muy estrictos
y normalmente de difcil conciliacin con la vida familiar,
a los que les supone un esfuerzo hercleo dedicar a sus
hijos la atencin que necesitan durante el tiempo necesa-
rio. Tienen tendencia a delegar sus obligaciones en educa-
cin de sus hijos sobre el sistema educativo, no tanto por
pereza o desidia como por sentirse desbordados por la
situacin. Aquellos cuyas aficiones u obligaciones labora-
les no les obligan a mantener un cierto nivel de formacin

Figura 2. Tanto imgenes como textos son de libre uso y distribucin. Esta Figura 3. La plataforma consiste en un sitio web construido con Joomla!,
imagen, por ejemplo, se ha obtenido en Wikimedia Commons versin 1.5

www.lpmagazine.org 49
linux y sociedad
Menores en redes sociales

en informtica, suelen tener muy escasas (inexistentes, a virus y troyanos a los que este sistema operativo es tan
incluso) nociones de informtica. vulnerable.
Los hijos/alumnos: por primera vez, quizs, en nues-
tra historia, nuestros hijos estn mostrando un mayor En consecuencia, las acciones a tomar deberan abarcar tres
dominio de unas tecnologas imprescindibles en la so- frentes:
ciedad en la que viven, que el que pueden mostrar los
responsables de su educacin. Adquieren en su casa Es necesario concienciar, primero, y formar, despus, a los
una posicin de superioridad sobre sus padres en este padres, responsables ltimos del bienestar de sus hijos.
aspecto, que no se sienten con demasiada autoridad En base a lo anteriormente expuesto, est claro que no
a la hora de imponer sus puntos de vista sobre la si- se puede pretender formarles tcnicamente de una ma-
tuacin. Tienen una falsa sensacin de invulnerabilidad nera exhaustiva: no hay tiempo ni oportunidad. Pero s se
derivada de estar en un entorno (el domstico), que co- les puede proporcionar una serie de normas y protocolos
nocen, y de la anonimidad con que, estn convencidos de seguridad que les permita, por lo menos, acotar posi-
de ello, (nosotros sabemos que no es as), pueden ope- bles abusos desde su propia casa.
rar en la red. S podra formarse ms tcnicamente al profesorado en
La relacin de problemas que podramos inferir de esta estos aspectos, pero desde luego, no se puede hacer a tan
situacin responderan a un esquema como el siguiente: corto plazo como exige una situacin de cuasi-emergen-
Por supuesto, se abre y extiende la brecha en la comuni- cia como la actual. Lo ms urgente, de momento, es que
cacin, tan necesaria, entre los tres grupos. comprendan el funcionamiento de alguna de las herra-
El nio ampla sus contactos a travs de estos canales, mientas y redes sociales ms populares en Internet, de
del grupo original de amigos de clase, a otros amigos, modo que puedan interiorizar los protocolos de deteccin
para acabar agregando en sus relaciones cibernticas y/o prevencin de problemas en sus alumnos que se les
a completos desconocidos, que pueden o no tener malas proponga, as como, al igual que con los padres, concien-
intenciones. ciar al colectivo sobre la necesidad de prestar atencin
El descontrol parental y del profesor de estos canales fa- a estos aspectos.
cilitan el acoso por parte de compaeros (ciber-bullying), Necesitamos enfrentar al alumnado a la realidad: la prio-
a travs de las redes sociales y la mensajera instant- ridad es concienciar al nio de que no es invulnerable, ni
nea, entre otros canales. invisible. Si es consciente de los peligros que puede correr
La sensacin de invulnerabilidad de que hablbamos, uni- en su actividad como internauta, es de esperar que ofrez-
da a la necesidad que tiene el adolescente de reforzar los ca una madurez similar a la de un adulto en parecidas
vnculos con su grupo, suele llevar al intercambio de infor- situaciones.
macin de tipo sensible, desde imgenes de los propios
adolescentes en posturas y situaciones sugestivas, en un Qu objetivos podemos marcarnos?
intento de parecer ms maduros, a la introduccin en la Como ya se ha sealado tanto en artculos anteriores como
red de datos de carcter privado (nombres, apellidos, di- en la introduccin de ste, no nos consideramos expertos
recciones, incluso telfonos!). poseedores de respuestas incontestables. Tan slo creemos
Por supuesto, est extendidsimo el libre intercambio de que nuestra experiencia en centros educativos a lo largo de
archivos, libros, msica, incluso videojuegos!, normalmen- los ltimos aos, que nos ha permitido elaborar unos materia-
te en sistemas Windows. No vamos a hacer aqu un ale- les de base en torno al tema que nos preocupa, pueden ser un
gato a favor o en contra de la situacin, pero no podemos buen punto de partida. Est claro que la documentacin que
ignorar que existe. Lo que s es cierto es que este siste- se pone a disposicin del usuario de nuestra plataforma tiene
ma ha aumentado exponencialmente la puerta de entrada an muchas fallas y lagunas, pero creemos, honradamente,

Figura 4. Desde el back-end de Joomla!, podemos variar los permisos de Figura 5. Los creadores de este proyecto opinamos que un foro puede
cada usuario registrado para otorgarle ms o menos capacidad de participa- proporcionar una gran interactividad entre usuarios de la plataforma que
cin en la plataforma necesiten o dispongan de informacin

50 LiNUX+ 5/2010
linux y sociedad
Menores en redes sociales

que puede ser til como comienzo. Por eso ofrecemos a todos a textos, cuando su objetivo original era el software libre. Y es
los usuarios, padres y educadores, la oportunidad de colabo- cierto que una adaptacin de esta licencia (la GFDL, GNU Free
rar con nosotros en una tarea magna e impresionante, pero Documentation License) contempla su aplicacin a fuentes de
tambin tan satisfactoria como es la de ayudar a hacer de la documentacin como la que nos ocupa. Pero la organizacin
red un sitio un poco ms seguro para nios y jvenes. de Creative Commons nos ha parecido ms sencilla de apli-
En consecuencia, creemos que sin dejar de ser realistas, car, y sobre todo, ms popular. Es muy posible (y lo compren-
podemos imponernos las siguientes metas como alcanzables deramos) que ms de un lector se eche las manos a la cabe-
en los prximos meses: za, escandalizado ante nuestras afirmaciones. Pero lo cierto
es que, hoy en da, y en nuestro entorno, hemos juzgado que
Elaborar una serie de protocolos de reconocimiento de est mucho ms extendida esta ltima, y resultar ms fami-
situaciones de riesgo en adolescentes fcilmente aplica- liar a potenciales colaboradores, as que podremos distribuir
bles por padres y educadores. mucho ms fcilmente nuestra propia documentacin y animar
Investigar y proporcionar una visin clara del marco legal a otros profesores a que contribuyan con sus propios materia-
actual en Espaa en que pueden darse distintas situacio- les acogindose a esta licencia.
nes de riesgo; posibles sanciones, mtodos de actuacin
policial y judicial, etc... Por qu el nombre El guardin entre el
Elaborar una serie de protocolos de actuacin ante situa- centeno?
ciones de agresin a menores en el marco de las TIC (ci- Muchas veces me imagino que hay un montn de nios ju-
berbullying, grooming, acoso sexual, robo de contraseas gando en un campo de centeno. Miles de nios. Y estn solos,
en redes sociales, etc.) que puedan ofrecerse como punto quiero decir que no hay nadie mayor vigilndolos. Slo yo.
de partida a familias en las que se hayan dado tales pro- Estoy al borde de un precipicio y mi trabajo consiste en evitar
blemas. que los nios caigan a l. En cuanto empiezan a correr sin
Generacin de estadsticas, a base de encuestas online, mirar adonde van, yo salgo de donde est y los cojo. Eso es
con la colaboracin de los centros que quieran implicarse, lo que me gustara hacer todo el tiempo. Vigilarlos. Yo sera el
sobre el grado de utilizacin por parte de nuestros alum- guardin entre el centeno. Te parecer una tontera, pero es
nos de cada tipo de herramienta, problemas que hayan lo nico que de verdad me gustara hacer. S que es una lo-
podido encontrarse, popularidad de cada tipo de red so- cura.
cial por edades y cursos en primaria y secundaria, etc... Holden Caulfield, en "El guardin entre el centeno",
de J. D. Salinger.
Qu tipo de licencia se atribuira Cuando este proyecto empez a materializarse, esta frase,
a los documentos generados? que han ledo tantos adolescentes espaoles como tarea en
La licencia con la que estamos trabajando en estos momentos la materia de Literatura, pareca condensar todos los propsi-
sera la CREATIVE COMMONS 3.0, con las atribuciones de tos que nos fijamos alcanzar. Por que esos somos nosotros.
libre distribucin, modificacin, uso no comercial y obligado O eso queremos ser. Guardianes entre el centeno.
reconocimiento, esto es, dicha documentacin podr ser libre- Porque cualquier educador debe tener clara la siguiente
mente distribuida y modificada (aadiendo ms informacin afirmacin: la prohibicin nunca es una solucin. Queremos
til, se entiende), por cualquiera, que estar obligado a reco- informar a los padres sobre el peligro de un uso incontrolado
nocer la autora original y no tendr permitido el uso comercial de la red de redes por parte de sus hijos, pero sin ignorar que
de la obra. Internet y la informtica suponen una herramienta de uso obli-
Por qu recurrir a este tipo de licencia en lugar de la gado en la evolucin formativa y personal de los jvenes; ade-
original GPL de GNU/LINUX? Bueno, en un principio, nos ms, recurriendo a manidos tpicos, no se pueden poner puer-
ha parecido que era ms difcil la aplicacin de esta licencia tas al campo. Si el adolescente desea consultar o actualizar

Figura 6. El mdulo de entrada de usuario de Community Builder sustituir Figura 7. A medida que aadimos nuevas funcionalidades a Community
al original de Joomla!. El perfil de usuario que ofrece resulta ms atractivo e Builder, podemos configurar los campos que encontrar cada tipo de usuario
interactivo que el original desde la seccin de Componentes de nuestro Back-End

www.lpmagazine.org 51
linux y sociedad
Menores en redes sociales

su perfil en cualquier red social, no importa si se lo hemos do, con permisos decrecientes de acceso, creacin, edicin
prohibido en casa: podr recurrir a amigos, cibercafs, incluso y publicacin de artculos. A su vez, los contenidos se agru-
el mvil, o, por qu no decirlo, un descuido del profesor en el parn por secciones, que a su vez pueden contener varias
aula de informtica en el propio centro educativo. categoras.
Por lo tanto, queremos apostar por el libre uso de estas, Esta estructura jerrquica nos permitir, en la gestin de
como otras herramientas de comunicacin social, que no slo nuestro movimiento, ir cediendo permisos en orden creciente
pueden rellenar datos de ocio, sino que tienen su propio poten- a aquellos usuarios que quieran colaborar. Un Usuario Re-
cial pedaggico y educativo. No en vano incluso el profesora- gistrado tendr acceso a la descarga de todos los materiales,
do accede a estos tipos de redes, existiendo incluso ejemplos mientras que un Usuario Invitado slo podr acceder a los
como NING o EDUCAGUIA. Por el contrario, apostamos por documentos ms bsicos. Cuando un usuario es acreditado
permitir un uso libre, si bien consciente e informado, de todos por la administracin como Publicador o Autor, puede escri-
estos elementos, por parte de nuestros jvenes, y siempre bir sus propios artculos y publicarlos de manera directa en
con conocimiento por parte de sus padres. aquellas secciones/categoras preparadas al efecto (de los
permisos otorgados por el administrador a ambas clases
Joomla!: uso de software libre para constituir depender que puedan escribir artculos en una o en varias
nuestra plataforma categoras, as como la posibilidad de que puedan publicar
Hasta aqu, la parte terica-filosfica-pedaggica de nuestro directamente o dependan de la sancin previa de la admi-
artculo. Puede el lector estar a favor o en contra de una, va- nistracin).
rias o todas las ideas que hemos consignado en estas lneas.
Si ha llegado hasta aqu, entendemos que est dispuesto, Nuestros foros basados en FireBoard
cuando menos, a considerar algunas de ellas. Y es por esa FireBoard, disponible en www.bestofjoomla.com, es una solu-
razn que ofrecemos nuestra propia propuesta, basada en cin de foros que se integra de manera directa con Joomla!,
una apuesta personal, y fijada desde los principios del soft- sin necesidad de soluciones tipo bridge. Los usuarios regis-
ware libre. trados en Joomla! son tratados como tales en FireBoard de
Nuestra plataforma, www.elguardianentreelcenteno.com, manera directa.
est basada en el popular CMS (Content Management Sys- Otra solucin libre para unos foros como los que quere-
tem) Joomla!, en su versin 1.5. Como sabrn los usuarios ms mos crear es PHPBB, que ya va por su versin 3, y debemos
avezados, Joomla! se caracteriza por su utilizacin de una reconocer que tiene algunas caractersticas mucho ms
base de datos basada en el lenguaje MySQL, de libre uso por potentes que nuestro FireBoard. Sin embargo, la integracin
parte de cualquier interesado, que se est enriqueciendo con- de usuarios registrados con nuestro sitio web, si bien es
stantemente con la posibilidad de aadir nuevos mdulos, plug- perfectamente realizable mediante programas puentes (brid-
ins, extensiones y plantillas. Algunos pueden ser de uso co- ges), disponibles en la web, nos hizo pensar en el peligro de
mercial, otros son libres. perder nuestro sistema de organizacin de usuarios de cara
No es objeto de este artculo extendernos a las especifi- a futuras actualizaciones y reorganizaciones de contenidos
caciones tcnicas y de instalacin de este tipo de sitios web y herramientas dentro de la plataforma.
prediseados. Bstenos, para comprender su utilidad para Por razones parecidas hemos declinado utilizar la versin
nuestros objetivos, explicar que hay un superusuario (admi- actual de FireBoard, que es Kunena, tambin disponible en la
nistrador) con todos los permisos posibles de lectura, escritu- direccin anteriormente mencionada. Nos decidimos por nues-
ra e instalacin, en lo alto de la pirmide, seguido de los gru- tra versin porque contbamos con una traduccin al espaol
pos de usuario Publicador, Autor, Editor, Registrado e Invita- muy estable, ya hemos trabajado en anteriores proyectos con
ella y desconocamos Kunena, si bien las opiniones vertidas
por otros usuarios aconsejan el cambio, que podramos con-

Figura 8. Adaptando el componente de Contactos que por defecto viene


instalado con Joomla!, podemos facilitar un canal de comunicacin con
usuarios en apuros que desean mantener su anonimato pero necesitan Figura 9. Una wiki supone un modo muy popular y accesible al usuario no
asesoramiento. Naturalmente, nombre y apellidos no son necesarios para avezado de buscar informacin sobre un campo con el que normalmente no
que recibamos tu mensaje est familiarizado

52 LiNUX+ 5/2010
linux y sociedad
Menores en redes sociales

siderar en prximos meses, cuando contemos con algo ms


de estabilidad.
Una particularidad particularmente atractiva de FireBoard
nos result su idea del Karma, segn la cual los usuarios
pueden votar positiva o negativamente las intervenciones de
otros internautas, acumulando buen o mal karma, asociado
a lo adecuado de sus aportaciones a la comunidad.

Community Builder: queremos dar una


sensacin de comunidad
Community Builder se vende como una solucin completa
en su web, www.joomlapolis.com, pero siguiendo el modelo
de negocio de muchas otras empresas, han ido liberando
versiones anteriores suficientemente estables como para que
su uso de forma libre por cualquier webmaster d muchsimas
Figura 10. Mediante nuestro sistema de encuestas (pblicas de libre
satisfacciones.
acceso, por un lado; cerradas para alumnos de centros educativos, por otro)
Bsicamente, Community Builder se descarga como un con-
intentamos hacernos una composicin de lugar en base a informacin de
junto de mdulos y plugins para instalar en conjunto con la
primera mano
aplicacin. Una vez seguidas las instrucciones de instalacin,
bastante sencillas (basta con ir descomprimir, y a continua- trado, si bien es un requisito para poder alterar los contenidos.
cin, ir instalando mdulos y plugins en el orden que se nos Su utilidad estriba en la facilidad de consulta para el internauta
sugiere), nos encontraremos, en el back-end, con un nuevo no avezado (lase padre/profesor inexperto) a la hora de con-
componente, configurable hasta decir basta. Se nos permite seguir informacin sobre un concepto en particular (phising,
configurar usuarios, pestaas a editar (blogs, participacin en ciberbullying...), as como para modificarla cuando se produz-
foros, etc.), lenguajes de uso, plugins... can cambios o porque se hayan detectado inconsistencias
Adems, esta extensin se est enriqueciendo continua- o errores en dicha informacin.
mente con nuevos mdulos y plugins que permiten nuevas La filosofa de cualquier wiki, al igual que la de todos los
funcionalidades. Concretamente, en El guardin entre el otros medios que se ponen a disposicin del usuario, se basa
centeno, el usuario registrado se encuentra con la posibilidad en el libre intercambio de informacin y el derecho universal
de actualizar su perfil con la informacin personal que desee a un saber que no debera ser capital o propiedad de ningn
consignar, una imagen como avatar, gestionar sus conexiones particular. Por ello, tambin se informa tanto a colaboradores
con otros usuarios, y llevar una estadstica de sus participacio- como investigadores de la necesidad de la originalidad de los
nes en distintas secciones de la plataforma (artculos envia- contenidos que se introduzcan, o cuando menos de la condi-
dos, apertura de temas y respuestas en los foros, etc.). cin de dichos contenidos como libres, en base a la licencia
Actualmente, estamos trabajando en la instalacin de Creative Commons 3.0.
una serie de plugins que permitan el contacto directo entre Los colaboradores que, esperamos aparezcan, al menos
usuarios en tiempo real, al estilo de un servicio de mensajera a medio plazo, sern tambin imbudos con los permisos ne-
instantnea. De momento, ya pueden intercambiar e-mails cesarios para trabajar como moderadores/administradores de
y mensajes privados. la wiki.

Wiki con el motor MediaWiki Tengo un problema, y no s


Como dicen en su propia pgina web, www.mediawiki.org, Media- a quin recurrir
Wiki es un software libre escrito originalmente para la Wikipe- Utilizando una de las herramientas ms comunes de Joomla!,
dia. Al igual que Joomla!, est escrito en PHP y se apoya en podemos implementar nuestra propia lnea roja. Los foros son
una base de datos MySQL, ms fcilmente gestionable (es as de gran utilidad para el libre intercambio de informacin entre
normalmente) por alguna utilidad de tipo interfaz web como padres y profesores, pero hay que contar con dos problemas:
PHPMYADMIN.
Nuestra wiki puede ser consultada por cualquier usuario Una respuesta a nuestro mensaje en particular no tiene
de la plataforma, independientemente de que est o no regis- por qu producirse inmediatamente. Si nos encontramos

PUBLICIDAD

www.lpmagazine.org 53
linux y sociedad
Menores en redes sociales

ante una emergencia que exige una rpida respuesta,


nos encontraramos en un apuro. En la red
Cuando el que est buscando ayuda es un adolescente
que considera que se ha metido en un lo, una de sus Plataforma El guardin entre el centeno
prioridades (y por lo tanto, un punto dbil explotable por http://www.elguardianentreelcenteno.com
el agresor), es su necesidad de que no se conozca su Creative Commons Espaa
problema en su entorno familiar. http://es.creativecommons.org/
Centro de profesores de Puertollano
Por ello, es muy sencillo (tanto como adaptar adecuadamente http://edu.jccm.es/cpr/puertollano/joomla/
el componente de Contactos) crear un formulario en el que Contra el grooming
slo se pide un correo electrnico para poder enviar la res- http://www.internet-grooming.net/
puesta, as como una descripcin del problema, para que uno Escuelas de padres
de nosotros (los fundadores de la plataforma o los colaborado- http://www.educapadres.com/
res registrados que se muestren dignos de confianza en ese
aspecto) reciba dicho correo y pueda ofrecer asesoramiento lescentes nos pueden dar. En consonancia con lo expuesto,
directo por e-mail. ofrecemos, por un lado y de manera libre, una encuesta de
tipo general que cualquier visitante de la web quiera rellenar,
Sistema de encuestas: obteniendo para irnos haciendo una idea de la imagen que los adultos
informacin de primera mano tienen de las TIC, y su nivel de cercana a ellas, pero sobre
Joomla! posee un componente de encuestas de serie muy todo, ofrecemos a aquellos educadores que quieran colabo-
simple, pero til. Sin embargo, hemos optado por poten- rar con nosotros, la posibilidad de abrir una encuesta dirigida
ciar este aspecto con el componente PollXT, disponible en a los jvenes sobre su grado de utilizacin de estas herra-
www.joomlaxt.com. mientas, conciencia sobre posibles peligros, posibilidad de
Siguiendo el modelo de negocio de otras empresas, que se hayan sentido agredidos en la red, y otros aspectos
en joomlaxt apuestan por liberar algunos de sus productos sobre los que slo podemos saber, como adultos, lo que
ms populares, al menos en su versin ms bsica (sobra- ellos quieran contarnos. Para ello, el profesor (preferente-
damente adecuada para nuestros fines), colaborando as mente registrado en la plataforma), se pondra en contacto
con su comunidad, al tiempo que ofrecen comercialmente con la administracin de la plataforma (a travs de nuestra
versiones superiores o con ms funcionalidades, as como seccin de Contactos), indicndonos las fechas en las que
otros productos paralelos dirigidos a empresas. podra llevar a su grupo (o grupos) de alumnos al aula de
En El guardin entre el centeno, creemos que es muy informtica de su centro, a fin de que los nios abrieran las
importante poder hacernos una composicin de conjunto en encuestas que abriramos durante esos plazos, protegidas
base a la informacin directa que los propios nios y ado- por una contrasea que se enviara a la direccin de correo
electrnico de dicho profesor.

Conclusiones
Sobre los autores A lo largo de este artculo, los autores hemos dudado much-
simas veces sobre cmo plantear cada una de estas ideas
Antonio Gmez Garca es Ingeniero Tcnico Industrial de
para llegar al respetado lector. Somos muy conscientes de
Formacin, y va ya para diez aos que dedica su actividad pro-
lo pobres que pueden resultar a veces las especificaciones
fesional a la Educacin Secundaria y Bachillerato en institutos.
tcnicas que realizamos, as como lo forzadas que pueden
Profesor de Tecnologas y de Tecnologas de la Informacin,
resultar a veces algunas justificaciones, debido muchas ve-
ha trabajado como asesor TIC en el Centro de Profesores de
ces a unos conocimientos del software libre, si no pobres,
Puertollano, y dedica gran parte de su tiempo al software libre
s bastante limitados an. Somos profesores y formadores
y su introduccin en el sistema educativo. Desde esa filosofa,
(tambin padres), y como tales, s que estamos seguros so-
ha colaborado ya en varias actividades de formacin de padres,
bre el peligro a que a veces se enfrentan nuestros alumnos
profesores y alumnos sobre seguridad en Internet. En la actuali-
en la red de redes, ante una pasividad de los adultos no
dad, es Responsable de Medios Informticos en el IES Eduardo
voluntaria, sino ignorante. Creemos en la formacin y en el
Valencia, de Calzada de Calatrava (Ciudad Real).
respeto a la libertad de eleccin del nio, pero siempre guia-
Mara Dolores Nogueras Atance, licenciada en Ciencias
do por sus tutores, que necesitan un conocimiento adecua-
Qumicas, es tambin profesora de Tecnologas, despus de
do del entorno en el que nos estamos moviendo. Por eso,
pasar algunos aos como profesora de Formacin Profesional
sabemos que al menos s podemos poner, por nuestra par-
en Laboratorio. Su irrupcin en el mundo informtico fue algo
te, la voluntad de trabajo y el esfuerzo de colaborar y llamar
ms tardo, y debido sobre todo a la estrecha relacin de dicho
a quien pueda aportar sus conocimientos, su tiempo de tra-
mundo con la materia que actualmente imparte. Sin embargo,
bajo, o cualquier elemento que pueda resultar til. Eso ha-
ha sabido retomar el ritmo y pone a prueba y se esfuerza por
cemos, lo mejor que sabemos, y en eso queremos seguir
aprender toda nueva herramienta informtica que caiga en sus
trabajando. La pregunta ahora, es...
manos y que pueda tener algo que ver con la educacin.
Nos vas a ayudar?

54 LiNUX+ 5/2010
proyectos open source
Open Source Observatory and Repository

Plataforma OSOR:
SAN de alta disponibilidad con Linux
Francisco Olcina Grande
Hace algo ms de dos aos, comenz el proyecto OSOR[1] (Open Source Observatory and
Repository), una plataforma para el intercambio de informacin, experiencias, y software
libre, para su uso en las administraciones pblicas de la comunidad europea. El grupo de
investigacin GSyC/Libresoft [2] de la Universidad Rey Juan Carlos, fue el encargado de dar
vida a este proyecto, instalando una plataforma basada ntegramente en software libre. En
este artculo se dar una visin general de la arquitectura implantada para luego centrarse en
el mdulo de almacenamiento (SAN).

A
l ser OSOR un portal de informacin, re- los dos nodos de almacenamiento y los dos nodos
es@lpmagazine.org

quiere de una arquitectura estable para XEN; el enlace DRBD, que permite sincronizar los
dar servicios web. Dado el presupuesto datos entre los dos nodos de almacenamiento; la
con el que se contaba y la necesidad red SAN, utilizada para que los servidores XEN ten-
de tener una disponibilidad del 99,9%, hubo que gan acceso a un servicio de disco compartido; y por
disear una plataforma modular que evitase pun- ltimo, la red "frontend", que comunicar los servi-
tos nicos de fallo. En el nivel ms bajo se encon- cios web con Internet.
trara el almacenamiento de datos y en el ms alto En la Figura 2 aparece el esquema del mdulo
los servicios ofrecidos hacia Internet. Cada nivel de servidores XEN. Se puede observar cmo los
tena que ser transparente respecto al anterior dos servidores se reparten la ejecucin de todas
y adems tolerante a fallos, manteniendo la alta las mquinas virtuales, balanceando la carga que
disponibilidad. producen. Adems tienen un sistema de alta dispo-
En febrero de 2008 se present el documento nibilidad, en el cual, si uno de los nodos se cae, el
oficial que contena el diseo a implementar para ser otro ejecuta las mquinas virtuales del nodo cado.
aceptado por la comisin. Una vez que se acept, Por otro lado, el mdulo de almacenamiento SAN
se pudo comprar el hardware para comenzar la ins- que utilizan los dos servidores XEN, aparece en la
talacin. parte de abajo de la Figura 2 representado como un
El diseo ya especificaba las tecnologas a uti- solo disco, pero en realidad se trata de las dos
lizar en su implantacin: drbd, heartbeat, iSCSI, m- mquinas que aparecen en la parte de abajo de la
quinas virtuales mediante XEN,... Figura 1 (Disk servers). ste es el mdulo que se
En la Figura 1 se pueden observar los distintos explicar en detalle a continuacin.
mdulos en que se dividi la plataforma. En la parte
de abajo aparecen los dos nodos que se encarga- Mdulo de almacenamiento
rn del almacenamiento (Disk server1 y Disk Ser- El nivel bsico de cualquier infraestructura es el
ver 2), ms arriba aparecen los nodos que ejecu- de almacenamiento de datos. Hay distintos para-
tarn las mquinas virtuales. Alrededor del ncleo digmas para su implementacin, pero los ms fre-
principal (los 4 nodos mencionados anteriormente), cuentes son una NAS (Network Attached Storage),
se encuentra el nodo encargado de monitorear todo o una SAN (Storage Area Network). La diferencia
el sistema junto al de realizar los backups. Por lti- entre ellos es que una solucin NAS ofrece por la
mo, dos firewalls se encargarn de filtrar el trfico red un sistema de ficheros remoto, mientras que una
entre la plataforma e Internet. Respecto a las redes SAN ofrece un dispositivo de bloques remoto.
que comunican el sistema, se encuentran las sig- Existen en el mercado soluciones hardware de
uientes: la red de monitoreo, que conecta todas las SAN que implementan iSCSI o Fibre Channel, pero el
mquinas para realizar su gestin y administracin; presupuesto disponible no alcanzaba para las mis-
las 2 redes de alta disponibilidad existentes entre mas, y se pens que el balance de rendimiento/pre-

www.lpmagazine.org 55
proyectos open source
Open Source Observatory and Repository

cio que una solucin software proporcionara, sera perfecto En OSOR se cre un solo grupo de volmenes, del cual se
para el escenario de OSOR. obtuvieron varios LVM. Dado que en los nodos XEN se utili-
Dos servidores de la marca Supermicro con una configura- zaran mquinas virtuales, se cre un LVM para cada una de
cin hardware enfocada a un uso intensivo de discos, sirvieron ellas (donde se alojara el directorio raz), y otros LVM para
como base para convertirse en una solucin SAN tolerante otros servicios y espacios de utilizacin de disco.
a fallos y de alta disponibilidad, gracias a una eficiente implan- Una vez que en ambos nodos se han terminado de crear
tacin de herramientas libres. los LVM, queda dar el paso a la replicacin, donde comienzan
En la Figura 3 aparece el esquema completo por capas a tener en adelante el rol de maestro o esclavo.
de las tecnologas utilizadas en los dos nodos. Bsicamente Para la replicacin se cont con DRBD [3], que es una tec-
tienen una serie de Volmenes lgicos (en adelante LVM) sin- nologa que permite la replicacin automtica de datos entre
cronizados entre ambos para ser exportados hacia los nodos dos o tres nodos a travs de la red. Es una especie de RAID 1
XEN. Para ello, uno de los nodos es marcado como maestro (mirroring) por red. En este caso, se tienen dos nodos, y varios
y el otro como esclavo, siendo el maestro el que exporta los volmenes lgicos a replicar. La idea era que los dos nodos
datos y el esclavo el que permanece a la espera sincronizn- tuviesen la misma informacin almacenada en todo momento,
dose. Si el maestro se cae, o indica que quiere apagarse, el sin perder la sincronicidad. Se ajust DRBD para que todos los
nodo esclavo toma el relevo realizando las mismas funciones volmenes lgicos estuviesen replicados en los dos nodos.
que el maestro, hasta que ste le indique que vuele a estar El paso de definir quien es maestro y quien es esclavo se
operativo. Como en todo momento los dos nodos tienen exac- deja como tarea de HeartBeat, que se ver ms adelante.
tamente la misma informacin a exportar, el esclavo puede Para exportar los bloques de disco a los nodos de proce-
tomar las riendas en cualquier instante sin prdida de datos. samiento se utiliz iSCSI [4].Se trata de un estndar que per-
mite utilizar el protocolo SCSI sobre una red TCP/IP, es decir,
Replicacin de volmenes lgicos se consigue transportar bloques de datos de una mquina
El primer paso en la instalacin de las mquinas fue crear a otra a travs de la red, como si se tratase de un disco duro
RAID por hardware utilizando todos los discos existentes. Con remoto. No hay que confundir con otros protocolos de trans-
cada uno de estos raid por hardware obtenidos en el particio- ferencia de datos por la red, como puede ser NFS o SAMBA.
namiento inicial, se obtuvo un disco lgico, los que se agrupa- Como se ha comentado antes, una SAN comparte bloques
ron juntos para crear un grupo de volmenes. Recordad que de disco por red, utilizando iSCSI por ejemplo, mientras que
el paso para crear LVMs es el siguiente: una NAS permite la comparticin de un sistema de ficheros
completo.
primero se marca un dispositivo de bloques para su uso Los nodos xen utilizarn tambin iSCSI pero como clien-
como volumen fsico de datos, que es lo que maneja el ges- tes. Estos nodos ejecutarn un iniciador (initiator), que per-
tor de LVMs. Este marcado se hace con el comando pvcreate, mitir ver los discos (targets) iSCSI exportados desde la
despus se crea un grupo de volmenes que no es ms SAN. Estos targets aparecern como un disco ms del sis-
que una especie de "saco" donde meter todos los vol- tema en los nodos XEN, con su correspondiente dispositivo
menes fsicos, en /dev, siendo transparente para cualquier aplicacin el
por ltimo de ese "saco" o grupo de volmenes, se crean hecho de que se trate de discos remotos.
tantos LVM como queramos, con la ventaja de que se Se ha visto cmo dos nodos se pueden comportar como
utiliza el espacio fsico de todos los dispositivos que un disco remoto (SAN) respecto a otros dos nodos que necesi-
hayamos marcado en el primer paso de manera trans- tan de un almacenamiento compartido (en este caso los servi-
parente a la aplicacin que utilice el lvm. dores XEN), pero quedan preguntas por responder: cmo se

Figura 1. Arquitectura de la plataforma OSOR Figura 2. Arquitectura del mdulo de servidores XEN

56 LiNUX+ 5/2010
proyectos open source
Open Source Observatory and Repository

logra que el nodo esclavo entre en funcionamiento si se cae tionar por Heartbeat: dispositivos drbd, targets iscsi, y una
el maestro? direccin IP para exportarlos.
Los dispositivos drdb son idnticos en los dos nodos de
La magia de Heartbeat almacenamiento, pero uno tiene que tomar el rol de maestro,
La respuesta a la pregunta anterior la da el siguiente nombre: para que las escrituras se puedan hacer sobre l, y a su vez
Heartbeat [5]. En su web encontrareis la versin 1.0 y 2.0 de sean sincronizadas al esclavo. Una vez que se tenga el nodo
Heartbeat, que actualmente ha evolucionado a Pacemaker maestro donde escribir, se necesitaran exportar esos dispo-
[6], por tanto todo lo que se explique aqu sobre Heartbeat sitivos drbd por la red, siendo iSCSI el encargado de hacerlo,
estar incorporado en Pacemaker. definiendo por cada drbd un target. Esto se puede observar
En OSOR se implant Heartbeat v2.0 ya que hace dos en la Figura 3, donde aparece cada dispositivo DRBD (en
aos era la mejor solucin para la alta disponibilidad en el morado) y encima un target iSCSI (en verde) para exportarlo
mundo del software libre, y posiblemente tambin en el mbi- hacia fuera. El mismo esquema de dispositivo DRDB y target
to privativo. Heartbeat permite la distribucin de recursos en- iSCSI est replicado en el nodo esclavo, pero ste no expor-
tre nodos, y el control de los mismos, para garantizar la alta ta nada, sino que queda a la espera.
disponibilidad en base a unas reglas previamente definidas. Otro factor a tener en cuenta es la IP que se utilizar en
Este software es algo ms complejo que un demonio con- el nodo maestro para exportar por iSCSI cada recurso drbd.
vencional, porque no contiene una configuracin esttica con Como se ha visto en la Figura 1, existe una red que comuni-
el tpico fichero en el directorio /etc, sino una configuracin di- ca los nodos de almacenamiento con los nodos XEN. Cada
nmica que es actualizada tanto por el usuario como por el pro- nodo de almacenamiento cuenta con su propia IP en esta
pio sistema. Hay que definir una configuracin bsica y a par- red, pero el nodo marcado como maestro utilizar una IP adi-
tir de ese momento, el propio Hearbeat la pondr en funcio- cional para exportar los targets iSCSI. Los nodos XEN estn
namiento e ira evolucionando en funcin de lo que ocurra en configurados para usar esa IP adicional, siendo transparente
el sistema. el hecho de cual de los dos nodos de almacenamiento sea en
La manera de trabajar de Heartbeat es la siguiente: se tie- ese momento el maestro.
nen una serie de nodos, y una serie de recursos. Estos recur- Para la configuracin inicial de Heartbeat se utiliz la es-
sos han de ejecutarse en los nodos, pero atendiendo a cier- tructura de grupos de recursos. Los grupos estn formados por
tas reglas como prioridad de ejecucin, multiejecucin (el varios recursos que se quieren tratar como un conjunto, y no
mismo recurso en varios nodos a la vez), orden en el que se de manera individual. La colocacin de los recursos dentro del
ejecutan los recursos, orden en el que dejan de hacerlo, etc. grupo no es trivial, porque es el orden en el que se iniciarn se-
En la plataforma de OSOR, y en el caso de los 2 nodos de cuencialmente, as como el orden en el que se apagarn, tam-
almacenamiento, se cuenta con los siguientes recursos a ges- bin secuencialmente (en orden inverso). El grupo creado y su
orden es el siguiente:

Cada uno de los dispositivos drbd (es independiente el


orden),
La IP utilizada para exportar,
El demonio iSCSI que exporta los targets.

Figura 3. Vista por niveles del diseo de los nodos SAN Figura 4. Captura de pantalla del comando crm_mon de Heartbeat

www.lpmagazine.org 57
proyectos open source
Open Source Observatory and Repository

La SAN en funcionamiento de almacenamiento est actuando como maestro. Si en algn


Ya se ha explicado como esta diseado cada nivel de la SAN, momento, el nodo maestro dejase de funcionar, el esclavo to-
a continuacin se explica qu ocurre cuando se encienden los mara rpidamente el relevo, y los nodos XEN apenas notaran
dos nodos: un retraso en las peticiones de disco.

Arranca el sistema operativo de ambos. Evitando el Split Brain


Arrancan los LVM. Como en cualquier solucin de almacenamiento, y tambin de
Arranca el DRBD en modo esclavo en los dos nodos (no alta disponibilidad, hay que evitar que se llegue a dar cualquier
se puede escribir en ningn dispositivo, solamente leer). situacin que ponga en peligro la integridad de los datos. El
Arranca Heartbeat. mayor problema al que se enfrenta una arquitectura como la
Heartbeat espera a que ambas nodos estn conectados del presente artculo es el "Split Brain" (cerebro dividido).
dentro del periodo especificado para ello. Si de repente los dos nodos de la SAN creyesen que el otro
Una vez que se ha establecido la conexin entre el Hear- est cado (sin ser esto cierto), pasaran ambos a tomar el rol
beat instalado en los dos nodos, el nodo marcado con de maestro, dejaran de estar sincronizados, y cada uno de
mayor prioridad para ejecutar el grupo de recursos co- ellos se comportara de manera autnoma. Por otra parte, los
menzar la ejecucin del mismo: nodos XEN, leeran y escribiran sobre cualquiera de los dos
Pone cada dispositivo DRDB como primario en el nodos de la SAN, corrompiendo la integridad de los datos,
nodo marcado como maestro. En el otro nodo segui- e impidiendo volver a realizar una sincronizacin de nuevo,
rn siendo dispositivos secundarios. dado que cada uno tendra informacin distinta e igualmente
Levanta una segunda IP por el interfaz de red que vlida.
tiene acceso a la red SAN, que conecta los nodos de Para evitar esta situacin, se utilizaron las siguientes tec-
almacenamiento con los XEN. nologas y estrategias en el diseo.
Utiliza esa segunda IP para lanzar el demonio iSCSI Doble va de comunicacin para Heartbeat: si en un
que exporta los targets por la red. hipottico caso se produjese un "Split Brain" y se tuviesen los
dos nodos funcionando como maestro, la corrupcin de datos
A partir de ese momento, los nodos XEN pueden inicializar ca- solo se dara si se realizasen escrituras en ese momento. Para
da uno de los targets y usarlos sin saber cual de los dos nodos que ocurriese eso, los nodos XEN estaran accediendo a la IP
que ambos nodos SAN estaran utilizando a la vez (los dos
estn en modo maestro), realizndose escrituras en un nodo
u otro alternativamente. Sin embargo, heartbeat se configur

Listado 1. Ejemplo de creacin de Volmenes Lgicos

node:~# pvcreate /dev/hdd1


Physical volume "/dev/hdd1" successfully created

node:~# vgcreate vg0 /dev/hdd1


Volume group "vg0" successfully created

node:~# lvcreate -L 10G -n volumen-logico-1 vg0


Logical volume "volumen-logico-1" created

node:~# lvcreate -L 10G -n volumen-logico-2 vg0


Logical volume "volumen-logico-2" created

node:~# ls -las /dev/vg0/


total 0
0 drwx------ 2 root root 80 2010-03-26 00:35 .
0 drwxr-xr-x 17 root root 13360 2010-03-26 00:35 ..
0 lrwxrwxrwx 1 root root 34 2010-03-26 00:33
volumen-logico-1 ->
/dev/mapper/vg0-volumen--logico--1
0 lrwxrwxrwx 1 root root 34 2010-03-26 00:35
volumen-logico-2 ->
/dev/mapper/vg0-volumen--logico--2
Figura 5. Armario que contiene todas las mquinas de la plataforma OSOR.
Los nodos de almacenamiento son los dos que aparecen abajo del todo

58 LiNUX+ 5/2010
proyectos open source
Open Source Observatory and Repository

quina cuando se termina su cuenta atrs. Su funcionamien-


to es el siguiente: desde el sistema operativo, se activa el
contador para el reinicio y comienza la cuenta atrs; cada vez
que pasan x segundos, se resetea de nuevo el contador, sola-
mente llegando a cero en el caso de que se deje de enviar la
seal de reseteo. Lgicamente, slo se enva dicha seal si el
Figura 6. Logo de la plataforma OSOR
sistema funciona con normalidad, por el contrario, si el sistema
para utilizar dos redes de comunicacin: la red SAN (aparece operativo dejase de responder, no enviara la seal de reinicio
en la Figura 1 en color violeta), que comunica la SAN con los del contador, el watchdog llegara a cero y acabara reinician-
servidores XEN, y un cable cruzado entre los nodos de la SAN do la mquina. Las tarjetas IPMI instaladas en cada nodo de la
(color azul en la Figura 1). El uso de ambas redes por parte de plataforma, contienen un watchdog por hardware.
Heartbeat, evita el "Split Brain" en cualquiera de estos casos: Tanto el recurso Watchdog, como el STONITH, propor-
cionan un mecanismo automtico para desbloquear un nodo,
Se cae el enlace entre los dos nodos (HA Link en la Figura evitando que un administrador tenga que realizar la opera-
1): seguira funcionando Heartbeat a travs de la red SAN. cin manualmente. Adems ayudan a que el nodo bloquea-
Se cae la red SAN entera: no se produce "Split Brain" por- do deje de permanecer en ese estado lo ms rpido posible
que seguira el enlace entre los dos nodos, pero no ha- y pueda as volver a su funcionamiento habitual.
bra comunicacin con los nodos XEN hasta que se res- En la Figura 4 aparece una captura del comando crm_mon
tableciese la red SAN. de Heartbeat, mostrando el monitoreo de los recursos de la
Se caen ambos enlaces: en ese caso, las dos mquinas SAN: se pueden observar tanto los nodos disponibles (osords01
entraran en modo maestro al no tener visibilidad entre y osords02), como los recursos y en qu mquina se estn eje-
ellas. No habra corrupcin de datos, porque los nodos cutando. En esta lista de recursos, aparece por un lado el grupo
Xen tampoco tendran visibilidad de la SAN y no produci- del que se habl en la seccin anterior (formado por los drbds, la
ran escrituras. Una vez restablecidas las redes, se vol- IP a balancear, y el demonio iSCSI), y por otro los STONITH. Da-
vera al funcionamiento normal. do que osords01 se encargar de "disparar" a osords02, deber
estar ejecutando el recurso denominado "osords02-stonith",
STONITH (Shoot The Other Node In The Head): es un mecanis- y viceversa.
mode defensa entre los nodos para mantener la integridad de
la plataforma. Es como si cada uno de los nodos, apuntase Conclusiones
al otro con una pistola, y si uno de ellos se queda bloqueado, Existen en el mercado diversas soluciones hardware/software
o no responde al "latido" del Heartbeat, el otro le "disparar", ya listas para funcionar como una SAN, pero tienen al menos
provocando que el afectado reinicie correctamente. Lgicamen- dos inconvenientes a tener en cuenta: la privacidad del soft-
te, este "disparo" ha de ser va hardware, puesto que si uno de ware instalado y el coste de la solucin, mxime si ofrece
los nodos ha sufrido un "kernel panic" por ejemplo, no habr alta disponibilidad. Estas mquinas suelen tener sistemas
conectividad para hacer ningn tipo de operacin va software. operativos adaptados a dar la funcionalidad de SAN, pero
Afortunadamente, todos los nodos que se compraron para esta los fabricantes y distribuidores temen que la competencia les
arquitectura contienen tarjetas IPMI (Intelligent Platform Mana- haga sombra, as que optan por cerrar el cdigo y la configu-
gement Interface) [7], que permiten una gestin remota de la m- racin de sus mquinas para ser nicos. Esto tambin es un
quina, sin que sta tenga tan siquiera que estar encendida. En hndicap para los administradores de sistemas que integran
el caso de la SAN, se configur Hearbeat para que utilizase las estas soluciones, dado que restringe su configuracin a las
tarjetas IPMI de cada nodo, y as su contrario pudiese remota- funcionalidades del interfaz que contengan, sin posibilidad de
mente realizar el "disparo" (puede ser un reboot o un shutdown) ir ms all.
en caso de emergencia. Este artculo deja clara la idea de que mediante soft-
Watchdog: se trata de un contador va software o hard- ware libre y un hardware ms general (y por ende ms eco-
ware que realiza una operacin de reinicio/parada de la m- nmico), se puede construir una SAN de alta disponibilidad,
eficiente, flexible y econmica, que nada tiene que envidiar
a las soluciones privativas (sino ms bien lo contrario).

Sobre el autor
Francisco Olcina Grande es Ingeniero Tcnico en Informtica En la red
de Gestin y cursa actualmente los estudios de Ingeniero Infor-
[1] http://www.osor.eu/,
mtico superior en la Carlos III de Madrid. Es experto en admi-
[2] http://libresoft.es/,
nistracin de sistemas y soluciones de alta disponibilidad basa-
[3] http://www.drbd.org,
das en software libre. Trabaj en GSyC/Libresoft como parte del
[4] http://www.open-iscsi.org/,
equipo que realiz el diseo, la instalacin y el mantenimiento
[5] http://www.linux-ha.org,
de la plataforma OSOR. En la actualidad trabaja realizando
[6] http://www.clusterlabs.org,
tareas de administracin y de desarrollo en forjas.
[7] http://en.wikipedia.org/wiki/Ipmi.

www.lpmagazine.org 59
software
Juegos seccin llevada por Francisco J. Carazo Gil

Open Sonic Savage 2


C orra el ao 1991 y en pleno combate entre los dos gigan-
tes de los videojuegos de los ochenta y principios de los
noventa, Nintendo y Sony; la primera aventajaba a la segunda
E l segundo juego de esta semana es un representante
del cada da ms exitoso gnero de los juegos masivos
en lnea. El nombre completo del juego es Savege 2: A Tor-
en un aspecto clave: tener una mascota que a la vez de ser tured Soul y no se trata de un juego de cdigo abierto, pero
protagonista de juegos fuera una imagen representativa de la s gratuito que hace no mucho tena un coste por licencia de
marca. La respuesta no se hizo esperar y ese ao Sega mostr 29,99 dlares.
al pblico a Sonic, la nueva mascota de la marca. Era un eri- El gnero del juego, adems de multijugador masivo en
zo, tena 15 aos, meda 1 metro y pesaba 35 kilogramos. Su lnea, es un tanto original. Mezcla elementos propios de accin
caracterstica ms representativa es que era capaz de correr en primera persona, con estrategia en tiempo real y rol. Sin
a la velocidad del sonido, de ah su nombre. Con el tiempo la lugar a dudas una mezcla que convencer a muchos jugones.
mascota se fue asentando y de hecho fue la protagonista de Para los que llevis tiempo metidos en esto de los juegos mul-
multitud de ttulos de 8 y 16 bits. Posteriormente, tambin sigui tijugador en lnea, comentaros que este ttulo es una secuela
existiendo pero con menor popularidad. de Savage: A Battle For Newerth.

Figura 1. Open Sonic Figura 2. Savage 2

El juego que traemos hoy es un clon de los originales El modo de juego es el siguiente. En cada partida se enfren-
Sonic que seguro que gustar a todo el que haya podido dis- tan dos equipos, cada uno de ellos compuesto por entre 5 y 17
frutar de este erizo en su infancia o juventud. Muchos de vo- usuarios. Uno de los bandos ser el de los humanos y el otro
sotros estaris ya cansados de tantos clones de juegos y sa- el de las bestias. Cada usuario podr elegir entre varias uni-
gas antiguas, pero sin lugar a dudas, son una de las mayores dades, cada una de ellas con sus propias caractersticas y ha-
fuentes de inspiracin de los desarrolladores libres y a los bilidades en combate. Aunque normalmente se manejarn las
nostlgicos, que no somos pocos, nos encantan. unidades en grupo, puntualmente el jugador podr controlar
El modo de juego bsicamente no cambia. Open Sonic directamente una unidad. Esta es la parte de accin en pri-
est basado en los Sonic de 16 bits, los que ejecutaban sobre mera persona. La parte de estrategia en tiempo real es la con-
lo que en Espaa se conoca por Mega Drive y en Sudamri- traria, manejar grandes grupos en batalla y todo lo previo a sta:
ca como Genesis. Sin embargo el juego incorpora una serie construccin, desarrollo y organizacin. Este cambio entre el
de mejoras. La primera es que al igual que en algunos de los campo de batalla y la comandancia es, sin lugar a dudas, el
ltimos ttulos de la saga, podremos escoger a tres persona- detalle ms original del juego.
jes. Adems de a Sonic, tenemos a sus compaeros Knuc- El comandante tiene una visin cenital del juego, la tpica
kles, un equidna; y Tails, un zorro de dos colas. Otro cambio en juegos de estrategia. La del personaje que lucha en el cam-
es que los niveles se han vuelto algo ms interesantes, de po de batalla es la tpica de la de cualquier juego de accin en
hecho, hay algo ms de componente puzzle que en los jue- primera persona. Estos combates cuerpo a cuerpo son ms
gos originales. Tenemos tambin un creador de niveles por si sencillos y directos de manejar, que si elegimos ejercer de
se nos queda corto lo que trae el juego. Los que tengis pro- comandante. Tenemos a nuestra disposicin un golpe rpido,
blemas con los idiomas tampoco tendris jugando, el juego un golpe de interrupcin y el bloqueo.
est en espaol y en otros seis idiomas. Como podis apreciar en la toma de pantalla que os dejo,
Es software libre y podis descargarlo para GNU/Linux los grficos son de muy alto nivel y dado que en su da fue un
(con paquetes preparados para Ubuntu / Debian, Zenwalk, juego totalmente comercial, encontraris detalles muy cuida-
archlinux y openSUSE), Mac OS X y Windows. dos por todo el juego.
http://opensnc.sourceforge.net/ http://savage2.com/
NOTA NOTA
jugabilidad jugabilidad
grficos grficos
sonido sonido

60 LiNUX+ 5/2010
opinin
Un pingino en mi procesador no es suficiente

Un pingino
en mi procesador
no es suficiente

L
a informtica est cada vez Y sin l, que permite detectar y reportar
ms introducida en nuestras las incidencias de malware, los virus para
Fernando de la Cuadra, vidas cotidianas. A nuestro al- Linux no existen. Y sus creadores tan
rededor se amontonan ms contentos, porque ya no buscan llenar su
director de Educacin y ms dispositivos programables, desde ego con demostraciones visibles de sus
de Ontinet.com, distribuidor en porttiles, netbooks, tabletas y PC de creaciones sino llenar sus bolsillos pa-
exclusiva de las soluciones sobremesa a telfonos mviles con su sando lo ms desapercibidos posible.
variedad de sistemas operativos. Los Aunque el sistema operativo sea lo
de seguridad de ESET datos de mercado reflejan este auge. En ms robusto y seguro que haya existido
en Espaa el primer trimestre de 2010 se vendieron en el universo, aunque el usuario est
en Espaa ms de un milln y medio de concienciado 100% de los problemas de
ordenadores, segn los ltimos datos virus, siempre podremos encontrarnos un
presentados por IDC, y registrando un agujero en una aplicacin. Y es ah donde
sorprendente crecimiento del 38%. Linux es tan vulnerable como otros sis-
Si un dispositivo puede programarse, temas operativos. Y, adems, nunca po-
puede crearse un cdigo malicioso para demos olvidar que cualquier plataforma
que ejecute tareas extraas o perjudicia- puede alojar cdigos maliciosos para
les y distintas a aquellas para las que su difusin a otros sistemas, por cual-
fue creado. Y no por utilizar un sistema quiera de los mtodos posibles, desde
basado en Linux estamos inmunizados conexiones directas entre equipos al uso
contra las amenazas informticas. Es un de redes P2P o, simplemente, mediante
grave error creerse a salvo slo porque el envo de mensajes de correo.
el PC tiene instalado Linux y el telfono El mayor de los peligros para cual-
una de las ltimas versiones de Android. quier sistema, despus de todo, es que el
Los virus para Linux tambin existen. usuario se crea seguro. No hay peor ene-
Los sistemas de cdigo abierto siguen migo para la seguridad que la confianza
ganando adeptos entre los usuarios de ciega, y ms si se basa en premisas
tecnologa, y con ello, van centrando po- falsas, y eso lo saben muy bien los ciber-
co a poco la atencin de los creadores delincuentes. Por muy seguro que sea nu-
de malware, que no van a seguir olvidn- estro sistema operativo, por mucho que
dose de ellos. El problema es paradjico: afirmemos a pies juntillas que los virus
si los virus para sistemas Linux existen, para Linux no existen, un ataque de phi-
por qu no se habla de ellos? La respu- shing puede hacer el mismo dao en un
esta podemos encontrarla en los hbitos sistema Windows que en uno Linux. No
de seguridad de los usuarios, que en su se confe por usar una distribucin de soft-
cpsula mental de inmunidad siguen cre- ware libre. Si alguien quiere hacerle dao,
yendo que su distribucin es suficiente el pingino no va a ser suficiente para
para mantener la seguridad de sus sis- detenerlo.
temas, y no instalan software antivirus.

www.lpmagazine.org 61
opinin
La autoformacin no nos hace expertos en seguridadsociales

www.lpmagazine.org 58

You might also like