Professional Documents
Culture Documents
Arranque
Este DVD contiene dos caras, con
Kubuntu 11.04 por un lado y Slackware
13.37 por el otro. Kubuntu viene en
versión “Live” y de instalación, por lo
que puede ser arrancada y probada sin
instalar nada en el disco duro.
Para empezar a usar su Linux, inserte
el DVD en el reproductor y rearranque
el ordenador. Si no aparece el menú
del DVD, tiene que ajustar la BIOS para
arrancar desde el disco. Para hacerlo,
nos a
E C T U OSO? al estado, escríbaera que normalmente ha de pulsar una tecla
DEF está en
m
carlo o
p
¿DVDes que tu DVD sti durante las primeras fases del arran-
diagno
Si cre s para que del ordenador (habitualmente F2 o
azine.e
@ lin ux-mag v o. Supr), buscar el menú que permite
dvd o nue
en viemos un cambiar la secuencia de arranque de
te
dispositivos y colocar el lector de DVDs
en el primer lugar de la secuencia. Pos-
teriormente se guardan los cambios y
se sale de la herramienta de
configuración para que se reinicie el
arranque. Como cada BIOS es dife-
L
la cara que está hacia abajo. Para evi-
incluye las novedades de Ubuntu resto de aplicaciones gracias al tema Oxy- tar confusiones, la etiqueta de cada
“Natty Narwhal”, más algunos ases gen. distro está en la cara opuesta a la de
que se guarda en la manga. Kubuntu 11.04 Slackware [2] es una de las distros más sus datos. Por tanto, para empezar a
viene con lo último del proyecto KDE, la antiguas del ecosistema GNU/Linux, usar Kubuntu, la etiqueta con la pala-
versión 4.6.6, con todas las mejoras de remontándose sus orígenes al año 1993. El bra “Kubuntu” tiene que estar hacia
estabilidad y funcionalidades que eso énfasis de Slackware no está precisamente arriba, y viceversa para usar Slack-
implica. Además se ha mejorado la inter- en la facilidad de uso, sino en su estabili- ware.
acción con otros sistemas, pudiéndose dad, robustez y el control que confiere al
compartir carpetas con máquinas Linux, usuario/administrador. A pesar de sus
Windows o Mac a través de Dolphin. Otra profundas raíces, Slackware se mantiene RECURSOS
mejora es la integración de OwnCloud, el al día, y esta versión viene con los escrito- [1] Kubuntu: http://www.kubuntu.org/
servidor de almacenamiento remoto de rios KDE 4.5.5 y Xfce 4.6.3, un kernel [2] Slackware: http://www.slackware.
KDE, con el sistema; y de aplicaciones 22.6.37.6 y las últimas versiones de las com/
GTK (como Inkscape o Firefox), que aplicaciones de escritorio más utilizadas.■
GENES Y MEMES
n el Gen Egoísta, el biólogo britá- fanatismos ideológicos y, por
E
Nos sentimos orgullosos de nuestros
nico Richard Dawkins explica supuesto, los chistes sobre Chuck orígenes como publicación, que
cómo el altruismo, el sacrificio del Norris. se remonta a los primeros días de
la revolución Linux. Nuestra
individuo por sus semejantes (en el sen- Y el software libre también es
revista hermana, la publicación
tido más literal de la palabra, por sus un meme. Sabemos que el soft- alemana Linux Magazine,
hijos, familiares y amigos, su tribu en ware libre trasciende al código y fundada en 1994, fue la primera
suma), es producto de la evolución de la las aplicaciones. Ha contagiado a revista dedicada a Linux en
“necesidad” de los genes de replicarse, las artes, la ciencia y la ingeniería, Europa. Desde aquellas
tempranas fechas hasta hoy,
sublimada en un instinto mucho más y las está transformando. Puede nuestra red y experiencia han
sofisticado que el de la supervivencia. que no todas las “formas de vida” crecido y se han expandido a la
El uso de una envoltura de lípidos para generadas en el proceso sobrevi- par que la comunidad Linux a
protegerse mejor del entorno, dando lugar van y muchas de las que no adop- lo ancho y largo del mundo.
Como lector de Linux
a las primeras células; la asociación de ten el nuevo gen tampoco, pero
Magazine, te unes a una red
esas células en estructuras biológicas más algunas sí lo harán y estarán de información dedicada a
complejas; la evolución de esas estructu- mejor adaptadas a su constante- la distribución del
ras hacia formas de vida animales; el cre- mente cambiante mundo cultural conocimiento y experiencia
cimiento del cráneo para alojar un cere- y a nuestro modo de vida. técnica. No nos limitamos a
informar sobre el movimiento
bro cada vez más grande; el desarrollo de La metáfora biológica va Linux y de Software Libre, sino
la empatía y el sacrificio… todos esos incluso más allá del par gen/ que somos parte integral de él.
hitos de los seres vivos, se pueden expli- meme. Cuando se empezó a utili-
car en función de que los genes del orga- zar (despectivamente) el término
nismo que los alcanza tiene mayores “viral” para describir las licencias tipo su código en laboratorios estériles donde
garantías de que su réplica sobreviva… GPL, en realidad no se podía haber usado las modificaciones están estrictamente
para replicarse de nuevo. un adjetivo más acertado. Hay que enten- controladas por criterios basados exclusi-
Al igual que la sucesión de una serie de der que no sólo hay virus que destruyen a vamente en la rentabilidad y donde los
lo que parecen felices coincidencias (cabe los seres que habitan, sino que los hay “dioses” que ejecutan los cambios son
recordar que por cada organismo que que juegan su rol en la evolución, siendo pocos y seleccionados, operando bajo
consigue replicarse hay literalmente agentes de la modificación de las estruc- condiciones igualmente restrictivas.
millones que no lo consiguen, algo que turas del ADN de sus huéspedes, modifi- Mientras tanto, el software libre ha imple-
viene sucediendo a lo largo de más de caciones que, a su vez, dan lugar a nue- mentado un teatro de desarrollo evolutivo
3.000.000.000 de años en una placa de vos seres que puede que se adapten mejor global, animando a que todos seamos dio-
petri del tamaño de un planeta) ha dado a su entorno. Si el código es el gen, las ses, concediéndonos el poder de crear
lugar a la variedad de seres que pueblan licencias son sus virus, esto es, los meca- mutaciones a nuestro antojo. No sólo eso,
la biosfera terrestre, lo mismo sucede en nismos utilizados para su propagación y sino que, mientras las empresas celosas
el ámbito de la noösfera, lugar donde mutación. de su propiedad intelectual pueden estar
millones de ideas nacen, se reproducen La gracia está en que, así como la evo- diseñando el equivalente informático del
(aunque no siempre) y, a veces, mueren. lución de las especies biológicas es ciega ántrax o aplicaciones infectadas de
Algunas de ellas se replican mejor que (la naturaleza no tiene un objetivo defi- viruela (puede que incluso sin querer), la
otras y cogen arraigo en la mente de los nido para ninguno de los seres vivos que impuesta transparencia del software libre
humanos, contagiándose hasta permear existen en su seno), la evolución del soft- obliga a la creación socialmente responsa-
un gran número de individuos o toda la ware sí es dirigida. Cada línea de código ble y de código sano.
especie. Se convierten en los denomina- que se reescribe para hacer un programa Y ese es el mayor argumento a favor de
dos memes (término también acuñado más eficiente, cada nueva funcionalidad su supervivencia. Es sin duda la especie
por Dawkins en la misma obra citada más integrada en una aplicación y cada nueva más apta. ■
arriba). aplicación creada para satisfacer una
Los memes son algo más que vídeos de necesidad, son un paso más hacia una
gatitos tocando el piano, y si bien el tér- mejor integración de la tecnología infor-
mino se suele asociar a las bromas textua- mática con los humanos a quienes sirve.
les o visuales de 4chan, en realidad abar- Esa evolución no se da más rápida-
can los descubrimientos científicos, las mente y con mayor calidad de resultados
corrientes de pensamiento y artísticas, las que en el software libre. Volviendo a las Paul C. Brown
modas, las religiones, los prejuicios, los placas de petri, el software privativo aísla Director
MENOS RIESGO
Los plugins proporcionan mucha funcionalidad pero, dependiendo de su calidad, también pueden aportar
E
l software libre nunca deja de Press contaba con 11231 plugins; Firefox intencionadamente maliciosos, la cruda
sorprender; pocas cosas en el posee actualmente más de 13000). realidad es que la calidad de su código
mundo (excepto los Legos) son Por último, en los casos relativamente deja mucho que desear.
tan fáciles de modificar, moldear, poco frecuentes en los que el autor o la Los proyectos de gran envergadura,
ampliar y mejorar. Son muchos los pro- empresa deciden que sólo pueden pro- como Firefox, TYPO3 o WordPress,
gramas que soportan explícitamente porcionar el código fuente de forma atraen la atención y colaboración de la
plugins y extensiones, facilitando aún cerrada, pueden integrarse partes de las gente; en algunos casos existen equipos
más esta labor. Entre otros, se pueden que de otro modo no se podría disponer. de seguridad dedicados que auditan
contar Firefox, TYPO3, WordPress, y, continuamente el código y trabajan
por supuesto, el kernel Linux. ¿Qué Hay de Malo? codo con codo con la comunidad de
Entonces, ¿por qué suponen un pro- Como decía Stan Lee: “Un gran poder seguridad para intentar resolver de la
blema los plugins (módulos, extensio- conlleva una gran responsabilidad”. Los manera más rápida posible sus proble-
nes, etc.)? Sabemos que permiten pro- plugins casi siempre se ejecutan dentro mas. Algunas empresas especializadas
bar nuevas ideas y conceptos sobre el de un contexto de seguridad y con el en seguridad tienen interés en desvelar
software sin necesidad de obtener el nivel de privilegios de la aplicación a la agujeros de seguridad en este tipo de
beneplácito del proyecto principal. A que pertenecen. Siguiendo esa lógica, programas, puesto que les proporciona
veces, por una serie de razones técnicas, los plugins de Firefox tienen permiso cierto reconocimiento. Por suerte, la
legales, de marketing o políticas, los para acceder a todos los archivos a los mayoría de estas empresas colaboran
proyectos de software no pueden o no que puede acceder nuestra cuenta. con los proyectos para que esos aguje-
quieren ofrecer determinadas funciona- El plugin podría además interactuar ros sean resueltos a la mayor brevedad
lidades (como es el caso de Firefox y con nuestra sesión de login, ejecutar posible sin causar demasiados inconve-
AdBlock Plus). procesos en segundo plano y hacer cual- nientes a los usuarios finales. Pero los
Además, como ocurre con proyectos quier cosa que podamos realizar noso- proyectos de plugins no suelen contar
como TYPO3 o WordPress, que proveen tros con nuestra cuenta – como editar el con este tipo de recursos; en muchos
sistemas de gestión de contenidos crontab o el archivo .profile para ejecu- casos, simplemente es un único des-
(CMS) y funcionalidades de publicación tar scripts o código arbitrarios, incluso arrollador el que libera el código públi-
de blogs (que básicamente son un sub- aunque no hayamos ingresado al sis- camente.
conjunto de lo que es un CMS), la canti- tema. De hecho, algo así ocurrió en
dad de código fuente sería impracticable 2008; un plugin de Firefox llamado Basic TYPO3
si cada una de las funcionalidades dese- Example Plugin for Mozilla difundió Tro- TYPO3 soporta extensiones que van
adas se distribuyese integrada en la jan.PWS.ChromeInject.A, que robaba desde plugins de calendario, hasta
solución (en Septiembre de 2010, Word- cuentas de usuario y contrase- workflow de correo electrónico, editores
ñas [1]. Incluso de textos o soluciones de foro, por citar
cuando no son algunas. El núcleo de TYPO3 consta de
más de 6000 archivos, de los cuales
unos 1200 están escritos en PHP. En
2009 hubo 21 notificaciones de proble-
mas de seguridad que desvelaban 113
problemas relativos a TYPO3. De todos
los reportados, sólo 16 tenían que ver
con el verdadero código fuente del
núcleo de TYPO3 [2]; los otros 97 esta-
ban en extensiones de TYPO3.
Aunque esta cifra no fuese tan mala
como parece ser, según la página TYPO3
NOTICIAS
Novell Obligada a Recular En un post en el blog de desarrollo del … Y Google no hizo nada para impe-
El impacto en el software libre obliga a proyecto, Rubin alude a los rumores y dirlo.
Novell a anular la venta de sus patentes los tacha de FUD, alegando que Google ¿Alguien dijo FUD? ■
a Microsoft, Apple y Oracle. liberará Honeycomb “cuando esté listo”,
Considerando las alegaciones presen- y añade que el motivo del retraso es que RECURSOS
tadas por la Free Software Foundation y se está adaptando el sistema para teléfo-
[1] Reflexiones de Andy Rubin sobre las
la Open Source Initiative, el Departa- nos móviles.
acusaciones de cerrar el código:
mento de Justicia de EE.UU. invalida la También alude a las noticias de que
http://android-developers.blogspot.
venta de 882 patentes a CPTN, un con- Google exige ciertos requisitos a los com/2011/04/
glomerado de empresas creado por fabricantes antes de certificar la compati- i-think-im-having-gene-amdahl-mo
Microsoft, Oracle y Apple. bilidad del dispositivos, explicando que ment.html
En concreto, Microsoft and Co. ten- no es realista que Google asegure el fun-
[2] Windows 7 Mobile es “Open” según
drán que vender de vuelta las patentes a cionamiento del sistema y sus apps en
Microsoft (y otras barbaridades):
Attachmate, la empresa con la que un amplio abanico de dispositivos
http://www.facebook.com/
Novell anunció su fusión en noviembre. incompatibles entre sí.
linuxmagazine.es/posts/
Los miembros de CPTN podrán adquirir En fin, ¿qué van a decir? Hasta Microsoft
10150113256506302
licencias de uso de las patentes en cues- declara abierta la plataforma Windows de
tión, pero nada más. vez en cuando [2]. Lo que sí convence un [3] Sitio del Asus Eee-Pad. Pulsa
“Download” para acceder a la
La posición dominante en el mercado poco más es el hecho de que Asus (sí,
fuente del kernel de honeycomb:
de Microsoft, Apple y Oracle, en combi- Asus, no Google) liberó el kernel de
http://www.asus.com/Eee/Eee_Pad/
nación con las patentes acumuladas por Honeycomb por su cuenta y riesgo a raíz
Eee_Pad_Transformer_TF101/
Novell a lo largo de su larga historia, del lanzamiento de su Asus Eee-pad…
habrían puesto en peligro la capacidad
de innovación del sector TI en general, y
en especial en el ámbito del software de Una de Cal y Otra de Arena originales por otros customizados (como
código abierto. ■ Sony (sí, Sony, la empresa que ha distri- CyanogenMOD del que hablamos en
buido CDs con rootkits para frenar su nuestro Facebook [2]) y la ejecución de
RECURSOS copia no controlada y perseguido inmi- aplicaciones no certificadas ni por Sony
sericordemente a los hackers empeña- ni Google (el llamado “homebrew”).
[1] Novell ha de anular la venta de sus
dos en abrir sus consolas de videojue- Todos los terminales comercializados
patentes: http://www.pcworld.com/
gos) abre un portal [1] que revela cómo desde principios del 2011 hasta hoy de la
businesscenter/article/225717/
desbloquear sus propios terminales gama Xperia, el cruce entre móvil y PSP
doj_limits_microsofts_purchase_of_
móviles. de la empresa japonesa y que podemos
novell_patents.html
Publicado en su portal “Developer adquirir en nuestro país, pueden ser
World”, y tras las obligadas advertencias desbloqueados. ■
Android Sigue Siendo de los peligros que entraña el proceso
Abierto según Google. (pérdida de la garantía y funcionalida- RECURSOS
Han habido muchas especulaciones des, brickeo de la terminal, etc.), el
[1] Sony te ayuda a desbloquear sus
sobre si Android va a seguir siendo documento explica con todo detalle los
teléfonos: http://unlockbootloader.
abierto o no, sobre todo en el momento 14 pasos para desloquear el bootloader
sonyericsson.com/
en el que Google no publicó (y sigue sin de los terminales móviles comerciali-
publicar a día de hoy) el código fuente zado bajo la marca Sony-Ericsson y [2] El ROM Android libre Cyanogen:
de Honeycomb. Sin embargo, Andy equipados con Android. http://www.facebook.com/
linuxmagazine.es/posts/
Rubin, vicepresidente de ingeniería, des- Este proceso, a todos los efectos, abre
10150150215741302
miente la cerrazón de Android [1]. los móviles a la sustitución de los ROMs
VERIFICACIÓN
METÓDICA
L
a gobernanza y la conformidad
son una realidad para la mayo-
Methodology Manual proporciona ría de empresas de tecnología
de la información. A menudo se espe- Metodo-
una metodología estándar para cifican requisitos claros para llevar a logías de Seguri-
cabo auditorías de seguridad mediante dad y de Código Abierto
las verificaciones de seguridad.
una política de seguridad interior o (ISECOM) de manera que “ya no tenga
POR RON McCARTY. con una regulación externa, como la que depender de mejores prácticas
Payment Card Industry Data Security generales las evidencias anecdóticas o
Standard (PCI DSS) 2.0, la Health supersticiones, ya que hemos verifi-
Insurance Portability and Accountabi- cado la información específica para
lity Act (HIPAA) de 1996, la Patient nuestras necesidades en la que basar
Safety and Quality Improvement Act nuestras decisiones de seguridad”.
(PSQIA) de 2005, y muchas leyes de Dicho de otra manera, OSSTMM 3 es
Ron McCarty es escritor indepen- privacidad estatales y locales. una metodología estándar, en la que la
diente, consultor de tecnologías Sin embargo, rara vez se cubre una información se puede compartir abier-
de la información y el propietario
metodología para llevar a cabo las tamente (y debatirla y revisarla),
de Your Net Guard LLC, una
pruebas y auditorías internas por el mientras que hasta hace poco, muchas
empresa de consultoría IT ubicada
personal técnico en la política interna auditorías se basaban en la experien-
EL AUTOR
• 11.2.1 (a) Verificar el alcance y el • 11.2.1(d) Verificar el propietario de la empresa auditora, la información de
propietario de los objetivos señalados los objetivos desde la información de registro o sus documentos legales
para la auditoría. El titular es la registro de dominio. El Titular con- deben corregirse. Pueden ocurrir des-
entidad a la que pertenece el domi- tiene el propietario de la empresa, y ajustes cuando una empresa se muda
nio. el contacto administrativo contiene o es adquirida. O, si un contacto admi-
• 11.2.1(b) Determinar la ubicación de a la persona a la que se le permite nistrativo ha cambiado de empresa, la
la propiedad y el propietario de los administrar (cambiar) la informa- información es probable que esté des-
objetivos de housing. De nuevo, el ción de dominio. actualizada.
campo Titular contiene el propieta- Si cualquiera de estas pruebas no coin- Whois puede buscar tanto direccio-
rio y la ubicación del dominio. cide con los registros proporcionados a nes como dominios. Para 11.2.1.(c)
Verificar el propietario de los objetivos
Listado 2: dig para mcwrite.com desde la información de registro de la
01 # dig www.mcwrite.com
red, se necesitan unos pocos coman-
02 dos más. Para investigar las redes se
03 ; <<>> DiG 9.7.0-P1 <<>> www.mcwrite.com necesitará una lista de direcciones de
04 ;; global options: +cmd red desde la DMZ, desde la empresa de
05 ;; Got answer: servicios web, y desde cualquier pro-
06 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45953 veedor de servicios si el correo electró-
07 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 nico u otros servicios están subcontra-
08 tados. A continuación, se puede ejecu-
09 ;; QUESTION SECTION: tar whois para las distintas redes o
10 ;www.mcwrite.com. IN A direcciones IP.
11 Con frecuencia, las direcciones esta-
12 ;; ANSWER SECTION: rán registradas a nombre de otra per-
13 www.mcwrite.com. 86400 IN A 217.160.37.30 sona, ya que las direcciones DMZ a
14 menudo no son portables (es decir, no
15 ;; Query time: 175 msec pueden ser transferidas entre los
16 ;; SERVER: 192.168.1.1#53(192.168.1.1) ISPs), y alojan servidores en otras
17 ;; WHEN: Tue Feb 1 12:09:32 2011 redes. Cada uno de estos registros
18 ;; MSG SIZE rcvd: 49
recabados con whois deberían ser vali-
dados con acuerdos o facturas de ser-
Listado 3: dig Inverso vicios. A veces, estos registros son
correctos, porque los proveedores han
01 # dig -x 204.9.177.195
sido adquiridos por otros.
02
03 ; <<>> DiG 9.7.0-P1 <<>> -x 204.9.177.195
Otra herramienta de software libre,
04 ;; global options: +cmd dig, es muy útil en la investigación de
05 ;; Got answer: hosts específicos y direcciones IP den-
06 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51562 tro del dominio. Dig viene de serie con
07 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 muchos sistemas y está preinstalada
08 en Ubuntu Server 10.4, que se utilizó
09 ;; QUESTION SECTION: para este artículo. Si tenemos que ins-
10 ;195.177.9.204.in-addr.arpa. IN PTR talarla, es parte del paquete bind-utils
11 disponible en la mayoría de versiones
12 ;; ANSWER SECTION: de Linux.
13 195.177.9.204.in-addr.arpa. 75540 IN PTR blogs.typepad.com. Dig se puede utilizar para varias de
14 las siguientes pruebas.
15 ;; Query time: 26 msec • 11.2.1(g) Búsqueda de nombres de
16 ;; SERVER: 192.168.1.1#53(192.168.1.1) dominio similares o mal escritos que
17 ;; WHEN: Tue Feb 1 12:14:17 2011
puede ser confundidos con el obje-
18 ;; MSG SIZE rcvd: 75
tivo. Los auditores deben asegurarse
que no se están ejecutando pruebas
Listado 4: Escaneo Nmap Sólo ping contra dominios que no pertenecen
a la organización. Para el ejemplo
01 # nmap -sP 192.168.1.0/24
anterior hemos utilizado
02 Starting Nmap 5.00 ( http://nmap.org ) at 2011-02-01 12:25 CST
mcwrite.net, pero un error común
03 Host www-internal.mcwrite.net (192.168.1.3) is up (0.076s latency).
sería que alguien auditase contra
04 Host ubuntu.mcwrite.net (192.168.1.7) is up (0.055s latency).
mcwrite.com. Por lo tanto, un whois
05 Host vm.mcwrite.net (192.168.1.18) is up (0.055s latency).
del dominio registrará la diferencia,
06 Nmap done: 256 IP address (1 host up) scanned in 0.12 seconds
y se puede utilizar un dig para
utilizar una combinación de Apache de al menos 100 veces y registre el fácilmente con herramientas de fácil
Bench (ab) y ping. promedio tanto para las peticiones acceso e instalación que se prestan a
Apache Bench es la parte de pruebas de servicio completo como para las su uso por parte del administrador
del paquete apache-utils, y no hay que respuestas de paquetes para cada del sistema para la realización o asis-
instalar Apache para usarlo. Además, uno de los tres protocolos. El tencia de las auditorías, otras áreas
puede utilizarse para probar las res- comando del Listado 5 lleva a cabo del OSSTMM se prestan más a una
puestas a cualquier servidor web – no esta solicitud para TCP (HTTP). utilización más compleja de estas
se limita a los servidores web Apache La prueba 11.2.2(b) requiere seis herramientas (con scripts) o herra-
– y está disponible en la mayoría de medias, y la prueba 11.2.2(c) requiere mientas que requieren un mayor
distribuciones de Linux instalando el el cálculo de los resultados con pérdi- esfuerzo (por ejemplo, Metasploit y
paquete apache-utils. La herramienta das. Estas dos pruebas se pueden BackTrack para 11.4 Auditoría de
ab se puede utilizar para cumplir con satisfacer mediante la ejecución de Visibilidad y 11.5 Verificación de
la siguiente prueba: cron y el calculo de los totales. Para la Acceso). ■
• 11.2.2(a) Medición del índice de prueba con ICMP (ping), el ping están-
velocidad y pérdida de paquetes en el dar de Linux utiliza un simple paráme- RECURSOS
alcance de un servicio solicitado en tro -c (recuento) (véase el Listado 6).
[1] OSSTMM 3: http://www.isecom.org/
TCP, UDP e ICMP tanto para una
mirror/OSSTMM.3.pdf
petición de servicio completo como Resumen
[2] Nmap.org: http://nmap.org/
para un par de petición/respuesta. Aunque las áreas del OSSTMM que
download.html
Repita cada petición en una sucesión hemos cubierto se pueden verificar
CENTRAL DE
ALERTAS
El sistema de gestión de información de seguridad Prelude recibe mensajes IDS basados
tanto en host como en red y los muestra en una práctica interfaz web. Te enseñamos cómo
configurarlo.
L
a capacidad de reaccionar en el práctica interfaz web de administración dos pueden incluso crear sus propios
momento justo a veces salva y varios agentes cliente. El esfuerzo de addons.
vidas. Los sistemas de detección y sus desarrolladores a lo largo de estos
prevención de intrusiones (IDS/IPS) ayu- últimos años ha servido para crear un API Libprelude
dan a los administradores de los centros producto maduro capaz de gestionar La librería de Prelude también permite
de datos a evaluar los archivos de logs y entornos a gran escala. Debido a su integrar programas existentes. Libpre-
los mensajes de una gran variedad de arquitectura basada en plugins y a fun- lude proporciona APIs para varios len-
dispositivos y sistemas operativos, a cionalidades como el Correlator Engine, guajes de programación, incluidos
identificar rápidamente las intrusiones y los administradores más experimenta- C++, Python, Perl y Ruby [2]. Algo que
a iniciar la acción oportuna.
Listado 2: setup.py
01 From setuptools import setup, find_packages
02 setup(
03 name=’PortscanGeoinfoPlugin’,
04 version=’1.0’,
05 description=”Información geográfica de las
máquinas que han escaneado puertos”,
06 author=”David Rupprechter”,
07 packages=find_packages(),
08 entry_points=’’’[PreludeCorrelator.plugins]
PortscanGeoinfoPlugin =
portscangeoinfoplugin:PortscanGeoinfoPlugin’’’ Figura 3: Al instalar los agentes de Windows para OSSEC, se debe selec-
09 )
cionar todo excepto “Source Code”.
Listado 3: main.py
01 # Descargar work scan of host(s) detected” )
http://geolite.maxmind.com/download/geoip/data- 40 ctx.Set(“alert.classification.text”, “Network
base/GeoLiteCity.dat.gz information for scanning host”)
02 # y añadir el contenido del archivo en 41 ctx.Set(“alert.assessment.impact.severity”,
03 # /usr/share/GeoIP/ para una información “high”)
04 # geográfica más detallada 42 # only create one alert per source
05 43 # GeoIP
06 # Rogamos informe de bugs a rupprechter at dotlike dot 44 # only do GeoIP lookup if IP address is not pri-
net vate
07 # para más información rogamos visite 45 if saddr.find(“10.”, 0, 4) != -1 or
www.dotlike.net/portscangeoinfo.php saddr.find(“172.”, 0, 4) != -1 or saddr.find(“192.”,
08 0, 4) == -1:
09 import os 46 # if GeoIP City Database exists
10 import re 47 if os.path.exists(“/usr/Share/GeoIP/GeoLite-
11 import shlex, subprocess City.dat”) == True:
12 import sys 48 import GeoIP
13 49 gi = GeoIP.open(“/usr/share/GeoIP/GeoLite-
14 from PreludeCorrelator.context import Context City.dat”,GeoIP.GEOIP_STANDARD)
15 from PreludeCorrelator.pluginmanager import Plugin 50 geoinfo = gi.record_by_addr(saddr)
16 from PreludeCorrelator.idmef import IDMEF 51 geo = re.sub(r’\’’, r’’, re.sub(r’: ‘, r’:’,
17 str(geoinfo)) )
18 strout = None 52 idmef = IDMEF()
19 53 idmef.Set(“alert.classification.text”, “Geo-
20 class PortscanGeoinfoPlugin(Plugin): graphical Information for portscanning host”)
21 def run(self, idmef): 54 idmef.Set(“alert.correlation_alert.name”, geo
22 classification = idmef.Get(“alert.classifica- )
tion.text”) 55 idmef.Set(“alert.assessment.impact.severity”,
23 “high”)
24 NMAPFSCAN = “PSNG_TCP_FILTERED_PORTSCAN” 56 idmef.Set(“alert.assessment.impact.descrip-
25 NMAPSCANUDP = “PSNG_UDP_FILTERED_PORTSCAN” tion”, “Geographical information for portscanning
26 NMAPPSNG = “ICMP PING NMAP” host “ + saddr)
27 TCPPSCAN = “(portscan) TCP Portscan” 57 idmef.alert()
28 NMAPSCAN = “PSNG_TCP_PORTSCAN” 58 ctx.update(idmef=idmef)
29 SSHSCAN = “SSH insecure connection attempt (scan).” 59 # else if only GeoIP Country Database exists
30 SSHSCAN2 = “Possible attack on the ssh server (or 60 elif
version gathering).” os.path.exists(“/usr/share/GeoIP/GeoIP.dat”) ==
31 if classification != NMAPPSNG and classification != True:
NMAPFSCAN \ 61 import GeoIP
32 and classification != TCPPSCAN and classification 62 gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
!= NMAPSCAN \ 63 idmef = IDMEF()
33 and classification != SSHSCAN and classification != 64 idmef.Set(“alert.classification.text”, “Geo-
SSHSCAN2 and classification != NMAPSCANUDP: graphical Information for portscanning host”)
34 return 65
35 source = idmef.Set(“alert.correlation_alert.name”,str(gi.co
idmef.Get(“alert.source(*).node.address(*).address untry_code_by_addr(saddr)) )
”) 66 idmef.Set(“alert.assessment.impact.severity”,
36 for saddr in source: “high”)
37 ctx = Context((“NETWORK_INFO_PORTSCAN_ATTACKER”, 67 idmef.Set(“alert.assessment.impact.descrip-
saddr), { “expire”: 600, “alert_on_expire”: True }, tion”, “Geographical information for portscanning
update = True, idmef=idmef) host “ + saddr)
38 if ctx.getUpdateCount() == 0: 68 idmef.alert()
39 ctx.Set(“alert.correlation_alert.name”, “Net- 69 ctx.update(idmef=idmef)
Figura 5: Las alertas correlativas registran los ataques incluso en los casos en los que el atacante se dirige a varios dispositivos; en este ejem-
plo se ilustra un escaneo de puertos.
leer el capítulo 4.2 del IDMEF-RFC [3]. del plugin. Para crear nuestro propio plu- con una instancia de monitorización
Esta sección del RFC está relacionada gin, modificamos los nombres Portscan- centralizada.
con las clases de mensajes que los desa- GeoinfoPlugin y portscangeoinfoplugin y, Mediante el uso de plugins individua-
rrolladores de plugins pueden usar. opcionalmente, corregimos los campos les para la visualización de la informa-
El plugin PortscanGeoinfo, que he cre- description, author y version. ción recogida de alertas correlaciona-
ado como ejemplo, está disponible desde En mi ejemplo, el código del plugin se das en Prewikka, ponemos muy difícil a
[13]. Este programa reacciona antes los encuentra en el directorio portscangeoin- un eventual intruso el acceso a nuestra
escaneos de puertos detectados por foplugin. Aquí, el script también acep- red. ■
Snort y OSSEC, y ofrece al administrador tará comodines. Al introducir
la posibilidad de mostrar información RECURSOS
geográfica acerca de la ubicación del ata- Pluginname = U [1] Prelude: http://www.
cante mediante una alarma de correla- <I>Directorio<I>:Mi_plugin prelude-technologies.com/en/
ción. A fin de permitir a Snort la detec- solutions/universal-sim/index.html
ción de los escaneos de puertos, debe- en el script de instalación, se referencia [2] Libprelude: https://dev.
mos habilitar el preprocesador portscan al plugin Mi_plugin de dentro del direc- prelude-technologies.com/wiki/
en el archivo snort.conf. torio Directorio. Luego, python setup.py prelude/ManualDevel
La alerta correlativa Network Informa- build y python setup.py install comple- [3] RFC 4765: IDMEF: http://www.ietf.
tion for scanning host contiene tanto la tan la instalación. org/rfc/rfc4765.txt
información geográfica sobre la IP como Ahora debemos añadir las siguientes [4] Snort: http://www.snort.org
[5] OSSEC: http://www.ossec.net
las alertas asociadas de los sensores de líneas al archivo /etc/prelude-correlator/
[6] Prelude LML: https://dev.
Snort y OSSEC. El plugin espera durante prelude-correlator.conf para que se habi-
prelude-technologies.com/wiki/1/
cinco minutos, recopila durante este lite el plugin cada vez que se inicie el
PreludeLml
tiempo todos los eventos de portscan Correlator: [7] Prewikka: https://dev.
necesarios, y los reúne en una alerta de prelude-technologies.com/wiki/1/
correlación. Para que esto suceda debe- [PortscanGeoinfoPlugin] Prewikka
mos instalar GeoIP para Python disable = False [8] Oinkmaster: http://oinkmaster.
mediante el comando aptitude install sourceforge.net
geoip-python libgeoip1. Si no nos basta El directorio del plugin contiene los [9] Bleeding Snort: http://www.
con la información sobre el país, la base archivos init.py y main.py (Listado 3). El bleedingsnort.com
de datos GeoIP City Lite de [14] propor- archivo init.py contiene una única línea [10] Sourcefire: http://www.sourcefire.
ciona más detalles. con el nombre del plugin: com
[11] Agente Libprelude para Windows:
Estructura de los Plugins from main import U
http://www.prelude-technologies.
com/download/releases/libprelude/
Cada plugin de correlación contiene un PortscanGeoinfoPlugin
libprelude-1.0.0.exe
archivo llamado setup.py (Listado 2),
[12] Correlation Engine: http://www.
que es el responsable de la instalación El plugin PortscanGeoinfo nos muestra prelude-technologies.com/en/
las impresionantes opciones que ofrece solutions/correlation-engine/index.
Prelude Correlator Engine: con la fun- html
ción Popen integramos los programas de [13] PortscanGeoinfo: http://www.
línea de comandos y sus salidas. dotlike.net/portscangeoinfo.php
[14] Base de datos GeoIP city: http://
Control Absoluto de la Red geolite.maxmind.com/download/
Con la combinación de NIDS y HIDS en geoip/database/GeoLiteCity.dat.gz
forma de sensores de Prelude podemos [15] Listados de código para este artí-
analizar toda la información proporcio- culo: http://www.linux-magazine.es/
Magazine/Downloads/72
nada por nuestras redes, incluida la
información proveniente de los syslog de
EL AUTOR
CARNE
FRESCA
Snort es el estándar de facto para la detección de intrusiones en redes
perfil bajo durante un par de años, pero las extensiones como Snorby,
más de vida.
S
nort es viejo – en la escala TI, mensajes de los análisis en una base de La versión actual de Snort es la
incluso anciano. Marty Roesch datos o registros forenses. En el 2.9.0.3. A diferencia de la anterior, los
comenzó el desarrollo del sniffer pasado, los administradores solían uti- desarrolladores simplemente han corre-
de red [1] en 1998. Su plan original era lizar herramientas como Oinkmaster gido algunos fallos. Antes de compilar
desarrollar uno que pudiera funcionar [3] o BASE [4] para procesar la infor- Snort debemos asegurarnos de tener ins-
en diversos sistemas operativos. La ver- mación de Snort; sin embargo, estos taladas en el sistema las librerías DAQ,
sión inicial, que data de 1998, contenía proyectos han quedado huérfanos o Dnet y PCRE. La Tabla 1 muestra las
1200 líneas de código, pero de estos dormidos. Afortunadamente, algunos posibles modificaciones del script ./con-
humildes comienzos surgió uno de los trabajos nuevos han cubierto este figure de Snort. Aunque podemos tener
motores de IDS de redes más potentes. hueco: Snorby [5], OpenFPC [6] y varias configuraciones de bases de
En 2001, Roesch fundó Sourcefire [2], Pulled Pork [7]. Este artículo muestra la datos, lo más probable es que deseemos
una empresa que hoy es sinónimo de última generación de proyectos que dan evitarlas; vamos a mostrar cómo utilizar
potentes dispositivos de detección de soporte a Snort. Barnyard [12] como base de datos resi-
intrusiones en redes basados en Snort, y dente.
que continúa desarrollando Snort como Sniffer El archivo con el código fuente de
una forma de corresponder a la comuni- Con la versión 2.9, los desarrolladores Snort sólo proporciona un script de
dad de código abierto. de Snort presentaron la nueva DAQ (la comienzo para Red Hat y las distribucio-
Snort es un motor que analiza y librería de adquisición de datos), que nes basadas en Fedora. Probablemente
estandariza el tráfico de red y luego reemplaza a la clásica libpcap. A partir haya que modificar el script para que se
comprueba las firmas para identificar de esta versión, Snort depende de la ajuste a nuestras necesidades de instala-
actividades sospechosas. Snort no pro- librería DAQ, por lo que no se podrá ins- ción – o incluso que tengamos que escri-
porciona herramientas para la gestión talar el sniffer sin ella (véase el cuadro birnos nuestro propio script. Lo impor-
de firmas, ni el almacenamiento de los titulado “DAQ”). tante es recordar que necesitamos ejecu-
tar Snort por medio de las Emerging Threats. Ambas se sólo hay que copiar el directorio en
/usr/local/bin/snort-c/etc/snort/snort. conf. encuentran disponibles tanto de forma /etc/snort/preproc_rules.
Antes de comenzar a utilizar Snort por gratuita como de pago. Las reglas VRT Por último, las reglas binarias para
primera vez, debemos copiar el conte- gratuitas se diferencian de las comer- Snort se encuentran disponibles en
nido del directorio etc que se encuentra ciales porque se publican 30 días des- so_rules. Necesitamos copiar el subdi-
en el directorio del código fuente a pués que las comerciales, pero permi- rectorio de la distribución (por ejemplo,
/etc/snort/ y crear un directorio ten acceder al conjunto completo de so_rules/precompiled/Ubuntu-10-4/x86-6
/var/log/snort. El cuadro titulado reglas. La edición comercial de las 4/2.9.0.3/*) en /usr/local/lib/ snort_
“snort.conf” contiene la ayuda necesaria reglas Emerging Threats incluye reglas dynamicrules y los ficheros *.rules en el
para modificar el fichero de adicionales que no se suministran en la directorio /etc/snort/so_rules/.
configuración snort.conf. versión gratuita. Sourcefire Vulnerability Research
Los siguientes ejemplos utilizan las Team ofrece algunas reglas sólo en for-
Firmas reglas VRT, que se pueden descargar mato binario. Existen dos razones para
Evidentemente, Snort necesita ahora las como parte de una suscripción comer- el uso del formato binario: por un
firmas que le proporcionarán el conoci- cial o bien obtenerlas gratuitamente con lado, el lenguaje de reglas de Snort es
miento para detectar las intrusiones. un retraso de 30 días (tras registrarse). un lenguaje muy potente pero no es
Existen básicamente tres fuentes de fir- Una vez que nos hayamos subscrito o capaz de identificar paquetes sospe-
mas: registrado, Sourcefire nos proporcionará chosos en algunos ataques. Las libre-
• Las reglas VRT de Sourcefire Vulnera- un “Oink Code” que habrá que incluir rías binarias mejoran considerable-
bility Research Team en la petición de descarga: mente la tasa de detección. La
• Las reglas Emerging Threats segunda razón es que un tercero
• Las reglas GPL wget http://www.snort.org/reg-rU podría haber descubierto una vulnera-
Estas reglas han de mantenerse actuali- ules/snort rules-snapshot-2903.U bilidad en Sourcefire bajo un acuerdo
zadas siempre – en este artículo utili- tar.gz/<oinkcode> -O snortrulesU de confidencialidad (NDA). Si el
zaremos más adelante Pulled Pork para -snapshot-2903.tar.gz equipo de VRT distribuyese la firma en
las actualizaciones. Si tenemos la texto claro, estarían publicando deta-
intención de utilizar Snort en un El conjunto de reglas VRT incluye cuatro lles sin la autorización necesaria.
entorno en producción, es probable directorios: etc contiene los ficheros de
que deseemos utilizar las reglas VRT o configuración que necesitan los conjun- Actualizando con Pulled
tos de reglas Snort Pork
Listado 1: Una Tabla de Atributos de un y Barnyard, que La mayoría de los usuarios utilizan
Host deberemos copiar Oinkmaster para actualizar los conjun-
en el directorio tos de reglas. Como los trabajos de
01 <SNORT_ATTRIBUTES>
/etc/snort. rules, desarrollo de esta herramienta se
02 <ATTRIBUTE_TABLE>
que contiene las encuentran dormidos, Pulled Pork admi-
03 <HOST>
reglas basadas en nistra las tareas en diversos entornos.
04 <IP>10.1.2.3</IP>
texto para Snort, Pulled Pork también procesa las reglas
05 <OPERATING_SYSTEM>
ha de copiarse en binarias y organiza los elementos en los
06 <NAME>
/etc/snort/rules. directorios adecuados. Para la instala-
07 <ATTRIBUTE_VALUE>Windows</ATTRIBUTE_VALUE>
preproc_rules nos ción sólo es necesario descargarse el
08 </NAME>
da las reglas del paquete desde Google Code. La versión
09 <FRAG_POLICY>Windows</FRAG_POLICY>
preprocesador – actual de Pulled pork (0.5.0) requiere
10 <STREAM_POLICY>Win XP</STREAM_POLICY>
11 </OPERATING_SYSTEM>
12 <SERVICES>
Insta-Snorby
13 <SERVICE> Insta-Snorby está basado en la librería TurnKey Linux Virtual
14 <PORT> Appliance [9], que proporciona máquinas virtuales para diver-
15 <ATTRIBUTE_VALUE>80</ATTRIBUTE_VALUE> sos propósitos. Basada en Ubuntu Linux, permite a los adminis-
16 </PORT> tradores probar varias aplicaciones sin tener que instalar nada.
17 <IPPROTO> Insta-Snorby es una imagen ISO; la versión 0.6.0 soporta una
18 <ATTRIBUTE_VALUE>tcp</ATTRIBUTE_VALUE> instalación sin complicaciones en un dispositivo. Contiene:
19 </IPPROTO> • Snort 2.9.0.3
20 <PROTOCOL> • Barnyard 2.19
21 <ATTRIBUTE_VALUE>http</ATTRIBUTE_VALUE> • Snorby 2.2.1
22 </PROTOCOL> • Open FPC
23 </SERVICE> • Pulled Pork
24 </SERVICES> Para instalarla como un dispositivo virtual, necesitaremos pro-
25 </HOST> porcionarle a Insta-Snorby al menos 512 MB de RAM para evi-
26 </ATTRIBUTE_TABLE> tar el uso de una memoria de intercambio.
config utc
config daemon
config logdir: /tmp
config waldo_file: /var/logU
/snort/waldo
#output alert_fast: stdout
output database: log, mysql, U
user=snort password=snortpw U
dbname=snortdb host=localhost
Análisis Forense
Snort sólo detecta los ataques potencia-
les en la red y registra cualquier paquete
sospechoso que haga saltar las alarmas.
A menudo esto sucede demasiado tarde, Figura 2: En la interfaz web de Snorby, los administradores pueden clasificar los resultados,
ya que Snort no puede viajar hacia atrás añadir comentarios y gestionar los sensores y los usuarios.
en el tiempo y registrar los paquetes
enviados previamente. Sólo se pueden basadas en Debian como Ubuntu, la ins- lación openfpc-install.sh install y res-
modificar las firmas para que registren talación es más fácil, ya que podemos pondemos a las preguntas (por ejemplo,
la subsecuencia de paquetes desde la hacer lo siguiente: el nombre de usuario y la contraseña).
misma conexión. Esta complicación El fichero /etc/openfpc/ openfpc- default.
hace que sea prácticamente imposible aptitude install apache2 U conf se usa para otras configuraciones.
analizar un ataque con éxito a nivel de daemonlogger tcpdump U Luego arrancamos el servidor y compro-
red. tshark libarchive-zip-perl U bamos la disponibilidad de los clientes:
El reciente proyecto OpenFPC (cap- libfilesys-df-perl libapache2U
tura completa de paquetes) tiene como -mod-php5 mysql-server php5U openfpc --action start
objetivo resolver este problema. -mysql libdatetime-perl U openfpc-client --action status
OpenFPC es la rama hija de la plantilla libdbi-perl libdate-simple-perlU
de Sourcefire, como Pulled Pork; el php5-mysql libterm-readkey-perlU Para que el programa se ejecute en el
número de versión es bastante bajo libdate-simple-perl momento de arranque del ordenador,
(0.4), y necesitamos instalar primero encontraremos los scripts de arranque
unos cuantos paquetes para cubrir las Tras descomprimir el código fuente de en /etc/init.d. Para integrarlo con
dependencias. En las distribuciones OpenFPC, ejecutamos el script de insta- Snorby, necesitamos hacer un pequeño
cambio mediante la GUI web. En la Snort también ofrece algunos métodos ques de forma correcta, necesita des-
interfaz administrativa, activamos el avanzados, tales como la reconstrucción fragmentar y reensamblar los paquetes
plugin OpenFPC e introducimos en del tráfico basada en el destino. Los de la misma forma que lo haría el sis-
OpenFPC el path:https://Open-FPC- Ser- investigadores Vern Paxson y Umesh tema objetivo.
ver_ name/ openfpc/cgi-bin/ extract.cgi. Shankar descubrieron en 2003 que dife- Snort posee un par de trucos propios
Luego podemos descargar el fichero rentes sistemas operativos manejan la en respuesta a estos métodos de ataque
Pcap de la conexión entera directa- desfragmentación IP y reensamblan TCP avanzado: soporta los modos de des-
mente desde la alerta en Snorby (Figura de diferentes maneras. Esto le propor- fragmentación de first, last, bsd,
3) y enviarlo a Wireshark para su análi- ciona a un atacante la posibilidad de bsd-right, linux, windows y solaris, con
sis. camuflar un ataque de modo que com- bsd por defecto. Para métodos de reen-
prometa el objetivo pero que no sea samblado más complejos, véase la
La Seguridad Tiene detectado por el IDS. Tabla 2.
Prioridad Para permitir que esto suceda, el ata- Si sólo utiliza uno o dos sistemas ope-
Por razones de seguridad, no debería- cante debería fragmentar el exploit, ade- rativos, la configuración es bastante
mos nunca ejecutar Snort con los privi- más crea el fragmento con la carga ata- simple: sólo hay que editar la sección
legios del root; tiene mucho más sentido cante dos veces. Un fragmento contiene del preprocesador de snort.conf:
crear una cuenta dedicada para Snort y la carga y el otro contiene datos no peli-
añadir el nombre de la cuenta y el grupo grosos. Si se envían los dos en sucesión, preprocessor frag3_engine: U
al fichero de configuración de Snort. el éxito o el fracaso del ataque y la habi- policy linux bind_to [10.1.1.U
Además, podemos encerrar Snort en una lidad del IDS para detectarlo dependerán 12/32,10.1.1.13/32] U
jaula Chroot; el fichero snort.conf que- de cómo responda el sistema objetivo. detect_anomalies
daría de la siguiente forma: ¿Preferirá el primer o el segundo frag- preprocessor frag3_engine: U
mento para la desfragmentación? Esta- policy windows bind_to U
config set_uid: snort bleciendo los parámetros con cuidado, 10.2.1.0/24 detect_anomalies
config set_gid: snort el atacante podría ejecutar el exploit sin
config chroot: /chroot/snort que el IDS lo detecte. Esta configuración está bien para las
Existen diferencias similares con los redes Windows con dos ordenadores
Evidentemente, necesitamos modificar segmentos TCP y el solapamiento de Linux. De forma similar, habría que
algunos permisos y estructuras de direc- los fragmentos y los segmentos. Para modificar el preprocesador Stream5.
torios para evitar que Snort tenga pro- asegurarse de que Snort siempre Para más detalles, léase el fichero
blemas. detecte estos ata-
DAQ
snort.conf Uno de los mayores problemas a la hora de ejecutar Snort en
La mayoría de los parámetros de configuración que se encuen- una red rápida es su propio rendimiento. Si Snort tardara dema-
tran en el fichero snort.conf pueden quedarse tal cual, pero siado en analizar los paquetes y fallase a la hora de obtener los
habrá que hacer unos cuantos cambios. La configuración DAQ paquetes a la velocidad necesaria de la librería Libpcap [10], la
utiliza la interfaz de paquetes AF y proporciona un búffer de 256 librería descartaría el paquete. Es más, los administradores han
MB para utilizarlo de caché para cualquier paquete que aún no usado dos soluciones diferentes para solucionar este problema:
haya procesado. La variable HOME_NET define la red a prote- Phil Wood añadió un búffer de memoria en anillo a Libcap; el
ger. Las variables RULE_PATH, SO_RULE_PATH y tamaño del búffer se especificaba cuando se cargaba la librería.
PREPROC_RULE_PATH hacen referencia a los directorios A partir de la versión 1.0 de Libpcap, el búffer en anillo viene
correctos. El plugin de salida unified2 crea los ficheros de regis- implementado en la librería. Otra solución es la librería PF_ring
tro: [11], que reemplaza a la librería libpcap.
config daemon La versión 2.9 de Snort presenta DAQ (librería para la adquisi-
config interface: eth0 ción de datos) como una alternativa nueva y mucho más sim-
config daq: afpacket ple, que accede directamente a la tarjeta de interfaz de red sin
config daq_mode: passive hacer uso de Libpcap. DAQ es fácil de instalar, sin embargo, la
config daq_var: buffer_size_mb=256 mayoría de las distribuciones no cuentan con los paquetes pre-
ipvar HOME_NET 192.168.0.0/24 compilados con los parámetros correctos. De hecho, la página
var RULE_PATH /etc/snort/rules web de Snort sólo ofrece paquetes RPM. Tras descargar la
var SO_RULE_PATH /etc/snort/so_rules última versión 0.5 del código fuente, sólo hay que seguir los
var PREPROC_RULE_PATH /etc/snort/preproc_rules pasos típicos: ./configure,make,sudo make install. No hay
output unified2: filename merged.log, limit 128, muchas dependencias que resolver. Para asegurarse de que se
vlan_event_types pueden compilar los fuentes, probablemente haya que instalar
Para utilizar reglas de preprocesamiento y reglas de objetos el compilador de C, Flex, Bison y libpcap >= 1.0. Si no va a usar
compartidos, deberemos quitar los signos de comentario que Libpcap, sino que accede a la NIC directamente por medio de la
se encuentran al comienzo de las directivas incluidas en las librería DAQ, puede desactivar Libpcap
correspondientes secciones. usando --disable-pcap-module.
RECURSOS
[1] Snort: http://www.snort.org
[2] Sourcefire: http://www.sourcefire.
com
[3] Oinkmaster: http://oinkmaster.
sourceforge.net
[4] BASE: http://base.secureideas.net
[5] Snorby: http://www.snorby.org
Figura 3: Si usamos el fichero PCAP, podremos definir con precisión qué paquetes queremos
[6] OpenFPC: http://www.openfpc.org/
que extraiga OpenFPC.
[7] Pulled Pork: http://code.google.com/
p/pulledpork/
README.stream5 que se encuentra en mente desde un análisis de Nmap pode-
[8] Insta-Snorby del 19.01.2011 http://
el directorio del código fuente de mos utilizar Hogger [15].
www.snorby.org/Insta-Snorby-0.6.0.
Snort.
iso
Si tenemos muchos sistemas operati- ¡Corre, Cerdito, Corre!
[9] Librería TurnKey Linux Virtual
vos en la LAN, esta clase de administra- Con una combinación inteligente de los
Appliance: http://www.turnkeylinux.
ción es demasiado compleja. En tal componentes adecuados, podemos crear
org
caso, necesitamos una tabla de atributos un sistema de detección de intrusiones
[10] Librería libpcap: http://www.
de los hosts para definir la información en la red con Snort. Obviamente, necesi-
tcpdump.org
en un fichero XML (Listado 1). La tabla tamos utilizar un buen hardware en una
[11] LibreríaPF_ring: http://www.ntop.
se define en snort.conf como red rápida. Dispositivos como el que
org/PF_RING.html
attribute_table filename /path/to/file. La comercializa Sourcefire pueden monito-
[12] Barnyard2 http://www.securixlive.
tabla de atributos de hosts contiene rizar las redes a velocidades de hasta 10
com/barnyard2/index.php
información de cada ordenador indivi- Gbps ejecutanto Snort 2.9 en un hard-
[13] Fichero Waldo: http://en.wikipedia.
dual. Para crear el fichero XML directa- ware altamente especializado.
org/wiki/Waldo_file
Comparado con
[14] Repositorio Snorby Git: https://
Tabla 2: Reensamblado Basado en el esto, el hardware
github.com/Snorby/snorby/tarball/
Objetivo normal habitual-
master
mente alcanza su
Método Efecto [15] Hogger: http://code.google.com/p/
límite a 1 Gbps. Se
first Prefiere el primer segmento de solapamiento hogger/
recomiendan tarje-
last Prefiere el último segmento de solapamiento [16] Napatech: http://www.napatech.
tas interfaces de
bsd Free BSD 4.x, Net BSD 2.x, Open BSD 3.x, AIX com/applications/network_security/
red premium –
intrusion_detection.html
linux Linux 2.4 y 2.6 como las fabrica-
old-linux Linux 2.2 y anteriores das por Napatech
[16], por ejemplo Ralf Spenneberg es profesor free-
windows Windows 98, NT, 2000, XP
– una generosa lance de Unix/Linux, consultor, y
win2003 Windows 2003 Server
EL AUTOR
Alta Definición
Casera
phyzick, 123RF
Ante la falta de oferta comercial de tecnología Blu-ray, los usuarios de Linux han tendido a considerar este
medio con escepticismo. Sin embargo, en Linux podemos crear nuestros propios discos de vídeo HD tanto en
C
on paso lento, pero seguro, Blu-ray perar – busque el logotipo AVCHD en el compatible con la versión 2.5 del Formato
se está volviendo atractivo como dispositivo. de Disco Universal (UDF). Como se verá
medio de almacenamiento. La alta MPEG4 AVC, también conocido como más adelante en este artículo, la aplicación
capacidad de los discos ópticos Blu-ray, que H.264, es un códec de alta eficiencia, y el comercial de grabación Nero Linux es la
están diseñados para contener los datos de codificador libre x264 AVC [2] ofrece, con única herramienta para la creación en
hasta seis DVDs estándar, está llamando la diferencia, la mejor calidad para la codifica- Linux de discos compatibles UDF 2.5.
atención como soporte para vídeos de alta ción H.264, especialmente a bitrates bajos.
definición. Por desgracia, Linux ofrece un Si utilizamos primero el codificador x264 Contenido HD
apoyo limitado para Blu-ray. Sin embargo, para convertir vídeo al formato AVCHD, Para crear un disco Blu-ray o AVCHD, pri-
podemos crear – en Linux – nuestros pro- luego podemos empaquetarlo en un disco mero es necesario algún tipo de contenido
pios discos que se reproducirán en disposi- compatible Blu-ray. La configuración de vídeo de alta definición (HD). Los pro-
tivos Blu-ray y otros reproductores de vídeo correcta obtiene hasta 3 horas de vídeo con gramas de edición con capacidad HD como
HD. En este artículo describiremos cómo una resolución de 1080p en un DL-DVD de Kdenlive, OpenShot Video Editor o Cinele-
grabar nuestros propios discos Blu-ray com- 8 GB con una resolución razonable, y si rra permiten editar las películas grabadas
patibles con vídeo de alta definición. sólo hay que poner 1,5 horas de vídeo en el con una cámara de vídeo HD y exportarlas
disco, no habrá prácticamente ninguna
Tostando en Blu-ray diferencia entre la calidad del disco de 8 GB
Estrictamente hablando, no es necesario AVCHD y un disco Blu-ray.
un disco Blu-ray o un grabador Blu-ray a Hasta el momento, Linux no proporciona
juego para crear un disco de vídeo HD una herramienta para crear menús de Blu-
compatible con Blu-ray. El formato AVCHD ray o AVCHD, sin embargo, herramientas
[1] especificado originalmente por Sony y como tsMuxeR [3] permiten preparar una
Panasonic para cámaras de vídeo HD, per- película individual que se pondrá en mar-
mite a los usuarios grabar contenido en cha automáticamente en un reproductor de
alta definición en DVD o DL-DVD, que los Blu-ray después de grabarlo en un BD-R(E)
reproductores Blu-ray pueden reproducir. o en un DVD.
La mayoría de reproductores actuales Por último, habrá que grabar el archivo
entienden el formato AVCHD, aunque de formato AVCHD en un DVD utilizando Figura 1: El dialogo Stream de VLC nos lleva
algunos modelos antiguos se niegan a coo- una herramienta de grabación que sea directamente al asistente de conversión.
Codificación de Vídeo
El codificador x264, cortesía del proyecto
VideoLAN, es conocido por su eficiencia,
velocidad y excelente nivel de optimiza-
ción. Para controlarlo podemos utilizar
FFmpeg o Mencoder con Libx264; diversos
transcodificadores, como el Asistente para
Exportación de Streaming en VLC, Trans-
mageddon o Arista también usan x264.
Figura 2: Configurando los parámetros com- También hay un programa x264 stand- Figura 3: Se selecciona el fichero y el códec
patibles con el estándar de sonido Dolby alone que sólo acepta como entrada objetivo, y a continuación pulsando Stream
Digital. YUV4MPEG sin comprimir. comienza la conversión del sonido.
Muy pocos frontends x264 permiten la
a un archivo de vídeo HD de gran tamaño. configuración exacta necesaria para crear por lo que emula un medio lento, así que
También se puede encontrar contenido HD un disco Blu-ray o un archivo de vídeo no necesitamos tener cientos de GB de
legal en Internet, como las versiones de alta compatible con AVCHD. Por esta razón, la espacio para el flujo de vídeo YUV4-HD sin
definición de películas de YouTube, o cortos solución descrita en este artículo se basa en comprimir. Debido a que MPlayer puede
libres de Blender, como Elephants Dream, la creación de una tubería con Mplayer y reproducir casi cualquier cosa, necesitamos
Big Buck Bunny y Sintel [4]. Algunos archi- x264. Como no se puede enviar directa- convertir casi cualquier vídeo reproducible
vos de Internet proporcionan películas lega- mente la salida de MPlayer como YUV4- en un flujo de vídeo compatible con Blu-
les en HD, como los dibujos animados Sita MPEG sin comprimir a x264 a través de una ray/AVCHD utilizando esta técnica.
Sings the Blues [5], lanzados bajo la licencia tubería, voy a utilizar un archivo FIFO al
Creative Commons, o el clásico de zombies que acceden ambos programas. El archivo, Codificacion de Vídeo en la
de George Romero “La noche de los muer- que siempre tiene un tamaño de 0 bytes, no Shell
tos vivientes [6], que según se indica está permite la escritura a menos que se esté Instalamos Mplayer y x264 desde los repo-
en el dominio público en los EE.UU. debido produciendo una lectura al mismo tiempo, sitorios de nuestra distribución. Si por
Blu-ray y AVCHD
Los estándares Blu-ray y AVCHD definen qué apariencia deben tener el audio y el vídeo para que se pueda reproducir en un Blu-ray (o
una Playstation 3). La especificación del formato AVCHD es un subconjunto de la especificación Blu-ray, pero hay una gran confusión
sobre las diferencias entre Blu-ray y AVCHD.
Los dos estándares son muy similares, pero los nombres de los archivos y la estructura de AVCHD, son algo diferentes existiendo algu-
nas restricciones adicionales con respecto a las tasas de bits y los codecs.
De vez en cuando nos encontramos (incorrectamente) con denominaciones tales como BD5 o BD9 para AVCHD. Este formato, que fue
propuesto por Warner Home Video pero que nunca fue soportado oficialmente por los reproductores Blu-ray, tiene una estructura de
archivos y una especificación que es 100 por cien idéntica a la de Blu-ray, pero sólo es para discos DVD.
Tal y como indica su nombre, AVCHD sólo es compatible con AVC como códec de vídeo, mientras que Blu-ray también es compatible con
VC-1 – la designación de la Sociedad de Ingenieros de Cine y Televisión (SMPTE) para WMV3 de Microsoft – y MPEG2. Por esta razón, en
este artículo me ceñiré estrictamente a AVC: el código es el más eficiente y adecuado para ambos formatos.
Además del propio códec, también hay que tener en cuenta otros parámetros: las dos variantes asignan una formato 16:9 de alta defini-
ción y píxeles cuadrados. Esto significa que la resolución de vídeo debe ser exactamente 1280x720 (720p) o 1920x1080 (1080p). Sólo hay
una excepción, cuando Sony rompe con sus propias normas de píxeles cuadrados: la resolución anamórfica de 1440x1080. Pero sólo hay
un par de cámaras de vídeo HD que graban en este formato, por lo que puede ignorar esta opción tranquilamente. AVCHD también es
compatible con resoluciones SD como 480p o 576p. Todos los vídeos de alta definición que no son exactamente 1280x720 ó 1920x1080
tienen que escalarse primero a esta resolución, si no tendrá que utilizar el letter-boxing, quedando la imagen entre 2 franjas negras hori-
zontales.
Blu-ray y AVCHD son compatibles con CABAC (codificación aritmética), que mejora enormemente la calidad del AVC. Hay que tener cui-
dado con los cuadros de referencia, ya que tienen que estar completamente en memoria, y la memoria de un reproductor de Blu-ray es
muy limitada: las normas de nivel 4.1 del reproductor de Blu-ray y AVCHD sólo permiten un máximo de seis cuadros de referencia para
720p y cuatro cuadros de referencia para 1080p.
También hay restricciones en las imágenes por segundo: Blu-ray y AVCHD solamente permiten 24 fps para 1080p, 50 ó 60 para 1080i
(entrelazado), y 24, 50 ó 60 fps para 720. Desviaciones menores de esta tasa, como 23.96 fps, 25 fps o 59.9, también funcionarán, pero
tasas tales como 29,97 ó 30 fps no funcionarán de ninguna manera. Si tiene un vídeo de 30 fps, o el dispositivo de salida HD no es com-
patible con 25 fps, puede intentar --fake-interlaced --pic-struct como una opción adicional de x264.
Por último, debe prestar atención a las tasas de bits: Blu-ray es compatible con un flujo mayor global de tasa de bits (hasta 36 Mbps para
BD-R, de 48 Mbps para Blu-rays prensados) en comparación con el formato AVCHD (18 Mbps como máximo), ya que un DVD no entrega
los datos tan rápido como un reproductor de Blu-ray; DVD 2x es equivalente a 2,7 Mbps, pero BD 2x es equivalente a 9 MBps. Para estar
seguros, no ajustaremos un flujo de vídeo de más de 25 Mbps para el formato Blu-ray o más de 13 Mbps para AVCHD.
En lo que respecta al códec de audio, Blu-ray admite LPCM sin comprimir, Dolby Digital (AC3)/Digital +/TrueHD, DTS/DTS-HD y (posterior-
mente a las especificación 2.3) China’s Dynamic Range Audio (DRA). Oficialmente, AVCHD sólo es compatible con Dolby Digital de 1 a 6
canales (64 a 640 kbps) o PCM sin comprimir (hasta 1,5 Mbps, 2 canales), aunque la mayoría de reproductores, saltándose la norma, tam-
bién admiten DTS.
casualidad conseguimos una versión define la tasa de bits – y los dos paráme- Para comprobar si todo va como esperába-
“expurgada” de Mplayer a la que se le haya tros --vbv-maxrate y --vbv-bufsize. Para mos, reproducimos el fichero fuente con
quitado el códec por razones de patentes, y DVD, --vbv-bufsize se debe establecer con mplayer sin el parámetro -vo
la versión que tenemos no puede reprodu- un valor de 15000, mientras que para Blu- yuv4mpeg:file=stream.y4m antes de codifi-
cir el archivo, sólo tendremos que descar- ray debe ser de 40000 (--vbv-maxrate) y car.
gar el código fuente [8] y compilar el repro- 30000 (--vbv-bufsize), respectivamente. Para Seleccionaremos la tasa de bits con el fin
ductor. Los desarrolladores de x264 van el modo de vídeo entrelazado 1080i hay de hacer el mejor uso posible del disco de
cambiando los parámetros a los que dan que añadir la opción --interlaced. Las confi- destino. Si la película sólo dura media hora,
soporte; si nuestro x264 no es compatible guraciones que he utilizado aquí son las podemos ir tranquilamente al máximo de
con los parámetros que figuran listados recomendadas por los desarrolladores [9]. 25 Mbps para el formato Blu-ray o 13 Mbps
aquí, deberemos construir nuestra propia Varios parámetros adicionales de Mpla- para AVCHD. Si tenemos tres horas de con-
versión otra vez. yer permiten modificar el vídeo – por ejem- tenido, tendremos que bajar a 5 Mbps para
Para comenzar, creamos el archivo FIFO plo escalarlo, aligerarlo, añadir subtítulos AVCHD en un DL-DVD. Téngase en cuenta
con el comando mkfifo stream.y4m: este embebidos o cambiar el formato. La docu- que es necesario agregar el tamaño de la
archivo es para el flujo YUV4 sin compri- mentación de Mplayer [9] explica todas las secuencia de audio a la secuencia de vídeo
mir. A continuación, agregamos el opciones ampliamente. Para las resolucio- – y no nos olvidemos de la sobrecarga
comando en la línea 1 del Listado 1. En otro nes que no son exactamente 1280x720 ó necesaria para transportar el flujo MPEG,
terminal, empezamos a leer y a codificar 1920x1080, habrá que ampliar o recortar el con lo que el resultado aumenta alrededor
desde el archivo Y4M (Línea 2). Sólo se vídeo a la anchura adecuada, como en: de un 6,5 por ciento. El BD-R (de una sola
pueden ejecutar estos dos comandos suce- capa) puede contener un máximo de
sivamente en un guión mediante el envío -vf dsize=1280:720:0,scale=0:0,U 23,30GB, un DL-DVD 7,95GB y un DVD
del proceso Mplayer a un segundo plano expand=1280:720, 4.37GB. Antes de volver a empaquetar con
utilizando el ampersand (&). tsMuxer, el vídeo y el audio en bruto no
Añadimos los parámetros para los cua- o deberían ocupar más de 21.8, 7.5 ó 4.1GB.
dros de referencia al segundo comando: -r 6 Aunque x264 es un códec de alto rendi-
para 720p o -r 4 para 1080p. Las otras dife- -vf dsize=U miento, la codificación llevará un tiempo
rencias entre AVCHD y Blu-ray sólo afectan 1920:1080:0,scale=0:0,U razonable en una máquina rápida. Su rendi-
al valor para --crf – que fundamentalmente expand=1920:1080 miento dependerá del vídeo en sí – un vídeo
real, que contiene ruido, tarda mucho más Para convertir flujos de audio incompati- Estructura AVCHD/Blu-ray
que un vídeo CGI sin ruido – y de la tasa de bles, utilizamos cualquier codificador de El tsMuxeR de SmartLabs transporta el
bits seleccionada: cuanto mayor sea la tasa audio que admita Dolby Digital. La función flujo multiplexado que empaquetará el
de bits, más lenta será la codificación. Stream file export del VLC media player, del vídeo AVCHD y los componentes de Dolby
Para acelerar el proceso de codificación proyecto VideoLAN, es muy fácil de usar Audio en una estructura de archivos com-
usamos el modo CRF (Factor de Velocidad (menú File), siendo posible convertir fácil- patibles con discos Blu-ray y AVCHD. En el
Constante), que ofrece una calidad similar mente audio en Dolby Digital (AC3 o a52). sitio web de SmartLabs [3] hay una versión
a la codificación de 2 pasadas pero dura el Añadimos el archivo en el cuadro de diá- de tsMuxeR para Linux. Para empezar, ini-
doble de tiempo. Si tenemos 1,5 horas de logo Stream (VLC 1.1.4) – ya sea un vídeo o ciamos el GUI tsMuxeR (Figura 4) y selec-
película, empezamos con un factor de CRF sólo audio – y luego pulsamos Stream cionamos el archivo 264 creado por x264
de 22, y cambiamos el valor si es necesario (Figura 1). que contiene la pista de vídeo y después el
– cuanto mayor sea el factor de CRF, más A continuación, creamos un perfil de archivo de audio Dolby Digital (add), a
pequeño es el archivo y más baja la tasa de audio AC3 a juego: para Encapsulation continuación, hacemos clic para seleccio-
bits. Si queremos asegurar que alcanzamos seleccionamos raw; los archivos AC3 con- nar el idioma de la pista de audio. En la
la tasa de bits de destino en la primera tienen datos en crudo sin las cabeceras de parte inferior, seleccionamos el formato ele-
pasada, reducimos la calidad y utilizamos archivo. Tenemos que deshabilitar Video y gido (Blu-ray disk o AVCHD disk), y luego
una sola pasada con -B bitrate_in_kbps en Subtitles. En la pestaña Audio codec (Figura podemos añadir opciones tales como capí-
lugar de --crf. 2), primero comprobamos que tenemos tulos.
x264 admite hasta ocho núcleos, inclui- a52/AC3 como códec y 48 kHz como Sam- tsMuxeR también nos permite crear
dos los núcleos virtuales proporcionados ple rate en Audio. El Bitrate puede ser de subtítulos, concatenar flujos (suponiendo
por Hyper-Threading de Intel. Con nuestra 64, 96, 112, 128, 160, 192, 224, 256, 320, que la codificación sea idéntica), o dividir
configuración de vídeo de alta calidad, 384, 448, 512, 576 ó 640 kbps. Bitrates por flujos (por ejemplo, para versiones de
hemos conseguido una velocidad casi a encima de 256 kbps sólo se utilizan nor- AVCHD en discos duros FAT32, donde sólo
tiempo real en un equipo de seis núcleos malmente para canales de audio múltiples se permite un tamaño máximo de archivo
Sechskern (Core i7 980X) para un vídeo de en 5.1; una tasa superior a 224 kbps no de 4 GB). Pero no debemos cambiar nin-
720p a 24 fps, es decir, le llevó media hora mejorará la calidad del audio estéreo nor- guna otra configuración para evitar que el
codificar 30 minutos de película. La herra- mal. flujo sea incompatible. Una vez que tene-
mienta MediaInfo [10] debe estar en cual- En el asistente de Streaming, hacemos mos todo configurado, pulsamos Start
quier máquina que se utilice para editar clic en Add en la pestaña File e introduci- muxing, y tsMuxer empaquetará los datos
vídeo. MediaInfo identifica la tasa de bits mos el nombre del archivo de destino de audio y vídeo en un flujo de transporte
del flujo final. (Figura 3). Nos aseguraremos de no poner MPEG-2 (M2TS) y creará una estructura
una extensión de archivo para el archivo de archivos compatible con Blu-ray o
Codificación de Audio de destino, de lo contrario, el proceso de AVCHD.
Si ya tenemos una pista de audio Dolby transcodificación fallará en el inicio. A La única alternativa en Linux a tsMuxeR
Digital, podemos extraerla fácilmente con continuación, iniciamos el proceso de es el programa TsRemux (Figura 5), un pro-
la siguiente orden: transcodificación pulsando Stream. Tras grama. NET que no se ha actualizado en
la transcodificación, agregaremos la mucho tiempo. Nos las arreglamos para
$ mplayer -dumpaudio -dumpfile U extensión de .AC3 al archivo. Pulsamos ejecutar TsRemux en Mono con un par de
audiofile_name.ac3 U Stream para comenzar la conversión del modificaciones (TSremunix.exe). El pro-
moviefile_name sonido. grama es una versión muy prematura, la
0.0.21.2, plagada de errores, y que no ofrece a la versión 2.6.26 del kernel, que incluyó
ninguna ventaja sobre tsMuxeR – además, la compatibilidad UDF 2.5 en Linux. Move-
no soporta explícitamente AVCHD. A esto mos las carpetas BDMV y CERTIFICATE al
hay que añadir el hecho de que como directorio raíz del disco, de lo contrario no
entrada sólo admite archivos MPEG-TS, lo funcionará. Escribimos un nombre para el
que significa que primero tenemos que disco y hacemos clic en Burn.
empaquetar el vídeo y el audio en formato
MPEG-TS. Por esta razón, sólo debemos ¡Todo Terminado!
probar TsRemux en el (muy improbable) Una vez finalizado este proceso, debemos
caso de que tsMuxeR no funcione. tener en la bandeja de nuestro dispositivo
Si además deseamos crear una versión grabador un DVD o un Blu-ray con vídeo
del archivo que utilice el formato de archivo HD, y el disco deberá funcionar en repro-
contenedor MKV para reproducirlo en la ductores Blu-ray y en la Playstation 3. Este
amplia variedad de HDs multimedia con disco está libre de protecciones de copias
reproductores compatibles con MKV que DRM que plagan los discos Blu-ray comer-
hay actualmente en el mercado, podemos ciales, por lo que puede duplicarse. Proba-
combinar (“mux”) el flujo de vídeo y audio mos la AVCHDs y los Blu-rays creados con
con MKVmerge. El programa MKVmerge, los siguientes reproductores: BDP-S370/
con su sencilla interfaz gráfica de usuario, S570 Sony y Playstation 3, DMP-BD45/65
es parte del paquete MKVtoolnix, que Panasonic, Pioneer BDP-120, Samsung
podemos encontrar en el repositorio de BDC-6900, LG BX 580, Philips BDP-3000 y
nuestra distribución. Las GUIs de Sharp BD-HP90S. El disco funcionó bien en
MKVmerge y tsMuxeR son muy similares y todos estos dispositivos, a excepción del
enseguida nos haremos con él. En MKV- Sharp, que rechazó el BD-RE, ya que ni
toolnix, a partir de la versión 4.1, es impor- siquiera alcanzaba la velocidad necesaria;
tante que nos aseguremos de establecer a parece un problema de compatibilidad con
None el valor de Compression en la pestaña el BD-RE Verbatim que utilizamos en nue-
Extra Options para las pistas de audio y tras pruebas. ■
vídeo; de lo contrario el archivo no funcio-
nará en la mayoría de los reproductores RECURSOS
hardware. [1] Página de AVCHD: http://www.
avchd-info.org/
Quemando
[2] Página del codificador x264: http://
Lo único que necesitamos hacer ahora es www.videolan.org/developers/x264.
grabar la estructura Blu-ray o AVCHD cre- html
ada por tsMuxeR en el disco adecuado. En [3] tsMuxeR: http://www.smlabs.net/en/
el primer intento, para probar si todo está products/tsmuxer/
funcionando, utilizaremos un DVD-RW
[4] Película con Blender: http://www.
regrabable o un BD-RE. Para grabar el blender.org/features-gallery/movies/
archivo necesitamos Nero 4 Linux [11], que
[5] “Sita Sings the Blues”: http://www.
tiene un precio de 20 euros y es el único archive.org/details/
programa que nos permite configurar el Sita_Sings_the_Blues
nivel UDF en Linux. Decididamente, tanto [6] “The Night of the Living Dead”: http://
para Blu-ray como para AVCHD, necesita- www.archive.org/details/
mos quemar con un nivel UDF de 2.5. night_of_the_living_dead
(Desafortunadamente, el programa [7] Lista de Wikipedia de las películas en
mkudffs utilizado por la mayoría de herra- el dominio público en USA: http://en.
mientas de grabación de Linux, que es wikipedia.org/wiki/
List_of_films_in_the_public_domain_i
parte de las Udftools y que no ha sido
n_the_United_States
actualizado desde hace muchos años, no
puede crear imágenes ISO con un nivel [8] Página del proyecto Mplayer: http://
www.mplayerhq.hu/design7/news.
superior a UDF 2.01). html
En el menú DVD de Nero (Figura 6),
[9] Documentación de Mplayer: http://
vamos a Manual settings para DVD-ROM www.mplayerhq.hu/design7/
(UDF) y lo establecemos en UDF 2.5; el documentation-es.html
planteamiento es idéntico para Bluray.
[10] Mediainfo: http://mediainfo.sf.net/es
Nero nos avisará de que no se puede grabar
UDF 2.5 en Linux, pero podemos pasar por [11] Nero 4 Linux: http://www.nero.com/
enu/linux4.html
alto la advertencia. Este mensaje es anterior
D
esde el primer satélite artificial, Above [1], que ha ofrecido predicciones Universe de Ubuntu 9.04 sólo ofrece un
el Sputnik, que fue lanzado en durante muchos años trazando órbitas paquete antiguo de Gpredict, el 0.90,
1957, un gran número de naves de satélites en mapas estelares. Además, Ubuntu 10.04 y posteriores vienen con la
espaciales de diferentes diseños han cada vez existen más programas de versión más reciente 1.1. Sin embargo, la
orbitado el planeta: de simples satélites apoyo planetario de localización por última versión de Gpredict es la 1.2.Para
de comunicaciones, a las sondas espacia- satélite y que extraen los satélites artifi- instalarla, descargamos el código fuente
les con complejos instrumentos y la ciales en sus cartas de inicio. Gpredict [3] desde la página web de Gpredict, y a
Estación Espacial Internacional (ISS). La [2] (que viene de Gnome Predict) se cen- continuación debemos prepararnos para
mayoría de estos cuerpos celestes artifi- tra exclusivamente en los satélites, y por hacer frente a una serie de obstáculos.
ciales están en una baja órbita terrestre lo tanto ofrece muchas más opciones Ubuntu 9.04 no es capaz de resolver
en altitudes de entre 200 y 1200 kilóme- que Heavens Above. algunas dependencias de la versión 1.2,
tros. Por el contrario, los satélites de tele- ya que las versiones más recientes de
visión y meteorológicos usan órbitas Variantes de Instalación Gtk+ y GLib no están disponibles como
geoestacionarias a unos 36.000 kilóme- Muchas distribuciones incluyen Gpredict paquetes para 9.04.
tros sobre el ecuador (su velocidad angu- en sus repositorios, como es el caso de A pesar del mensaje de error de que
lar es equivalente a una órbita por día, Ubuntu, que hemos usado en nuestro intltool es demasiado antiguo, fuimos
por lo que un satélite en esta ubicación equipo de laboratorio. Aunque la rama capaces de compilar Gpredict 1.2 en
se mantendrá en la misma posición res- Ubuntu 10.04. Sin embargo, no pudimos
pecto a la superficie de la Tierra). En una Localizador QTH descargar los paquetes necesarios
noche clara podemos ver muchos de También conocido como QRA Maiden- libfreetype6, a pesar de que el gestor de
estos satélites como puntos de luz que head Locator [5], el localizador QTH define paquetes los listaba. En lugar de esto,
cruzan el cielo. Los observadores no una rejilla cuadrada de 84 datos WGS geo- nos dirigimos a la página de búsqueda
expertos tienden a confundirlos con désicos. Desarrollado por aficionados al de paquetes de Ubuntu [4]. Antes de
final de los años 50, y codificado múltiples
aviones. veces, ayuda a calcular la distancia y direc- compilar el código fuente, también tuvi-
Una de las formas más populares de ción entre usuarios de redes de radio. El mos que instalar los paquetes de
identificar satélites y predecir sus órbitas localizador QTH para Chicago, por ejem- desarrollo para las librerías necesarias
es a través de la página web Heavens plo, es EN61EU. relacionadas con Gtk+ 2.12, GLib 2.16,
eclipsado). Para
tener la mejor vista
de un satélite, ten-
drá que estar en la
luz del sol, mientras
que en nuestra ubi-
cación es de noche,
o por lo menos en el
crepúsculo. Figura 5: El diagrama de visibilidad de satélites en el módulo selec-
Para habilitar esta cionado.
columna, marca-
mos la casilla Visibility during pass en la cardinales. Para modificar la orientación
pestaña Multiple Passes del panel Predict del mapa, dependiendo de nuestra direc-
en Edit | Preferences. Este valor pone a ción de observación, elegimos uno de los
Gpredict en una liga diferente de, por botones de Orientation en la pestaña
ejemplo, Heavens Above, que sólo mues- Polar View del panel Modules en Prefe-
tra pasadas visibles, y también explica rences.
por qué los detalles de los pasadas de los La tercera pestaña, Az/El, contiene un
satélites pueden ser diferentes entre dos gráfico de visibilidad que nos permite
fuentes de información. ver si el satélite seleccionado es visible.
Haciendo doble clic en una línea de la Una pequeña flecha en la parte dere-
lista de satélites, obtenemos una visión cha de cada módulo hace aparecer un
Figura 3: Detalles de la pasada del satélite detallada de la pasada (véase la Figura menú con 10 entradas. Un elemento del
telescopio infrarrojos WISE (Wide-field 3). La pestaña Data es una tabla de posi- menú realmente interesante aquí es Sky
Infrared Survey Explorer) del 7 de diciembre ciones orbitales individuales, incluyendo at a glance, que muestra un gráfico de
de 2010 por la mañana. la fecha y la hora, y las coordenadas en visibilidad de los satélites asignados al
formato de acimut (Az, el ángulo entre el módulo a lo largo de un eje temporal
La posibilidad de mostrar la lista de norte y la proyección perpendicular del (véase la Figura 5). Aquí, podemos ver
selección de un grupo específico es una satélite hacia el horizonte) y elevación qué satélite aparecerá, cuándo y con qué
útil función de búsqueda: por ejemplo, (El). El número de grados en la columna frecuencia dentro del período de tiempo
podemos optar por mostrar el Espacio y El muestra lo alto que estará el satélite configurado (por defecto: ocho horas).
Ciencias de la Tierra, Geoestacionarios o sobre el horizonte local en un momento Gpredict no se limita sólo a la fecha
un grupo más especializado, como los determinado (valor positivo más actual, o a tablas de predicción, sino que
Últimos Lanzamientos. grande). En función de la elevación también puede mostrar una pantalla con
Cada módulo nuevo que creamos está máxima y la altura
organizado en su propia ficha. Los satéli- de la órbita, el saté-
tes asignados al grupo se muestran en el lite cruzará el cielo
mapa del mundo con sus huellas. Si más rápida o más
pasamos el ratón sobre un satélite, vere- lentamente. Esta
mos una burbuja (al menos en las ver- tabla también se
siones posteriores a Gpredict 0.9) con los puede imprimir o
detalles de las coordenadas actuales y el guardar.
tiempo en minutos hasta la próxima
adquisición de la señal (AOS) en la esta- Visualización
ción de tierra. Si el satélite es actual- Para la visualiza-
mente visible por encima de nuestra ción, la segunda
estación de tierra, se muestra el número pestaña contiene un
de minutos hasta la pérdida de la señal diagrama polar
(LOS). Para ver la trayectoria del satélite, (véase la Figura 4,
pulsamos con el botón derecho y selec- que también se pre-
cionamos la función Ground Track en el senta en la parte
cuadro desplegable. inferior izquierda
de la ventana prin-
Traza Terrestre cipal de forma pre-
El menú Future passes nos lleva a una determinada) que
tabla con las pasadas que tendrán lugar muestra el cielo
en los próximos tres días. La columna de local sin estrellas y Figura 4: La vista polar muestra la pasada de la Estación Espacial
la derecha, Vis (visibilidad), indica si el constelaciones, Internacional a través del cielo de Stuttgart, Alemania, en la mañana
paso será visible (V) u oculto (E, de pero con los puntos del 13 de diciembre de 2010.
Control Remoto
Por último, no debemos olvidar una característica muy
importante de Gpredict: su función de control de radio y
antena, basada en la librería Hamlib. Las librerías de equi-
pos de radio Ham permiten escribir programas para contro-
lar los equipos de radio aficionados desde nuestro ordena-
dor y actuar sobre rotores de antena especiales de manera
que Gpredict pueda realizar un seguimiento del satélite
seleccionado (véase la Figura 6). Debido a que carecíamos
de este hardware, no hemos podido probar esta funcionali-
dad. El detallado manual de Hamlib en el manual de Gpre-
dict [6] proporciona más detalles.
Conclusiones
Gpredict es un muy buen software de localización de satéli-
tes y predicción de órbitas que también permite el control
de equipos de radio aficionado. La interfaz es intuitiva y
ofrece todo lo que podríamos buscar en una herramienta de
este tipo. El manual en formato PDF de 64 páginas, muy
bien estructurado, ayuda a los usuarios a encontrar su
camino por todo el programa. ■
RECURSOS
[1] Heavens Above: http://www.heavens-above.com/
[2] Página web de Gpredict: http://gpredict.oz9aec.net/
[3] Descarga de Gpredict: http://sourceforge.net/projects/
gpredict/files/
[4] Búsqueda de paquetes de Ubuntu: http://packages.
ubuntu.com
[5] Localizador QTH: http://en.wikipedia.org/wiki/
Maidenhead_Locator_System
[6] Manual de Gpredict: http://voxel.dl.sourceforge.net/
project/gpredict/Gpredict/1.2/gpredict-user-manual-1.2.
pdf
DESARROLLO • Python: ZeroMQ
ZeroMQ
L
a comunicación de información aplicación A mande mensajes a B, siempre ocurre), rápidamente buscan
a través de una red es, a día de sino que A no tenga que saber que B mejorarlo. La gente de iMatix com-
hoy, una de las principales quiere sus mensajes. El sistema de probó que los sistemas de cola no
tareas de prácticamente cualquier pro- cola recibirá los mensajes de A y eran lo bastante flexibles. Dependías
grama. Nos resulta casi raro pensar en cualquier aplicación podrá «suscri- de los servidores de cola de mensajes,
un programa que no disponga de la birse» a esa cola y recibir los mensa- software que no controlabas, y no era
capacidad de compartir información jes. De esta forma es posible diseñar posible diseñar sistemas realmente
mediante algún tipo de protocolo. sistemas en los que podemos reem- complejos a partir de ellos. Aunque el
Ya sea mediante TCP/ IP, XMLRPC o plazar los diferentes componentes en protocolo AMQP permitía interactuar
AJAX, el abanico de posibilidades es cualquier momento sin que todo con todos ellos de forma estándar,
inmenso. Existen literalmente cientos caiga como un castillo de naipes (ver cada servidor era incompatible con el
de protocolos de comunicaciones que Figura 1). AMQP fue un éxito, pero resto.
podemos usar, y a pesar de ello apa- era un mero protocolo de comunica- Para suplir estas necesidades, iMa-
rece ZeroMQ ¿cómo se le puede ocu- ción y dependía de los distintos siste- tix decidió crear algo nuevo: un proto-
rrir a alguien crear un nuevo proto- mas de cola (comerciales y libres) colo de comunicaciones que simplifi-
colo de red? que existen. Ejemplos libres de estos case el famoso protocolo TCP/ IP pero
sistemas son por
ZeroMQ ejemplo Rab- Listado 1: Servidor «Hola Mundo»
Los creadores de ZeroMQ pertenecen bitMQ o Acti- 01 import zmq
a la empresa iMatix Corporation. Esta veMQ [2] y [3]. 02
empresa diseñó el protocolo AMQP, Los usuarios 03 context = zmq.Context()
cuyo objetivo era unificar y simplifi- más importantes 04 socket = context.socket(zmq.REP)
car el desarrollo de software que tra- de los sistemas 05 socket.bind(“tcp://127.0.0.1:5000”)
bajase con sistemas de cola de men- de colas de even- 06
sajes. Un sistema de cola permite a tos son las 07 while True:
una aplicación enviar mensajes a otra empresas finan- 08 msg = socket.recv()
aplicación. Dicho así parece una cosa cieras, y cuando 09 print “He recibido: “, msg
muy sencilla, pero esconde muchas algo les funciona 10 socket.send(msg)
dificultades. No sólo queremos que la (cosa que no
AGENTE
SECRETO
La API Secrets Service proporciona una interfaz unificada en Gnome y
S
egún el creador del anillo de claves cificación. Gnome y KDE tratan de popu- El servicio se ejecuta dentro de la sesión
de Gnome - Gnome Keyring - Stef larizar la plataforma más concienzuda- de login del usuario. En KDE se llama kse-
Walter, “Un buen software de mente desde el Desktop Summit de 2009 cretserviced. Las versiones de Gnome a
seguridad debería ser tan seguro e inofen- que tuvo lugar en Gran Canaria. El pro- partir de la 2.30 incluyen el borrador de la
sivo, pero tan fácil de usar, como la puerta yecto Secrets Service permitirá a los pro- API en el demonio gnome-keyring-daemon
de una sala de estar”. El proyecto Gnome gramadores el uso de una interfaz común y en aplicaciones como el navegador web
Keyring [1] proporciona un repositorio con la que interactuar con servicios de Epiphany o el cliente de chat Empathy.
central de contraseñas, archivos de claves contraseñas, archivos de claves y certifica- El software almacena multiples secretos
y certificados para los servicios y aplica- dos desde aplicaciones tanto de KDE en una colección. El programador puede
ciones que el usuario necesite. Las aplica- como de Gnome, así como desde el resto usar métodos de la colección para crear o
ciones de Gnome, como Empathy, Evolu- de escritorios que sean capaces de ajus- eliminar el objeto que contiene los secre-
tion o Network Manager acceden al servi- tarse a la plataforma. tos individuales o elementos (items). Las
cio de anillo de claves; la interfaz Seahorse colecciones se identifican por sus rutas de
[2] ayuda con la administración de claves Arquitectura objeto, como por ejemplo /org/freedes-
PGP y SSH. El documento [4] está aún en estado ktop/secrets/collection/xxxx, donde xxxx
El homólogo de Gnome Keyring en el borrador, y los detalles de la versión para es una versión abreviada del nombre de la
escritorio KDE es Kwallet [3], que usa desarrolladores [5] continúa cambiando colección. También es posible crear alias
aplicaciones como Konqueror o Knetat- ocasionalmente, pero la arquitectura de los objetos.
tach. Ambas herramientas cifran sus básica de la API Secrets Service ya está Los secretos se almacenan en un array
colecciones de datos confidenciales prote- definida. de bytes; cada secreto puede contener
giéndolas con una frase de paso. Esta API permite a las aplicaciones varios campos y valores, incluyendo XML.
Aunque hasta entonces Gnome Keyring guardar información secreta enviando También se pueden almacenar atributos
y Kwallet eran incompatibles, en 2009 Stef peticiones a un servicio que cifra y alma- sin cifrar junto con los valores para facili-
Walter y el desarrollador de Kwallet, cena dicha información. El servicio tar la búsqueda de elementos mediante el
Michael Leupold, decidieron aunar esfuer- devuelve entonces los datos cifrados a las método SearchItems().
zos. El resultado de dicha colaboración es aplicaciones que los soliciten. La API tam- El proceso de creación o eliminación,
una nueva interfaz llamada Secrets Service bién es capaz de cifrar el intercambio de así como otras acciones, puede requerir
API. Los desarrolladores eligieron la plata- información que se produce entre el servi- interacción con el usuario. La aplicación
forma Freedesktop.org para alojar la espe- cio y sus clientes. cliente puede llamar al método que mues-
Figura 1: Seahorse, basado en Gnome Keyring, proporciona una inter- Figura 2: La arquitectura del demonio Ksecretserviced de Michael
faz para la gestión de claves GPG y SSH. Leupold prevé frontends para la API antigua y la nueva.
tra el diálogo que puede ser asignado a de la especificación en Gnome Keyring. La Contacto con el Viejo
una ventana de aplicación referenciando librería libgnome-keyring implementa la Mundo
su ID de ventana. parte cliente de la API y se utiliza en ¿Son capaces los desarrolladores de apli-
La API Secrets Service proporciona ade- muchas aplicaciones de Gnome. Walter caciones, aparte de los de KDE y Gnome,
más un mecanismo de bloqueo para con- planea publicar una nueva versión de la de interactuar con la API Secrets Service?
trolar el acceso a elementos y colecciones. librería, posiblemente llamada Gsecrets, “La especificación continúa cambiando”,
Cuando se bloquea un elemento o una que soportará funcionalidades avanzadas. asegura Michael Leupold, “Tras comple-
colección, no se puede acceder al secreto En cuanto a KDE, Michael Leupold está tar las implementaciones de Gnome y
almacenado ni usar un programa cliente trabajando actualmente en Ksecretservi- KDE, queremos publicar una versión ofi-
para modificarlo. El frontend del anillo de ced, un desarrollo completamente nuevo, cial de la especificación. Sería estupendo
claves de Gnome, Seahorse (ver la Figura ya que el actual Kwalletd no se presta a ser que se implicasen otros entornos de
1), también proporciona a los usuarios modificado para soportar la API. Entre escritorio, así como proyectos de soft-
algunas configuraciones de bloqueo; por otras cosas, el software tradicional no ware como el de Mozilla”. ■
ejemplo, se puede bloquear una colección sirve para desbloquear información sensi-
si no hay actividad por parte del usuario ble cuando el usuario inserta una Smart- RECURSOS
durante una cantidad de tiempo determi- card. El software podría no soportar todas
nada. las funcionalidades de la lista de imple- [1] Gnome Keyring: http://live.gnome.
org/GnomeKeyring
mentaciones deseadas, pero aún así es un
Sesiones “reemplazo completo para Kwallet sin [2] Seahorse: http://projects.gnome.
Con el fin de confiar un secreto a Secrets exponer a los usuario a regresiones”, org/seahorse/
Service, o de leer un secreto custodiado como Leupold reveló a Linux Magazine. [3] Kwallet: http://utils.kde.org/
por él, la aplicación cliente tiene que abrir Ksecretserviced usará varios frontends y projects/kwalletmanager/
una sesión con el servicio. La sesión ter- backends (Figura 2). Los frontends sopor- [4] Borrador 0.1 de la API Secrets Ser-
mina cuando se llama al método Close() o tan comunicaciones de cliente: uno de vice: http://people.gnome.org/
bien cuando la aplicación sale de la sesión ellos implementará la nueva API; otro pro- ~stefw/secrets/html/
de D-Bus. El intercambio de información porcionará una interfaz Kwallet por moti- [5] Versión Git de la API: http://
confidencial tiene lugar dentro de la vos de compatibilidad. Y ambos utilizan gitorious.org/+xdg-secrets-api/
sesión. Aunque la API prevé e implementa D-Bus. Otros clientes pueden utilizar fron- xdg-specs/secrets-xdg-specs
para ello el modo de texto-plano, la expe- tends adicionales. [6] D-Bus: http://www.freedesktop.org/
riencia nos dice que el cifrado es infinita- Los backends se encargan del almace- wiki/Software/dbus
mente preferible. La API especifica por namiento y la lectura de los secretos. El [7] PKCS #11: http://www.rsa.com/
tanto un intercambio de claves Diffie-Hell- primer backend, que se encuentra actual- rsalabs/node.asp?id=2133
man, más cifrado AES 128 en modo Chai- mente en desarrollo se usará un nuevo for- [8] PKCS #7: http://www.rsa.com/
ned Block Cipher y Padding en línea con mato con extensión *.ksecret. Además de rsalabs/node.asp?id=2129
PKCS #7. esto, los programadores de KDE también [9] Diagrama de Gnome Keyring:
trabajan para soportar el formato de http://git.gnome.org/browse/
Implementación Gnome Keyring. En un futuro, el software gnome-keyring/plain/docs/
¿Qué hay de las implementaciones? Stef soportará el uso de Smartcards y otros gnome-keyring.svg
Walter casi ha acabado la implementación medios cifrables.
APROBADO
RÁPIDO
Un script en Perl ahorra a los usuarios la molesta tarea de pulsar en las
navegador.
A
ntes de que los hoteles, cibercafés o aeropuertos dejen que los nuevos usuarios acce-
dan a sus redes WiFi, redirigen las peticiones del navegador (Figura 1), haciendo que
sus potenciales clientes tengan primero que lidiar con una página de bienvenida
(Figura 2). Al llegar a esa página, lo que se ve son términos de uso sin fin – que nadie lee
de todos modos – casillas de verificación que tenemos que habilitar, anuncios o las
tres cosas.
Los proveedores de WiFi configuran estas páginas de bienvenida como
obstáculos que les permiten centralizar el registro de direcciones MAC del
cliente en la red WiFi y recordar al usuario sus obligaciones como inter-
nauta ejemplar. Una vez que hemos pasado por todas estas etapas obli-
gatorias, el punto de acceso baja su puente levadizo y nos da el acceso
web y la capacidad de abrir conexiones TCP arbitrarias a Internet
(Figura 3).
Figura 2: El WiFi del hotel redirige la primera petición del navegador a Figura 3: Los usuarios simplemente tienen que pulsar para acceder a
una página de bienvenida. los términos de usuario, y podrán navegar durante 24 horas.
Tácticas de Plugin Flexibles habilita todas las casillas de verificación que intento de acceso no se realiza correcta-
Pero, ¿cómo puede un sencillo script mane- aparecen en el primer formulario web antes mente, el script lo intenta con el siguiente
jar lo que podrían ser miles de configuracio- de pulsar el botón enviar. Los usuarios sólo plugin. De lo contrario, nos devuelve un
nes diferentes de páginas de bienvenida? Los tienen que añadir nuevos plugins en el direc- mensaje de éxito y finaliza.
proveedores de WiFi podrían crear comple- torio de plugins, a continuación el script los
jas formas o incluso utilizar su artillería recoge automáticamente, sin necesidad de Abajo con el Muro
pesada como animaciones Flash o JavaScript ninguna configuración, y lo intenta con ellos La Figura 4 muestra cómo reacciona el script
para defenderse de los scripts automáticos. como una nueva táctica. si la conexión de red no está activa porque el
Para contrarrestar esto, el script confía en Cada vez que un plugin completa su eje- usuario no ha seleccionado ninguna de las
una estrategia de plugin que permite al usua- cución, el script Splash hace una petición a redes WiFi disponibles o no ha introducido
rio, o a un tercero, modificarlo para controlar http:// www. google. com para ver si real- la contraseña WPA. Mientras las peticiones a
los nuevos métodos. Cada plugin prueba su mente devuelve la página web o si aparece Google devuelvan errores, o se congelen
propio enfoque para flanquear la página de otra página de bienvenida en el camino. Si el durante más de cinco segundos, el script se
bienvenida.
Por ejemplo, el plugin ClickAllLinks.pm se Listado 2: ClickAllLinks.pm
hace camino pulsando en todos los enlaces
de la página, mientras que CheckBoxFill.pm 01 ############################# 20
02 package SplashJumper::Plugin:: 21 for
Listado 1: ClickAllLinks; 22 my $link ($mech->links())
SplashJumper.pm 03 ############################# 23 {
04 # Mike Schilli, 2010 24
01 ############################ 05 # (m@perlmeister.com) 25 INFO “Clicking on “,
02 package SplashJumper; 06 ############################# 26 $link->url();
03 ############################ 07 use Log::Log4perl qw(:easy); 27 my $resp =
04 # Mike Schilli, 2010 08 28 $mech->get($link);
05 # (m@perlmeister.com) 09 ############################# 29
06 use strict; 10 sub register { 30 INFO “Got “,
07 use warnings; 11 ############################# 31 length($resp->content()),
08 use Module::Pluggable 12 return “click-all-links”, 32 “ bytes back”;
09 require => 1; 13 10; 33
10 14 } 34 $mech->back();
11 sub new { 15 35 }
12 bless {}, shift; 16 ############################# 36 }
13 } 17 sub process { 37
14 18 ############################# 38 1;
15 1; 19 my ($self, $mech) = @_;
Listado 4: Splash
01 #!/usr/local/bin/perl -w 33 } 65 for my $ways (@ways) {
02 ############################# 34 66 eval { $mech->get($url); };
03 # splash - Traverse WiFi 35 my ($algo, $order) = 67
04 # Splash Pages 36 $plugin->register(); 68 my $current_url =
05 # Mike Schilli, 2010 37 69 $mech->response->request
06 # (m@perlmeister.com) 38 push @ways, 70 ->uri;
07 ############################# 39 [ $algo, $plugin, 71
08 use strict; 40 $order ]; 72 if ($current_url eq $url) {
09 use SplashJumper; 41 } 73 INFO “Link is up.”;
10 use WWW::Mechanize; 42 74 last;
11 use Log::Log4perl qw(:easy); 43 # sort by plugin priority 75 } else {
12 44 @ways = sort { 76 INFO “Link still down”;
13 my $url = 45 $a->[2] <=> $b->[2] 77 }
14 “http://www.google.com”; 46 } @ways; 78
15 47 79 my ($algo, $plugin, $order)
16 Log::Log4perl->easy_init( 48 my $mech = 80 = @$ways;
17 $DEBUG); 49 WWW::Mechanize->new(); 81
18 50 $mech->timeout(5); 82 eval {
19 my $sj = SplashJumper->new(); 51 83 INFO “Processing splash “,
20 52 # wait until network is up 84 “page $current_url “,
21 my @ways = (); 53 { 85 “with algo $algo”;
22 54 INFO “Trying $url”; 86 $plugin->process($mech);
23 for 55 eval { $mech->get($url); }; 87 };
24 my $plugin ($sj->plugins()) 56 if ($@) { 88
25 { 57 INFO 89 if ($@) {
26 58 “Connection down, retrying”; 90 ERROR
27 if ( 59 sleep 5; 91 “Algo $algo failed ($@)”;
28 !$plugin->can(“register”)) 60 redo; 92 } else {
29 { 61 } 93 INFO
30 ERROR “$plugin can’t do”, 62 } 94 “Plugin $algo succeeded”;
31 “ register()”; 63 95 }
32 next; 64 # try to get past splash page 96 }
Simultaneidad
Si se crea un fichero de configuración
~/.csshrc para cada usuario, las configu-
raciones en este fichero son complemen-
tarias o reemplazan al fichero /etc/clus-
ters.
Espontánea Renovación
Hay gente a la que no le gusta la ventana
con el terminal negro tal y como se mues-
tra en la captura de pantalla. Con la
entrada
A Charly no le gusta la idea de tener que buscar entre los ficheros de
terminal_bg_style = dark
registros de una docena de servidores proxy cuando la página solici-
podrá añadir la iluminación adecuada a
tada muestra un error. Dado que él ha desarrollado Cluster SSH, puede ese ambiente vampiresco. Para aumen-
tarla, sólo habrá que cambiar dark por
tirar de la cuerda en varios equipos a la vez
light.
Por Charly Kühnast Cluster SSH también puede asignar una
fuente de color para cada servidor, lo cual
puede ser muy útil, ya que cuando la
P
ara balancear la carga y mejorar la user@server1 user@server2 U fuente de color siempre es la misma en el
disponibilidad, primero necesita user@server3 servidor, después de un tiempo, se pue-
organizar los servidores en un den identificar los nodos de un vistazo
cluster. Y para eliminar posibles sorpresas Para optimizar el proceso se pueden agru- simplemente por el tono que presenten
en la gestión del cluster, todos los servido- par los servidores con una etiqueta en el las 24 terminales. Si desea prescindir del
res miembros deben ser idénticos. Esto fichero /etc/clusters: color, puede cerrar la caja de pinturas
facilita dicha tarea de gestión, pero tam- tecleando terminal_colorize = 0. Para
bién la hace realmente aburrida. Cluster proxys admin@proxy1 U cambiar el tamaño estándar de la pantalla
SSH [1], que le ahorrará mucho trabajo admin@proxy2 admin@proxy3 de 24 líneas con 80 caracteres, escriba
con muy poco coste, tiene una interfaz Tk mailserver admin@mailserver1 U algo como:
minimalista con un cuadro de texto de admin@mailserver2 U
entrada. Cualquier comando que teclee admin@mailserver3 terminal_size = 120x32
en el cuadro se ejecutará en todos los ser-
vidores conectados. Por ejemplo, el A continuación, cuando se llama a cssh Mi veredicto: Ningún cluster sin Cluster
comando mostrado en la Figura 1 es htop. proxys, aparecerán las terminales de SSH. ■
todos los servidores proxy que se
han definido. Existe la posibili- RECURSOS
dad de volver a utilizar de nuevo
[1] Cluster SSH: http://sourceforge.net/
las etiquetas en una lista de ser- projects/clusterssh
vidores. Si ahora se añade
Alemania, cerca
proxys y mailserver cuando se
del conocido
llama a: Rhin. Entre sus
Figura 1: htop se está ejecutando en cada una de las labores se incluye la seguridad del
tres máquinas del cluster. Con Cluster SSH, el admin- cssh allservers cortafuegos, la disponibilidad y el
istrador se evitará tener que visitar cada nodo por cuidado de la DMZ (zona desmilita-
separado. El escritorio se encuentra ahora rizada). Divide su tiempo libre entre
bastante concurrido, pero puede el calor, la humedad y oriente,
Cuando se lanza, Cluster SSH espera ser práctico si se necesita, por ejemplo, donde se divierte cocinando, visi-
una lista de servidores con los que abre comprobar los tiempos de funciona- tando acuarios y aprendiendo
japonés respectivamente.
conexiones SSH – por ejemplo: miento de estos servidores – si este
WWW.LINUX-MAGAZINE.ES Número 72 53
ADMINISTRACIÓN • Btrfs
La Utilidad de
Administración
Administración de volúmenes de almacenamiento con Btrfs
mantequilla
/boot, donde residen las imágenes de arran-
que y del kernel.
Las dos principales utilidades que se nece-
sitan para crear y gestionar un volumen Btrfs
son mkfs.btrfs(8) y btrfs(8). (Muchas guías
Btrfs se presenta como un ganador para los expertos gracias a sus sobre Btrfs también hacen referencia a
btrfsctl, una herramienta antigua que actual-
avanzadas funcionalidades como subvolúmenes, imágenes y redimen- mente ha sido reemplazada por btrfs). La uti-
lidad btrfs es una herramienta de propósito
sionado dinámico de volúmenes.
general que se puede utilizar para adminis-
POR PETROS KOUTOUPIS trar los volúmenes Btrfs, monitorizar su uso,
crear subvolúmenes e imágenes, crear volú-
menes nuevos, añadir o quitar discos de los
B
trfs [1] es un nueva generación de volumen puede referirse a uno o a varios gru- volúmenes existentes y permitir la desfrag-
sistema de ficheros destinado a con- pos de discos o particiones. mentación en línea y el balanceo del volu-
vertirse en el sistema de ficheros por El sistema de ficheros Btrfs permite agru- men.
defecto de muchas distribuciones Linux futu- par varios discos en uno único y (si se especi- Por ejemplo, en un sistema Linux, para
ras. Inicialmente desarrollado por Oracle, fica) en un volumen RAID redundante, el saber si hay algún dispositivo Btrfs introduci-
viene con licencia GPL (General Public redimensionado dinámico de volúmenes, la ríamos el siguiente comando:
License) Versión 2, y a partir de la versión desfragmentación en línea, la verificación de
2.6.29-rc1 del kernel de Linux se aceptó den- las sumas de control, la compresión y $ sudo btrfs device scan
tro del desarrollo principal del kernel. Btrfs es muchas otras características más. A pesar de
el acrónimo de sistema de ficheros B-tree, que algunas de sus funcionalidades aún se Para descubrir todos los sistemas de ficheros
pero normalmente se pronuncia como “But- encuentran incompletas, Btrfs se activa en multidiscos de la máquina deberemos ejecu-
ter FS” (butter significa mantequilla en una configuración por defecto de un kernel tar este comando tras reiniciar o recargar el
inglés). Este innovador sistema de ficheros
está inspirado en el sistema de ficheros ZFS Errores y fsck
de Sun Microsystem (ahora Oracle), que ofi-
La wiki de Btrfs [1] contiene el siguiente aviso: Téngase en cuenta que Btrfs aún no
cialmente nunca se portó al kernel de Linux posee una herramienta fsck que pueda solucionar errores. Aunque Btrfs es estable en
debido a problemas de licencias entre CDDL una máquina estable, es posible que actualmente pueda corromperse el sistema de
(Common Development and Distribution ficheros de forma irrecuperable en el caso de que se produzca algún cuelgue de la
License) y GPL. máquina o un corte del suministro eléctrico de los discos que no permita el volcado de
los datos de forma correcta. Estos problemas se solucionarán cuando la herramienta
Btrfs es conocido como un sistema de fsck se encuentre disponible.
ficheros COW (Copy-On-Write). Cuando se
modifican datos, nunca se modifican en su
lugar. Se crea un bloque de datos o una serie Listado 1: Listando Sistemas de Ficheros Btrfs
de bloques de datos nuevos para almacenar- $ sudo btrfs filesystem show
los. Este concepto sirve de ayuda para que Label: none uuid: f2346c58-64fd-42a5-afdb-10e9e134d0a1
Btrfs pueda soportar funcionalidades avan- Total devices 1 FS bytes used 2.40GB
zadas, como imágenes y subvolúmenes. Un devid 1 size 7.64GB used 4.60GB path /dev/sda6
Btrfs y RAID
RAID (Redundant Array of Independent Disks) es un método por el cual múltiples discos duros independientes conectados a un orde-
nador aparecen como un único disco. Dependiendo del tipo de RAID, el rendimiento puede mejorarse de forma increíble, especial-
mente si se distribuyen los datos por múltiples discos, eliminándose los cuellos de botella de un único disco para las operaciones de
lectura/escritura. La mayoría de los algoritmos de RAID ofrecen una forma de redundancia que puede resistir un número finito de
fallos de disco. Cuando un disco falla en un array redundante, el sistema funcionará en un modo degradado hasta que se restaure. La
tecnología es capaz de restaurar el sistema a un punto anterior al momento del fallo. Existen numerosos tipos de RAID. Hasta la fecha,
Btrfs soporta oficialmente RAID 0, RAID 1 y RAID 10, pudiendo duplicar también los metadatos en un único disco. Existe un parche que
proporciona soporte para RAID 5 y RAID 6, pero oficialmente no ha sido integrado en el proyecto.
Un array RAID 0 consiste en la distribución de los datos por todos los discos que formen el array, escribiendo según el algoritmo de
round-robin. Las operaciones de lectura y escritura acceden a los datos de la misma forma. La escritura o lectura de los datos de forma
concurrente por medio de varios discos tardan menos tiempo que la realización de esa misma operación en un único disco, con lo que
un sistema RAID 0 puede mejorar de forma considerable el rendimiento, aunque RAID 0 no ofrece redundancia. Si uno de los discos
del array fallara, entonces el array entero fallará.
En un array RAID 1 (discos en espejo), uno de los discos almacena una réplica exacta del otro disco. Si uno de los discos fallase, el
segundo entraría en acción y seguiría a partir de donde se quedó el primero. El rendimiento global es igual al rendimiento que se con-
sigue con un único disco. En algunas implementaciones RAID 1, las operaciones de lectura se afinan para que consigan velocidades
mayores por medio de un mecanismo conocido como balanceo de lectura. El balanceo de lectura proporciona la habilidad de obtener
los datos de los dos discos del array.
El sistema híbrido RAID 10 usa las dos técnicas anteriores. La Figura 1 muestra un ejemplo de cómo los datos se escriben en un chunk
a través de múltiples discos en un volumen RAID.
$ sudo btrfs filesystem balanceU Para verificar que el subvolumen existe en la volúmenes más tradicionales requieren que
/mnt/ raíz del volumen Btrfs, se utiliza la opción la imagen se tome de todo el volumen lógico
list: entero. Btrfs, por otro lado, permite crear
Este comando lleva a la configuración mos- imágenes de ficheros individuales o de direc-
trada en el Listado 7. $ sudo btrfs subvolume list /mnt torios enteros que se encuentren en el volu-
La operación de balanceo tarda un poco, ID 256 top level 5 path subvol men Btrfs. (Recuérdese que todo esto es
ya que requiere que todos los datos y meta- posible gracias al diseño COW del sistema
datos del sistema de ficheros se vuelvan a El Listado 8 muestra los contenidos de la raíz de ficheros Btrfs).
leer y reescribir por todos los discos del array, del sistema de ficheros. Para ver cómo funciona el proceso de crea-
incluyendo los discos nuevos añadidos. Si deseamos especificar un subvolumen ción de imágenes, debemos comenzar cre-
como el volumen por defecto cuando se ando un fichero con touch o dd (Listado 9).
Subvolúmenes e Imágenes monte, es necesario obtener el ID del subvo- Ahora que tenemos un fichero, podemos
de Volúmenes lumen (como se puede observar en el crear una imagen de la raíz del sistema de
Un único volumen Btrfs puede contener comando anterior) e invocar la utilidad btrfs ficheros:
múltiples subvolúmenes. Si se define un sub- con la siguiente opción:
volumen como “default” (por defecto) para $ sudo btrfs subvolume snapshotU
el volumen, cuando se monte el volumen, el $ sudo btrfs subvolume U /mnt /mnt/snapshot_of_root
subvolumen aparecerá como raíz; incluso es set-default 256 /mnt
posible montar un subvolumen cuando el Un listado de todos los subvolúmenes del sis-
volumen padre no se encuentre montado. Por otro lado, podemos montar el subvolu- tema de ficheros Btrfs tendrá ahora la imagen
Cada subvolumen puede operar como un men en un directorio separado. incluida.
sistema de ficheros independiente. En Btrfs,
todo el almacenamiento se encuentra en el $ sudo mount -t btrfs -o U $ sudo btrfs subvolume list /mnt
conjunto, y los subvolúmenes se crean a par- subvol=subvol /dev/sdb U ID 256 top level 5 path subvol
tir de este conjunto – no necesitamos hacer /subvol ID 257 top level 5 path U
ninguna partición. Mientras que la capacidad snapshot_of_root
de almacenamiento se mantenga, se pueden Aunque se pudiera pensar que la imagen de
crear todos los subvolúmenes que se deseen. los datos es un subvolumen, difiere en Cuando realicemos esta operación, un lis-
Para crear uno deberemos introducir: implementación. Una imagen es un estado tado de los contenidos de la imagen recién
individual de un volumen de almacena- creada mostrará una imagen raíz del volu-
$ sudo btrfs subvolume createU miento en un momento determinado. Las men Btrfs, con la excepción del directorio de
/mnt/subvol imágenes normalmente se utilizan para el la imagen del subvolumen (Listado 10).
Create subvolume ‘/mnt/subvol’ archivado de datos. Los administradores de Ahora creamos un fichero nuevo en la raíz
del volumen. La imagen aún preservará los
Listado 3: Un Sistema de Ficheros Btrfs Nuevo datos originales del momento que se tomó
(véase la comparativa del Listado 11).
$ sudo btrfs filesystem show
Label: none uuid: f2346c58-64fd-42a5-afdb- Para montar la imagen recién creada en un
10e9e134d0a1 directorio separado, deberemos teclear:
Total devices 1 FS bytes used 2.40GB
devid 1 size 7.64GB used 4.60GB path /dev/sda6
$sudo mkdir /btrfs_snapshot
Label: none uuid: 0fa5bbee-6f69-4d10-a316-ac373e8b5f64
Total devices 3 FS bytes used 28.00KB $sudo mount -t btrfs -o subvol=U
devid 1 size 2.00GB used 531.94MB path /dev/sdb snapshot_of_root U
devid 2 size 2.00GB used 212.75MB path /dev/sdc /dev/sdb /btrfs_snapshot/
devid 3 size 2.00GB used 519.94MB path /dev/sdd
de procesar los archivos, pero en los entornos Si deseamos utilizar el tamaño máximo del decrementará el tamaño total (Listado 14).
en producción de alta disponibilidad, esta volumen, teclearemos: Btrfs no permite que el volumen padre se
propuesta puede que no sea muy práctica. mantenga constante y libere espacio
Las imágenes ofrecen una solución más $ sudo btrfs filesystem resize U cuando se encoja un subvolumen.
completa. Podemos utilizarlas para evitar los max /mnt Supongo que este problema se resolverá
retrasos y retener la atomicidad cuando se próximamente, una vez que Btrfs haya
almacenen ficheros enteros, directorios o sis- El Listado 13 muestra la salida de df tras madurado más.
temas de ficheros. En un entorno en produc- volver a redimensionar de nuevo el volu-
ción, no es raro que un administrador de sis- men a 6GB (la capacidad máxima del volu- Comandos y
temas cree un trabajo cron planificado para men). Configuraciones
crear imágenes cada hora, día, semana o La limitación actual es que el módulo de Para ver las páginas man de las utilidades
mes de varios ficheros y directorios, inclu- Btrfs no permite redimensionar un subvo- mkfs.btrfs y btrfs, introduciremos en la línea
yendo los directorios home de los usuarios. lumen sin afectar el tamaño del volumen de comandos:
De esta forma, los administradores pueden padre. Por ejemplo, si el volumen padre
obtener ficheros recientemente modificados está montado en /mnt y el subvolumen en $ man 8 btrfs
o borrados sin muchos quebraderos de /subvol, si se intenta decrementar el
cabeza. tamaño del subvolumen para dejar más A pesar de que el comando df se utilice prin-
Para borrar un subvolumen introducimos: espacio para crear un subvolumen nuevo cipalmente para monitorizar el tamaño y uso
en el futuro, el volumen padre también del sistema de ficheros completo, la herra-
$ sudo btrfs subvolume delete U
/mnt/subvol Listado 6: Tras Añadir un Disco
$ sudo btrfs filesystem show /dev/sdb
Cuando se listan todos los subvolúmenes del Label: none uuid: 0fa5bbee-6f69-4d10-a316-ac373e8b5f64
volumen padre, podrá apreciarse que el sub- Total devices 3 FS bytes used 36.00KB
volumen recientemente borrado no aparece: devid 1 size 2.00GB used 156.00MB path /dev/sdb
devid 2 size 2.00GB used 136.00MB path /dev/sdc
devid 3 size 2.00GB used 0.00 path /dev/sdd
$ sudo btrfs subvolume list /mnt
ID 257 top level 5 path U
snapshot_of_root Listado 7: Tras el Rebalanceo
$ sudo btrfs filesystem show /dev/sdb
También podemos borrar las imágenes de los Label: none uuid: 0fa5bbee-6f69-4d10-a316-ac373e8b5f64
subvolúmenes de la misma forma. Total devices 3 FS bytes used 36.00KB
devid 1 size 2.00GB used 352.75MB path /dev/sdb
devid 2 size 2.00GB used 204.75MB path /dev/sdc
$ sudo btrfs subvolume delete U devid 3 size 2.00GB used 340.75MB path /dev/sdd
/mnt/snapshot_of_root/
mienta btrfs posee su propia versión que cuenta que la desfragmentación tarda más Btrfs también contiene optimizaciones para
muestra más detalles de uso del sistema de en volúmenes más grandes y con más los populares discos de estado sólido basa-
ficheros deseado. datos). Para desfragmentar un volumen dos en tecnología flash (SSD). Para activar
introducimos: las optimizaciones SSD, lo haremos con la
$ btrfs filesystem df / opción -o ssd en el montaje.
Data: total=3.06GB, used=2.24GB $ sudo btrfs filesystem U Téngase en cuenta que, en v2.6.31-rc1,
Metadata: total=783.19MB, U defragment /mnt/ esta opción de montaje se activará si Btrfs es
used=220.93MB capaz de detectar que el sistema de ficheros
System: total=12.00MB, U Del mismo modo que cualquier otro sistema no posee rotación. Los SSD van a representar
used=4.00KB de ficheros en Linux, Btrfs también soporta el una parte importante en el futuro del almace-
$ btrfs filesystem df /mnt/ montaje de un volumen Btrfs con una o namiento de datos, y es conveniente obser-
Data: total=614.25MB, used=0.00 varias opciones de montaje. Por ejemplo, var que los desarrolladores han estado prepa-
Metadata: total=128.00MB, U para desactivar las sumas de comprobación rando su llegada. Véase la página wiki de
used=32.00KB CRC-32C mientras se activa la compresión Btrfs para un listado completo de las opcio-
System: total=12.00MB, U zlib, deberemos teclear: nes de montaje [2].
used=4.00KB Merece la pena mencionar que si desea-
$ sudo mount -t btrfs -o U mos añadir una entrada en el fichero
Como se mencionó anteriormente, Btrfs nodatasum,compress /dev/sdb U /etc/fstab para montar el volumen Btrfs en el
soporta desfragmentación online (téngase en /mnt/ arranque del sistema, podemos hacerlo intro-
duciendo una línea nueva que especifique
Listado 11: Comparativa Actualizada uno de los dispositivos, el punto de montaje,
el sistema de ficheros y la lista de todos los
$ ls -l /mnt/
total 10 dispositivos y opciones:
dr-xr-xr-x 1 root root 60 2010-12-29 15:54 snapshot_of_root
drwx------ 1 root root 0 2010-12-29 15:51 subvol /dev/sdb /mnt btrfs U
-rw-r--r-- 1 root root 2048 2010-12-29 15:59 test_again.dat
device=/dev/sdb,device=U
-rw-r--r-- 1 root root 2048 2010-12-29 15:54 test.dat
$ ls -l /mnt/snapshot_of_root/ /dev/sdc,
total 2 device=/dev/sdd, U
drwxr-xr-x 1 root root 0 2010-12-29 15:57 subvol device=/dev/sde 0 0
-rw-r--r-- 1 root root 2048 2010-12-29 15:54 test.dat
Artista P
inta captó mi interés durante su
actualización a la versión 5.0,
lo que coincidió con el estreno
mi nueva cámara Nikon. Me he pasado
GIMP es una aplicación fantástica, pero requiere de un usuario con ta- una considerable cantidad de horas
intentando aprender a sacar buenas
lento y muy paciente para sacarle todo su jugo. Pinta, un clon de la fotos, así que necesitaba el mejor editor
de imágenes con el que trabajarlas. A
popular aplicación Paint.Net de Windows, es un programa más simple pesar de que he estado utilizando GIMP
durante bastante tiempo, mis habilida-
para el retoque de nuestras imágenes. des se limitan en gran medida a recortar
fotos para publicarlas en la web o para
POR JOE “ZONKER” BROCKMEIER
utilizarlas para capturas de pantalla.
Así que la idea era probar Pinta y
comprobar si se adecuaba a mis exigen-
cias para su uso diario y ver si era posi-
ble hacer más tareas que con GIMP
EL AUTOR
Joe “Zonker” Brockmeier es periodista tecnológico freelance, editor, creador de (obsérvese que la denominación
comunidades y defensor del software libre. Fue Community Manager de Open- correcta es GIMP, no “El GIMP”). Mis
SUSE desde el 2008 hasta el 2010. Ahora escribe para Linux Magazine y otras pu-
requisitos no eran demasiado comple-
blicaciones tecnológicas. Puedes encontrarlo en http://www.dissociatedpress.net y
jos. Sólo exigía que fuera capaz de lim-
en Twitter e Identi.ca como jzb.
piar fotos, ajustar los niveles de color y
Asuntos Privados
La declaración del fundador de Facebook Mark Zuckerberg acerca de difícil que los usuarios puedan mantener
sus datos bajo control.
que “La era de la privacidad ha terminado”, provocó una ola de indig- De hecho, los más críticos dicen que
las “configuraciones de privacidad” de
nación. En respuesta, cuatro estudiantes fundaron Diaspora en Nueva Facebook deberían llamarse en realidad
“configuraciones de publicidad”. Cual-
York. Seis meses más tarde, hacemos una revisión crítica a su red social
quier cambio en el sistema de privilegios
libre. POR MELA ECKENFELS establece automáticamente un intercam-
bio generoso de datos del usuario como
configuración de la cuenta predetermi-
L
Mela Eckenfels es autora y for- a película La red Social tuvo su nada. Incluso los usuarios de Facebook
madora freelance, y anteriormente estreno cinematográfico en Sep- que escriben sobre protección de datos
EL AUTOR
fue administradora de sistemas tiembre del pasado año. En ella, la en mayúsculas y valientemente se inten-
Unix. Es la coautora del Geek ex-novia del fundador de Facebook, tan abrir paso a través de la jungla de la
Cookbook (O’Reilly, en alemán) Mark Zuckerberg, le comentaba al res- configuración, a menudo no se dan
junto con Petra Hildebrandt, pecto de su súbito ascenso hasta la cima cuenta de que sus datos personales se
donde muestran lo mucho que del éxito: “Internet no está escrito a remiten a empresas que comercian con
tienen en común la cocina y la pro- lápiz, Mark, está escrito con tinta”. La perfiles personales a través de juegos
gramación.
web nunca olvida y Facebook hace muy populares tales como Farmville.
Instalando Piwigo y
Añadiendo Fotos
Antes de continuar con la instalación
debemos crear una base de datos MySQL
para usarla con Piwigo. Una vez lo haya-
mos hecho, cogemos el script instalador
piwigo-netinstall.php del sitio web del
proyecto y lo copiamos en el documento
raíz de nuestro servidor. Luego, apunta-
mos nuestro navegador al script instala-
dor (por ejemplo, http://127.0.0.1/
piwigo-netinstall.php) para comenzar el
procedimiento de instalación (Figura 1).
Ahora seleccionamos la lengua que dese-
amos, especificamos el directorio para la
Nuestras fotos, a nuestra manera: Alojamos fotos con Piwigo instalación de Piwigo y pulsamos el
botón Cargar y descomprimir Piwigo. Una
Momento
vez que el script de instalación ha bus-
cado la última versión del software, pul-
samos el botón Instalar Piwigo, propor-
cionamos los datos de la conexión a la
Fotográfico
base de datos requerida y la información
de la cuenta del administrador, y pulsa-
mos Empezar la instalación.
Lo primero que haremos una vez que
nuestra galería esté cargada y ejecután-
dose es rellenarla con fotos, y Piwigo nos
ofrece una manera muy conveniente de
H
Vemos cómo controlar nuestros oy día, los servicios para com- hacerlo. Pulsamos el enlace Quiero subir
partir fotos se encuentran a fotos para saltar a la interfaz de carga de
contenidos, alojando una galería patadas y son muy baratos, pero fotos (Figura 2). En la sección Pegar en
aún existen numerosas razones para alo- álbum, introducimos el nombre para el
de fotos personal y publicándola jar nosotros mismos nuestra propia gale- nuevo álbum en el campo Nombre del
ría de fotos. Mediante la publicación de álbum, luego pulsamos el botón Browse y
en nuestro propio servidor con
fotos en nuestro servidor podemos con- seleccionamos las fotos que queremos
Piwigo. POR DMITRI POPOV servar todo el control de nuestro conte- añadir. Para cargar en la categoría especi-
nido, ajustar el software fotográfico a ficada en Piwigo pulsamos el botón
nuestro gusto y sin tener que pagar nin- Subir.
gún extra adicional por funcionalidades Si por casualidad usamos digiKam
especiales. como nuestra aplicación de escritorio de
Evidentemente, para publicar y admi- administración de fotos preferida, pode-
nistrar fotos en nuestro propio servidor mos usar el plugin de exportación Kipi de
necesitamos software que pueda manipu- Piwigo para cargar las fotos directamente
Dmitri Popov es licenciado en lar el trabajo. Y no nos equivocaremos si desde digiKam a Piwigo (Figura 3). Antes
Lengua Rusa y en lenguajes de elegimos el software de galería de fotos de poder cargar las fotos en Piwigo, ten-
EL AUTOR
computación. Ha estado escribi- Piwigo [1]. dremos que crear al menos una categoría.
endo sobre Linux y software de Esta aplicación, diseñada para compar- Para hacerlo, nos registramos en el pro-
código abierto durante años, y sus tir fotos, ofrece un extenso abanico de grama como administrador, vamos hasta
artículos han aparecido en revistas funcionalidades, siendo sumamente fácil Administración | Albums | Administrar y
y sitios web daneses, británicos, de usar y administrar. creamos una nueva categoría. Luego,
norteamericanos, alemanes y Piwigo se ejecuta en la pila Apache/ cambiamos a digiKam, seleccionamos las
rusos. PHP/MySQL, de modo que necesitare- fotos que deseamos subir y elegimos
Acábalo
Linux va de hacer que todo se haga mas rápida, eficiente y fácilmente. Si buscas acelerar tu trabajo en el
escritorio, echa un vistazo a Synapse – un lanzador similar a Gnome Do, pero con algunas importantes mejo-
M
i escritorio preferido es ahorra tiempo cuando necesitamos eje-
Gnome, porque en la práctica cutar un elevado número de acciones en
lo encuentro muy útil. Sin el escritorio.
embargo, carece de un lanzador por En vez de tener que buscar un pro-
defecto. ¿Que qué es un lanzador? Un grama a través del menú Applications o
lanzador es una aplicación que nos per- de llamar a una ventana de Nautilus
mite arrancar programas o realizar otras para encontrar un fichero, podemos
acciones con unas cuantas pulsaciones encontrar un elemento con unas cuan-
de teclado. tas pulsaciones de teclado. Si te ocurre
Una de los primeros lanzadores más como a mí, que dependes del teclado,
populares fue Quicksilver de Mac OS X un lanzador puede ser tu salvavidas.
[1], en el cual está inspirado Gnome Do
Joe “Zonker” Brockmeier es ¿Por qué Synapse?
[2]. La idea es que el lanzador puede
periodista tecnológico freelance,
ser llamado con un atajo de teclado La idea de un lanzador suena bien – es
editor, creador de comunidades y
desde cualquier aplicación. En el caso probable que ya uses uno de ellos –
EL AUTOR
Figura 3: Preferencias generales de Synapse. Figura 4: Desconexión del plugin Gnome Session.
¿Parece sencillo? Eso es porque lo es. ¿Deseamos cambiar el tema? Synapse dir multitud de funcionalidades.
Synapse no es una aplicación especial- nos ofrece cuatro temas por defecto. Synapse parece totalmente estable, aun-
mente compleja. Sólo es muy útil. Son bastante similares, pero si quere- que se podrían incorporar algunas fun-
mos hacer pruebas con ellos, podemos cionalidades adicionales para llegar al
Configuraciones ver las opciones en la pestaña General. nivel de otras aplicaciones – o incluso ir
Si deseamos someter a Synapse a nues- Los temas se encuentran en la parte más allá.
tra voluntad, es decir, realizar cambios derecha, en el menú desplegable, tal y Por ejemplo, me gustaría ver a
a su apariencia o configuración, pode- como muestra la Figura 3. Synapse relacionarse con APT y Yum/
mos pulsar el pequeño punto que se Yo dejo conectados la mayoría de los Zypper de modo que los usuarios pudie-
encuentra en la parte derecha de su plugins, excepto el de Gnome Session. ran buscar paquetes fácilmente desde
ventana. Aquí veremos un menú de No deseo apagar accidentalmente un Synapse si no se encuentran ya instala-
contexto con la opción Preferencias. Si sistema o cerrar la sesión desde dos. Las forjas de Linux Mint lo han
vamos hasta ella y pulsamos la pestaña Synapse, de modo que lo deshabilito, hecho con su menú en Linux Mint 10,
Complementos, veremos una ventana como podemos ver en la Figura 4. permitiéndonos buscar paquetes y
como la de la Figura 2, donde podremos En la Figura 5 puede verse a Synapse comenzar una instalación directamente
conectar o desconectar los plugins que en acción. En ella se muestran algunos desde el Menú de Mint.
añaden funcionalidades a Synapse. documentos que se encuentran disponi- Además, me encantaría tener alguna
Algunos de dichos plugins no estarán bles en el historial de Zeitgeist. Como manera de personalizar las aplicaciones
disponibles si no tenemos instalada la he mencionado, Synapse es muy fácil que se usan para manipular mis cosas.
aplicación. Por ejemplo, Banshee estará de usar y puede resultar bastante útil Es fantástico que Synapse sepa qué
deshabilitado a menos que lo tengamos después de que hayamos creado un his- ficheros he editado con Vim, pero me
instalado. torial de acciones en Zeitgeist. gustaría que luego iniciase Vim cuando
abro el mismo fichero de nuevo en vez
Resumen de abrirlo con gedit.
Synapse se ha Aparte de estas limitaciones, pienso
convertido en una que Synapse es casi perfecto. Por tanto,
de mis aplicacio- si eres usuario de Gnome y deseas que
nes favoritas. Dis- tu escritorio sea más eficiente, te sugiero
fruto con todas las que te hagas con Synapse hoy mismo. ■
que se controlan a
través del teclado, RECURSOS
pues me permiten
[1] Quicksilver: http://en.wikipedia.org/
evitar el uso del wiki/Quicksilver_(software)
ratón. Como este
[2] Gnome Do: http://do.davebsd.com/
software se
encuentra aún en [3] Synapse: https://launchpad.net/
synapse-project
una versión ini-
Figura 5: Seleccionando documentos desde Synapse. cial, nos deja aña- [4] Zeitgeist: http://zeitgeist-project.com/
Administración de usuarios
L
os recursos para la administración Lo que pocos saben – especialmente
de usuarios constituyen un ejem- los usuarios princpiantes – es que las
la línea de comandos es rápido y plo clásico de las diferencias que normas que rigen todas estas característi-
existen entre las herramientas de la línea cas pueden ser modificadas. Y, lo que es
sencillo gracias a las herramientas de comandos y las gráficas. Si analiza- casi más importante, las cuentas de usua-
mos las herramientas de usuario en rios pueden tener otras características,
creadas para ello.
Fedora o Ubuntu, muy probablemente como una única shell o una fecha de
POR BRUCE BYFIELD pensaremos que son razonablemente caducidad, y todas esas cosas y todos los
completas. No sólo contienen lo esencial usuarios en su conjunto pueden ser con-
para crear y eliminar usuarios, sino que trolados por los administradores
incluyen pestañas avanzadas con herra- mediante unos cuantos comandos.
mientas más complejas. Sin embargo, si
comparamos las herramientas de escrito- Añadimos Usuarios
rio con los comandos y las opciones dis- En la mayoría de las distribuciones, la
ponibles en la línea de comandos, encon- herramienta básica para crear nuevos
traremos las razones por las que los usuarios es el comando useradd. Para
administradores profesionales rehuyen ejecutarla, accedemos como root a un
del escritorio. Las herramientas de admi- shell e introducimos el comando
nistración de usuarios del escritorio son
suficientes para la mayoría de las situa- useradd --create-home U
ciones, pero carecen del amplio abanico --passwd <I>CONTRASEÑA<I>U
de opciones disponibles desde la línea de <I>USUARIO<I>
comandos.
Como la mayoría de los usuarios pro- sustituyendo CONTRASEÑA y USUARIO
bablemente sepan, para registrarse en un por la contraseña del usuario y el nombre
sistema GNU/Linux hemos de tener un de usuario respectivamente. De hecho,
nombre de usuario y una contraseña. podríamos crear el usuario simplemente
Además de eso, típicamente tenemos un con
directorio personal en el que guardar
Figura 1: Ejecución del comando useradd -D nuestros ficheros privados – general- useradd <I>USUARIO<I>
para ver las configuraciones por defecto que mente un subdirectorio de /home –, un
usa el comando cuando crea un nuevo único grupo para acceder a los ficheros y pero la cuenta no estaría preparada para
usuario. un solo ID de usuario. ser usada. useradd se ejecuta sin salida
useradd -D
Ver Figura 1.
Algunos valores predeterminados de useradd posible-
mente sean adecuados, pero esto dependerá de las circuns-
tancias. Por ejemplo, usar la shell por defecto (general-
mente Bash) será razonable en la mayor parte de los casos,
al igual que el directorio por defecto bajo el cual se ubica
cada nuevo directorio. Sin embargo, aconsejamos ser pru-
dentes cuando creemos un nuevo directorio personal mien-
tras ejecutamos useradd.
De manera similar, en nuestro ordenador doméstico –
que nos preocupará menos en lo que a seguridad se refiere
– no importa demasiado tener una cuenta que nunca
caduca y que no llega a inactivarse una vez que expire.
Además, probablemente tampoco nos preocupe si el usua-
rio está configurado para recibir correo electrónico interno.
Sin embargo, en un servidor de empresa estas configura-
ciones son más importantes por razones de seguridad y pri-
vacidad. Es posible que también deseemos añadir los fiche-
ros que queremos copiar automáticamente a cada nuevo
directorio personal creado añadiendo copias de los mismos
a /etc/skel, lo cual puede ahorrarnos horas de
configuración.
En caso de que necesitemos cambiar los valores predeter-
minados, las opciones de useradd nos permiten modificar-
los directamente durante la creación de nuevos usuarios.
En la mayoría de los casos, podemos fiarnos de los valores
predeterminados para el identificador de grupo (GID), pero
el directorio personal puede especificarse mediante -m
o --create-home o bien especificando un directorio existente
después de -d o --home. De la misma manera, -s o --shell
EL
KONSULTORIO
DE KLAUS
encontrado ninguna ayuda. ¿Podría ordenador y la guarda en un lugar
ayudarme? Gracias, Anónimo. fresco y seco (cosa que recomiendan
La mala noticia es que el “soft- algunos documentos “cómo”), la capa-
ware de desconexión de la bate- cidad se reducirá a la mitad de su valor
ría” incluido en su portátil Dell parece inicial después de unos cuantos años.
ser un elemento aislado que requiere Esto también coincide con mi experien-
un driver especial de acceso al hard- cia personal. No hay forma de refrescar
Klaus Knopper es el creador de ware, tanto en Windows como en las baterías de Li-Ion cuando se agotan,
Linux. Pero si existe un controlador y es peligroso tratar de sobrecargarlas
Knoppix y co-fundador de la para Linux disponible, no fui capaz de con una fuente de alimentación que no
encontrarlo, lo siento. sea adecuada para cargar baterías de
LinuxTag Expo. En la actuali- Por otro lado, muy probablemente la ordenador, cosa que algunos foros reco-
vida de su batería no se degradará sólo miendan.
dad trabaja como profesor,
porque esté conectado al ordenador Por el lado del software, puede reco-
programador y consultor. Si cuando funciona alimentado por la red, pilar información acerca de la batería
incluso cuando la batería está comple- de su portátil desde el kernel de Linux
tiene algún problema de tamente cargada. Esto se debe a que la verificando los archivos bajo
fuente de alimentación apaga automáti- /proc/acpi/power (ruta antigua) y
configuración, o simplemente camente la carga, y el equipo no fun- /sys/class/power_supply/BAT0 (kernels
ciona a través de la batería mientras el actuales).
quiere conocer mejor cómo adaptador de CA está conectado. Dell tiene un FAQ sobre las baterías y
Las razones de pérdida de capacidad cargadores [1] que puede serle útil.
funciona Linux, no dude en en las modernas baterías de iones de
litio (Li-Ion) es simplemente el enveje- Lista de Chequeo de
escribir sus preguntas a: VirtualBox
cimiento de los materiales y el número
preguntas@linux-magazine.es de ciclos de carga/descarga. Descargar Hola Klaus. ¿Podría usted por
completamente antes de cargar no favor ayudarme a configurar Vir-
extiende la vida útil de estas baterías, a tualBox? Tengo problemas con el
diferencia de las baterías recargables famoso mensaje de error “vboxdrv”. He
Desconexión de la Batería que conoce de otros equipos electróni- probado a buscarlo en Google. Como
Hola Klaus, tengo un portátil Dell cos. soy un principiante con Linux, me gus-
Studio 15 con Windows Vista Las recomendaciones sobre guardar taría encontrar un tutorial de la A a la Z
preinstalado (que no me gusta mucho). las baterías de portátiles “desconecta- sobre cómo conseguir poner en marcha
Para trabajar cómodamente con Linux, das de la alimentación” para extender VirtualBox. Gracias, Foudi.
necesito una cosa más: poder desactivar la vida útil son engañosas: la fuente de Creo que te refieres al mensaje
la carga de la batería para prolongar su alimentación de los portátiles moder- común de error “módulo no
vida cuando se utiliza una fuente de ali- nos interrumpe la carga de la batería de encontrado/cargado” que aparece al
mentación externa. No hay interruptor forma automática una vez que se han iniciar VirtualBox.
de hardware para ello, pero sí es posible cargado completamente y sólo se reini- VirtualBox, al igual que varias virtua-
con una aplicación de Dell que viene cia el proceso de carga cuando la bate- lizaciones bajo Linux, consta de dos
instalada en mi Vista OEM, así que ría se autodescarga y alcanza un deter- partes: un programa en “espacio de
supongo que se puede hacer a través de minado nivel por debajo de la carga usuario” y un controlador del kernel
algunas manipulaciones con ACPI. máxima. para el acceso a los recursos comparti-
He buscado en Internet soluciones o Por lo tanto, incluso si usted no usa dos de hardware del sistema real (host).
documentos “COMO”, pero no he la batería en absoluto, la saca de su El programa VirtualBox es bastante fácil
76 Número 72 WWW.LINUX-MAGAZINE.ES
Konsultorio • COMUNIDAD
de instalar, pero el módulo del kernel por lo que no debe haber mayor pro- sudo /etc/init.d/vboxdrv start
vboxdrv, como todos los “controladores blema).
de hardware” en Linux, debe corres- Este es un típico ejemplo de por qué o (para Debian),
ponder exactamente al kernel de Linux VirtualBox está instalado pero no fun-
en ejecución. Además, el módulo ciona. De hecho, se trata de mi propio sudo /etc/init.d/U
vboxdrv también debe coincidir con la portátil (no he usado VirtualBox desde virtualbox-ose start
versión del programa en espacio de hace un tiempo y no me he dado cuenta
usuario. Estas son las dependencias de que ya no funcionaba). Así que, aquí que también creará el dispositivo
que pueden dificultar la instalación de está la solución: /dev/vboxdrv que utiliza VirtualBox.
VirtualBox, o su actualización. 1. En primer lugar trate de instalar Si todo ha ido bien, VirtualBox debe-
Por lo tanto, aquí está su lista de che- VirtualBox y su módulo (del mismo ría volver a iniciarse y ejecutarse.
queo: número de versión y que coincida con
1. ¿Está instalado el programa Vir- la versión del kernel) con el uso de su Configuración de SELinux
tualBox? (La versión gratuita se llama gestor de paquetes. Klaus, acabo de instalar una
“virtualboxose”). 2. Si la opción 1 no es posible porque nueva copia verificada de Fedora
2. ¿Está instalado el módulo del ker- su kernel no tiene precompilado el 13. Abrí la administración de SELinux y
nel de VirtualBox, vboxdrv, y se corres- módulo de VirtualBox o porque utiliza estaba preocupado por algunos de los
ponde exactamente con la versión del un núcleo personalizado, instale el ajustes que se verificaban en la pestaña
programa? paquete de fuentes del módulo del ker- Boolean y siguen estando activos
3. ¿El módulo vboxdrv del kernel de nel de VirtualBox de la misma versión cuando se probó el modo confinado.
VirtualBox coincide exactamente con el que el programa VirtualBox. Asegúrese ¿Cuál sería la mejor configuración a
kernel de Linux en ejecución? de que las cabeceras kernel-headers de aplicar para que un novato se mantenga
Lo siguiente es la comprobación en su kernel están instaladas y compile el alejado de problemas? ¡Me gusta
línea de comandos, que debería funcio- paquete del módulo usted mismo. mucho leer sus artículos! Gracias, un
nar para Debian y Ubuntu: Debian tiene dos asistentes para la estudiante.
compilación de módulos concurrentes: En realidad, para un novato, e
dpkg -l | egrep -e ‘(virtualboxU uno denominado make-kpkg y el otro incluso para un usuario profesio-
|vboxdrv|linux-image|U dkms. El primero tiene que llamarse de nal de GNU/Linux, SELinux es proba-
linux-headers)’ manera manual. Al segundo se le llama blemente algo que en realidad no nece-
automáticamente cada vez que se ins- sita o no quiere tener activo. Está dise-
que puede dar lugar a una salida simi- tala un nuevo núcleo y su paquete de ñado para añadir una capa adicional de
lar a la mostrada en el Listado 1. En la cabeceras. Tenga en cuenta que las ins- seguridad mediante la protección de las
salida puede observar varios elementos: trucciones de compilación son muy llamadas al sistema para los usuarios
• La versión del programa VirtualBox específicas dependiendo de la distribu- locales con un complejo conjunto de
instalado y la de los módulos son ción. El script de init de Ubuntu, que reglas. Pero, de hecho, también puede
ambas 3.1.4-dfsg-1, lo cual es también se utiliza para cargar el hacer que su sistema apenas se pueda
correcto. módulo en el arranque, tiene un pará- usar o provocar comportamientos extra-
• El kernel de Linux aparentemente se metro setup que disparará la recompila- ños, ya que evita que incluso el admi-
ha actualizado a 2.6.35.4, pero la ver- ción del módulo, nistrador tenga acceso a ciertos recur-
sión de virtualbox-ose-modules- sos del sistema, dependiendo de una
2.6.34 está preparada para una ver- sudo /etc/init.d/vboxdrv setup configuración muy compleja. También
sión del kernel anterior. Por lo tanto, puede eludir restricciones para usuarios
el módulo no se carga, y VirtualBox siempre que su configuración sea lo sufi- sin permisos, lo que puede ser peligroso
no puede iniciarse. cientemente completa como para compi- para la seguridad de datos.
• Se podría utilizar un paquete de lar módulos (es decir, que estén instala- Mi consejo es apagar completamente
fuentes del módulo del kernel para la dos el compilador C y las cabeceras del SELinux, a menos que tenga planeado
versión de VirtualBox 3.2.8 (virtual- kernel, así como las utilidades make). utilizar su equipo como un servidor
boxose-source) para compilar un Después de compilar con éxito, con múltiples usuarios y necesite un
nuevo módulo del kernel (las cabece- puede cargar el nuevo módulo con el alto nivel de seguridad local, y que esté
ras kernel-headers están instaladas, siguiente comando (para Ubuntu), dispuesto a aprender su historia com-
WWW.LINUX-MAGAZINE.ES Número 72 77
COMUNIDAD · Konsultorio
pleta, a la que puede acceder en la versión? Hasta e incluyendo Fedora 11, interrupciones más altas con objeto de
página web de la NSA [2] . Fedora tam- el propio /etc/inittab podía lanzar la mantener libres las bajas para hardware
bién tiene documentación muy deta- consola de ttyS0. Los problemas muy antiguo, como las tarjetas ISA (que
llada de SELinux con diversos ejemplos comenzaron con Fedora 12 y continua- podrían ni siquiera existir en el
[3]. ron con Fedora 13 [6], que requieren equipo).
ambos una configuración diferente, En cuanto a ACPI, existen algunas
Consola Serie en Fedora porque /etc/inittab desde la versión 12 opciones que podría intentar para cam-
Estimado Klaus, recientemente sólo contiene el nivel de ejecución por biar su manejo de interrupciones sin
he actualizado a Fedora 13. No defecto. necesidad de apagar ACPI por com-
tuve mayores problemas, excepto que Para su información, la configuración pleto. Sin embargo, no puedo prome-
tenía que extender la partición /usr de anterior a Fedora 12 era la siguiente: terle que tenga influencia en el disposi-
1GB, y tuve un problema con la consola tivo de serie. Puede que tenga que des-
serie del sistema, que me gustaría vi /etc/inittab activar la opción “puerto serie no-
comentarle aquí. ... estándar” en la configuración de su ker-
No logré volver a obtener una con- C0:12345:respawn:U nel y volver a compilarlo para obtener
sola de login conectando un emulador /sbin/agetty -LU el mejor resultado.
de terminal a través de un cable serie. ttyS0 57600 vt100
Para resolver el problema, tengo que telinit q linux acpi=noirq
reiniciar el sistema después de hacer las linux acpi_osi=Linux
siguientes modificaciones: También he descubierto la linux pci=noacpi
configuración de consola serie de linux noapic nolapic
vi /etc/init/U Fedora 12 [7]. ¿Podría esto ser intere-
serial-console-ttyS0.conf sante para que lo publique y lo La última línea no tiene nada que ver
start on stopped rc U comente? Gracias! Geert Van Pamel. directamente con ACPI, pero se sabe
RUNLEVEL=[2345] No puedo responder a la pre- que ayuda como una solución si las
stop on starting runlevel [016] gunta de por qué las distribucio- interrupciones están distribuidas inco-
respawn nes cambian las cosas con cada lanza- rrectamente o faltan para ciertos dispo-
exec /sbin/agetty -L U miento, pero probablemente el respon- sitivos. ■
ttyS0 57600 vt100 sable del lanzamiento piensa que es
#exec /sbin/mgetty -r -s 57600 U una buena idea o aparece una nueva RECURSOS
/dev/ttyS0 vt100 funcionalidad que hace que el cambio
[1] FAQ de baterías Dell: http://www.dell.
sea necesario. Seguramente no rom- com/content/topics/global.aspx/
Pero sigo obteniendo errores y el puerto pen las cosas a propósito. A veces, los batteries_sitelet/en/
serie no funciona: drivers nuevos en el kernel tienen batteries_faq?c=us&l=en&cs=19
efectos secundarios inesperados en los [2] SELinux: http://www.nsa.gov/
tail -f /var/log/messages componentes aparentemente no rela- research/selinux/
... kernel: ttyS0: U cionados.
[3] Ejemplos SELinux: http://
LSR safety check engaged! El mensaje “LSR safety check enga- fedoraproject.org/wiki/SELinux
ged” indica que el dispositivo hardware
[4] Red Hat Bugzilla – El puerto serie no
Algunos artículos [4] [5] sugieren el de puerto serie no se puede encontrar o
funciona: https://bugzilla.redhat.com/
uso de la opción de arranque acpi=off. no responde [8]. show_bug.cgi?id=260481
(He intentado con pnpacpi=off, pero Esto puede estar relacionado con
[5] LinuxForums.org: http://www.
esto no ha funcionado.) La solución asignaciones automáticas incorrectas
linuxforums.org/forum/
con la opción de arranque acpi=off de interrupciones, que ya ha descu- redhat-fedora-linux-help/
parece que funciona. Pero, ¿tal vez bierto. Nunca es evidente si se trata 85411-dev-ttys0-nc6000-not-working.
otras funcionalidades hardware podrían de un problema de hardware que html
estar ahora inaccesibles? puede ser evitado con drivers especia- [6] LinuxQuestions.org: http://www.
Esto parece ser un viejo error sin les (como los “board [patch] drivers” linuxquestions.org/questions/
resolver de Fedora que ha provocado un que utiliza Windows para algunos fedora-35/
conflicto IRQ de hardware con un ordenadores) o si el esquema de asig- in-fedora13-etc-event-d-now-etc-sysc
puerto de infrarrojos (que no existe) en nación de interrupciones elegido o onfig-init-827150/
el ordenador portátil Compaq NC6000. predeterminado del kernel de Linux [7] IT Resource Center Forums: http://
(He encontrado informes de errores no funciona con esa placa madre forums13.itrc.hp.com/service/forums/
desde Fedora Core 6.) Parece que los específica. questionanswer.
desarrolladores de Fedora nunca tuvie- El dispositivo de serie por lo general do?threadId=1444559
ron la oportunidad de reparar el pro- solicita una o más interrupciones 3 y 4, [8] HOWTO de puerto serie: http://tldp.
blema. ¿Por qué el equipo de Fedora que se encuentran en el rango de “inte- org/HOWTO/Serial-HOWTO-17.
cambia el comportamiento de la con- rrupciones bajas”, mientras que ACPI html#ss17.17
sola serie y su configuración en cada podría tratar de volver a enrutarlas a
78 Número 72 WWW.LINUX-MAGAZINE.ES
Linux Legal • COMUNIDAD
Jose María Lancho, abogado, contesta a las dudas legales de los lectores
LINUX LEGAL
■ ¿Cómo puede Google no liberar el intención muy clara de controlar el espa- que cualquier obra derivada de código
código de Andoid Honeycomb? ¿No está cio jurídico del contenido de su “plata- GPL debe liberarse en las mismas condi-
violando alguna licencia actuando así? forma” y con un enorme riesgo jurídico ciones. Sin embargo, la estabilidad jurí-
■ Me gusta advertir a mis clientes que el de por medio, es normal que el futuro dica de Android en lo que a software
software libre no sólo ha provocado el completo del proyecto se vea en juego. Y libre se refiere, se basa en que Linux fun-
surgimiento de un buen número de es que Google está conociendo la idea cione siempre debajo del espacio de
modelos de desarrollo nuevos de código, jurídica de lo que es la “nube”, y la tiene usuario, por lo que consigue, virtual-
sino que ha transformado radicalmente precisamente encima de Android. Ya no mente, que se desactiven las libertades
la forma en que se crea, utiliza e imple- son la casi docena de demandas por del código bajo GPL. En esta ocasión
menta el software de código cerrado. patentes que soporta, la demanda adi- Google podría haber cometido un error
Hasta la raíz. cional de Oracle por infringir sus dere- fatal, primero porque la cantidad de
Buena paradoja, pero es que no han chos sobre java... Precisamente una código GPL apropiado podría muy pro-
quedado modelos indemnes, y los nue- empresa auditora de código, OpenLogic, bablemente considerarse como sustan-
vos ecosistemas cerrados, en el mejor de desató la polémica este mes de marzo en cial y difícilmente esquivar su cláusula
los casos, han visto multiplicarse sus la AnDevCon, una conferencia de desa- copyleft, ni siquiera por medio del dere-
costes y han tenido que adaptarse a la rrolladores de Android en San Francisco. cho de competencia. Por otro lado, si no
realidad del software libre. Sí, hablo del Esta empresa examinó 635 aplicaciones procede a un combate legal, cualquier
riesgo legal del software libre para las de Android e iOS y escaneó el código huida hacia delante supondrá un cambio
empresas que desarrollan o utilizan soft- fuente y los binarios de las mismas, fundamental en la estrategia de Android
ware cerrado. dando como resultado que, del escaso y en el control que tiene Google sobre el
Si se filtra código extraño en la “red” porcentaje de aplicaciones que emplean mismo y los fabricantes de aplicaciones
de desarrollo de una empresa, ésta código fuente libre, el 70% de las aplica- para Android.
arriesga mucho. Todos sabemos cómo se ciones no cumplen con las licencias de Rehacer la biblioteca que conecta
hace a veces software: es común que un las mismas (GPL y Apache fundamental- Android y sus aplicaciones con la base
programador busque una función y bus- mente). del núcleo de Linux, por razones de
que un ejemplo y se limite a copiarlo. Al Sí, la versión de Android 3.0 “Honey- tiempo y coste supone una vía técnica-
fin y al cabo, hay un numero finito de comb”, que está siendo actualmente mente muy complicada y compromete el
maneras de hacer una función, un bucle vendida a los consumidores en el tablet crecimiento competitivo de Android. La
... Los ejecutivos saben poco de software Xoom de Motorola, puede estar vulne- plataforma de Google puede que se vea
libre, pero sí de que si sus informáticos rando la cláusula copyleft de la GPL y forzada a tomar el camino de una mayor
introducen código de la Comunidad, además con respecto a una importante apertura y, – ¿por qué no? – definitiva de
pueden estar contaminando su propio cantidad de código. Este código es, su código. Se podría hablar entonces de
código, en el sentido de incluir código encima, un elemento crítico de su arqui- verdadera revolución en las telecomuni-
con especificaciones legales que arries- tectura. El reproche que se le ha hecho a caciones, precisamente por medio de su
gan la forma de propiedad intelectual Google es que se ha colado en 2,5 liberación técnica. ■
que antes tenían. De esta manera, las megabytes de código, correspondientes
empresas someten a “cuarentena” el a al menos 700 ficheros cabecera del ker- EL AUTOR
código que les remiten ciertos proveedo- nel de Linux. Google ha dedicado mucho
Jose María Lan-
res hasta que no se audita. Muchas veces menos espacio en argumentar la sor-
cho es abogado,
obligan a que les sean entregados certifi- prendente aparición de código Linux, fundador de la
cados de que no existe código libre. De afirmando que se trataba de material no asociación Legal
hecho, los abogados actúan a veces sujeto a copyright. Sin embargo, Linus Venture (http://
como verdaderos epidemiólogos y esta- Thorvalds ya dejó claro en 2003 que www.
blecen, si el tamaño de la empresa lo “Usted puede ejecutar el kernel y crear legalventure.
exige así como el valor de los activos programas que no son GPL […] PERO com/), co-fun-
informáticos en juego, complejos diagra- NO PUEDE USAR los ficheros de cabe- dador del Obser-
mas internos de control para aprobar y cera del núcleo para crear archivos bina- vatorio de Neutralidad Tecnológica
(http://neutralidad.es/) y presidente de
verificar los componentes de software rios NO GPL. ¿Comprende?”
Hispalinux. Puedes hacerle llegar tus
que se manejan. La coexistencia de software libre en un
preguntas un correo a
En plataformas multilicencia como contexto jurídicamente tan especial
jmcamelot@gmail.com
Android, por otro lado, que tiene una como Android es difícil. La GPL exige
WWW.LINUX-MAGAZINE.ES Número 72 79
COMUNIDAD · Blogs: Hacking y cerveza en Río
¡DESPEGA!
Maddog va a Río al evento “Hack y Cerveza” y aprende a disfrutar del
80 Número 72 WWW.LINUX-MAGAZINE.ES
PRÓXIMO NÚMERO
Historias
de Nubes
Todo el mundo sueña con un futuro en la nube, pero el lector con conocimientos técnicos
busca algo más que generalidades difusas. El mes que viene vemos la parte práctica de la
computación en cloud. Con artículos sobre Nebula, OpenStack, Amazon y más, analizare-
mos casos concretos de configuración bien de cerca y aprenderemos lo que estos servi-
cios dan de sí.