Está en la página 1de 50

ndice

En este nmero

novedades

internet

3 6 7

Noticias
Jos Alex Sandoval Morales

34

Dropbox: Mantn tus archivos sincronizados en la nube


Joaqun Rincn

Fedora
Diego Rivero Montes

FreeBSD
Osvaldo R. Salazar S.

Nunca he estado a favor de los servicios de Internet que forman la famosa nube, he tenido psimas experiencias con algunos editores en lnea, in embargo, una vez que utilic el servicio ofrecido por Dropbox (dropbox.com), qued enganchado literalmente.

seguridad

programacin

Gestin de backups mediante Bacula


Francisco Olcina Grande

38

Acceso a BBDD MySQL usando PHP


Diego J. Garca

Uno de los trabajos ms importantes que debe realizar un administrador de sistemas es el de realizar copias de seguridad peridicas verificando que se han efectuado correctamente, y que se pueden restaurar con relativa facilidad. Muchos administradores descuidan estas tareas, o bien las realizan mediante complejos scripts que carecen de la flexibilidad que proporcionan otros programas existentes. Bacula es una solucin Open Source que permite al administrador gestionar sus backups de una manera cmoda, flexible, y eficaz.

Desde hace varios aos los creadores de pginas web no se dan por satisfechos con una simple pgina en HTML sino que adems le aaden algn lenguaje de programacin de scripts para generar pginas dinmicas en el servidor. Al profundizar en el dinamismo de las pginas con lenguajes de script se hace ms y ms necesaria la dinamizacin de los propios contenidos. Una forma de solucionar este problema es aadiendo una base de datos de la cual recoger la informacin insertada por los diferentes usuarios.

18

msica y Linux

Ad|Quiere: distribucin gratuita para imgenes forenses


Francisco Lzaro

46

CheapSounD: Chiptunes, LoFi, Soundtrackers, 8-bits Bands y otras rarezas


Lino Garca Morales

En los comienzos de la Informtica Forense los investigadores se limitaban a copiar los archivos que les podan servir como evidencia. Si sospechaban que algunos de ellos haban sido borrados intentaban recuperarlos con 'undelete' -aquel misterioso comando que solo conocan los gurs autodidactas del MS-DOS-. La bsqueda de carcteres se llevaba a cabo con el Norton Disk Editor. No pocas veces sorprendimos de este modo al legendario Viernes 13 agazapado en las interioridades de nuestro sistema.

CheapSound (al igual que en el artculo Linux SmartCheap. Construccin desde la nada, publicado en LiNUX+ 7/2010, www.lpmagazine.org, pp.3743) es un juego fontico entre Cheap/Chip juega con los conceptos barato/ [circuito integrado] en una clara alusin al sonido producido por tecnologa electrnica pero no por cualquiera sino por aquella relacionada con los vdeo juegos y, ms en concreto, con el chip SID (Sound Interface Device) 6581/8580 de MOS Technology y toda la revolucin esttica que supuso.

soluciones para empresas

opinin

26

Virtualizacin en Entornos Corporativos


Marcos Blanco Galn

50

Caf? No, gracias, respondi el servidor DNS


Fernando de la Cuadra, director de Educacin de Ontinet.com

La virtualizacin ha dejado de ser una inversin de futuro, su evolucin y consolidacin en los ltimos aos la convierten en una clara necesidad para aumentar la competitividad de la empresa. Reduccin de costes de operacin y mantenimiento, optimizacin de recursos hardware, eficiencia energtica, seguridad y alta disponibilidad son slo algunas caractersticas que hacen de la virtualizacin el aliado perfecto en entornos corporativos.

Hace algn tiempo, con un gran amigo, pensamos en escribir una pequea novela de terror, pero de terror informtico. Estara basada en la cada globalizada de Internet un da de estos. S, eso es poco probable, no es tan fcil hacer que todos (todos!) los servidores se caigan a la vez, pero caramba, era una novela, no?

30

Consejos Prcticos en Seguridad TI


Josas Galvn Reyes

Este artculo tiene como objetivo ofrecer consejos prcticos a las problemticas comunes relacionadas a la seguridad de las tecnologas de informacin, detectadas en las PYMES, donde los ambientes heterogneos son una realidad recurrente.

LiNUX+ 9/2010

novedades seccin llevada por Alex Sandoval Noticias

NE WS

Oracle vs Google: todos mienten

Chat con video y audio en Gmail llega a Linux va el navegador

n primer lugar, la libertad de Java es indiscutible, pero es un tema de patentes. Por eso es vital entender la diferencia entre una y otra. Una licencia se puede definir como un contrato en el cual se establecen los derechos que cede el propietario original sobre una tecnologa. As, la GPL establece las cuatro conocidas libertades para quienes quieran usar Software Libre, en tanto que otras licencias, las propietarias por ejemplo, establecen diversas limitaciones y generalmente el pago de un canon por el uso de tecnologa. Las patentes son distintas y originalmente tenan como objetivo principal proteger la innovacin y al inventor para evitar que otra persona saque beneficios de un invento que no le corresponde. De esa forma instituciones y personas podran desarrollar e invertir en sus inventos con mas tranquilidad, aunque el asunto se ha desvirtuado bastante con respecto a ese noble objetivo. En base a eso, Google o cualquiera en el mundo, puede usar libremente Java y el cdigo fuente. Las aplicaciones generadas con este lenguaje pueden ser libres y adems se pueden usar en distintas plataformas. Pero para garantizar esa portabilidad, se crearon estndares, estndares que defini Sun y que quedaron integrados en el cdigo gentico de la maquina virtual Java. Las patentes ayudaban a Sun a asegurarse de que nadie pudiera re-implementar Java y creara nuevos estndares incom-

Ha pasado de todo, desde decir que Oracle pretende destruir el Open Source , hasta absolutamente lo contrario, y frente a todo ese caos de opiniones controvertidas, declaraciones y contra-declaraciones, no me queda ms que llegar a la misma controvertida filosofa aplicada miles de veces por el reconocido doctor House: el paciente siempre miente.

patibles con la tecnologa original de Sun. Esto me recuerda cuando hace algunos aos Microsoft intent crear su propia implementacin de Java que funcionaba de maravilla en Windows, lo cual se convirti en un escndalo y que slo tras una pequea batalla, con indemnizacin de por medio, se logr que Microsoft desistiera de sus intentos por crear un Microsoft Java. Bueno, lo que hizo Google con Dalvik no es muy diferente de lo que intent hacer Microsoft en su momento, una mquina independiente y distinta a la mquina original de Java, que eventualmente, sentara un nuevo estndar. Por supuesto, Google no busca reemplazar la mquina Java normal, pero la industria tiende a generar y adoptar sub-estndares fcilmente cuando hay dinero de por medio y no es poco el que hay en torno a Android. Es difcil imaginar a Sun, con su decada situacin financiera, llevando a cabo un largo y duro juicio contra Google, sin embargo, tampoco es que estuviera fuera de su cdigo gentico hacerlo. La demanda contra Google era otra carta puesta en la mesa de negociaciones entre Oracle y Sun, como ya lo demostraba la declaracin de James Glosing. Entonces, finalmente no hay un ataque de Oracle hacia la comunidad Open Source, por lo menos no de la forma que Google lo plantea, sino que es un ataque slo contra l, y eso lo saben bien en Mountain View. Oracle comienza a hacer lo que Sun, por ms que lo niege, siempre quiso hacer (y no supo como): sacar dividendos directos de la tecnologa Java usada en Android. Esto nos deja con que Sun tampoco era ningn santo (o vctima como lo dicen algunos), y la demanda contra Google hubiera llegado de todas maneras. Tambin nos muestra que Google no hizo las cosas bien al principio y probablemente le cueste muy caro su error. Y por ultimo, Oracle tena la necesidad de decir Java? Cuando tus grandes acciones relacionadas Open Source han sido escuetas, pocas y hasta malas (si consideramos lo de OpenSolaris), debes tener conciencia del cuidado que debes poner en tus palabras. Oracle simplemente hizo lo que muchos propietarios hacen todas las semanas, pero pasando por alto el factor

Es algo que quizs muchos usuarios de sistemas operativos basados en Linux estaban esperando, Google finalmente hizo posible la utilizacin del videochat mediante el navegador en el servicio de correo Gmail, terminando as las miradas celosas hacia otras plataformas que s soportan este medio de comunicacin. La disponibilidad est en distribuciones de Linux basadas en Debian, como por ejemplo el popular Ubuntu, y para acceder a esta funcionalidad slo basta con dirigirse a gmail.com/videochat y descargar el plugin o software adicional correspondiente para as disfrutar de los beneficios del chat con video y audio con tus contactos de Gmail. http://www.chw.net/2010/08/chat-convideo-y-audio-en-gmail-llega-a-linuxvia-el-navegador/
Google cierra vulnerabilidades criticas en Chrome 5

Google ha lanzado la versin 5.0.375.127 de Chrome, una actualizacin de seguridad que se dirige a dos vulnerabilidades "crticas" y seis "alto riesgo" en su navegador basado en WebKit. Segn los desarrolladores, uno de los problemas crticos estaba relacionado con el dilogo de archivo que podra dar lugar a corrupcin de memoria, mientras que el segundo podra causar una cada en el apagado debido a un fallo en las notificaciones. http://www.h-online.com/security/news/ item/Google-closes-critical-vulnerabilitiesin-Chrome-5-1062480.html
Valve: No habr ninguna versin de Steam para Linux

Los usuarios de Linux nos las prometamos muy felices con los rumores que haban aparecido sobre el posible desarrollo de un cliente nativo de Steam en Linux. Esta plataforma de distribucin de juegos a travs de Internet ha sido todo un xito en Windows, y no hace mucho los desarrolladores de Valve lanzaban la versin para Mac OS X. Eso hizo pensar que la empresa podra estar preparando una versin de Steam para Linux, y de hecho en al menos dos ocasiones pareca haber confirmacin oficial de que habra una versin de dicho cliente, e incluso de que ste llegara pronto, algo que podra haber impulsado a este sistema operativo tambin como alternativa para los amantes de los videojuegos.Sin embargo una reciente entrevista concedida a GamesIndustry por Doug Lombardi, uno de los directivos de Valve, ste dej claro que los usuarios de Linux tendremos que olvidarnos de tal posibilidad: No hay ninguna versin de Linux en la que estemos trabajando en estos momentos. Esperemos que esas declaraciones no sean tan definitivas como parecen y que Valve no haya cerrado la puerta definitivamente a esa posibilidad. http://www.muylinux.com/2010/08/23/ valve-no-habra-ninguna-version-de-steampara-linux

www.lpmagazine.org

NE WS

novedades Noticias seccin llevada por Alex Sandoval

Corrigen vulnerabilidad de casi 6 aos de antigedad en el ncleo de Linux

A principios de este mes se liberaba la versin 2.6.35 del kernel de Linux, pero un hecho poco conocido era que tanto esta nueva versin, como las anteriores posean una vulnerabilidad que permita acceso como root a usuarios con privilegios limitados. Cuyo parche fue recientemente liberado. Dicha vulnerabilidad conocida como el bug de corrupcin de memoria, fue descubierta por el investigador Gael Delalleu all por el 2004, y explotaba un atributo heredado de la arquitectura x86 diseada por Intel, por el cual 2 regiones de memoria del X Server que crecen en direcciones opuestas en el espacio de direcciones. Explotando dicho fallo los atacantes pueden forzar a que ambas regiones de memoria colisionen, provocando que datos de control crticos sean reemplazados por valores que permitan que X Server sea secuestrado. Marcus Meissner del SUSE Security Team indica que Andrea Arcangeli, SUSE maintainer, proporcion una solucin para el problema en septiembre de 2004, pero por razones desconocidas esta revisin no se incluy en el kernel de Linux. SUSE mismo tiene la correccin y SUSE Linux Enterprise 9, 10 y 11, as como tambin openSUSE desde la versin 11.1 a la 11.3 no presentan esta vulnerabilidad. El ncleo de Linux ha sido finalmente purgado de una vulnerabilidad de escalamiento de privilegios que por lo menos durante media dcada permiti que usuarios locales sin privilegios consiguieran acceso sin trabas a los lugares ms seguros del sistema operativo. http://microteknologias.wordpress.com/ 2010/08/23/corrigen-vulnerabilidadde-casi-6-anos-de-antiguedad-en-elnucleo-de-linux/
Tienes 30 segundos para arrepentirte de ese mail en Gmail

comunidad Open Source, un factor clave en la adopcin de Java frente a .NET, por ejemplo, y que ahora lo deja un punto abajo en el marcador de esta dura batalla, donde precisamente Java tenia la ventaja de ser mas libre, abierto y puro, si cabe decirlo. Qu es lo peor de todo esto? Pues que se genera una suerte de FUD (Fear, Uncertainty and Doubt) contra el Open Source, donde el mensaje vendra a ser: el Open Source es vulnerable y su modelo de negocio no es seguro, haciendo que las miradas se concentren inevitablemente en MySQL, MariaDB y OpenOffice. Lamentablemente este mensaje no solo lo dirige Oracle, sino que tambin firman en

l Google y Sun Microsystems. Sin embargo nada de esto debiera servir para que repudiemos o rechacemos a los actores antes mencionados. Eso seria tan daino como cerrar los proyectos (que, sea como sea, siguen adelante). Ms bien debemos aprender las lecciones y no permitir que un par de actuaciones nos revolucionen y nos hagan caer en un juego de FUD, comprendiendo que cuando hay de por medio, prestigio, apariencias, personas y muchsimo dinero, se hace evidente en el mundo empresarial una gran verdad: Todos mienten. http://www.muylinux.com/2010/08/23/ oracle-vs-google-todos-mienten

Oracle asesina a OpenSolaris

Tomaste mucho ayer y enviaste un correo incmodo a la persona equivocada? Te enojaste con alguien y le escribiste una horrible carta, pero cuando hiciste clic dijiste 'oh no! qu he hecho? Pues si eres una persona que le suelen ocurrir estas cosas, ahora Gmail te da 30 segundos para cambiar de idea.Dentro de los Labs, existe una alternativa que est disponible desde hace algn tiempo y se llama Deshacer el envo (Undo Message), que en la ltima actualizacin ha ampliado el tiempo para arrepentirse hasta 30 segundos (al principio tenas apenas 5). La opcin es ideal para remediar a tiempo correos donde se te olvida agregar el archivo adjunto, o si pusiste a la persona equivocada en la barra de destinatario, o si despus de hacer clic en enviar te acordaste de que te falt agregar algo en el mail. Se puede configurar haciendo clic en el botn de Labs de tu Gmail y habilitando la opcin. http://www.fayerwayer.com/2010/08/tienes30-segundos-para-arrepentirte-de-esemail-en-gmail/

n mensaje interno de Oracle a sus empleados ha dejado claro que la empresa no invertir ms recursos en la versin comunitaria y de Cdigo Abierto de Solaris, lo que cierra el desarrollo oficial de Open Solaris. Hace tiempo que se mascaba esta noticia de una empresa que abandona esta solucin Open Source, aunque afortunadamente el proyecto Illumos del que hablamos recientemente retoma el desarrollo de OpenSolaris all donde ste se qued. El mensaje interno o memo estaba firmado por Mike Shapiro, Bill nesheim y Chris Armes, y fue publicado en el blogdel desarrollador del kernel de OpenSolaris Steven Stallion con el ttulo Open Solaris est muerto, algo que parece muy claro tras ver el contenido del mensaje interno. Todos los esfuerzos de Oracle en distribuciones binarias en tecnologa Solaris se centrarn en Solaris 11. No publicaremos binarios de otras distribuciones, como por ejemplo compilaciones quincenales o nocturnas de binarios de Solaris, ni tampoco publicaremos OpenSolaris 2010.05 o una versin posterior. Determinaremos una forma simple y eficiente en coste que permita a los usuarios empresariales de OpenSolaris y de sus versiones binarias migrar a Solaris 11 Express. Oracle hace referencia a dos razones para esta decisin. En una de ellas indican que no podemos hacerlo todo, y revelan que sus recursos de ingeniera

Afortunadamente no todo son malas noticias: la empresa seguir poniendo a disposicin de los usuarios el cdigo que ya estaba disponible bajo licencia CDDL -aunque es probable que no se renueve dicho cdigo-, pero adems los antiguos desarrolladores de OpenSolaris centrarn ahora sus esfuezos en Illumos, un nuevo proyecto que retomar el camino de OpenSolaris y que esperamos tenga mucho xito.

y desarrollo son limitados, y que tienen que centrarse en algunas reas clave. La segunda razn es an ms clara: Queremos que se acelere la adopcin de nuestra tecnologa y nuestra propiedad intelectual, sin permitir a nuestros competidores que saquen ventaja en los negocios a partir de nuestras innovaciones antes de que nosotros mismos lo hagamos. Esta segunda razn deja claro que Oracle no tiene la mentalidad Open Source que Sun defendi con cada vez mayor fuerza en los ltimos tiempos, algo que se confirma con la demanda que Oracle registr contra Google y contra el uso de Java en Android hace muy pocos das. http://www.muylinux.com/2010/08/16/ oracle-asesina-a-opensolaris

LiNUX+ 9/2010

internet Dropbox

www.lpmagazine.org

37

novedades Fedora seccin llevada por Diego Rivero Montes

Microsoft y Linux

A finales de julio podamos leer la opinin de Red Hat sobre la contribucin de Microsoft al kernel de Linux. Textual y bsicamente la empresa del sombrero rojo viene a decir lo que sigue: Microsoft ha aportado una contribucin significativa al kernel de Linux bajo la licencia pblica GNU 2. Esta es una noticia importante. Parece que fue ayer cuando Microsoft situaba a Linux, el software libre y las licencias GPL en el eje del mal. Ahora Microsoft ha dado un paso creble para convertirse en un miembro de la comunidad Linux. Red Hat, como mayor contribuidor corporativo al kernel de Linux, se complace en reconocer la aportacin de Microsoft y le anima a seguir por este camino. Sin embargo Red Hat sigue objetando que para que Microsoft pueda ser un miembro de pleno derecho de la comunidad an es necesario que salve algn escollo: A lo largo de los aos, los miembros individuales y corporativos de la comunidad han dejado claro formal e informalmente que no van a mantener o amenazar con litigios sobre patentes en el terreno de Linux. La amenaza de las patentes es incompatible con las normas y los valores que sustentan el ncleo de Linux. Para ganarse el respeto y la confianza de la comunidad Linux, Microsoft debe desechar inequvocamente estos comportamientos y comprometerse a que sus patentes nunca sern usadas contra Linux o contra otros desarrolladores de cdigo abierto o usuarios. Ahora la pelota est en el tejado de Microsoft a ver como responden y en consecuencia se les tratar.
Conferencia Internacional sobre Software Libre

Fedora 14 se retrasa

n cada liberacin de nuestra distribucin se barajan multitud de parmetros que influyen en que est o no a punto para salir y estar a disposicin de todos los usuarios en la fecha que en un primer momento se establece ya que aunque los plazos se suelen establecer para que haya un lapso suficiente de tiempo en el que todo pueda estar listo, siempre pueden surgir imprevistos que trastocan todas las previsiones.

Esta vez, la release nmero 14 de la que se esperaba que en el mes de agosto fuera liberada la versin Alfa, va a ser definitivamente retrasada, as lo han estimado los responsables de los departamentos de Ingeniera y Desarrollo en el control de calidad, lo que significa que en lugar de para el 24 de octubre del ao en curso la versin definitiva de Fedora 14 si no se producen ms retrasos estar operativa a partir del 2 de noviembre.

Problemas con actualizaciones Fedora 13

primeros de agosto pudimos leer que se haba encontrado un bug que no permita que se enviasen las notificaciones sobre las actualizaciones y por lo tanto estas pasaran inadvertidas y no descargadas. Muchos de los usuarios cuando se dieron por enterados y buscaron las actualizaciones pudieron comprobar que tenan gran cantidad de software que actua-

lizar, as que para corregir el bug y volver a tener las actualizaciones la solucin vino del propio equipo de Fedora como era de esperar, abrimos una terminal de lnea de comandos y escribimos: su -c yum -y
skip-broken update.

FudExp

Y listo ya tenemos las notificaciones funcionando de nuevo. Por supuesto las disculpas de Jared Smith lder del proyecto ya estn en la web oficial.

La primera conferencia internacional de Software Libre CISL 2010 Argentina, ser realizada el 7 del prximo mes de septiembre y tendr lugar en la Biblioteca Nacional. Este evento, organizado por la Fundacin Sociedades Digitales y la Cmara Argentina de Empresas de Software Libre, contar con la participacin de Jon Maddog Hall, de Linux International, como figura principal entre participantes llegados desde Brasil, Ecuador, Espaa, Paraguay y Venezuela. Lo que se pretende con este tipo de conferencias es dar una imagen de la realidad que se vive en el Software Libre y de Cdigo Abierto en todos los aspectos de la sociedad, ya sea a nivel privado como pblico adems de estar respaldado por entes de la talla de Red Hat as como Linux Internacional e igualmente patrocinado por el Distrito Informtico La Plata, La Junta de Extremadura (Espaa) y SOLAR (Argentina) as como tambin cuentan con el apoyo de comunidades como Morfeo Cono Sur, Elastix, Latinux, Mozilla.

iempre es agradable observar que en el mundo del software libre se promuevan iniciativas que tiendan a su difusin y que cada da son ms los interesados en las nuevas tecnologas basadas en sistemas Unix. En este caso podemos comprobar cmo la comunidad Fedora de Per ha tenido la gran idea de organizar la FudExp para que todos aquellos que tengan inquietudes a este respecto puedan tener la ocasin de asistir y aprender y a la vez aportar su granito de arena. Si las cosas van como parecen, cuando estn leyendo estas lneas se habr realizado la FudExp o Fedora Users & Developers Experience, el Colegio Juana Alarco de Dammert, en la ciudad de Lima (Per) que segn parece se realiza el 28 de agosto. FudExp es una reunin, una experiencia donde se pueden adquirir nuevas habilidades, destrezas y conocimientos y que tiene dirigido el proyecto Fedora a todos los estudiantes de Sistemas. No se trata de una simple conferencia, es tambin un taller en el que se pueden aclarar dudas y adquirir mltiples conocimientos, en definitiva es como estar en una clase de Software Libre con el Proyecto Fedora.

El equipo planificador de FudExp Lima es: Henry Anchante Castro (main coordinator) Joel Porras (coordinator) Peter Ccopa (Designer / Material) Mara Leando (Diseo)

Aunque a la hora de redactar esta noticia queda por confirmar la asistencia de alguno de los ponentes, habrn sido los siguientes: Mario Lacunza Per OpenOffice.org Henry Anchante Per Proyecto Fedora Hernn Pachas Per Fedora y OLPC / Comunidad Edgar Rodolfo Per Fedora user / Comunidad Julio Yupanqui Per Seguridad con Fedora

Por otra parte decir que el acontecimiento no cuenta con presupuesto alguno y es de agradecer que surjan iniciativas como sta.

LiNUX+ 9/2010

seccin llevada por Osvaldo R. Salazar S.

novedades BSD

EuroBSDCon 2010

Guillermo Amaral en Campus Party Mxico

el 8 al 10 de octubre del presente ao se realizara en Karlsruhe, Alemania, el EuroBSDCon, gran evento europeo donde se reunirn varios usuarios y desarrolladores de Europa y de otras partes del mundo. Se contar con la asistencia de Marshall Kirk McKusick, Jeffery Roberson, Dru Lavigne, Hans-Martin Rasch, Kris Moore, Klaus P. Ohrhallinger, Vassilis Laganakos, Dominic Fandrey, Patrick M. Hausen, Warner Losh, Gbor Jnos Pli, Reyk Floeter, Marc Espie, Marc Balmer, Hans Petter Selasky, Erwin Hoffmann, Renato Bothelo, Thordur Bjornsson, Owain Ainsworth, Henning Brauer, Martin Matuska, James Gritton y Bjoern A. Zeeb

por mencionar algunos de los participantes. Tambin se ofrecen, hasta el momento, algunos tutoriales, entre los que se encuentran: An Introduction to the FreeBSD Open-Source Operating System, Halfday tutorial: Introduction to NETGRAPH on FreeBSD Systems, pfSense 2.0 Tutorial y Building the Network You Need with PF, the OpenBSD packet filter proporcionados por Marshall Kirk McKusick, Adrian Steinmann, Chris Buechler, Peter Hansteen, respectivamente. Si necesitas ms informacin y, principalmente, registrarte para este evento puedes ingresar a http://2010.eurobsd con.org

IV Congreso Internacional de Software Libre

l Grupo de Usuarios de GNU/Linux de la Laguna (www.gulag.org), asociacin regional, sin nimo de lucro, con cuatro aos de existencia, realizar en Torren, Coahuila, Mxico, el IV Congreso Internacional de Software Libre. El 10 y 11 de septiembre los grandes gurs nos compartirn sus experiencias, y se impartirn talleres para poner en prctica programas libres y ejerceremos nuestra libertad de compartir conocimientos y software. La universidad sede este ao es el Instituto Tecnolgico y de Estudios Superiores de Monterrey, Campus Laguna. La propuesta central de las conferencias de esta edicin del Congreso es compartir las experiencias del uso del software libre en la iniciativa privada y en el gobierno. Tambin se realizarn talleres, donde aprenderemos y pondremos en prctica lenguajes de programacin y deteccin de vulnerabilidades de sistemas operativos. Tenemos la expectativa de reunir un mnimo de 200 personas interesadas en las tecnologas informticas. La inscripcin est abierta, y ser gratuita, para cualquier estudiante, profesional, maestro, funcionario, investigador o apasionado del universo del software presente y futuro de nuestra era informtica. Para registrarse, entrar a http://congreso.gulag.org.mx. Nuestro objetivo es compartir con toda la comunidad el software, los conocimien-

tos, las ventajas y la filosofa del software libre. Como personas encontramos en ste el mejor camino para aprender, estudiar y trabajar; como empresarios usamos un software econmico, seguro y poderoso; como funcionarios pblicos representa estndares abiertos, un gran ahorro en el presupuesto y tambin el fomentar la creacin de empresas regionales; como investigadores, estamos a la par de los centros cientficos del primer mundo. El lema del Congreso es Vive Libre! Elige tu software libre! porque sabemos que el software trasciende a nuestra forma de vivir, de trabajar y de pensar. Para vivir en libertad de aprender, desarrollar y compartir usamos software libre. Y en ejercicio de esa libertad, tambin est la de eleccin, porque podemos escoger entre miles y miles de programas elaborados por voluntarios, empresas y gobiernos. Por ltimo, la libertad de compartir, queremos invitarte a ti a que experimentes esta forma de pensar. Es nuestra meta, como partidarios del movimiento de software libre, que nuestra comunidad comparta conocimientos, experiencias y filosofa. Para mayor informacin pueden consultar nuestro sitio en Internet http://con greso.gulag.org.mx, ah encontrarn el programa, los conferencistas, los talleres y la forma de registro del Congreso.

Campus Party Mxico, ms de 6000 asistentes, en el rea dedicada a Software Libre sube al estrado Guillermo Amaral, promotor del uso de KDE, FreeBSD, PC-BSD y del conocimiento libre entre usuarios. De una manera amena... muy amena mostr el trabajo del equipo KDE, trabajo muy interesante y divertido, puesto que el equipo de KDE trabaja muy bien, en armona y colaboracin, en constante comunicacin y abundante imaginacin; hecho que qued por dems demostrado en las imgenes que mostr el buen Guillermo. Parte de la pltica estaba tambin destinada a los usuarios que no haban tenido contacto con KDE, invitndolos a probar KDE y si es en un sistema operativo como FreeBSD o PC-BSD, mejor! :) Muchos de los asistentes se llevaron un DVD con este sistema operativo y la mayora de ellos lo probaron en ese momento dibujando una sonrisa al verlo trabajar es sus equipos. Otra parte de la pltica fue dirigida para los usuarios de KDE y todo aquel que quisiera (sea usuario o no) a colaborar con la promocin, distribucin y enseanza de KDE, FreeBSD y PC-BSD. Esta parte es una de las ms interesantes, sin quitarle el mrito a todo lo anterior, ya que es una de las cosas que el mundo del Software Libre le falta: Promocin. Se invit a todos los asistentes a participar y promover KDE; al momento de preguntar quienes deseaban colaborar se vieron muchas manos alzadas (una de ellas era la de un servidor) ya que no les importaba tanto el viajar de una ciudad a otra dentro de Mxico, o ir de un pas a otro, sino el dar a conocer la ventaja de usar KDE junto con FreeBSD o PC-BSD... muy bien, a muchos si les gust la parte del viajar. Al trmino de la pltica, muchos recibieron sus cuernitos, sus DVDs de PC-BSD y posaron para la foto... a partir de ese momento, en el evento Campus Party Mxico se vieron varios diablitos, todos con una gran sonrisa y no era para menos... Guillermo los contagi con su natural alegra. Para todo aquel que desee colaborar para KDE, pueden unirse a las listas de correo y a la lista de colaboradores en www.kde.org. Y si te interesa colaborar para KDE Mxico, puedes agregarte a la siguiente lista de correo https://mail.kde.org/mailman/listinfo/kdemexico.
Blog oficial PC-BSD

En el mes de agosto fue lanzado el blog oficial de PC-BSD en donde todos los usuarios de este sistema operativo pueden estar al tanto de las noticias. Este blog fue lanzado por Dru Lavigne, quien maneja A Year in the Life of a BSD Guru en la red, autor de BSD Hacks, The Best of FreeBSD Basics, y The Definitive Guide to PC-BSD. Blog muy completo sobre PC-BSD y que asiste ya a varios usuarios de este poderoso sistema operativo, puedes ingresar a: http:// blog.pcbsd.org y dejar tu comentario, duda o aportacin.

www.lpmagazine.org

seguridad Gestin de backups mediante Bacula

Gestin de backups mediante Bacula


Francisco Olcina Grande

Uno de los trabajos ms importantes que debe realizar un administrador de sistemas es el de realizar copias de seguridad peridicas verificando que se han efectuado correctamente, y que se pueden restaurar con relativa facilidad. Muchos administradores descuidan estas tareas, o bien las realizan mediante complejos scripts que carecen de la flexibilidad que proporcionan otros programas existentes. Bacula es una solucin Open Source que permite al administrador gestionar sus backups de una manera cmoda, flexible, y eficaz.

Introduccin

n el presente artculo se mostrar un ejemplo de implantacin de una poltica de backups, para un sistema real, utilizando Bacula.

Bacula es un conjunto de programas que permite al administrador de sistemas realizar copias de seguridad, as como restauraciones de datos localizados en una red de ordenadores. Tambin puede ser configurado para funcionar en un nico ordenador, y puede realizar las copias en varios medios de almacenamiento. La plataforma mostrada en este artculo, y de la cual se quiere realizar copias de seguridad, consta de las siguientes mquinas: Superlopez, Carpanta y Vicky. Por otro lado, la informacin a respaldar en todo el sistema ser: El sistemas de ficheros raz de cada mquina. Varios repositorios SVN alojados en la mquina Carpanta. Varias bases de datos MySQL en Superlopez. Un directorio LDAP en Carpanta.

Director: es el centro de decisiones de Bacula, dirige el resto de componentes. Lanza los trabajos, autentica contra los clientes, y controla las operaciones de backup. File Daemon: recibe las instrucciones del Director y se conecta con el sistema de ficheros del cliente para copiar los datos que el Director solicite. Storage: es el encargado de escribir los datos extrados de cada cliente en un soporte fsico. Catalog: es una base de datos donde se guarda la informacin de los trabajos realizados y de su informacin relativa: ficheros copiados, tamao, sumas MD5 de los mismos,...

es@lpmagazine.org

Se ha diferenciado entre servicios y ficheros porque la copia de los datos de dichos servicios ha de ser realizada mediante volcados, utilizando los programas que cada servicio ofrece a tal fin. Si nicamente se copian los directorios que cada servicio utiliza, se obtendr una copia inconsistente, al estar siendo utilizados en el momento de copiarse.

Funcionamiento de Bacula

En la Figura 1 se puede observar el esquema de funcionamiento de Bacula basado en los siguientes Figura 1. Esquema de funcionamiento de Bacula programas:

LiNUX+ 9/2010

seguridad Gestin de backups mediante Bacula

Listado 1a. Fichero de configuracin del Bacula Director


Director { Name = superlopez-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 1 Password = "XXXXXXXXXXXXXXXX" Messages = Daemon DirAddress = xxx.xxx.xxx.xxx } JobDefs { Name = "backup-raiz" Type = Backup Level = Incremental FileSet = "raiz" Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Default Priority = 10 # Console password # define myself

Client Run Before Job = "mount /mnt/raiz" Client Run After Job = "umount /mnt/raiz" } Job { Name = "backup-raiz-superlopez" JobDefs = "backup-raiz" Client = superlopez-fd Write Bootstrap = "/var/lib/bacula/backup-raiz-superlopez.bsr" } ## Aqu aparecera el Job { Name = "backup-ldap" Client = carpanta-fd Write Bootstrap = "/var/lib/bacula/ldap.bsr" Type = Backup Level = Incremental FileSet = "ldap" Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Default Priority = 10 Job backup-raiz-carpanta y backup-raiz-vicky

Client Run Before Job = "/root/scripts/ldap.sh" Client Run After Job = "rm /root/ldap.ldif" } Job { Name = "backup-mysql" Client = superlopez-fd Write Bootstrap = "/var/lib/bacula/mysql.bsr" Type = Backup Level = Incremental FileSet = "mysql" Schedule = "WeeklyCycle" Storage = File

www.lpmagazine.org

seguridad Gestin de backups mediante Bacula

Listado 1b. Fichero de configuracin del Bacula Director


Messages = Standard Pool = Default Priority = 10

Client Run Before Job = "/root/scripts/mysql.sh" Client Run After Job = "rm /root/dump.sql" } Job { Name = "backup-svn" Client = carpanta-fd Write Bootstrap = "/var/lib/bacula/svn.bsr" Type = Backup Level = Incremental FileSet = "svn" Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Default Priority = 10

Client Run Before Job = "/root/scripts/backup_svn.sh" Client Run After Job = "rm /tmp/svn/*.tgz" } Job { Name = "restore-raiz-superlopez" Type = Restore Client=superlopez-fd FileSet= "raiz" Storage = File Pool = Default

Messages = Standard Where = /tmp/bacula-restores Bootstrap = "/var/lib/bacula/backup-raiz-superlopez.bsr" } ## Aqu apareceran el resto de Jobs de tipo restore: ejecutan, el fileset, y el bootstrap utilizado. restore-raiz-carpanta, restore-raiz-vicky, restore-

mysql, restore-ldap, y restore-svn. La unica diferencia entre cada uno de ellos el el cliente donde se

# List of files to be backed up FileSet { Name = "raiz" Include { Options { signature = MD5 compression=GZIP } File = /mnt/raiz } Exclude { File = /mnt/raiz/var/tmp File = /mnt/raiz/var/lib/mysql File = /mnt/raiz/var/lib/svn File = /mnt/raiz/var/lib/ldap } }

10

LiNUX+ 9/2010

seguridad Gestin de backups mediante Bacula

Listado 1c. Fichero de configuracin del Bacula Director


FileSet { Name = "ldap" Include { Options { signature = MD5 compression=GZIP } File = /root/ldap.ldif } } #Aqui estara el FileSet de mysql, similar al de Ldap, pero respaldando el fichero dump.sql FileSet { Name = "svn" Include { Options { signature = MD5 } File = /tmp/svn } } Schedule { Name = "WeeklyCycle" Run = Full 1st sun at 23:05 Run = Differential 2nd-5th sun at 23:05 Run = Incremental mon-sat at 23:05 } # This schedule does the catalog. It starts after the WeeklyCycle Schedule { Name = "WeeklyCycleAfterBackup" Run = Full sun-sat at 03:10 } # This is the backup of the catalog and bootstrap files FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = /var/lib/bacula/bacula.db } } # Clients (File Services) to backup Client { Name = superlopez-fd Address = superlopez FDPort = 9102 Catalog = MyCatalog Password = "xxxxxxxxxxxxxxxx" File Retention = 15 days # password for FileDaemon # 15 dias

www.lpmagazine.org

11

seguridad Gestin de backups mediante Bacula

Listado 1d. Fichero de configuracin del Bacula Director


Job Retention = 15 days AutoPrune = yes } #A continuacin apareceran el resto de Clients: vicky, y carpanta, con una configuracin casi idntica salvo los parmetros Address y Password. # 15 dias # Prune expired Jobs/Files

# Definition of file storage device Storage { # Do not use "localhost" here Address = vicky SDPort = 9103 Password = "xxxxxxxxxxxxxxxxxxx" Device = FileStorage Media Type = File } Name = File

# N.B. Use a fully qualified name here

# Generic catalog service Catalog { Name = MyCatalog dbname = "bacula"; dbuser = "bacula"; dbpassword = "" }

# Default pool definition Pool { Name = Default Recycle = yes AutoPrune = yes Volume Retention = 15 days Maximum Volume Bytes = 4294967296 Maximum Volumes = 25 Label Format = "File-" }

Pool Type = Backup # Bacula can automatically recycle Volumes # Prune expired volumes # 15 dias #4Gb cada volumen

#100G en volumenes

Console: un interfaz modo consola de texto para interactuar con el Director. Se puede ver el estado de las operaciones efectuadas, lanzar trabajos, restaurar ficheros, verificar cada componente de Bacula,... Monitor: un sistema de monitorizacin que permite al administrador observar el estado de las operaciones mediante un interfaz grfico.

llamados Pools. Un sistema bsico de configuracin de Bacula, tendr al menos un Pool, y un volumen como mnimo dentro del Pool. El catlogo (Catalog) mencionado anteriormente guarda toda la informacin contenida en los volmenes, sus etiquetas, y los Pools utilizados.

Cmo almacena los datos

Puesta en marcha de bacula

Bacula es un sistema de backups flexible. Cada trabajo (Job) es un recurso que Bacula lanza con los siguientes parmetros: en qu cliente se realiza, qu es lo que se quiere copiar, cundo se quiere hacer, y dnde se quiere guardar. Los datos de los backups se guardan en unidades llamadas volmenes, que son unidades fsicas de almacenamiento (pueden ser ficheros tambin). Estos volmenes cuentan con una etiqueta (label), y se agrupan en conjuntos

Cada una de las mquinas del sistema debe ejecutar el File Daemon de Bacula (bacula-fd), por otro lado, el Bacula Director y el Storage Daemon han de ser ejecutados en una sola mquina (no necesariamente en la misma). Se ha escogido la mquina Superlopez para ejecutar el Director, y la mquina Vicky para almacenar los backups (dado que tiene ms espacio de disco). La instalacin que se muestra a continuacin es sobre Debian Lenny de 64 bits:

12

LiNUX+ 9/2010

seguridad Gestin de backups mediante Bacula

www.lpmagazine.org

13

seguridad Gestin de backups mediante Bacula

Listado 2. Fichero de configuracin del Storage Daemon


# # # # # # # # #

# Default Bacula Storage Daemon Configuration file For Bacula release 2.4.4 (28 December 2008) -- debian lenny/sid

# You may need to change the name of your tape drive resource. on the "Archive Device" directive in the Device If you change the Name and/or the

that dird.conf has corresponding changes.

"Media Type" in the Device resource, please ensure

Storage {

Name = "File"

# definition of myself # Director's port

SDPort = 9103

WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 } # # SDAddress = xxx.xxx.xxx.xxx

# List Directors who are permitted to contact Storage daemon Director {

Name = superlopez-dir

} # # #

Password = "xxxxxxxxxxxxxxxxxxxx"

# Restricted Director, used by tray-monitor to get the status of the storage daemon

Director {

Name = superlopez-mon Monitor = yes

Password = "xxxxxxxxxxxxxxxxxxxx" } #

# Devices supported by this Storage daemon # # same Name and MediaType.

# To connect, the Director's bacula-dir.conf must have the

Device {

Name = FileStorage Media Type = File Archive Device = /storage/bacula LabelMedia = yes; Random Access = Yes; RemovableMedia = no;

# lets Bacula label unlabeled media # when device opened, read it

AutomaticMount = yes; AlwaysOpen = yes;

} #

# Send all messages to the Director, #

# mount messages also are sent to the email address Messages {

Name = Standard

director = superlopez-dir = all

14

LiNUX+ 9/2010

seguridad Gestin de backups mediante Bacula

Instalacin de Bacula director en Superlopez


Se instala el meta paquete bacula, que por defecto instalar el cliente tambin:
superlopez:~# apt-get install bacula

Una vez instalado el Bacula Director, se ha de configurar a mano el fichero /etc/bacula/bacula-dir.conf

Configuracin del Bacula Director


Director funciona mediante el uso de varios recursos, a continuacin se explicarn cules son y cmo han de ser configurados para realizar los backups planeados.

copiar nicamente la particin raiz, excluyendo otros sistemas de ficheros tanto fsicos como virtuales. Fichero ldap.ldif: se realizar una copia del volcado del servidor ldap contenido en Carpanta en un fichero llamado ldap.ldif. Se copiar el volcado utilizando un fileset personalizado. Fichero dump.sql: se realizar un volcado de la base de datos MySQL contenida en Superlopez. Se copiar el volcado utilizando un fileset personalizado. Directorio /tmp/svn: en este directorio se alojarn los volcados de cada repositorio SVN ya comprimidos. Se copiar el directorio completo utilizando un fileset personalizado.

Recurso Pool
Define el conjunto de volmenes usados por Bacula para escribir los datos. Para el diseo planteado se utilizar un solo Pool de 100G mximo. Los volmenes que almacene el Pool tendrn 4G de tamao, por si se desean copiar posteriormente los volmenes a discos DVD. El nmero mximo de volmenes para el Pool, ser de 25, dando los 100G totales. Bacula permite reciclar volmenes para mantener siempre el mismo espacio mximo ocupado de backups. Hay varios mtodos para llevar a cabo el reciclaje, en este caso se configurar para reciclar los volmenes que contengan los datos ms antiguos. Se marcar tambin un lmite de 15 das de retencin de cada volumen, para asegurar tener los backups de los ltimos 15 das en todo momento. Es tarea del usuario realizar los clculos para ver cunto tiempo puede retener los volmenes en funcin del espacio disponible para el pool (si se marcase un nmero mximo de volmenes para el pool). Si se llega a una situacin en la que Bacula necesita un nuevo volumen, se ha alcanzado el nmero mximo, y no se puede reciclar ninguno porque todos tienen menos das de los indicados para la retencin, se enviara un mensaje al administrador para que intervenga manualmente.

El momento de realizar estos volcados y los programas ejecutados para ello, se ver en los recursos Job, ms adelante.

Recurso Catalog
Se utiliza para conectarse a la base de datos interna de Bacula, en la configuracin han de aparecer los datos de conexin a la base de datos, segn el tipo que tenga. En este caso es una base de datos SQLite.

Recursos Schedule
Estos recursos definen las fechas en las cuales se realizarn los backups, as como el tipo de backup a realizar (entero, diferencial o incremental). Los calendarios configurados son los siguientes: Semanal cclico: realiza un backup completo el primer domingo de cada mes, diferencial el resto de domingos, e incremental de lunes a sbado. La hora de inicio es a las 23:05. Semanal cclico posterior: backup completo diario, se utilizar para respaldar el catlogo una vez ejecutados todos los trabajos. La hora de inicio es las 03:10.

Recursos Job
Son los recursos donde se programa el trabajo de backup a realizar. Los parmetros ms importantes que se definen son los siguientes: Dnde realizar el backup: se utiliza para ello un recurso Client. Qu copiar: se utiliza un recurso FileSet. Cundo: se utiliza un recurso Schedule. Dnde se guarda: se utiliza un recurso Pool. Tipo de trabajo: hay dos tipos principales, backup y restore, el primero para que Bacula guarde los datos y el segundo para que Bacula restaure los datos. Comando a ejecutar en el cliente antes de realizar el trabajo: utilizado para montar el raz en /mnt/raiz, o para hacer los distintos volcados de los servicios a un fichero o directorio para su posterior copia. Comando a ejecutar en el cliente despus de realizar el trabajo: para desmontar el /mntr/raiz, o borrar los ficheros y directorios de volcado.

Recurso Storage
Define la conexin con el demonio de Storage y que tipo de almacenamiento provee, siendo de tipo fichero en este caso. Como el demonio Storage correr a cargo de Vicky, se pondr la informacin de conexin con Vicky.

Recursos Client
Cada mquina ejecuta el demonio File Daemon para que el Director pueda conectarse y acceder al sistema de ficheros. En el Director ha de configurarse la conexin con cada File Daemon mediante estos recursos.

Recursos FileSet
En estos recursos se define el directorio o directorios de los cuales se quiere realizar backups, as como diversas opciones cmo la compresin utilizada (GZIP6 por defecto). Se definir un fileset para cada uno de estos casos: Sistema de ficheros raz: se montar en cada mquina el raiz en el directorio /mnt/raiz, de esta forma se asegura

Existe un recurso denominado JobDefs que se utiliza para agrupar caractersticas comunes de varios Job, y no tener que repe-

www.lpmagazine.org

15

seguridad Gestin de backups mediante Bacula

tir los mismos parmetros en cada Job, poniendo el JobDefs correspondiente. Para el ejemplo, se utilizarn los siguientes Jobs para realizar backups: Raz de vicky, Raz de superlopez,
Listado 3. Fichero de configuracin del File Daemon en Vicky
# # Default # # # # There is not much to change here except perhaps the # File daemon Name to # Bacula File Daemon Configuration file

Raz de carpanta, Volcado de ldap, Volcado de svn, Volcado de MySQL, Catlogo de Bacula,

For Bacula release 2.4.4 (28 December 2008) -- debian lenny/sid

# # List Directors who are permitted to contact this File daemon # Director { Name = superlopez-dir Password = "xxxxxxxxxxxxxxxxxxxxx" }

# # Restricted Director, used by tray-monitor to get the # # Director { Name = superlopez-mon Password = "xxxxxxxxxxxxxxxxx" Monitor = yes } status of the file daemon

# # "Global" File daemon configuration specifications # FileDaemon { Name = vicky-fd FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 FDAddress = xxx.xxx.xxx.xxx } # this is me # where we listen for the director

# Send all messages except skipped files back to Director Messages { Name = Standard } director = superlopez-dir = all, !skipped, !restored

16

LiNUX+ 9/2010

seguridad Gestin de backups mediante Bacula

Cada uno de estos trabajos tendr su correspondiente Job de restauracin, que se realizar en el directorio /tmp de la mquina cliente correspondiente a los datos resguardados. Una vez vistos todos los recursos de los que se compone la configuracin del director, se muestran las partes ms importantes del fichero de configuracin en el Listado 1. Se han omitido las contraseas y direcciones ip por motivos de privacidad. Para obtener sus propias contraseas, y los hash correspondientes, sustituyendo las que Bacula pone por defecto, se puede utilizar el comando md5sum:
superlopez:~# echo "contrasea-secreta" | md5sum ba9333e6822fcb59a9b76c2fc2fe81c9 -

1000 OK: superlopez-dir Version: 2.4.4 (28 December 2008) Enter a period to cancel a command. *run Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" A job name must be specified. The defined Job resources are: 1: backup-raiz-superlopez 2: backup-raiz-carpanta 3: backup-raiz-vicky 4: backup-ldap 5: backup-mysql 6: backup-svn 7: BackupCatalog 8: restore-raiz-superlopez 9: restore-raiz-vicky 10: restore-raiz-carpanta 11: restore-mysql 12: restore-ldap 13: restore-svn Select Job resource (1-13):

Instalacin del Storage Daemon

En la mquina Vicky, destinada a almacenar los backups, se instalar el Storage Daemon y el File Daemon:
vicky:~# apt-get install bacula-client bacula-sd-sqlite

La configuracin de ambos demonios es mucho ms sencilla que la del Director. En el Listado 2 aparece el contenido del fichero /etc/bacula/bacula-sd.conf, y en el Listado 3 el contenido del fichero /etc/bacula/bacula-fd.conf El resto de ficheros de configuracin pertenecen a los File Daemon de Carpanta, y de Superlopez. Ambos son muy similares al mostrado en la figura 4 para Vicky.

Indicando al final cul de los trabajos queremos lanzar (ntese que aparecen tanto los trabajos de backup, como los de restauracin).

Conclusiones

Utilizando Bacula

Una vez establecidos los ficheros de configuracin, y reiniciados los demonios, el sistema empezar a trabajar automticamente cuando llegue la hora de lanzamiento de los trabajos. Para verificar que todo es correcto y poder lanzar algn trabajo manualmente, se puede utilizar el comando bconsole (instalado por defecto en la misma mquina que contiene el Director, en este caso Superlopez). Para lanzar un trabajo de forma manual el procedimiento es el siguiente:
superlopez:~# bconsole Connecting to Director superlopez:9101

En la red
Pgina principal de Bacula: http://bacula.org Documentacin de Bacula: http://bacula.org/5.0.x-manuals/en/main/main/index.html Volcado de bases de datos MySQL: http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html Volcado de un directorio LDAP: http://linux.die.net/man/8/slapcat Copia online de un repositorio SVN: http://svnbook.red-bean.com/en/1.0/re33.html

En este punto ya se ha podido observar la flexibilidad que tiene Bacula para adaptarse a una poltica puntual de backups. Aunque no todo son ventajas para este producto: Bacula tiene el inconveniente (o virtud para muchos administradores de la vieja escuela) de configurarse mediante ficheros de texto y sin un interfaz grfico que facilite la tarea, salvo para realizar la monitorizacin. Adems, tiene una configuracin un poco engorrosa de entender al principio, convirtindolo en un producto no apto para usuarios noveles en sistemas Linux. Por otro lado, un administrador avanzado, en poco tiempo ser capaz de realizar una configuracin adaptada a sus necesidades, y sacar el mximo provecho de la potente herramienta bconsole para verificar o restaurar sus backups. Cabe resear que Bacula tambin dispone de clientes (File Daemons) para las distintas versiones de Windows, y por lo tanto se pueden realizar backups de estos sistemas sin problemas, siempre que se cuente con una mquina Linux para el Director y el Storage Daemon.

Sobre el autor
Francisco Olcina Grande es Ingeniero Tcnico en Informtica de Gestin y cursa actualmente los estudios de Ingeniero Informtico superior en la Universidad Carlos III de Madrid. Es experto en administracin de sistemas y soluciones de alta disponibilidad basadas en software libre. En la actualidad trabaja realizando tareas de administracin de sistemas en la misma universidad donde cursa sus estudios.

www.lpmagazine.org

17

seguridad Cuestin de imagen: distribucin Ad|Quiere

Ad|Quiere: distribucin
Francisco Lzaro

gratuita para imgenes forenses


En los comienzos de la Informtica Forense los investigadores se limitaban a copiar los archivos que les podan servir como evidencia. Si sospechaban que algunos de ellos haban sido borrados intentaban recuperarlos con 'undelete' -aquel misterioso comando que solo conocan los gurs autodidactas del MS-DOS-. La bsqueda de carcteres se llevaba a cabo con el Norton Disk Editor. No pocas veces sorprendimos de este modo al legendario Viernes 13 agazapado en las interioridades de nuestro sistema.

odo ello con el ordenador en marcha, trabajando sobre el soporte de datos y sin estndares de ningn tipo. La cadena de custodia solo exista para entidades fsicas como revlveres o manchas de sangre. Por aquel entonces pocos pensaban que las leyes de la criminologa y el principio de Locard, por no hablar de los conceptos del derecho, fuesen aplicables a cosas tan abstractas como software, archivos de ordenador o conexiones de red. Semejante modo de hacer las cosas ya no es admisible ante un tribunal. En la actualidad la adquisicin de evidencia electrnica se somete a rigurosos mtodos creados por los propios investigadores. En el anlisis post-mortem de un soporte de datos (disco duro, diskette, llave USB, unidad ZIP, CD, DVD, iPod, etc.), el primer paso para un trabajo forense de calidad consiste en obtener una imagen en bitstream que incluya no solamente toda la informacin visible del sistema, sino tambin archivos borrados, espacio sin asignar en disco, huecos entre particiones e incluso zonas de acceso restringido por el fabricante (p. ej. HPA y DCO). Los sistemas de archivos deben montarse en modo de solo lectura, mediante writeblockers o recursos software. Se calculan hashes y sumas de verificacin -normalmente MD5 y SHA- para el disco duro y su imagen. Una vez comprobada la coincidencia entre las cifras correspondientes a una y a otro, el soporte fsico ser precintado y todas las operaciones de bsqueda y anlisis se realizarn sobre la imagen adquirida, con herramientas validadas y una minuciosa documentacin. Nuestro objetivo consiste en obtener evidencia de calidad que pueda servir para presentar como prueba ante un tribunal. Como muy pronto se tendr ocasin de ver, en el trabajo del investigador forense todo es cuestin

de imagen. Naturalmente no nos referimos a la mera apariencia ni a esa arma letal de la consultora moderna que es el ataque blablah, sino a las imgenes binarias obtenidas por herramientas informticas que funcionan a bajo nivel.

es@lpmagazine.org

Objetivos

El presente artculo comienza hablando de la prueba electrnica y la capacitacin del perito informtico forense. Acto seguido se examinar la distribucin Ad|Quiere, un proyecto colaborativo de la empresa blueliv y AEDEL (Asociacin Espaola de Evidencias Electrnicas). Finalmente se expondr un ejemplo prctico para demostrar cmo Linux puede engarzarse en complejas cadenas de operaciones que aparentemente no conocen lmites entre plataformas y sistemas operativos: con una tarjeta SCSI de segunda mano comprada en un desguace y la herramienta Linen -incluida en la distribucin de AEDEL-, intentaremos adquirir el disco duro de un antiqusimo

Figura 1. Ad|Quiere mostrando el escritorio GNOME y la estructura de mens caracterstica de Ubuntu

18

LiNUX+ 9/2010

seguridad Cuestin de imagen: distribucin Ad|Quiere

Listado 1. Deteccin de la tarjeta ADAPTEC y el disco duro SCSI


ubuntu@ubuntu:~$ dmesg | grep SCSI [ [ [ [ [ [ [ 0.893947] SCSI subsystem initialized 3.302476] sd 0:0:0:0: [sda] Attached SCSI disk 3.324475] sd 0:0:1:0: [sdb] Attached SCSI disk 9.636078] scsi2 : Adaptec AIC79XX PCI-X SCSI HBA DRIVER, Rev 3.0 9.636082] 9.636084] <Adaptec 29320A Ultra320 SCSI adapter> aic7901: Ultra320 Wide Channel A, SCSI Id=7, PCI 33 or 66MHz, 512 SCBs

13.383938] sd 2:0:0:0: [sdc] Attached SCSI disk

Listado 2. Volcado de cadenas de texto de la imagen binaria con 'strings'


ubuntu@ubuntu:~$ strings imagen_macintosh.E01 > resultado.txt ubuntu@ubuntu:~$ cat resultado.txt | less ........................................................................ ........................................................................ ................ Lneas sumprimidas .................................... ........................................................................ ........................................................................ A fin de poder importar texto, el correspondiente filtro de conversiones debe hallarse en el mismo lugar en el que se guarda el programa QuarkXPress. La funci Convertir comillas convertir las comillas, los strofos y los dobles guiones (", ' y --) a sus equivalentes tipogr ficos ( , `, ). El tipo de comillas que ser n sustituidas depender de la selecci n que se realice en el cuadro de di logo Preferencias de la aplicaci n. La funci Incluir hojas de estilo determina si las definiciones de hojas de estilo personalizadas se importan con el texto desde documentos MS Word y Marcas XPress, y si se realiza la conversi n de marcas de estilo XPress incluidas en un fichero de texto ASCII. ........................................................................ ........................................................................ ................ Lneas sumprimidas .................................... ........................................................................ ........................................................................

ordenador Macintosh, obteniendo a partir de l una imagen a bajo nivel en el formato EWF de EnCase para ser utilizada por esta conocida suite forense de Guidance Software Inc (California), de la cual se sirven autoridades judiciales, departamentos de polica y agencias de seguridad de numerosos pases.

Valoracin de las pruebas electrnicas

Para un informtico la obtencin de evidencia digital no plantea mayor dificultad que la que pueda presentarse a la hora de hacer un backup: conectar el disco, encender la mquina, introducir comandos y esperar que el sistema termine. Pero el mbito jurdico, al cual va destinada la evidencia, no se rige

www.lpmagazine.org

19

seguridad Cuestin de imagen: distribucin Ad|Quiere

por la mentalidad lineal del ingeniero, sino por los alambicados conceptos del derecho. El destino de toda prueba, ya sea convencional o electrnica, es ser presentada ante un tribunal, y la validez jurdica de aquella depender de las circunstancias en que haya sido conseguida. Pruebas fsicas pueden ser el disco duro, archivos de registro, un informe pericial e incluso huellas dactilares. Estas evidencias son llevadas al proceso por personas que despus tienen que explicarlas y hacer valer su carcter probatorio en relacin con los hechos juzgados. Por s misma la prueba fsica, es decir, el objeto evidencial hallado en el lugar de los hechos, no sirve para demostrar nada. La fuerza probatoria no se manifiesta hasta que intervienen las personas que hallaron la evidencia o aquellas que han de explicarla en relacin con la causa que se juzga. Existe una estrecha relacin entre la prueba fsica (disco duro, log del sistema, mensaje de correo electrnico, volcado de memoria, etc.) y la prueba personal (intervencin del perito forense ante el juez). El carcter probatorio de una evidencia, ya sea electrnica o de cualquier otro tipo, depende de la profesionalidad con que la misma haya sido obtenida y de la actuacin de la persona encargada de explicarla en el proceso.

punto de partida de la Informtica Forense -al menos en lo que respecta a los anlisis post mortem- lo constituye la imagen en bitstream del medio sospechoso. No estamos recuperando una tesis doctoral ni fotos de las vacaciones perdidas por una imprudencia del usuario, sino participando en un negocio jurdico que puede tener graves repercusiones cuando lo que se juzga son delitos penales. La pericia tcnica no basta. Aqu de lo que se trata es de preservar objetos evidenciales, mantener la cadena de custodia y realizar duplicados exactos resistentes a las sumas de verificacin y los argumentos de la parte contraria.

Ad|Quiere: proyecto colaborativo

Cualificacin del experto

El juez comprueba minuciosamente la presentacin de las pruebas ante el tribunal y los mtodos empleados en la consecucin de las mismas. Pierde credibilidad quien aporta sus pruebas de manera inadecuada, realizando afirmaciones rebatibles o divagando caprichosamente sobre la evidencia y su significado. Esto puede hacer que la prueba quede invalidada en el proceso. Por consiguiente la integridad y la credibilidad de las personas constituyen elementos esenciales de la prueba. La persona que presenta las pruebas es tan importante como la prueba en s. Un informe impecable se puede echar a perder por la exposicin inadecuada del mismo, por ejemplo, hablando de meras suposiciones como si fuesen hechos irrefutables. Por el contrario una intervencin profesional, acompaada de una minuciosa documentacin y alegaciones objetivas, ser de gran ayuda a la hora de presentar pruebas electrnicas delante de un tribunal. Es precisamente en la obtencin de la evidencia digital donde las buenas prcticas han de observarse con mayor rigor. El

AEDEL y blueliv, entidades promotoras de AdQuiere, que aspira a ser la primera distribucin forense de Linux para la comunidad de habla hispana, comienzan su proyecto colaborativo incluyendo en la versin preliminar (0.8) dos importantes herramientas para duplicaciones forenses: (GNU) AIR y Linen. Esta ltima, como se ha dicho, permite realizar imgenes en el formato EWF de EnCase Forensics para ser analizadas por el conocido software de investigacin policial de la empresa Guidance. Ad|Quiere v. 0.8 es una distribucin basada en Ubuntu que adems del software mencionado incorpora herramientas nativas de Linux para la realizacin de imgenes y firmas digitales. Est configurada para reconocer automticamente discos externos USB y volcar en ellos el resultado de las adquisiciones. A tal efecto dispone de ayudas paso a paso que en el caso de Linen permiten realizar la adquisicin de un soporte de datos por cualquier persona que posea conocimientos elementales de informtica, lo cual facilita la divisin del trabajo en las investigaciones forenses. AEDEL y blueliv quieren ir ms all y prximamente pondrn a punto una versin 1.0. Ad|Quiere 0.8 es por lo tanto un modelo de partida puesto a disposicin del pblico en forma de TO-DO colaborativo. Previamente a la liberacin de la versin 1.0 se tiene previsto publicar en la pgina de AEDEL (http://aedel.es) una entrada en la que se especificarn las nuevas caractersticas de Ad|Quiere 1.0, resultantes de la incorporacin de sugerencias y cambios propuestos por los asociados, profesionales y usuarios en general.

Ad|Quiere en accin

Ad|Quiere se descarga desde la pgina web de AEDEL en forma de imagen ISO para grabar en un CD. Basada en Ubuntu, su

Figura 2. Consola bash. Obsrvese en la parte de abajo la deteccin de una tarjeta SCSI con un disco duro conectado

Figura 3. Navegador de archivos

20

LiNUX+ 9/2010

seguridad Cuestin de imagen: distribucin Ad|Quiere

www.lpmagazine.org

21

seguridad Cuestin de imagen: distribucin Ad|Quiere

sobre la configuracin del hardware y del sistema operativo en formato XML, que despus puede ser enviado a una direccin de correo electrnico. Lo nico que se echa en falta es el programa dd_rescue, una utilidad que permite realizar imgenes de discos duros con sectores defectuosos. Sirva esto como sugerencia a los desarrolladores para que la incluyan en la versin 1.0.

AIR y Linen

Figura 4. Pantalla principal de la herramienta de duplicacin AIR

manejo resulta fcil e intuitivo. Lo primero que se ve despus del arranque es el escritorio y la estructura de mens tpica del entorno de ventanas GNOME. Ad|Quiere configura la red en el arranque. Si disponemos de un router ADSL con DHCP habilitado o un mdem de cable la salida a Internet es inmediata. Ad|Quiere no solamente es una plataforma forense, tambin sirve para navegar por la web sin dejar rastros en el ordenador y como herramienta para llevar a cabo tareas de mantenimiento y reparacin. Ad|Quiere dispone de herramientas nativas Linux para duplicados forenses e investigacin, entre ellas fdisk, dd, grep, find y la suite The Sleuth Kit de Brian Carrier. Tambin incluye Gparted (Administration Partition Editor) y el sistema de gestin de etiquetas Tomboy. La configuracin del teclado se lleva a cabo del mismo modo que para cualquier otra distribucin del tipo Ubuntu: seleccionando en Preferencias del sistema la lengua de Cervantes y dando de baja el layout USA. De este modo no tendremos que privarnos de nuestra apreciada ee ni andar probando teclas para encontrar barras, puntos, arrobas, smbolos del euro y dems. Una utilidad muy interesante para el experto que desee conocer a fondo el sistema que est tratando de adquirir es System Testing, la cual permite obtener un informe detallado

La duplicacin de soportes constituye una operacin crucial en Informtica Forense, y resultaba obligado que Ad|Quiere comenzara por aqu: situando las herramientas de adquisicin forense AIR y Linen en lo ms visible del escritorio. AIR es un front-end para dd, el comando para operaciones a bajo nivel ms poderoso de todos los tiempos. Para los pocos usuarios de GNU Linux que aun no hayan oido hablar de l: se trata de una especie de pinza multiherramienta para bytes, un programa antiqusimo creado a finales de los aos 60, pero que en la actualidad forma parte de la prctica totalidad de sistemas basados en Unix: BSD, Solaris, Linux e incluso Apple OSX. A propsito, algo que pocos conocen: tambin existe una versin de dd para Windows. Linen, por su parte, tiene un gran inters para departamentos de polica cientfica y agencias de seguridad, donde es frecuente utilizar para la investigacin forense el programa En Case de la empresa Guidance Software, el cual funciona sobre plataformas Windows. EnCase se ha hecho popular por su extraordinaria potencia y el hecho de estar homologado por autoridades judiciales de todo el mundo. Con Linen, que no es otra cosa que una versin para Linux del propio software de adquisicin de Guidance, podemos obtener imgenes binarias de discos duros y otros soportes de datos en el formato EWF utilizado por EnCase.

Adquisicin forense para dummies

Un tutorial confeccionado por los expertos de blueliv nos acompaa a lo largo del proceso. Lo primero que se nos pide es que conectemos un disco duro externo a travs de uno de los puertos USB del ordenador objetivo, por supuesto con capacidad suficiente para admitir la imagen del soporte que se tiene previsto adquirir. Si el medio de destino no tiene un sistema de archivos FAT32, imprescindible para el output de Linen, habr que formatearlo con cualquiera de las utilidades incluidas en Ad|Quiere, por ejemplo Gparted. Para adquirir volmenes grandes Linen trocea la imagen en archivos de un tamao especificado por el usuario dentro de los lmites tolerados por EnCase. Recurdese que 4 GB es el ma-

Figura 5. Un paso previo imprescindible: formatear el disco de destino con un sistema de archivos FAT32

Figura 6. Gparted: deteccin, creacin, eliminacin y formateo de particiones

22

LiNUX+ 9/2010

seguridad Cuestin de imagen: distribucin Ad|Quiere

yor tamao de archivo admitido por una particin FAT32. Linen permite extraer los hashes y comprimir los datos si no disponemos de espacio suficiente en el volumen de destino. Esta ltima opcin puede suponer un incremento de tiempo considerable.

Conectando el hardware

Paleontologa informtica

Podramos probar Ad|Quiere/Linen copiando nuestra particin de arranque, una llave USB o la tarjeta de memoria de una cmara digital. Pero esto es pedir a Linux demasiado poco. Qu habra sido de Hrcules si en vez de limpiar los establos del rey Augias desviando un ro se hubiera limitado a certificar su condicin de suelo antiguo contaminado? Pensando en algn reto ms ambicioso nuestra vista se posa sobre el objeto ms vetusto del laboratorio, un disco duro SCSI del ao 1993, perteneciente a un ordenador Macintosh, que hasta la fecha no hemos podido examinar porque todo lo que tenemos por aqu son arquitecturas Intel e interfaces IDE/SATA. Lo hemos estado utilizando como pisapapeles, pero ahora es el momento de plantearse una interesante pregunta: Podramos, con la ayuda de Linux, adquirir una imagen binaria de este fsil informtico? Suponiendo que lo consigamos hay otra dificultad: no tenemos nada que nos permita navegar por sistemas de archivos HFS (propios de los ordenadores Apple). Podramos recurrir a herramientas de data carving para extraer material y analizarlo despus en nuestra estacin de trabajo, pero la mayor parte de los archivos de mediados de los aos noventa son demasiado antiguos para que su firma -la secuencia de caracteres inicial correspondiente a cada tipo de archivo, tambin denominada nmero mgico- est includa en el archivo /usr/share/file/ magic. Adems los archivos HFS y Apple plantean otros problemas que dificultan la bsqueda con Foremost o Scalpel. Podremos, eso s, examinar la imagen con un editor hexadecimal y buscar cadenas de caracteres y expresiones regulares. Otra posibilidad consiste en adquirir el disco con Linen y llevar la imagen a una plataforma equipada con el software de Guidance. EnCase reconoce particiones HFS y HFS+. Aunque probablemente no muestre los archivos en su formato original -para ello necesitara tener una coleccin de plug-ins muy amplia-, al menos podremos listarlos y examinar el contenido a travs de visores de texto y otras herramientas incrustadas.

En una tienda de material informtico de segunda mano adquirimos por 10 una tarjeta SCSI marca ADAPTEC ASC-29320A junto con un cable de conexin de 50 pines y el terminador (necesario para cerrar toda cadena de dispositivos SCSI). He aqu otra antigualla que ya casi nadie usa. Pero aqu nos va a ser de gran utilidad. Insertamos la controladora en una de las ranuras de expansin PCI del ordenador, enchufamos al disco duro el cable de datos y a una de las tomas sobrantes de la fuente de alimentacin y arrancamos con el CD-live de Ad|Quiere dentro del lector -regrabadora de DVDs convencional de la marca LG-. Una vez iniciado el sistema, abrimos en el escritorio una consola bash y comprobamos que tanto el interfaz SCSI como el disco duro han sido detectados correctamente:
ubuntu@ubuntu:~$ dmesg | grep SCSI

La salida aparece en el listado 1. Otra de las ventajas de Linux es que no necesitamos instalar drivers para este tipo de componentes. Basta colocar la tarjeta controladora y encender el ordenador. El Live-Cd de Ad|Quiere -al igual que la mayor parte de las distribuciones Linux- la reconoce de inmediato. La conexin del disco duro SCSI tambin puede verificarse a travs del Partition Editor, inicindolo con el men de GNOME o llamndolo desde la consola:
ubuntu@ubuntu:~$ sudo gparted

Aparte de dar algunas cifras relativas al tamao del soporte, el editor de particiones poco ms nos dice, ya que no est preparado para detectar particiones HFS. Pero eso tampoco es necesario para poder adquirir el disco duro con Linen o herramientas nativas de Linux.

Realizacin de la imagen

El manejo de Linen, con su espartano interfaz diseado originariamente para funcionar con diskettes autoarrancables de MS-DOS, dista de ser intuitivo, por lo que antes se recomienda leer el tutorial de AEDEL. Al iniciar el programa lo primero que se pide al usuario es que conecte el medio de destino, que co-

Figura 7. Linen solicitando conexin del disco de destino antes de volcar la imagen
Figura 8. Si falta algo, lo podemos instalar desde el repositorio de software

www.lpmagazine.org

23

seguridad Cuestin de imagen: distribucin Ad|Quiere

Figura 9. Interfaz principal de EnCase despus de cargar una imagen

Figura 10. Archivos de un volumen HFS vistos a travs de EnCase. Obsrvense los respectivos forks (extensin resource)

mo se ha dicho antes deber estar formateado con un sistema de archivos FAT32. Una vez ejecutado el paso anterior se muestra la pantalla principal de Linen. La adquisicin es autoguiada, con mensajes de ayuda e indicaciones que van mostrndose en la parte izquierda de la ventana. Para pasar de una etapa a otra no hay ms que pulsar con la flecha del ratn sobre los botones Next o Back. Un detalle importante: a la hora de seleccionar el medio de destino no debemos pasar por alto que nuestro soporte FAT32 est montado en el directorio /media. Es necesario escribir la ruta completa (/media/scd), de lo contrario Linen se atascar y no habr adquisicin. Nuestro disco duro SCSI tiene una capacidad de 160 MB. Han ledo bien: megabytes, no gigas. Hoy nos puede parecer irrisorio, pero en 1993 este era un volumen ms que respetable. En l caban todas las aplicaciones punteras de la poca para ordenadores Apple: MacWrite, QuarkXPress, las Utilidades Norton y un largo etctera de software de altas prestaciones grficas, dejando todava mucho espacio para documentos y archivos. Valga esto a modo de reflexin sobre la forma en que los paquetes de software -sobre todo software propietario- tienden a crecer acaparando todo el volumen disponible en disco sin que ello se traduzca en un incremento proporcional de utilidad para el usuario.

nos de herramientas nativas del sistema o instalando software adicional con Add/Remove Applications; segundo, trasladar la imagen binaria a nuestra estacin de trabajo Linux. Una operacin de tallado de archivos (data carving) llevada a cabo con Foremost nos permite recuperar algunos archivos grficos de contenido trivial: logotipos, figuritas de ejemplo para hojas de clculo y presentaciones, etc. Todo en JPG y GIF. Ms no se puede hacer, como no seamos unos linces en la lectura de cdigo hexadecimal. Las herramientas de tallado de archivos, como Foremost y Scalpel, funcionan mediante la deteccin de firmas caractersticas de los diferentes tipos de archivos. Las secuencias de caracteres iniciales utilizadas en 1994 -y menos en un entorno como el Mac- no figuran en el archivo de configuracin de los programas de data carving. Muy probablemente tampoco las hallaremos en el archivo /usr/ share/file/magic. Todava hay algunas cosas que podemos hacer con esta imagen, por ejemplo examinarla a travs de un editor hexadecimal. Ms prctico resulta extraer cadenas de texto mediante el comando strings, muy utilizado en Informtica Forense para el anlisis de binarios y ejecutables:
ubuntu@ubuntu:~$ strings imagen_macintosh.E01 > resultado.txt

Anlisis de la imagen

Una vez terminada la adquisicin habr finalizado la tarea de Ad|Quiere v. 0.8, que fue diseada para hacer precisamente esto: imgenes forenses. Ahora tenemos dos opciones: primero, seguir utilizando Ad|Quiere para interpretar los datos, sirvindo-

El resultado es un archivo sin estructura de 37 megabytes, con lneas de cdigo y texto procedente de archivos del sistema operativo, programas, mens de ayuda, documentos del usuario y otros jeroglficos, por cuyo interior no resulta fcil

Figura 11. Disco SCSI procedente de un MacIntosh antediluviano

Figura 12. Tarjeta SCSI ADAPTEC utilizada en la adquisicin del Mac

24

LiNUX+ 9/2010

seguridad Cuestin de imagen: distribucin Ad|Quiere

orientarse. Como muestra se pueden ver algunas lneas de texto en el listado 2, que nos permiten comprobar que en este ordenador MacIntosh hubo una versin del conocido software de autoedicin QuarkXPress. Pero en el interior de este limaco hay cientos de miles de lneas. Lo que podamos descubrir depender de nuestra habilidad para realizar bsquedas creativas y sobre todo de nuestra paciencia.

y gran cantidad de correspondencia comercial. Tras el anlisis el archivo fue borrado del ordenador y el CD destruido. En mi laboratorio hice lo mismo eliminando todas las copias de la imagen adquirida con Linen.

Conclusiones

Visualizacin con EnCase

Habiendo realizado nuestra adquisicin a travs de Linen, lo interesante sera tener acceso a una estacin de trabajo equipada con EnCase. Por fortuna uno de mis conocidos trabaja como jefe de seguridad informtica para una gran empresa, y en su departamento utilizan el programa de Guidance para auditoras e investigaciones internas. No hay otra posibilidad, ya que este carsimo software solo est al alcance de clientes institucionales. Me pongo en contacto con mi amigo, que accede a mi ruego con dos condiciones: no mencionar el nombre de la empresa y que le haga llegar un ejemplar de conformidad de mi artculo. El examen fue rpido, por tratarse de una imagen de solo 160 MB que cabe de sobra en un CD. EnCase reconoci al instante la adquisicin realizada con Linen y pronto pudimos ver el rbol de directorios Macintosh, junto con gran nmero entradas correspondientes al sistema operativo, aplicaciones y documentos archivados en una carpeta con el rtulo harto explicativo de Clientes. Como era de esperar, EnCase no mostr el formato original de los documentos, pero a travs de su interfaz de gestin de casos y su visor de texto en bruto pudimos ver el contenido. En la Figura 10 se aprecian las dos entradas tpicas para cada archivo. Esta es la estructura caracterstica del sistema HFS, con dos forks para cada archivo (no confundir con los forks de programacin en C que hacen referencia a la bifurcacin de procesos). En el mundo Apple el trmino fork significa un flujo de datos en disco. Cada archivo consta generalmente de dos -aunque pueden ser ms-, uno para el contenido, y otro para informaciones diversas que permiten abrirlo por la aplicacin correspondiente). No entramos en detalles, pues aunque la imagen binaria de este disco Mac no contiene datos personales de su antiguo propietario, s hay en l muchos documentos de trabajo

En la red
Pgina web de AEDEL: http://aedel.es/ Pgina web de blueliv: http://www.blueliv.com/ Tutorial Ad|Quiere: http://aedel.es/wp-content/uploads/2010/04/ tutorial_adquiere_v_0_8_v_1.pdf Linux y las herramientas forenses de segunda generacin: http://www.dfrws.org/2009/proceedings/ p34-ayers.pdf

Una vez terminado el experimento me sent satisfecho, no por haber alcanzado mi objetivo -hackear el disco duro de un ordenador fallecido hace lustros- sino por la valiosa leccin aprendida acerca de la potencia y versatilidad de Linux en el campo de la investigacin forense, asi como su capacidad para funcionar como agente de enlace entre las ms variadas arquitecturas y sistemas operativos. Comenzamos con un disco SCSI procedente de un ordenador Macintosh; despus utilizamos Linux para adquirirlo sobre una plataforma Intel, obteniendo como resultado una imagen EWF que finalmente un potente software para investigaciones forenses que corre bajo Windows es capaz de abrir y analizar. No se necesitan ms argumentos a favor de la capacitacin forense del sistema del pingino. Destacan sobre todo las ventajas del software libre frente al propietario -disponibilidad del cdigo fuente que hace inviables las objeciones legales relativas a la existencia de defectos ocultos de programacin. Tambin se habla de Linux como posible plataforma -por ejemplo implementado en sistemas Beowulf- para hacer frente a los retos futuros de la investigacin forense: delincuencia organizada, redes distribuidas, cloud computing, dispositivos mviles de gran potencia, casos complejos y ramificados, tratamiento de montajes RAID y discos duros con capacidades en el rango de los Terabytes. Volviendo a esa cuestin de imagen del principio: el investigador forense est obligado a realizar duplicados binarios de calidad y mantener la cadena de custodia: cumplimiento estricto de la ley, adquisicin de soportes en modo lectura, evitar que las particiones se monten por error, sumas de verificacin, etc. Sin esto no podrn sostenerse adecuadamente su informe ni sus alegaciones ante el juez. Ahora que la era del ladrillo parece llegar a su fin en Espaa, viene bien un smil arquitectnico: todo edificio precisa de buenos cimientos y una buena solera de hormign. De lo contrario el salitre y la humedad del subsuelo acscendern por los muros hinchando el revoque de las paredes y corrompiendo toda la estructura de la construccin. Algo parecido le puede suceder a nuestros casos si no partimos desde una base slida.

Para saber ms
Lluis Muoz Sabat: Introduccin a la Probtica Bosch Editor / ESADE, 2008 Alexander Geschonneck: ComputerForensik dpunkt.verlag, 2008 Ryan R. Kubasiak, Sean Morrissey y otros: Mac OS X, Ipod and Iphone Forensics / Analysis DVD Toolkit, Syngress Publishing, 2009

www.lpmagazine.org

25

soluciones para empresas Virtualizacin en Entornos Corporativos

Virtualizacin en Entornos Corporativos


Marcos Blanco Galn

La virtualizacin ha dejado de ser una inversin de futuro, su evolucin y consolidacin en los ltimos aos la convierten en una clara necesidad para aumentar la competitividad de la empresa. Reduccin de costes de operacin y mantenimiento, optimizacin de recursos hardware, eficiencia energtica, seguridad y alta disponibilidad son slo algunas caractersticas que hacen de la virtualizacin el aliado perfecto en entornos corporativos.

l presente artculo se centra en las ventajas y aportaciones de la virtualizacin en entornos corporativos. Antes de entrar en materia, recordaremos algunos conceptos bsicos sobre esta tecnologa y veremos cmo la evolucin de los sistemas de informacin han hecho de la virtualizacin una tendencia en la empresa. A continuacin, expondremos una serie de consideraciones y recomendaciones para desplegar de manera efectiva una infraestructura virtual. En ltimo lugar, presentaremos algunas de las principales soluciones de virtualizacin de servidores existentes basadas en tecnologas Linux.

Conceptos bsicos

culo, hace necesario introducir el concepto de mquina virtual. Una mquina virtual es, bsicamente, un entorno computacional sobre el cual es posible ejecutar un software husped, habitualmente un sistema operativo. La virtualizacin de plataforma puede lograrse aplicando diferentes tcnicas: emulacin hardware, paravirtualizacin, virtualizacin completa, virtualizacin a nivel de sistema operativo, etc. En la actualidad, el tipo de virtualizacin de plataforma ms recurrido es la virtualizacin completa, cada vez ms extendida en entornos empresariales para la consolidacin de servidores. La teora sobre virtualizacin no es objeto de este artculo, no obstante, al final se proporcionan enlaces de inters para ampliar conocimientos.

es@lpmagazine.org

La virtualizacin es un trmino a la orden del da. Su origen se remonta a los aos 60, con el sistema de paginacin del IBM M44/44X, una mquina fsica experimental capaz de simular mltiples mquinas virtuales IBM 7044. Aunque se trata de un concepto muy amplio, la virtualizacin se asocia, generalmente, con la abstraccin de recursos, ya sean hardware o software. Tomando esta idea como base, las soluciones de virtualizacin han ido experimentando una gran evolucin en los ltimos aos gracias a los avances en el campo de la arquitectura de computadores y la aportacin de ideas innovadoras. Cuando hablamos de virtualizacin, es importante distinguir entre virtualizacin de recursos y virtualizacin de plataforma. La virtualizacin de recursos se caracteriza por aislar los servicios del soporte fsico que los provee. Un claro ejemplo es el almacenamiento virtual usado en redes de almacenamiento SAN (Storage Area Network). En esencia, la virtualizacin de recursos permite agrupar varios recursos para que sean percibidos como uno nico o, por el contrario, dividir un recurso en varios recursos independientes. La virtualizacin de plataforma, sobre la que nos centraremos en este art-

Virtualizar se ha convertido en una necesidad

Durante las dcadas de los 80 y 90, la virtualizacin perdi peso cuando las aplicaciones cliente-servidor y los equipos x86 econmicos establecieron el uso de modelos distribuidos. En lugar de centralizar y compartir mediante el modelo de computadora central (mainframe), las organizaciones optaron por aprovechar el

Figura 1. Infraestructura de servidores virtuales

26

LiNUX+ 9/2010

soluciones para empresas Virtualizacin en Entornos Corporativos

bajo coste de los sistemas distribuidos. La amplia adopcin de Windows y la emergencia de Linux como sistemas operativos de servidor en los aos 90, convirtieron a los servidores x86 en estndar de facto. El alto crecimiento de implementaciones de servidores y escritorios originaron problemas operacionales y de infraestructura de TI: Bajo aprovechamiento de la infraestructura: segn estudios de la consultora internacional IDC, las implementaciones tpicas de servidores x86 logran una utilizacin media de entre un 10% y un 15% de la capacidad total. Una prctica muy habitual en las organizaciones consiste en ejecutar una aplicacin por servidor para evitar el riesgo de que las vulnerabilidades de una aplicacin afecten a la disponibilidad de otra aplicacin ubicada en el mismo servidor. Incremento de los costes de la infraestructura fsica: los costes operativos para dar soporte al crecimiento de infraestructuras fsicas han aumentado a ritmo constante. La mayor parte de las infraestructuras informticas son crticas para el negocio y deben permanecer operativas en todo momento, lo cual genera gastos adicionales de consumo energtico, refrigeracin e instalacin que no varan con los niveles de utilizacin. Incremento de los costes de gestin de TI: a medida que la infraestructura tecnolgica es ms compleja, aumenta el nivel de especializacin de la formacin y la experiencia necesaria del personal que gestiona las infraestructuras. Los recursos humanos dedicados al mantenimiento de servidores fsicos suponen un coste muy elevado para las organizaciones. Insuficiente recuperacin ante fallos y desastres: las paradas inesperadas de aplicaciones en servidores crticos y la falta de acceso a escritorios de usuario final pueden afectar gravemente a la actividad de la empresa. La amenaza de ataques de seguridad o la ocurrencia de desastres naturales acentan todava ms la importancia de velar por la continuidad del negocio. Mantenimiento elevado de escritorios de usuario final: la gestin eficiente de los escritorios corporativos plantea un gran desafo. Aplicar y controlar polticas de acceso y seguridad sin perjudicar la capacidad del usuario es una tarea muy costosa y compleja. El correcto mantenimiento de los escritorios requiere la aplicacin constante de parches y actualizaciones que garanticen la seguridad y el buen funcionamiento de los sistemas en todo momento.

de gestin de recursos, seguridad, escalabilidad, mantenibilidad y facilidad de administracin. Es con el cambio de siglo, cuando vuelve a tomar fuerza gracias a los avances en el campo de la arquitectura de computadores con el anuncio de las extensiones VT (Virtualization Technology) de Intel en 2004 y Pacfica de AMD en 2005 para microprocesadores x86. En el apartado de software tambin se experimenta una importante evolucin, ya que se consolidan soluciones para crear mquinas virtuales con plena funcionalidad y estabilidad.

Servidores virtuales en entornos corporativos

La virtualizacin de servidores es una tendencia creciente en los departamentos de TI, tanto en el sector pblico como en el privado. En los ltimos aos, las compaas han comenzado a implantar diferentes soluciones de virtualizacin como respuesta al problema del crecimiento desorbitado que experimentan los Centros de Proceso de Datos (CPDs). Este hecho, unido principalmente al bajo aprovechamiento real de la infraestructura, los elevados costes de mantenimiento y la insuficiente proteccin ante desastres, hacen de la virtualizacin una solucin ideal en este tipo de entornos. A continuacin, se describen algunas de las ventajas y aportaciones ms significativas de la virtualizacin de servidores en entornos corporativos. Ahorro en adquisicin y mantenimiento de hardware: si se planifica bien, la virtualizacin puede significar un importante ahorro econmico en la adquisicin de servidores. Al reducir el nmero de equipos fsicos, el mantenimiento tambin se simplifica considerablemente y con ello la posibilidad de fallos en el hardware. El aprovechamiento de la capacidad reduce el coste total de operacin (TCO) y mejora a mediano plazo el retorno de inversin realizada (ROI). Segn IDG, por cada 100 servidores virtualizados, se calcula que es posible ahorrar en torno a medio milln de dolares. Ahorro energtico: en la actualidad, las empresas de TI estn muy concienciadas con las cuestiones medioambientales (Green IT). Una infraestructura informtica corporativa basada en virtualizacin de servidores, adems de reducir el consumo elctrico de los equipos fsicos, reducir el gasto en aclimatacin del espacio donde se alojan los equipos. Ahorro de espacio: en locales con poco espacio para alojar un CPD, muy habitual en PYMES, la virtualizacin es capaz de aplicar una escala de reduccin aproximada 1:4, es decir, cuatro servidores virtualizados por cada servidor fsico, lo que supone un ahorro del 75% en espacio. Se ha calculado que

La virtualizacin, aplicada a las infraestructuras de las Tecnologas de la Informacin, es sinnimo de vanguardia en la optimizacin

Figura 2. Men principal de Citrix XenServer

Figura 3. Administracin de Proxmox VE, dos nodos en clster

www.lpmagazine.org

27

soluciones para empresas Virtualizacin en Entornos Corporativos

esta escala podra aumentar hasta 1:10 (90% de ahorro) en caso de contar con servidores fsicos de altas prestaciones. Por otra parte, los servidores antiguos de gran tamao pueden ser sustituidos progresivamente por otros ms pequeos y potentes capaces de ejecutar varias mquinas virtuales. Facilidad de gestin: las soluciones existentes actualmente permiten disear infraestructuras de virtualizacin en red, ofreciendo la posibilidad de acceder a las herramientas de administracin y monitorizacin de mquinas virtuales desde un nico punto de red, o incluso, desde cualquier equipo conectado a Internet mediante acceso va web. Separacin de entornos: al igual que el modelo organizativo de la empresa debe estructurarse para una fcil coordinacin y gestin, el sistema informtico debe reflejar una estructura adecuada para ofrecer los servicios que demanda la empresa. En este sentido, la virtualizacin permite implementar de forma separada y segura entornos virtuales dentro de la misma infraestructura fsica. Facilidad para migrar entornos: el diseo estndar de mquinas virtuales facilita el traslado de las mismas de una mquina fsica a otra. Soluciones de virtualizacin existentes en el mercado soportan ya operaciones de migracin en caliente, es decir, sin necesidad de detener las mquinas virtuales en ejecucin y, por lo tanto, sin dejar de ofrecer servicio a los usuarios o clientes finales. Como caracterstica de valor aadido, en entornos muy grandes los ingenieros pueden desarrollar modelos de virtualizacin en red con balanceo dinmico de carga, dando lugar a una infraestructura de mquinas virtuales distribuidas capaces de garantizar la calidad del servicio. Rpida recuperacin: la migracin de mquinas virtuales permite recuperar un sistema virtualizado en cuestin de segundos, minutos u horas, frente a los das o semanas que podra suponer la recuperacin de un equipo fsico. Se recomienda que el Plan de Recuperacin ante Desastres (PRD) contemple la realizacin de copias de seguridad del entorno virtual al completo o, al menos, de los componentes ms crticos. De esta forma, la puesta en marcha despus de una avera o desastre sera tan sencilla como importar y ejecutar nuevamente las mquinas virtuales almacenadas en backup. Adicionalmente, tambin puede resultar interesante la replicacin lgica de mquinas virtuales en un centro de contingencia remoto, preparadas para entrar en funcionamiento y dar continuidad al servicio ante la cada de mquinas fsicas y/o lgicas locales.

tarea de mantenimiento. Por ello, se recomienda contar con una buena planificacin, o incluso, estudiar la opcin de migrar temporalmente las mquinas virtuales a otro servidor fsico para mantener activos los servicios. Adicionalmente, con el propsito de evitar la proliferacin de mquinas virtuales, se recomienda valorar la necesidad de crear nuevas mquinas virtuales, as como comprobar peridicamente la existencia de posibles mquinas virtuales en desuso una vez implantada la infraestructura virtual. Trabajar con mquinas virtuales tambin implica la necesidad de hacer un replanteamiento en cuanto a disponibilidad y asignacin de espacio en disco. En un entorno virtualizado es necesario hacer copias de seguridad, realizar pruebas con mquinas virtuales y otras operaciones que requieren una cantidad elevada de espacio en disco para almacenamiento. Tampoco hay que perder de vista que el diseo del entorno de virtualizacin est ntimamente ligado a las necesidades de la empresa. La implementacin y gestin eficiente de la infraestructura de virtualizacin puede ser compleja y requerir ingenieros con una base formativa muy especfica. Pese a que las soluciones de virtualizacin actuales son capaces de hacer funcionar por completo un sistema operativo, hay que tener presente ciertas limitaciones, especialmente, cuando se busca potencia de procesamiento grfico elevada o de otros elementos del sistema que exijan alta disponibilidad o acceso directo a sus recursos. Aunque los sistemas operativos ms comunes usados en la actualidad estn soportados por las principales soluciones de virtualizacin, todava existen algunos sistemas incompatibles o con soporte inestable. Estos inconvenientes hacen que en determinados escenarios no sea posible o no interese recurrir a la virtualizacin. Por otro lado, la virtualizacin de servidores no obliga a tener que virtualizar todos los elementos de la infraestructura, existirn ciertos elementos que, por determinados motivos, no deban o no puedan ser virtualizados.

Despliegue de la infraestructura virtual

Consideraciones antes de implantar virtualizacin

Todo cambio tecnolgico implica una serie de aspectos y consideraciones a tener en cuenta antes de proceder a su implantacin, especialmente, cuando stos afectan a componentes crticos que sustentan la operativa de la empresa. Disponer de varios sistemas virtualizados en un nico servidor fsico puede dificultar las labores de mantenimiento. Si las mquinas virtuales que aloja el servidor son crticas para garantizar la continuidad del negocio, resultar complicado encontrar el momento adecuado para apagarlas y realizar la

Implantar una solucin de virtualizacin en un entorno corporativo requiere una serie de pasos planificados que, posteriormente, debern ser ejecutados de forma adecuada para garantizar el xito. Un despliegue incorrecto puede acarrear un efecto negativo y causar verdaderos estragos en la organizacin. En esta seccin se proponen algunas recomendaciones a tener en cuenta en el proceso de migracin. La primera recomendacin consiste en no dejarse cegar por el ansia de reducir costes cuanto antes y empezar a obtener beneficios; es imprescindible asegurarse de lo que se est haciendo en todo momento y tratar de anticipar posibles implicaciones de cada accin. El proceso de despliegue ha de ser gradual, monitorizando en todo momento los resultados y controlando las incidencias que surjan en el camino. Para determinar con exactitud qu aplicaciones deben ser virtualizadas, es requisito indispensable tener una visin global de la carga de trabajo actual que soportan los servidores de la organizacin. Generalmente, son candidatas a ser virtualizadas aquellas aplicaciones que se ejecutan sobre un entorno web o servidores de aplicaciones. Las aplicaciones sensibles a niveles

28

LiNUX+ 9/2010

soluciones para empresas Virtualizacin en Entornos Corporativos

de prestaciones requeridos, a diferencia de las anteriores, pueden no ser buenas candidatas. En el transcurso de esta actividad se reunir informacin sobre el hardware y software existente en el centro de datos y, con los datos de uso de los servidores, se generar un informe de utilizacin de hardware, identificando cargas de trabajo y servidores infrautilizados. Para que el anlisis de la carga de trabajo sea consistente y fiable, ste deber haberse realizado durante un periodo de tiempo ms o menos amplio, de lo contrario, los valores obtenidos podran ser puntuales y poco representativos. En la bsqueda de la mejor combinacin entre sistemas reales y virtualizados, se recomienda ser prudente e implementar los escenarios uno a uno. Antes de la puesta en servicio, cada mquina virtual ser probada a fondo para evitar posibles sobrecargas. De esta forma, es posible asegurar la capacidad de los sistemas, prever futuras necesidades y, en definitiva, evitar sorpresas inesperadas que se traduzcan en soluciones costosas. La mayora de las herramientas disponibles actualmente para gestionar mquinas virtuales soportan nicamente un tipo de hypervisor o monitor de mquina virtual. En entornos donde conviven varias soluciones de virtualizacin (Xen, KVM,...), sera interesante disponer de una nica herramienta que permita crear, buscar y mover mquinas virtuales entre el entorno real y virtual. Gracias al aprovisionamiento dinmico, la virtualizacin permite ajustar la potencia de proceso a la demanda real. As, por ejemplo, sera posible establecer un umbral para que cuando una aplicacin crtica superase el 80% de carga, se levantase automticamente un servidor de apoyo. La gestin eficiente de los recursos permite a las organizaciones disear centros de datos alineados con las necesidades reales del negocio. La virtualizacin no es un esfuerzo puntual. La demanda de recursos y las cargas de trabajo cambian con el tiempo, siendo necesario un reajuste peridico para mantener el centro de datos en el ptimo nivel de funcionamiento. En este sentido, las herramientas de monitorizacin juegan un papel muy importante, ya que proporcionan una visin del estado actual y ayudan a prever cambios a futuro. Asimismo, conviene que la monitorizacin sea lo ms amplia y global posible respecto a la infraestructura. En ltimo lugar, tampoco hay que olvidar la probabilidad de ocurrencia de fallos. Los servidores, ya sean fsicos o virtuales, debern estar respaldados por una poltica de backup. En el caso de la virtualizacin, como ya se ha visto anteriormente, los entornos de trabajo pueden ser fcilmente recuperables con un esfuerzo reducido. No obstante, conviene recordar una vez ms

la importancia de disponer de copias de seguridad para poder garantizar la continuidad del negocio ante daos y averas.

Soluciones de virtualizacin para entornos corporativos

Enlaces de inters
Virtual Linux (IBM developerWorks): http://www.ibm.com/ developerworks/library/l-linuxvirt/index.html The Business Value of Virtualization: http://www.vmware. com/files/pdf/solutions/Business-Value-Virtualization.pdf Citrix XenServer: http://www.citrix.com/xenserver/overview Proxmox VE: http://www.proxmox.com/products/proxmox-ve Wiki de Proxmox VE: http://pve.proxmox.com/wiki Parallels Virtuozzo Containers: www.parallels.com/ products/virtuozzo/

A continuacin, presentamos algunas de las principales soluciones de virtualizacin de servidores basadas en tecnologas Linux. Cualquiera de ellas podra ser candidata a implantarse en un entorno corporativo. Citrix XenServer: en octubre de 2007, la multinacional Citrix Systems adquiri XenSource, empresa que durante aos impuls el movimiento Open Source entorno a Xen como alternativa vlida y robusta frente a la solucin propietaria VMware. En la actualidad, Citrix ha incorporado Xen en su gama de productos. Xen soporta paravirtualizacin y virtualizacin completa. Entre las principales caractersticas destacan su alto rendimiento con mnima sobrecarga (entre 0,1% y 3%), soporte SMP (hasta 32 procesadores), extensin de direccin fsica (PAE), soporte para extensiones hardware de virtualizacin x86, migracin de mquinas virtuales en caliente y administracin centralizada a travs de XenCenter. Proxmox Virtual Environment: Proxmox VE es una solucin completa de virtualizacin desarrollada y mantenida por Proxmox Server Solutions GmbH. Soporta las tecnologas de virtualizacin KVM (virtualizacin completa) y OpenVZ (virtualizacin a nivel de sistema operativo). En el caso de OpenVZ, los recursos asignados a las mquinas virtuales pueden modificarse en tiempo real sin necesidad de reiniciar el sistema. Una ventaja aadida de Proxmox VE es la posibilidad de utilizar plantillas para instalar mquinas virtuales en cuestin de minutos. La administracin centralizada se realiza a travs de interfaz web, permitiendo su acceso desde cualquier equipo conectado a Internet. Otras caractersticas avanzadas son la posibilidad de clustering, la migracin en caliente de mquinas virtuales entre diferentes nodos, la definicin de medios de almacenamiento externo (iSCSI o NFS) y la realizacin de backups de mquinas virtuales en caliente. En resumen, Proxmox VE puede definirse como una solucin de virtualizacin simple, potente, intuitiva y 100% Open Source. Parallels Virtuozzo Containers: solucin propietaria de virtualizacin de la empresa Parallels Inc., disponible para sistemas operativos Linux, Windows y Mac OS X. Basado en OpenVZ, incluye caractersticas avanzadas como la migracin en caliente, clustering, asignacin dinmica de recursos y realizacin de backups. Desde el panel de control, los clientes pueden acceder a todas estas funcionalidades y administrar sus dominios de manera centralizada.

Sobre el autor
Marcos Blanco Galn es Experto en sistemas Linux y soluciones Open Source. Coordinador de Certificacin y Calidad del Software en CESJE (Junta de Extremadura). Jefe de Proyectos en el Centro Internacional de Referencia Linux (CIRL) y la Ctedra Telefnicade la Universidad de Extremadura. Doctorando en Tecnologas Informticas. Ms informacin en http://es.linkedin.com/in/ mblancogalan.

www.lpmagazine.org

29

soluciones para empresas Seguridad en la PYME

Consejos Prcticos
en Seguridad TI
Josas Galvn Reyes

Este artculo tiene como objetivo ofrecer consejos prcticos a las problemticas comunes relacionadas a la seguridad de las tecnologas de informacin, detectadas en las PYMES, donde los ambientes heterogneos son una realidad recurrente. No profundizamos en el tema de seguridad informtica, ya hay bastantes documentos al respecto, y muchos especializados en las diversas reas que comprende este tema. Tampoco se habla de las ventajas o desventajas del software libre versus software propietario, ya que tambin se ha debatido bastante al respecto.

in profundizar en terminologa terica, se presentan consejos y herramientas de software libre que auxilian en estas tareas. Desgraciadamente la experiencia indica que es ms cmodo "vivir en la ignorancia", que enfrentar un tema aparentemente "complicado" e incmodo, por lo que les invito a involucrarse. El tema de la seguridad TI es un tema que por su importancia, para la continuidad de la operacin de las empresas, tiene que ser considerado por empresarios, directores, gerentes, profesionales TI y todo los involucrados del negocio.

Software Libre, Software No Libre, Software Pirata y Privacidad

Cuando se habla de los riesgos del software ilegal, uno de los elementos importantes a mencionar es el siguiente: Muchas veces, el software que se adquiere pirata es software que ha sido alterado por gente sumamente experta, que ha logrado eliminar los mecanismos de proteccin que el mismo software presenta para salvaguardar la propiedad intelectual del producto... me pregunto: si esas personas que alteraron la seguridad del software no tendrn "otros intereses" o no querran "aprovechar" la oportunidad de incluir en el software pirata "programas o herramientas" que posteriormente les permitan acceder a las computadoras de otros usuarios, o de otras empresas? o usar software pirata como camuflaje para robar informacin empresarial, bancaria, legal, biolgica, militar, etc.? Y s, en efecto. Los detractores del software libre, mencionan esta problemtica inherente al cdigo abierto, ya que no hay una empresa reconocida que garantice tal o cual producto, debilidad que se

convierte en fortaleza, cuando las motivaciones de la comunidad de desarrollo del software libre son diferentes y cuando el cdigo fuente de los programas est a la vista y al escrutinio de tantas personas. Es por ello siempre importante, determinar que el software que usamos provenga de una fuente confiable. Asegurarnos de haber descargado el software del sitio del proveedor o fabricante o comunidad de software libre, para ello nos podemos apoyar en realizar la verificacin de las sumas de integridad MD5 (http://es.wikipedia.org/wiki/Md5sum) o SHA1 (http://es.wikipedia.org/wiki/Sha1sum). Estos son algoritmos especiales que toman como entrada un texto o un archivo completo, y generan una cadena de caracteres nica. Entonces, si la cadena de caracteres publicada en la pgina del proveedor, es la misma que la generemos de nuestro archivo descargado, tenemos el archivo genuino, ejemplo en la Figura 1.

es@lpmagazine.org

Cajas de Arena

Sin embargo, muchas veces nos vemos obligados a descargar algn programa de dudosa procedencia, e instalarlo. Cuantas veces hemos tenido que formatear nuestras computadoras, debido a que se han llenado de basura o se ha corrompido la configuracin, debido a la multitud de programas que instalamos y desinstalamos. Para evitar estas situaciones, existen herramientas que permiten aislar cualquier actividad que realice un programa sobre nuestra computadora. Entre estos tenemos Sandboxie y Altiris Software Virtualization Solution (SVS, ahora parte de Symantec). Dependiendo de la necesidad, inclusive podemos crear una computadora virtual dentro de nuestra compu-

30

LiNUX+ 9/2010

soluciones para empresas Seguridad en la PYME

tadora, y ah hacer todas las pruebas que necesitemos, para este tema VirtualBox o VMWare son programas que emulan ser una computadora donde podemos definir memoria, discos duros, e instalar algn sistema operativo, arrancarlo, apagarlo, etc. Sumamente tiles si queremos probar alguna distribucin de Linux, sin tener que formatear nuestra computadora. Completadas nuestras pruebas, simplemente borramos la computadora virtual, y nuestra computadora seguir intacta.

antivirus para terminales de trabajo Linux y servidores, mientras que Avira ofrece buena proteccin para Windows y AVG inclusive ofrece un disco de rescate (basado en Linux), para desinfectar computadoras con Windows.

Navegacin Annima

La Importancia de las Actualizaciones

Aunque no necesariamente sea de las cosas que utilizaremos en el da a da para proteger la infraestructura TI de nuestra empresa, existen dos herramientas sumamente interesantes para la proteccin de nuestra privacidad en la red: FreeNet es un proyecto que nos permite conectarnos a una red encriptada de computadoras que comparten informacin. Tor es otra herramienta de software libre que nos permite navegar en la red a travs de otras computadoras, a fin de que nuestras consultas viajen por otros caminos, y mantenernos annimos.

Si algo caracteriza al software libre es la velocidad con la que se encuentran y resuelven las vulnerabilidades que llegasen a aparecer en los programas. Es por ello muy recomendable realizar, con alguna frecuencia, la actualizacin de los programas y de los sistemas operativos. Cada sistema operativo, provee sus mecanismos distintos para la realizacin de las actualizaciones. Solamente una advertencia: en algunos escenarios es recomendado probar primero, la realizacin de las actualizaciones, en otra computadora que no sea la que usen directamente los usuarios en produccin, porque la experiencia dicta, que algunas actualizaciones alteran las configuraciones personalizadas y/o la compatibilidad con algunos dispositivos de hardware. Una vez probado que las actualizaciones disponibles no afectarn nuestros sistemas en produccin, las podemos aplicar en todas las computadoras de nuestros usuarios.

Estas herramientas son muy tiles en pases donde la libertad de expresin est siendo truncada por los gobiernos y/o los proveedores de servicios de Internet.

Manejo de Contraseas

Virus, Antivirus, Firewalls

Hay mltiples productos antivirus en el mercado, para diferentes necesidades y tamao de empresas. Antivirus que se instalan directamente en los servidores que manejan los correos electrnicos y las comunicaciones o en las computadoras de los usuarios (con la correspondiente carga que representan). Para proteccin de toda la red, existen soluciones integrales de software libre que adems de proveer proteccin, permiten el filtrado de contenido, balancear el uso de los recursos, etc. La empresa Endian ofrece su Community Firewall, para aquellos profesionales TI que quieran probar una solucin completa de cortafuegos para nuestra red. Para proteccin de computadoras personales Filseclab Personal Firewall Professional Edition for Windows, a pesar de no ser el ms intuitivo para los usuarios finales, es muy til para que los profesionales TI sepan qu programas y hacia dnde envan informacin a Internet. La configuracin se puede definir, y se puede replicar en las computadoras de los usuarios. En el tema de antivirus, ClamAV se ha destacado para la proteccin de nuestros servidores, Kapersky nos presenta un

Figura 1. Tpica descarga del software libre MySQL, con su suma MD5

En un mundo TI ideal, slo habra una contrasea que identifique al usuario, y que a travs de esta autentificacin se pudiera acceder a todos los servicios disponibles en la infraestructura TI. Sin embargo, la realidad en las PYMES es otra. A veces se requiere tener una contrasea para cada servicio: una para el correo electrnico, una para el sistema de nmina, una para el sistema de produccin, una para acceder a los bancos, una para la mensajera instantnea, etc. Tanto el software libre como las soluciones no libres ofrecen mecanismos y estrategias para simplificar estos escenarios, por ejemplo la autentificacin a travs de directorios como LDAP, Active Directory, etc. Pero como dice el dicho, "la cadena se rompe por el eslabn ms dbil"... y en la seguridad TI, el eslabn ms dbil algunas veces es el usuario y las contraseas que utiliza. Desde acciones irresponsables como dejarlas escritas en un "pedazo de papel" pegadas al monitor, hasta usar contraseas tan sencillas que cualquier persona cercana al usuario puede adivinarlas. Hay muchos mecanismos que nos ayudan a evitar el problema de la administracin de contraseas, sin embargo muchos implican esfuerzos y cambios en la infraestructura TI que usualmente no son aceptados. Como alternativa, casi siempre recomiendo el uso de "Claves Fsicas". Le llamo "Claves Fsicas" a las contraseas que generan los usuarios, a travs del movimiento "aleatorio", pero "repetitivo" de las manos sobre el teclado. En vez de verbalizar una palabra, la idea es generar una contrasea escribiendo caracteres aleatorios, pero que para el usuario correspondan a un movimiento familiar sobre el teclado, algo repetitivo que puedan recordar como movimiento de las manos, no como una palabra. Ventajas: generas contraseas no identificables con tcnicas de diccionario, desventajas: requiere movimiento rpido de la mano, y representa un enfoque diferente a lo que estn acostumbrados los usuarios.

www.lpmagazine.org

31

soluciones para empresas Seguridad en la PYME

Encriptacin

Encriptacin es la codificacin de nuestra informacin en un dialecto que no sea legible por terceros, al menos que compartamos la contrasea para decodificarlo. En las PYMES, se mueve mucha informacin sensible en equipos porttiles, lo cual se vuelve una vulnerabilidad si uno de estos equipos es robado o perdido. Suponga que le roban la laptop al director de finanzas. Este tipo de ataques es comn y en el mejor de los casos el atacante solamente estar interesado en el hardware, formatearlo y revenderlo. Sin embargo, si la intencin es extraer informacin, estamos en problemas. Una alternativa que tenemos es encriptar los discos duros, de tal manera que no sea posible leerlos a pesar de que no hayan sido borrados. TrueCrypt nos ofrece esta posibilidad, desde proteger contenedor de archivos, particiones, e inclusive el disco duro completo. Tambin se aplica en la proteccin de memorias USB.

Tenemos que verificar que para utilizar nuestra red inalmbrica nos pida una contrasea. Muchas veces, tenemos computadoras desconocidas en nuestra red local, e incluso el consumo de nuestro ancho de banda por personas que se meten a nuestra red, esto la mayora de las veces, debido a que nuestra red inalmbrica no cuenta con la proteccin mnima. Adems, hay que estar pendientes de las actualizaciones que se liberen para nuestros routers, ya que muchas veces nos proveen de mejores protecciones y/o mayor rendimiento de nuestra conexin a Internet. No olvidemos lo crtico que es verificar que nuestras computadoras y/o routers tengan cerrados todos los puertos, y solamente abrir aquellos que, explcitamente, necesitemos usar.

Proteger el Acceso a Internet

Respaldos

Casi nadie se acuerda de este tema, hasta que nos enfrentamos al problema de tener que recuperar desde un archivo hasta un equipo completo, pasando por servidores daados, bases de datos "accidentalmente" borradas o alteradas, etc. Existen mltiples herramientas y estrategias para la realizacin de los respaldos, dependiendo de la plataforma, la infraestructura, las redes y dems. rsync es una herramienta efectiva en el manejo de deteccin de cambios y transferencias de informacin entre equipos remotos. Areca es una herramienta que nos permite la realizacin de respaldos completos, incrementales y diferenciales. Tambin podemos optar por la nueva generacin de servicios de almacenamiento en lnea como SpiderOak. Recordemos que los respaldos deben de ser almacenados en una ubicacin fsica diferente a donde se encuentran los equipos respaldados.

Muchas veces, queremos prevenir que nuestra conexin a Internet se use para navegar en pginas que pongan en peligro nuestra red o que no sean apropiadas (por ejemplo para nuestros hijos pequeos). OpenDNS es un servicio de DNS que nos permite filtrar las pginas que son accesibles, a travs de la clasificacin de sus contenidos. El servicio es gratuito, y si se requiere un mayor control sobre el filtrado de las pginas, tiene un costo. Es altamente recomendado para escuelas y negocios ya que con una sencilla configuracin del router por el que se sale a Internet, se protege toda la red. Este es un ejemplo de los niveles de proteccin que permite filtrar OpenDNS (Figura 2). Tambin se puede personalizar, si se desea dar acceso o no a pginas en especfico, todo desde un sencillo panel de configuracin a travs de Internet.

"Dumpster Dyving"

La Red Inalmbrica

En trminos sencillo, el router es ese aparatito que nos da nuestro proveedor de servicios de Internet para que podamos conectar a la red nuestras computadoras. Muchas veces las configuraciones de fbrica no traen activados los parmetros de seguridad, por lo que vale la pena revisar la documentacin o solicitar apoyo de un profesional en TI.

Figura 2. Ejemplo de los niveles de proteccin que permite filtrar OpenDNS

Muchas empresas exponen de manera inconsciente informacin sensible, a travs de la basura: Estados de Cuenta, Cuentas Bancarias, Manuales Tcnicos, Directorios, etc. Dumpster Dyving se trata de buscar entre la basura de la empresa, informacin sensible y/o que ayude a realizar ataques ms elaborados, especialmente de los conocidos como "Ingeniera Social", tcnica ampliamente utilizada en nuestros das para comprometer la integridad de las personas y las organizaciones. Un triturador o incinerador de basura, soluciona el problema. En el tema de la basura, tambin entra la manera en la que nos "aseguramos" que la informacin de un equipo que se "desecha" o "cambia de manos" sea correctamente limpiado. Suponga que un director de su empresa cambia de laptop, ha pasado la informacin de la laptop vieja a la laptop nueva, y ha formateado la laptop vieja. Sin embargo, actualmente existen mltiples herramientas que permiten recuperar y extraer informacin de discos duros an y cuando estos hayan sido formateados. Para evitar este tipo de ataques, la mejor manera es sobrescribir la informacin en lugar de simplemente borrarla, existen herramientas que nos ayudan a sobrescribir ya sea un archivo, el espacio libre, hasta discos duros completos, ayudndonos a que sea sumamente complicado recuperar cualquier informacin. Entre estas herramientas tenemos Eraser y Wipe.

32

LiNUX+ 9/2010

soluciones para empresas Seguridad en la PYME

Seguridad Fsica

Al final del da, cualquier configuracin de software y/o hardware se puede vulnerar, si los dispositivos estn al alcance de las personas, que con un poco de conocimiento tcnico, o un buen tiempo de investigacin en la red, pueden encontrar el botn "reset". Es por eso que el acceso a servidores, routers, antenas, y dems dispositivos tiene que estar protegido, fuera del alcance de cualquier curioso que altere estos equipos causando cadas en los servicios. De la misma manera, los respaldos tienen que resguardarse en otra ubicacin fsica de donde estn los equipos respaldados. Suponga que exista algn dao fsico en el rea de servidores (por ejemplo un incendio o inundacin), el respaldo siempre estar seguro en otra oficina, o en otra ciudad. En alguna ocasin tuvimos que (literalmente) "sellar" los gabinetes de las computadoras de escritorio, para evitar que el personal abriera los equipos, reiniciara el BIOS y/o extrajera partes de la computadora como memorias, unidades de disco, etc.

hemos hecho nfasis en las herramientas gratuitas o de software libre que nos permiten mejorar nuestros escenarios de "Seguridad TI", sin embargo, el uso de estas herramientas siempre ser ms efectivo si en nuestra empresa hemos definido claramente las polticas y procedimientos que involucren y creen una cultura de responsabilidad entre los usuarios.

La seguridad es cultura

La seguridad no se puede confiar ni en un solo proveedor (empresa o herramienta) ni en una sola persona (el "encargado de sistemas"), la seguridad se aplica con diversas herramientas, en diferentes estrategias y con el apoyo de las personas, el trabajo conjunto dar sus resultados.

En la red
Areca http://www.areca-backup.org/ AVG http://www.avg.com/ie-en/avg-rescue-cd Avira http://www.free-av.com/ ClamAV http://www.clamav.net Endian Firewall http://www.endian.com/en/community/overview/ Eraser http://sourceforge.net/projects/eraser/ Filseclab Firewall http://www.filseclab.com/eng/products/firewall.htm FreeNet Project http://freenetproject.org/ Kaspersky http://www.kaspersky.com/sp/anti-virus_linux_workstation OpenDNS http://www.opendns.com/ rsync http://rsync.samba.org/ Sandboxie http://www.sandboxie.com SpiderOak https://spideroak.com Altiris SVS http://download.cnet.com/Software-Virtualization-SolutionSVS/3000-2651_4-10516806.html Tor Project http://www.torproject.org/ TrueCrypt http://www.truecrypt.org/ VirtualBox http://www.virtualbox.org VMWare http://www.vmware.com Wipe http://freshmeat.net/projects/ya-wipe/

El Enemigo Interno

Por increble que parezca, la mayora de los ataques informticos, las violaciones a la seguridad, el robo de contraseas y la suplantacin de identidades, entre otros problemas, se originan por los mismos usuarios de nuestra red. Esto sucede por malicia de los usuarios y/o como muestra de rebelda haca el personal TI, por la implantacin de medidas de seguridad, que no son amablemente aceptadas por los usuarios, y que en muchos de los casos sienten que les han sido quitados privilegios como descargar msica ilegal... En estos escenarios, la implantacin de los mecanismos de seguridad TI, tiene que estar acompaada de un fuerte compromiso por la direccin de la empresa, y de la creacin de una cultura de la importancia de la seguridad y lo que representa.

Polticas y Procedimientos

Hay muchas definiciones alrededor de estos dos conceptos, de manera sencilla podemos entender a las polticas como el conjunto de lineamientos que establecen un orden, y los procedimientos son los mecanismos a travs de los cuales logramos el cumplimiento de las polticas. En este artculo

Figura 3. Pgina web de OpenDNS

www.lpmagazine.org

33

internet Dropbox

Dropbox: Mantn tus archivos


sincronizados en la nube
Joaqun Rincn

Nunca he estado a favor de los servicios de Internet que forman la famosa nube, he tenido psimas experiencias con algunos editores en lnea, sin embargo, una vez que utilic el servicio ofrecido por Dropbox (dropbox.com) , qued enganchado literalmente.

ropbox es un servicio de alojamiento de archivos en Internet, el cual, una de sus principales ventajas, es ser multiplataforma. Olvdate de problemas al mantener actualizados tus archivos si en la escuela tienes que usar Windows, en tu casa prefieres GNU/ Linux, y tu mejor amig@ usa MacOS, son perfectamente compatibles. Este servicio, se ofrece en 3 diferentes versiones, segn la capacidad de almacenamiento y precio. La opcin bsica Basic, que es gratuita, te ofrece de inicio 2GB de almacenamiento, con posibilidad de incrementarlo hasta los 8GB de capacidad. El servicio de pago, tiene las opciones Pro 50 y Pro 100 con 50 y 100 GB de capacidad respectivamente. El servicio de Dropbox te permite almacenar y sincronizar ficheros tanto en la nube, como en los ordenadores en que desees tenerlos con la posibilidad de acceder a ellos va web. Adems, te permite compartir cualquier carpeta con otros usuarios de Dropbox, lo cual lo hace un medio muy eficiente cuando quieres compartir archivos con algn amigo o compaero de la escuela o trabajo. Usndolo como herramienta para sincronizar nuestro trabajo hace que poco a poco dejemos de lado las memorias USB y tener la garanta de que en cualquier momento tendremos en cualquiera

de nuestros equipos la ltima versin de nuestro fichero. Ya no hay pretexto de no poder terminar una tarea en casa por haber olvidado copiar la ltima versin a la memoria USB. De igual manera, olvdate de saturar tu cuenta de correo electrnico (y de tus allegados) cuando tienes que enviar algn fichero a tus jefes o profesores de la escuela en cada molificacin que realices. En el caso, de que no desees compartir una carpeta completa con algn conocido tambin existe la posibilidad de usar una carpeta pblica (dentro de tu cuenta) y enviar nicamente el link de descarga del archivo que tienes que compartir. Como herramienta auxiliar a la sincronizacin se cuenta con el servicio de historial de cambios (30 das en la versin gratuita), con la cual, si cometes algn error y borras un fichero importante, basta con acceder al panel de control va web para restaurar la versin original del archivo borrado accidentalmente. Actualmente en el mercado te podrs encontrar diferentes ofertas de servicios similares a Dropbox,

es@lpmagazine.org

Figura 1. Logotipo de Dropbox

Figura 2. Carpeta creada en el Home e icono de notificacin

34

LiNUX+ 9/2010

internet Dropbox
Tabla 1. Comparativa de los servicios del mercado Proveedor Dropbox S.O. Linux, Windows, Mac y iPhone, Android, iPad Windows, Mac y iPhone, BlackBerry, Android, Win Mobile, Symbian. Linux Almacenamiento Gratis 2Gb con posibilidad de aumentar a 8GB Pago 50, 100GB Gratis 2GB Pago 30, 60, 100 y 250GB Gratis 2GB Pago 100GB Windows, Mac, Linux, asi como iPhone, Android y Palm Gratis 1Gb con posibilidad de aumentar a 2GB Pago 10-500GB No especifica en la web No especifica en la web www.zumodrive.com No especifica en la web No especifica en la web one.ubuntu.com No especifica en la web Si www.sugarsync.com Tamao mximo de archivo 350MB va web Sin lmite usando el cliente. P2P Si Pgina web www.dropbox.com

SugarSync

Ubuntu One Canonical (se encuentra en fase Beta) ZumoDrive

algunos en estado Beta como el ofrecido por Canonical, Ubuntu One, y otros con caractersticas muy interesantes como SugarSync. En la Tabla 1 se muestra una comparativa de los servicios consultados.

De los anteriores servicios, tuve la oportunidad de usar un breve tiempo Ubuntu One, lamentablemente, los ficheros que puse de prueba en la carpeta para sincronizar, desaparecieron misteriosamente en una nube borrascosa de

PUBLICIDAD

www.lpmagazine.org

35

internet Dropbox

Listado 1. Puedes administrar Dropbox va consola


jrinconr@Lyoko:~$ dropbox -help Dropbox command-line interface commands: status get current status of the dropboxd help provide help puburl get public url of a file in your dropbox stop stop dropboxd start start dropboxd filestatus get current sync status of one or more files ls list directory contents with current sync status autostart automatically start dropbox at login

Figura 3. Interfaz del administrador web de Dropbox

internet. Est en fase beta, lo prob recin anunciado y no lo he vuelto a tocar, as que en la actualidad no s si mejoraron el servicio. Pero la recomendacin es buscar aquella opcin que se adapte ms a sus necesidades tanto de dispositivos a sincronizar, sistemas operativos y lo ms importante, el costo a invertir en un espacio en la nube para guardar nuestros ficheros. Continuemos con Dropbox...

compartidas y el estatus de las invitaciones que hayas realizado (ver Figura 3). En la opcin de administracin de la cuenta, podrs ver cuanto espacio te queda disponible as como cuanto espacio dedicas a archivos personales y compartidos. Tambin encontrars informacin de los ordenadores a los que est vinculada tu cuenta indicando cuando fue la ltima sincronizacin en cada equipo (Figura 4).

Instalacin y administracin

Dropbox puede ser instalado va repositorios o descargndolo desde la pgina oficial del proyecto (https://www.dropbox.com/ downloading), siendo esta ltima opcin la que recomiendan los desarrolladores. Una vez instalado y ejecutado por primera vez, te pedir identificarte en el sistema o crear una cuenta nueva. Realizado este proceso, en la carpeta home se crea una carpeta llamada Dropbox, y un icono de notificacin que te indica el estado de la sincronizacin (Figura 2). Dentro de la carpeta Dropbox puedes crear nuevas carpetas e ir agregando archivos hasta llegar al lmite establecido en tu cuenta. Dropbox te permite administrarlo va consola con unos cuantos comandos, que pueden ser consultados solicitando ayuda en la terminal (Listado 1). Va web puedes administrar de igual forma todos los archivos que estn contenidos en la carpeta Dropbox, adems de conocer el historial de actividades recientes, las carpetas

Recomendaciones

La forma en que puedes incrementar el espacio de tu cuenta gratuita hasta los 8GB de capacidad es, en primer lugar, seguir el tutorial de inicio (Figura 5) con el cual ganas 250 MB, posteriormente por cada amigo que invites y ste abra una cuenta y vincule al menos una mquina, ganars otros 250 MB hasta llegar al lmite de 8GB. Finalmente, recordar que va web podrs encontrar foros de ayuda por si tienes ms dudas al respecto y la informacin de la pgina oficial no es suficiente. Y, como recomendacin final, TEN SIEMPRE UN RESPALDO FSICO DE TUS DATOS, no dejes a la nube la responsabilidad de guardar tus datos importantes, que nunca se sabe si el da de maana amaneceremos sin Internet o si nuestro proveedor dej de funcionar o que por una mala sincronizacin pierdes informacin valiosa. Para ms informacin visita: www.dropbox.com.

Figura 4. Panel de administracin va web.

Figura 5. Tutorial de inicio en el sitio web

36

LiNUX+ 9/2010

Pginas recomendadas

www.diariolinux.com

www.elguille.info

www.gatolinux.blogspot.com

www.opensourcespot.org

www.hispabyte.net

www.linuxdata.com.ar

www.linuxhispano.net

www.pillateunlinux.wordpress.com

www.usla.org.ar

www.mundopc.net

www.picandocodigo.net

www.linuxuruguay.org

programacin Acceso a BBDD MySQL usando PHP

Acceso a BBDD MySQL usando PHP


Diego J. Garca

Desde hace varios aos los creadores de pginas web no se dan por satisfechos con una simple pgina en HTML sino que adems le aaden algn lenguaje de programacin de scripts para generar pginas dinmicas en el servidor. Al profundizar en el dinamismo de las pginas con lenguajes de script se hace ms y ms necesaria la dinamizacin de los propios contenidos. Una forma de solucionar este problema es aadiendo una base de datos de la cual recoger la informacin insertada por los diferentes usuarios.

n ejemplo claro es el registro automtico de los usuarios en nuestra web. Para ello se necesitarn varios formularios de acceso a tal informacin, al menos uno de alta, uno de bsqueda lista de resultados, uno de modificacin, uno de ficha. Con estos formularios accediendo a una o varias tablas de la Base de datos se consigue un acceso dinmico a los contenidos.

es@lpmagazine.org

Usuario CHAR(16), Password CHAR(40), FechaAlta DATE, HoraAlta TIME, Sexo CHAR(1));

Para el acceso se usar un usuario llamado usrlpmagazine y password pwdlpmagazine.

Requisitos

Para realizar los ejemplos prcticos indicados en este art- Para iniciar el alta de un registro en la web se utilizar culo se han utilizado los siguientes elementos:. un formulario HTML compuesto por los campos que queramos que sean registrados en la base de datos por Formularios HTML, parte del usuario. PHP 5, En el ejemplo se crea una pgina web muy simple en MySQL 5, la que se incluyen nicamente los controles necesarios Apache 2.2. para la ejecucin del mismo. El lector puede incluir ms campos en la base de datos y en el formulario as como Preparacin de la base de datos mejorar el aspecto grfico de este formulario y de los siEl objetivo principal de este tutorial es implementar en guientes utilizando un diseo acorde a las caractersticas PHP los accesos a una Base de Datos MySQL. Todos estos de su web. accesos se entendern mejor si se ve la tabla de la base de Al rellenar el formulario el usuario pulsar el botn datos de ejemplo utilizada. Enviar y se enviarn los datos a la pgina de destino La base de datos usada se llama MIWEB y se crea alta2.php con la instruccin SQL: Cuando se ejecuta la pgina alta2.php es cuando realmente se realiza el alta en la base de datos por ello CREATE DATABASE MIWEB; contiene las instrucciones de conexin a la base de datos y la consulta que inserta. La tabla corresponde al registro de usuarios en nuestra web, se llamar PERSONAS y se crea usando la ins- Formulario de modificacin truccin SQL: Para realizar el formulario de modificacin se puede utilizar el formulario de alta al que se le aadirn los atributos CREATE TABLE USUARIOS( value de los campos para incluir en ellos como valores IdPersona INTEGER UNSIGNED AUTO_INCREMENT NOT por defecto los valores de la base de datos del usuario en NULL PRIMARY KEY, cuestin. Si en lugar de incluir este cdigo en el HTML Nombre CHAR(100), se incluyera en una tabla, capa, texto, tendramos una

Formulario de alta

38

LiNUX+ 9/2010

programacin Acceso a BBDD MySQL usando PHP

ficha o un texto que se rellenara dinmicamente en funcin del usuario seleccionado. Para que este formulario se rellene dependiendo de este usuario se necesita incluir cdigo PHP en el cdigo HTML. En el cdigo del formulario podemos observar que existe una lnea en la que aparece el siguiente cdigo:

registros, se utiliza una lista en la que se marcan los registros que se quieren eliminar y se pulsa sobre el botn de borrado. En el ejemplo que se propone, se va a utilizar un cuadro de texto en el que se pueda introducir el identificador correspondiente y un botn que al pulsarlo acceda al borrado en la base de datos del registro asociado a tal identificador. Para trasladar el ejemplo a un formulario como los indicados anteriormente solamente hay que tener en cuenta <form action="modifica2.php" method="POST"> que debemos recoger un identificador del registro que se desea eliminar. Es importante controlar que este identificador no haga referencia Si analizamos el cdigo vemos que los datos del formulario se van a elementos que no se desean borrar. a enviar al fichero modifica2.php que es el que est indicado en la Al igual que se ha hecho en los formularios de insercin y en etiqueta action, con lo que tendremos que crear un nuevo archivo el de modificacin se va a usar un archivo que ser el que realice la con este nombre el cdigo que va a realizar la modificacin sobre la operacin de borrado. Este fichero se llamar borra2.php pues es el base de datos. fichero que se ha incluido en la etiqueta action del formulario.

Formulario de borrado

En la mayora de las webs no se utiliza un formulario de borrado Cuando queremos buscar informacin en una base de datos debemos, propiamente dicho. Para acceder al borrado de cualquier dato de una en primer lugar, elegir los datos por los que se quiere buscar. tabla lo ms normal es aadir un botn en el formulario de modificaExisten diferentes formas de formularios de bsqueda de datos cin o en la ficha. En algunos casos, cuando se quieren borrar varios en funcin de las necesidades de bsqueda:
Listado 1.1. Cdigo HTML del formulario de alta
<html> <body> <h2 align="center">Alta de Usuarios</h2> <form action="alta2.php" method="POST"> <table align="center" border=1 cellspacing=0> <tr> <td>Nombre: </td> <td><input type="text" name="txtNombre"></td> </tr> <tr> <td>Usuario: </td> <td><input type="text" name="txtUsr"></td> </tr> <tr> <td>Password: </td> <td><input type="password" name="txtPwd"></td> </tr> <tr> <td>Sexo: </td> <td> Hombre:<input type="radio" name="rdoSexo" value="M"> Mujer: <input type="radio" name="rdoSexo" Value="F"> </td> </tr> <tr> <td colspan=2 align="center"> <input type="submit" value="Enviar" name="alta"> </td> </tr> </form> </body> </html>

Formulario de bsqueda

www.lpmagazine.org

39

programacin Acceso a BBDD MySQL usando PHP

Se elige un campo de la base de datos por el que buscar. En el formulario se incluye este campo y a partir de ste se utiliza el texto que produce para introducirlo en la consulta SQL. Es la forma ms fcil de crear el formulario y adems la ms sencilla de programar. Se puede crear un formulario que contenga varios campos por los que buscar agregndoles a cada uno de ellos un radiobutton en el que se pueda seleccionar de forma dinmica el campo por el que se quiere buscar. La nica diferencia con el anterior es que en el cdigo de la bsqueda debemos incluir las comparaciones necesarias para saber cual es el campo por el que se est buscando en la base de datos. Mucho ms flexible aunque un poco ms complejo es la posibilidad de incluir varios campos de bsqueda a la vez. Este formato no sera problema siempre que se quiera buscar por todos los campos. El problema viene cuando se dejan campos vacos en los que el usuario no introduzca nada. Lo normal es que en la base de datos se busque por los campos que cumplen todos los elementos rellenos y no busque por los elementos que no se han rellenado y aqu radica la diferencia con los anteriores pues hay que indicarle mediante SQL a la base de datos que no busque por estos campos, sea cual sea el contenido de los mismos en los registros.
Listado 1.2. Cdigo PHP de ejecucin del alta en la base de datos
<?php

Ms flexible todava aunque puede ser mucho ms complejo para el usuario es usar una mezcla de los anteriores usando cada uno de los campos por los que buscar y aadindoles un checkbox a cada uno indicando si queremos buscar por ese campo o no, de forma que podamos buscar consultas del tipo Devulveme todos los registros que cumplan los criterios marcados y adems este campo est vaco. Es el ms complejo pero a la vez el ms completo de todos. Se pueden incluir muchas combinaciones extra, como buscar la palabra exacta, cualquiera de las palabras, si un valor es mayor, menor, igual, etc..., en funcin de las necesidades de los usuarios que van a manejar el formulario de bsquedas, aunque tanto el caso anterior como cualquiera de las combinaciones posibles que lleven una complejidad aadida, se suelen incluir en bsquedas avanzadas pues suelen llevar una dificultad aadida en el manejo de la aplicacin web.

Para el ejemplo mostrado, se ha decidido crear un formulario del segundo tipo descrito anteriormente, es decir el de varios campos entre los que se escoge uno para realizar la bsqueda. Viendo el formulario de bsqueda podemos observar el nombre que debe llevar el fichero sobre el que se va a realizar la bsqueda

// 1) Conexin al servidor mysql . En primer lugar se sita el host donde se // // sita la base de datos y a continuacin el usuario y el password con los que nos vamos a conectar

$conexionBBDD=mysql_connect('localhost','usrlpmagazine','pwdlpmagazine') or die(mysql_error()); // 2) Eleccin de la base de datos "MIWEB" mysql_select_db('MIWEB',$conexionBBDD) or die(mysql_error()); // 3) Creacin de la cadena SQL necesaria para realizar la insercin del usuario // // al recoger los datos se usa el vector $_POST que es el encargado de recoger los datos del formulario

$sql_insercion = 'INSERT INTO USUARIOS(Nombre,Usuario,Password,FechaAlta,HoraAlta,Sexo) VALUES('; $sql_insercion .= '"' . htmlentities($_POST['txtNombre']) . '",'; $sql_insercion .= '"' . htmlentities($_POST['txtUsr']) . '",'; $sql_insercion .= '"' . htmlentities($_POST['txtPwd']) . '",'; $sql_insercion .= "CURDATE(),"; $sql_insercion .= "CURTIME(),"; $sql_insercion .= '"' . htmlentities($_POST['rdoSexo']) . '");'; // 4) Ejecucin de la insercin mysql_query($sql_insercion) or die(header("location: error.php?error=no_insertado"));

// 5) Obtencin del ID primary key que se acaba de insertar $idInsertado=mysql_insert_id(); // 6) Cierre de la conexin con la base de datos mysql_close($conexionBBDD); //7) Envo directo a la pgina de modificacin header("location: modifica.php?id=$idInsertado");

40

LiNUX+ 9/2010

programacin Acceso a BBDD MySQL usando PHP

Listado 2.1a. Cdigo HTML-PHP del formulario del modificacin


<html> <body> <h2 align="center">Modificaci&oacute;n de Usuarios</h2> <form action="modifica2.php" method="POST"> <?php // 1) Se crean 3 variables sin texto que se usarn para los valores por defecto $Nombre=''; $Usuario=''; $Sexo=''; // 2) En primer lugar se comprueba si se ha pasado algn valor a travs de la // // URL mediante la funcin array_key_exists que comprueba si un array tiene un ndice concreto

if(array_key_exists('id',$_GET)){ // 3) Al igual que en el caso del alta, nos conectamos a la base de datos // para poder buscar al usuario en cuestin $conexionBBDD=mysql_connect('localhost','usrlpmagazine','pwdlpmagazine') or die(mysql_error()); // 4) Tras una conexin correcta, accedemos a la base de datos "MIWEB" mysql_select_db('MIWEB',$conexionBBDD) or die(mysql_error()); // 5) Realizamos una bsqueda en la base de datos donde nos muestren el usuario // que tiene el identificador parado como parmetro $rs_usuario=mysql_query("SELECT Nombre,Usuario,Sexo FROM USUARIOS WHERE IdPersona=" . $_GET['id']) or die(mysql_error()); // 6) Tras almacenar en la variable $rs_usuario el resultado de la consulta // // anterior comprobamos si nos ha devuelto algn registro y si es as lo almacenamos en las variables que hemos creado al principio if(mysql_num_rows($rs_usuario)>0){ $Nombre=mysql_result($rs_usuario,0,"Nombre"); $Usuario=mysql_result($rs_usuario,0,"Usuario"); $Sexo=mysql_result($rs_usuario,0,"Sexo"); } } ?> <table align="center" border=1 cellspacing=0> <tr> <td>Nombre: </td> <td><input type="text" name="txtNombre" value="<?php // 7) Como hemos recogido el nombre en una variable ya sea nulo u obtenido de la // </tr> <tr> <td>Usuario: </td> <td><input type="text" name="txtUsr" value="<?php // 8) Igual que hemos hecho con el nombre hacemos ahora con el usuario echo $Usuario;?>"></td> </tr> <tr> <td>Sexo: </td> <td>Hombre:<input type="radio" name="rdoSexo" value="M" <?php // 9) Indicamos el valor que haba sido seleccionado en el radiobutton en // funcin del valor de la variable $Sexo if($Sexo=='M') echo 'checked';?>> base de datos ahora lo ponemos por defecto en el campo correspondiente echo $Nombre;?>"></td>

Mujer: <input type="radio" name="rdoSexo" Value="F" <?php </tr> if($Sexo=='F') echo 'checked';?>></td>

www.lpmagazine.org

41

programacin Acceso a BBDD MySQL usando PHP

Listado 2.1b. Cdigo HTML-PHP del formulario del modificacin


<tr> <td colspan=2 align="center"> <input type="hidden" value="<?php echo $_GET['id']?>" name="id"> <input type="submit" value="Enviar" name="modificacion"></br> <a href="busqueda.php">Ir a la B&uacute;squeda</a> </td> </tr> </table> </form> </body> </html>

Listado 3.1. Cdigo HTML del formulario de borrado


<html> <body> <h2 align="center">Borrado de Usuarios</h2> <form action="borra2.php" method="POST"> <table align="center" border=1 cellspacing=0> <tr> <td>Borrar persona n&deg;: </td> <td><input type="text" name="txtIdPersona"></td> </tr> <tr> <td colspan=2 align="center"> <input type="submit" value="Borrar" name="borrado"></br> <a href="busqueda.php">Ir a la B&uacute;squeda</a> </td> </tr> </table> </form> </body> </html>

Listado 3.2. Cdigo PHP de la ejecucin del borrado


<?php // 1) Conexin al servidor mysql. En primer lugar se situa el host donde se // // sita la base de datos y a continuacin el usuario y el password con los que nos vamos a conectar

$conexionBBDD=mysql_connect('localhost','usrlpmagazine','pwdlpmagazine') or die(mysql_error()); // 2) Eleccin de la base de datos "MIWEB" mysql_select_db('MIWEB',$conexionBBDD) or die(mysql_error()); // 3) Creacin de la cadena SQL necesaria para realizar el borrado de los // // datos del usuario que obtendremos del vector $_POST que es el encargado de recoger los datos del formulario de borrado

$sql_borrado = 'DELETE FROM USUARIOS WHERE idPersona='. $_POST['txtIdPersona']; // 4) Ejecucin deL borrado mysql_query($sql_borrado) or die(header("location: error.php?error=no_borrado")); // 5) Cierre de la conexin con la base de datos mysql_close($conexionBBDD); //6) Envo directo a la pgina de bsqueda de usuarios header("location: busqueda.php"); ?>

42

LiNUX+ 9/2010

programacin Acceso a BBDD MySQL usando PHP

de los datos y que va a ser el encargado de construir la consulta SQL se quieran incluir, mostrar o editar y por tanto la estructura de los a partir de los datos enviados en funcin del campo elegido para accesos a la base de datos no es necesario modificarla pues las modibuscar. ficaciones habra que hacerlas en las consultas SQL que se ejecutan en cada mysql_query. Conclusin Aparte de las consultas SQL que habr que modificar en funcin De los cdigos mostrados anteriormente se pueden extraer los rasgos de la consulta que se quiere hacer en la BBDD, tambin hay que decir bsicos de la programacin sobre PHP del acceso a una base de datos que este cdigo PHP es una estructura a la que se le deben aadir MySQL. Estos cdigos son fcilmente extrapolables a las necesida- diferentes elementos para su puesta en produccin en una aplicacin des del lector pues a partir de cada uno de los ejemplos podemos para el pblico. En los ejemplos mostrados se debe atender a que se implementar bsquedas, altas, bajas y modificaciones. La adaptacin debera ampliar el cdigo incluyendo funciones que protejan nuestros depender de la estructura de la base de datos y de los datos que datos de accesos indebidos, es decir funciones de seguridad. Entre
Listado 4.1. Cdigo HTML de bsqueda eligiendo el campo de filtrado en tiempo de ejecucin
<html> <body> <h2 align="center">B&uacute;squeda de Usuarios</h2> <form action="busqueda2.php" method="POST">

<table align="center" border=1 cellspacing=0> <tr> <td colspan=3>Buscar por:</td> </tr> <tr> <td><input type="radio" name="rdoBusca" value="I"></td> <td>Identificador: </td> <td><input type="text" name="txtIdUsuario" value=""></td> </tr> <tr> <td><input type="radio" name="rdoBusca" value="N"> </td> <td>Nombre: </td> <td><input type="text" name="txtNombre" value=""></td> </tr> <tr> <td><input type="radio" name="rdoBusca" value="U"></td> <td>Usuario: </td> <td><input type="text" name="txtUsr" value=""></td> </tr> <tr> <td><input type="radio" name="rdoBusca" value="S"></td> <td>Sexo: </td> <td>Hombre:<input type="radio" name="rdoSexo" value="M"> Mujer: <input type="radio" name="rdoSexo" Value="F"></td> </tr> <tr> <td colspan=3 align="center"> <input type="submit" value="Enviar" name="modificacion"> </td> </tr> </form> </body> </html>

www.lpmagazine.org

43

programacin Acceso a BBDD MySQL usando PHP

Listado 4.2a. Cdigo PHP de la bsqueda y listado de registros de la BBDD


<?php // 1) Conexin al servidor mysql . En primer lugar se situa el host donde se // // sita la base de datos y a continuacin el usuario y el password con los que nos vamos a conectar

$conexionBBDD=mysql_connect('localhost','usrlpmagazine','pwdlpmagazine') or die(mysql_error()); // 2) Eleccin de la base de datos "MIWEB" mysql_select_db('MIWEB',$conexionBBDD) or die(mysql_error()); // 3) En primer lugar deberemos conformar la consulta SQL // que vamos a realizar a la Base de Datos $strSQL="SELECT IdPersona,Nombre, Usuario, Sexo FROM USUARIOS"; // 4) A la consulta se le va a incluir la clausula correspondiente // // // a la seleccin que haya hecho en el formulario. Si no se hubiera seleccionado nada no se incluira ningn filtrado de datos y por tanto se mostraran todos los registros case 'I':

switch ($_POST['rdoBusca']){ $strSQL .= " WHERE IdPersona='" . $_POST['txtIdUsuario'] . "'"; break;

case 'N':

$strSQL .= " WHERE Nombre like '%" . $_POST['txtNombre'] . "%'"; break;

case 'U':

$strSQL .= " WHERE Usuario='" . $_POST['txtUsr'] . "'"; break;

case 'S':

$strSQL .= " WHERE Sexo='" . $_POST['rdoSexo'] . "'"; break;

// 5) Ejecucin de la bsqueda sobre la base de datos $rsUsuarios=mysql_query($strSQL) or die("location: error.php?error=no_buscado"); ?> <html> <h2 align="center">Lista de Usuarios</h2> <body> <table align="center" border=1 cellspacing=0> <tr> <td> <b>Nombre</b> </td> <td> <b>Usuario</b> </td> <td> <b>Sexo</b> </td> <td> <b>Modificar</b> </td>

44

LiNUX+ 9/2010

programacin Acceso a BBDD MySQL usando PHP

Listado 4.2b. Cdigo PHP de la bsqueda y listado de registros de la BBDD


</tr> <?php // 6) Creamos el listado completo de la tabla con los resultados // obtenidos en la bsqueda a la base de datos con un bucle for($i=0;$i<mysql_num_rows($rsUsuarios);$i++){ // // Para cada registro de la base de datos creamos su equivalente en la tabla que queremos mostrar echo "<tr>"; echo "<td>"; //En el mismo orden que los titulos mostramos cada dato echo mysql_result($rsUsuarios,$i,"Nombre"); echo "</td>"; echo "<td>"; echo mysql_result($rsUsuarios,$i,"Usuario"); echo "</td>"; echo "<td>"; // // En el caso del campo Sexo escribimos el texto en funcin del valor que tuviera en la Base de Datos if(mysql_result($rsUsuarios,$i,"Sexo")=='M') else echo "</td>"; echo "<td>"; echo "<a href=\"modifica.php?id=" . mysql_result($rsUsuarios,$i,"IdPersona") . "\">Editar</a>"; echo "</td>"; echo "</tr>"; } ?> <tr> <td colspan=4> <a href="busqueda.php">Ir a la B&uacute;squeda</a> </td> </tr> </table> </body> </html> echo "Masculino"; echo "Femenino";

estas funciones se debera comprobar el acceso con autenticacin de usuario, proteccin ante la inyeccin SQL, autorizacin de pginas, separacin de funciones en libreras, creacin de sesiones, protecciones solicitadas por el usuario de la misma, etc..., elementos que no se han incluido pues el objetivo principal ha sido generar las estructuras de acceso a una BBDD para mayor comprensin de las mismas. Tambin es conveniente indicar que el aspecto y accesibilidad de las pginas es muy importante para el usuario final, por lo que es interesante incluir cdigo de script de navegador como javascript y crear pginas CSS cuyas clases modelen la parte visible de la web. La unin de cdigo PHP con estos elementos constituye una herramienta muy potente para las pginas que se generan dinmicamente en funcin de los datos contenidos en una BBDD.

Sobre el autor
Diego J. Garca es Ingeniero Tcnico de Informtica, actualmente profesor de formacin profesional en el IES Pedro Mercedes de Cuenca. Anteriormente ha trabajado como jefe de los departamentos de Administracin y Gestin de Bases de Datos y Desarrollo en los cuales, durante varios aos, dirigi y program diferentes portales privados utilizados como aplicaciones distribuidas en diferentes lenguajes entre los que se encuentran PHP y MySQL.

www.lpmagazine.org

45

msica y Linux CheapSounD

CheapSounD: Chiptunes, LoFi,


Lino Garca Morales

Soundtrackers, 8-bits Bands y otras rarezas


CheapSound (al igual que en el artculo Linux SmartCheap. Construccin desde la nada, publicado en LiNUX+ 7/2010, www.lpmagazine.org, pp.37-43) es un juego fontico entre Cheap/Chip juega con los conceptos barato/[circuito integrado] en una clara alusin al sonido producido por tecnologa electrnica pero no por cualquiera sino por aquella relacionada con los vdeo juegos y, ms en concreto, con el chip SID (Sound Interface Device) 6581/8580 de MOS Technology y toda la revolucin esttica que supuso.

ID es un sintetizador/generador de efectos de sonido compatible con la familia de microprocesadores 65XX (incorporado en los ordenadores domsticos CBM-II, Commodore 64, Commodore 128 y Commodore MAX Machine de Commodore) que provee un control amplio y preciso de la frecuencia, color de tono (contenido armnico) y dinmica (volumen) pero, lo que es ms importante, una circuitera de control especializada que minimiza la programacin, facilitando el uso en vdeo juegos e instrumentos musicales de bajo coste. Fue uno de los primeros chips de sonido incluido en un ordenador domstico antes de la revolucin del sonido digital. El chip SID fue creado por el ingeniero Robert Yannes, que ms tarde fund la compaa de sintetizadores llamada Ensoniq. Junto con el chip VIC-II, el chip SID fue indispensable en hacer el ordenador C64 el ordenador ms vendido en la historia de los ordenadores y es parcialmente acreditado por iniciar la demoscene: subcultura informtica que lleg a su auge en la era de los microprocesadores de 16 bits (la Atari ST y la Amiga), aunque las demos ya haban aparecido en computadoras de 8 bits como la Commodore 64 y la ZX Spectrum.

es@lpmagazine.org

Vivimos en la Edad de Oro de los Medios Muertos Bruce Sterling

Por qu hablar de toda esta cacharrera obsoleta en tiempos tan sofisticados para la produccin de msica digital? Tiene sentido? La respuesta es s y es que, como afirma Sterling, vivimos en la edad de oro de los medios muertos y este renacimiento se debe a la reinvencin de los medios obsoletos. Estas acciones son una forma de resistencia cultural en contra de la obsolescencia planificada, de la bsqueda de lo nuevo sin valorar el pasado, de los mitos, en definitiva, de una cultura comercial. La obsolescencia incorporada afecta a la inmensa mayora de los bienes de consumo con estrategias que animan al consumidor a comprar algo que ya tienen para seguir a la moda, para estar al da, en definitiva para continuar siendo propietario de algo que funciona tecnolgicamente avanzado (vase el artculo Soluciones sostenibles. Tecnologas para el desarrollo humano, publicado en LiNUX+ 6/2010, www.lpmagazine.org, pp.36-42). Matteo Bittanti lo define de la siguiente manera: lo que para unos es un vertedero para otros es la isla del tesoro. Los creadores perturban las estrategias adoptadas por los fabricantes de juegos poniendo al descubierto el

Figura 1. SID (Sound Interface Device) 6581

Figura 2. Commodore 64

46

LiNUX+ 9/2010

msica y Linux CheapSounD

Figura 3. Uno de los vdeo juegos ms populares en los inicios: Space Ivaders

potencial sin explotar del hardware desechado haciendo de lo retro algo totalmente nuevo. Como escribi Colson Whitehead el leitmotiv es: El fallo es lo que gua la evolucin; la perfeccin no ofrece ningn estmulo para mejorar, el fallo de uno es la perfeccin del otro. La Figura 4. Otro video juego: Pacman msica chip (cheapsound?) es el mensaje. reproduccin, pero dot a aquellos procesadores de un sintetizador substractivo, hardware de muy bajo coste y flexible. SID no tuvo un Chiptunes claro competidor hasta 1985 cuando lleg al mercado la Nintendo Este trmino designa la msica compuesta mediante hardware de Entertaiment System (NES); an as las reglas de juego seguan audio pero, no cualquiera, sino empleando aquellos microchips de siendo diferentes: la Commodore 64 era un ordenador domstico antiguos ordenadores domsticos y consolas de vdeo juegos. La y el nuevo NES estrictamente una consola de vdeo juegos. A finarelacin con los vdeo juegos es evidente pero no hace referencia les de los 80s los jugadores europeos se inclinaban por ordenaexclusivamente, segn Kevin Driscoll y Joshua Daz, a las bandas dores domsticos programables como la Atari ST, el Amiga y las sonoras o a las composiciones musicales de vdeo juegos. mquinas compatibles IBM PC frente a consolas de vdeo juegos Los juegos informticos se introdujeron en la privacidad del hogar cerradas como la NES, Game Boy y Sega Genesis. a principios de los ochenta despus de que los juegos digitales arcade haban proporcionado la nica experiencia informtica a cualquier Trackers gente de a pie. Sin embargo, los ordenadores no fueron orientados En 1987, Karstein Obarski dise una herramienta grfica para que inicialmente al mundo del vdeo juego y sus capacidades de repro- le asistiera en sus labores de composicin para su ordenador Amiga duccin de audio eran muy limitadas a diferencia de las mquinas A500: The Ultimate SoundTracker. La novedad de esta herramienta recreativas arcade hechas a medida. La inclusin del SID junto con era que presentaba los 4 canales de sonido del ordenador en forma un chip de grficos en el Commodore 64 marc una gran diferencia de un rollo de piano vertical (metfora que corresponda eleganterespecto a la arquitectura Atari en cuanto a flexibilidad para la progra- mente con la estructura en bucle comn prcticamente a todas las macin de grficos y sonido. Era posible programarlo directamente subrutinas de reproduccin de msica del chip SID) a la vez que en lenguaje de mquina del 6502. provea la posibilidad de programar msica sin saber programar. Programar al SID no era simple, de hecho los compositores Todas las herramientas de tracking posteriores heredaron esa tenan no slo que escribir la msica sino tambin el software de estructura conceptual de los patrones en bucle SID de Hubbard.

Figura 5. SoundTracker: Ventana principal con la vista de las pistas

Figura 6. SoundTracker: Vista del Editor de Instrumentos

www.lpmagazine.org

47

msica y Linux CheapSounD

Figura 7. SoundTracker: Vistas del Editor de Sonido (muestras)

Figura 8. SoundTracker: Informacin de los Mdulos

Los trackers tenan otras caractersticas no menos importantes: se distribuan gratuitamente y, al contrario de lo que suceda con los formatos MIDI (que slo contenan la notacin musical) adjuntaban en sus formatos, tanto los patrones como las muestras de una cancin (formato MOD). Este diseo en base a patrones sigue siendo muy popular (en definitiva, como seal Schaeffer, la msica es cualquier cosa que se repite) y la inclusin de las muestras de audio permita que la msica se escuchase igual, independientemente de la capacidad de sonido del ordenador (algo que no pudo conseguir el MIDI). Esta filosofa de los trackers le acerc a la comunidad del software libre y, posteriormente, a Linux. La Figura 3 muestra algunas vistas del programa SoundTracker (http://www.soundtracker.org/). La evolucin de los trackers ha permitido el empleo de controladores (como teclados USB), conexin con otros programas (va Jack, por ejemplo) y, como Figura 9. Sintetizador substractivo HyperSID con todas las capacidades del chip no poda ser de otra manera, la produccin de sonido 8-bits mediante SID C64 ms nuevas caractersticas controlado MIDI ya no slo mediante la emulacin software de SID sino a travs de una herramienta mucho ms verstil: el sampler.

Emuladores

Un sampler es un sintetizador por tabla de ondas. Su funcionamiento es lo ms parecido a un grabador domstico. Si se aumenta la velocidad de reproduccin de una cinta sube el tono (como el sonido pitufo) y se baja todo lo contrario. El sampler (muestreador en castellano) graba digitalmente trozos de sonidos en lo que denomina tabla de ondas y luego las reproduce a velocidad variable para conseguir todos los tonos. En los inicios (teniendo en cuenta la gran cantidad de memoria que ocupan muestras de sonido de alta calidad) utilizaban muy pocas muestras y, con ellas, se las arreglaban para satisfacer Figura 10. Librera de sonido de 8 bits comercializada por Sony una tesitura mucho ms amplia pero hay sonidos que, cerca de una quinta de distancia tonal, sufren una degradacin tonal inadmisible (debido principalmente a la distorsin de sus formantes). Con el tiempo ha llegado incluso a utilizarse el disco duro en lugar de la RAM
Listado 1. Patrn de muestra extrado de Monty on the Run, de Hubbard (Gremlin Graphics, 1985). A cada nmero hexadecimal le corresponde una serie de bits que indican diversas caractersticas de la nota a reproducir, como la duracin, instrumento, tono, efecto, etc.
[2.8] ptn=34* byt $03,$4a,$03,$4a,$a3,$f8,$48,$03 byt $4a,$03,$4a,$03,$4a,$a3,$f8,$48 byt $03,$4a,$ff

Figura 11. Algunos juguetes y artefactos intervenidos (I)

48

LiNUX+ 9/2010

msica y Linux CheapSounD

y, sin restricciones de espacio, las muestras pueden ser de altsima calidad (24 bits, 96 KHz, por ejemplo) y todas las que se necesiten; incluso ms de una muestra para cada nota (teniendo en cuenta la sutil variacin del timbre respecto la dinmica). Una vez llegado a este punto surge una paradoja. El uso de muestras 8-bits o LoFi para estas nuevas tecnologas. Esta capacidad de emulacin permite retornar a una cultura desde otra perspectiva puramente esttica. Ahora el chiptunes es posible sin el SID, ni los quebraderos de cabeza que supona programarlo en la C64 que, dicho sea de paso, es difcil encontrar ya alguna en perfectas condiciones y mantenerla a pleno rendimiento despus de tres dcadas.

uno de los principales objetos de intervencin. Estos experimentos, mucho ms dependientes del azar, no son slo una forma atrevida de acercarse a la tecnologa, sino una manera desinhibida, sin complejos, de entender la creacin. Los resultados no son demasiado armnicos pero comparten determinados aspectos de la ideologa punk, en una esttica postpunk, como una instrumentacin llevada a lo esencial y una lgica de hazlo t mismo a la que agregara y comparte.

Conclusiones

Circuit Bending

Lo que traducir como intervencin creativa de circuitos es una tcnica para crear nuevos instrumentos musicales o visuales, y generadores de sonido a partir de cortocircuitar las pistas de dispositivos electrnicos de bajo voltaje como efectos de guitarra con pilas, juguetes para nios y pequeos sintetizadores digitales. Basado sobre todo en el azar y la espontaneidad, estas intervenciones se han asociado comnmente con la msica del ruido, a pesar de que ya muchos msicos contemporneos ms convencionales y grupos musicales se han atrevido a experimentar con ella. Por lo general desmantela la mquina y le aade componentes como interruptores y potencimetros que alteran el circuito a voluntad? Ese tipo de intervenciones es igualmente una actitud militante hacia la obsolescencia en la medida en que recicla las funciones para las que fueron diseados los objetos a los que se dirige. El dispositivo Speak and Spell, de Texas Instruments, (Figura 11) es

Como dijo Marshall McLuhan la obsolescencia jams supuso el fin de nada. No es ms que el principio. La "era de oro" de los chiptunes fue desde mediados de los 80 hasta principio de los 90, cuando estos chips eran el nico modo de reproducir msica en los ordenadores. Una vez asesinados, muertos, obsoletos, asistimos a una segunda "era de oro", la de los medios muertos, a su resurreccin. Los chiptunes no son exclusivos de la generacin game boy. Son cada vez ms los artistas y creadores que lo incorporan a sus proyectos. Prueba de ello es la exposicin PLAY-LIST, Jugando con juegos, msica, arte; que organiz el Centro de Arte y Creacin Industrial de Gijn: LABoral, entre diciembre de 2009 y mayo de 2010. El espritu libre de esta msica no slo est presente en sus herramientas y races sino tambin en la distribucin de su produccin. Son muchos los sitios en Internet desde donde es posible descargar gratuitamente estas creaciones, frutos, como apunta Benjamin Well, de una reinvencin tecnolgica, un acto de resistencia creativa que abre nuevos caminos para el arte y la cultura popular.

Sobre el autor
Lino Garca Morales es Graduado en Ingeniera en Control Automtico, Mster en Sistemas y Redes de Comunicaciones y Doctor 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. Actualmente es profesor titular de la Escuela Superior de Arte y Arquitectura y de la Escuela Superior Politcnica de la Universidad Europea de Madrid y Coordinador del Grado en Arte Electrnico y Digital. Artista y cientfico, lidera un grupo de

Figura 12. Algunos juguetes y artefactos intervenidos (II)

investigacin transdisciplinar en la interseccin Arte, Ciencia y Tecnologa. Ha disfrutado de Becas por la Agencia Espaola de Cooperacin Internacional, FUNDESCO, el Consejo Superior de Investigaciones Cientficas (CSIC) y la Universidad Politcnica de Madrid.

Enlaces de inters

Figura 13. Algunos juguetes y artefactos intervenidos (III)

SID: http://es.wikipedia.org/wiki/SID Cheaptunes: http://es.wikipedia.org/wiki/Chiptune 8bitpeople: http://www.8bitpeoples.com/ RushJet1: http://nsf.4x86.com/ HyperSID: http://www.hypersynth.com/hypersid.html SoundTracker: http://www.soundtracker.org/ PLAY-LIST: http://www.laboralcentrodearte.org/exhibitions/ show/116

www.lpmagazine.org

49

opinin Caf? No, gracias, respondi el servidor DNS

Caf? No, gracias, respondi el servidor DNS

H
Fernando de la Cuadra, director de Educacin de Ontinet.com, distribuidor en exclusiva de las soluciones de seguridad de ESET en Espaa

ace algn tiempo, con un gran amigo, pensamos en escribir una pequea novela de terror, pero de terror informtico. Estara basada en la cada globalizada de Internet un da de estos. S, eso es poco probable, no es tan fcil hacer que todos (todos!) los servidores se caigan a la vez, pero caramba, era una novela, no? No obstante, intentando que tuviera algn punto de verosimilitud, decidimos que ya que tirar todos los servidores de Internet es complejo, bastara con tirar solamente 13: los que soportan el sistema DNS, los llamados DNS root. Estas 13 mquinas son las que se encargan de llevar la lista de direcciones IP y sus correspondientes nombres de dominio. Cierto es que hay muchos ms que solo 13, ya que tienen rplicas, pero esos 13 son los grandes y de ellos dependen los dems. Cualquier modificacin que se haga en esos 13 servidores DNS afecta al comportamiento del resto de sistemas, con lo que un ataque contra ellos supondra el desastre que andbamos buscando para la novela. Puestos a investigar, descubrimos que la mejor manera de atacarlos, la ms sencilla, la ms barata y con ms xito era tirar un poco de caf encima de la placa (o placas) base de los sistemas. Y no acabamos de ponernos de acuerdo en cmo hacerlo, as que la novela sigue pendiente. Si ests leyendo esto, Jos Manuel, a ver qu da quedamos y nos ponemos en serio. El caso es que estos 13 servidores han dado un paso adelante muy grande para mejorar la seguridad de los usuarios de Internet. Desde mediados del mes de julio pasado, los servidores DNS incorporan un sistema de firma digital mediante el cual se certifica que la direccin IP obtenida al hacer la consulta de un nombre de dominio es cierta. Qu ventajas tiene esto? Para mi novela pocas, pero hay dos fundamentales. Una el fabuloso negocio que ha hecho la empresa que gestiona esas firmas digita-

les, seguro que sus acciones han subido muchos puntos y sus directivos se pueden ir de vacaciones donde les d la gana. Y la otra, que es un paso adelante en la seguridad de La Red. Las tcnicas de pharming (basadas precisamente en engaos a la hora de convertir nombres de dominio en IP) tienen en este sistema de firmas un pequeo enemigo, hay avances en el intento de frenarlas. Desgraciadamente, que 13 grandes servidores tengan implementado un nuevo sistema de seguridad no significa que, de nuevo, todo el monte sea organo. El pharming utiliza el fichero hosts de cada PC, de manera que hasta que el sistema baje a los ordenadores de los usuarios queda mucho, muchsimo tiempo. Y lo que es ms grave, el pharming afecta a todos los sistemas, independientemente de qu sistema operativo utilicen. He visto sistemas Linux con ese fichero de hosts modificado por culpa de una imprudencia del usuario que lo gestionaba (me niego a llamarle administrador). Ese usuario estaba convencido de que no le iba a pasar nada, ya que usaba Linux. Eso solo le pasa a los usuarios de Windows, deba pensar, y as le fue. Que 13 servidores tengan instalado un sistema muy seguro para evitar fraudes en la resolucin de nombres de dominio no quiere decir que debamos abrir botellas de cava para celebrarlo y decidir que el mundo se ha arreglado. Es un avance importante, s, pero nos queda mucho tiempo hasta que lo disfrutemos. Viene a ser como cuando en los aos 70 se hablaba de un dispositivo llamado airbag, que hasta ms de 30 aos despus no se vio generalizado. Y a pesar de eso, sigue muriendo gente en la carretera. La confianza excesiva puede ocasionar problemas muy gordos, as que no nos confiemos y sigamos protegindonos de los cdigos maliciosos, del pharming y de las tazas de caf sobre las placas base. Porque la novela la escribo, eso s que es seguro.

50

LiNUX+ 9/2010

También podría gustarte