So long, and thanks for all the XP, Windows

El clásico fondo "star wars: episode I" del Windows XP

El clásico fondo “star wars: episode I” del Windows XP

Hoy 8 de abril de 2014, oficialmente y si no pagas más por un soporte extendido, Windows XP pasa a mejor vida, aunque, para desgracia de muchos, siga siendo el sistema operativo de escritorio que se encuentren al llegar al trabajo o al encender el ordenador de casa.

Y es que a día de hoy Windows XP no está preparado para aguantar todo el malware que circula por Internet. Si a esto le añadimos que los fabricantes de software, no ya sólo Microsoft, sino Oracle con su Java, Adobe con su Flash, o cualquier otro que desarrolle software comúnmente usado en PCs de escritorio, van a ir dejando -si no lo han hecho ya- de sacar versiones actualizadas de sus productos para Windows XP, la probabilidad de que te lleves una sorpresa en forma de malware con tu Windows XP tiende a 1.

Si bien las mafias especializadas en Internet se van a poner las botas, los desarrolladores de soluciones de seguridad, antivirus, cortafuegos y demás productos van a mejorar sus cuentas de resultados, porque, por algún oscuro motivo, las empresas, gobiernos, y particulares, prefieren gastarse millonadas en desinfectante en vez de cortar el problema en su origen y se quedan en Windows XP.

Sinceramente, cualquier CIO que decida no migrar a día de hoy de Windows XP a un 7 o-lo-que-venga o probar con otros sistemas operativos, debería ser despedido. Fulminantemente. Y no vale la excusa de “que nos ha pillado el toro”, o “hay que renovar todo el parque informático”, o “la aplicación ultra-crítica-de-negocio no soporta otra cosa que no sea Internet Explorer 6”. Porque el propio fabricante lleva avisando años del “migra o muere”, porque a día de hoy los costes de un ordenador -sin teclado, ni monitor- es ridículo, y porque no deberías tener una aplicación crítica de negocio tan dependiente de una tecnología que además caduca.

A disfrutar del próximo zero-day...que (posiblemente) nunca sea parcheado en Windows XP. Al negocio de la seguridad esto le viene siempre muy bien.

 

Síndrome de Diógenes Digital

Samsung HD103UJ y raíles de montaje de Sharkoon

Me he cansado de tener que borrar cosas de los discos duros o de estar tostando soportes “canonizados”, así que he empezado a subir de orden de magnitud el almacenamiento de mi querido pepino servidor ubuntero, aun a costa de acabar experimentando la versión digital del Síndrome de Diógenes. Un bonito disco duro de Samsung de 1TB SATA.

Gracias al estupendo sistema de gestión de volúmenes lógicos de Linux LVM, ahora sólo la unidad lógica de datos tiene casi unos bonitos 1.3TB, dejando para el resto del sistema la décima parte, y aún queda espacio en el disco sin asignar.

Ha sido tan fácil como, una vez montado en su bahía, decirle al sistema operativo por línea de comando, y tras crear una partición en el disco nuevo del tipo “8e” (Linux LVM)

sudo umount /dev/mapper/GrupoVolumenes-VolumenLogico
sudo lvm
lvm> pvcreate /dev/sd#Disco#Particion
lvm> vgextend GrupoVolumenes /dev/sd#Disco#Particion
lvm> lvextend -l+100%FREE GrupoVolumenes/VolumenLogico
lvm> exit
sudo e2fsck -f /dev/mapper/GrupoVolumenes-VolumenLogico
sudo resize2fs /dev/mapper/GrupoVolumenes-VolumenLogico
sudo mount -a

Eso sí, tarda un rato en expandir el sistema de ficheros ext3 por todos los distintos discos duros físicos.

Disco duro de Samsung HD103UJ de 1TB

En septiembre a por el segundo disco de un terabyte. Total, para algo quedan cuatro bahías libres y la fuente de alimentación es una Enermax sobredimensionada en su momento y quedan dos puertos más en la placa SATA, sin contar con los antiguos IDE con los viejos discos rebosantes de datos.

Cómo identificar claves privadas generadas por openSSL comprometidas

La gente de Ubuntu ha sacado un paquete llamado openssl-blacklist disponible como instalable desde sus repositorios de software que permite verificar si las claves privadas que tengamos generadas con openSSL están comprometidas o no por el fallo de implementación del generador de números aleatorios del paquete openssl distribuido por Debian y derivados.

Se instala directamente con apt, aptitude, synaptic o con dpkg y descargando el paquete:

sudo apt-get update && sudo apt-get install openssl-blacklist

Su uso es muy sencillo, bastará con ejecutar el comando openssl-vulnkey. Toma como parámetros de entrada los ficheros con las claves privadas en formato PEM.

sudo openssl-vulnkey /etc/apache2/ssl/apache.test.pem
COMPROMISED: 9c4d589707a08ed65508032b41a999a810173592 /etc/apache2/ssl/apache.test.pem

Lo que no me queda muy claro es qué pasa cuando tiene una “validez desconocida”…

sudo openssl-vulnkey /etc/apache2/ssl/apache-ssl-key.pem
Key has unknown validity: /etc/apache2/ssl/apache-ssl-key.pem

Este pequeño comando complementa estupendamente al ssh-vulnkey que verifica en el formato con el que almacena las claves openSSH si alguna de las claves del servidor o los clietnes SSH está comprometida.

Para instalar el paquete en Debian, por ahora se puede descargar directamente desde http://xillion.org/openssl-blacklist/ el paquete y sus firmas digitales para verficarlo.

openSSL, Debian y la línea comentada de md_rand.c

Correción del fallo de la llamada al aleatorizador "bueno" de openSSL

El Error de openSSL en Debian subsanado dos años después

Menuda que se ha montado con el fallo detectado en el empaquetado del paquete openssl para distribuciones Debian y derivados, como Ubuntu. Al parecer tuvieron a bien comentar una inocente línea de código hace dos años que les daba unos errores molestos en código “no relacionado”, como bien comenta uno de los empaquetadores en el cambio en abril de 2006…

openssl (0.9.8a-9) unstable; urgency=low
[…]
* Don’t add uninitialised data to the random number generator. This stop
valgrind from giving error messages in unrelated code.
(Closes: #363516)

— Kurt Roeckx Thu, 6 Apr 2006 20:34:07 +0200

Esta cosa tan inocente consistía en comentar una llamada a una función de código que al parecer les daba un mensaje de error en alguna otra parte de código “no relacionado.” El caso es que justamente esta llamada es necesaria para que el proceso interno de generación de números aleatorios en la creación de claves asimétricas tipo RSA sea realmente aleatorio.

Continue reading

Difundiendo la palabra Ubuntu y sus CDs

Los cuatro CDs disponibles de Hardy Heron

Hoy me han llegado los distintos CDs de Ubuntu Hardy Heron 8.04 LTS a casa. Pedido especial para repartir por el trabajo y gentes varias. A evangelizar que se ha dicho…

Pedidos el 20 de abril, salieron de Canonical el 22 del mismo mes y hoy han llegado por correo ordinario en su sobre acolchado. Todos los CDs por supuesto y como siempre, gratuitos. A ver si otros hacen lo mismo…

Las versiones en formato ISO las descargué ya en su momento de los servidores de Ubuntu y sus réplicas, pero los CDs son vistosos para repartir a cualquiera que quiera conocer otro sistema operativo totalmente gratuito. Las live de la versión Desktop dan gusto, cogen todo el hardware de los últimos portátiles que he probado por el trabajo y se instala en un momento, y contar con las versiones Server para montar en dos minutos un servidor de ficheros, otro web o uno de correo es sencillamente una maravilla.

Lo dicho, a repartir CDs y con pegatinas de regalo incluidas.

¡Zona Hostil para Manazas!

Una divertida forma de advertir a los incautos usuarios de Firefox 3 de que están entrando en terrenos peligrosos. Si ponemos about:config en la barra de dirección para acceder a la configuración avanzada del navegador, nos mostrará esta adverencia.

¡Esto puede cancelar su garantía!

Parecido al huevo de pascua de about:robots también de Firefox 3. Y recordad que tienen un plan…

La hormona, osea, una encima, osea, metaboliza

A estas horas cagándome en todo IBM, su WebSphere y su manera de pegarse con Hibernate, solamente uno puede ponerse a ver vídeos del YouTube entre reinicio y reinicio del servidor…

Ojo al detalle del pelo al final del vídeo.

Windows Error Reporting is lost in translation

windows_error_reporting.JPG

Hoy se me ha reiniciado de golpe y sin aviso el ordenador en el curro. Bueno sin aviso no. El LED del disco duro se puso a parpadear como un descosido. El caso es que tras la recuperación el bonito Windows Xp y su flamante sistema de informe de errores me mandó a una de las páginas de soporte de Microsoft. Realmente descriptiva. Sobre todo esa mezcla de traductor automático de la original en inglés.

La explicación del reinicio es bien sencilla,

Este mensaje ha aparecido porque un controlador de dispositivo instalado en el equipo provocó que el sistema operativo Windows se detuviese inesperadamente. Este tipo de error se conoce como “error de detención”. Ante un error de detención es necesario reiniciar el equipo.

Si no se quedó “detenido”, se reinició de forma unilateral. Bendito Eclipse que lo tenía todo guardado. No me hizo falta seguir con el “es necesario reiniciar el equipo…”

Continue reading

Mi primer bug aceptado

Cuando estaba haciendo mi Proyecto Fin de Carrera tuve problemas con la implementación de PEAR para PHP del protocolo SOAP para llamadas remotas. Dentro de los paquetes disponibles para PEAR existe uno aún en fase beta pero muy avanzado que permite implementar un cliente y un servidor compatible con el estándar SOAP. El problema en cuestión era que cuando usabas el transporte HTTP bajo SSL, vamos, HTTPS, la implementación se olvidaba de incluir la mitad de las cabeceras HTTP, entre ellas, las cookies, y por tanto era imposible mantener el estado de sesión entre una petición y la siguiente, ya que PHP usa, entre otras, cookies temporales con el identificador único de sesión.

El caso es que tocó mirar los fuentes del paquete SOAP en buscar del problema hasta que dí con el fallo y les mandé el problema a su sistema de seguimiento de fallos. La solución era sencilla y se podía hacer mientras tanto sin necesidad de tocar el código fuente del paquete.

Hoy por fin, casi un año después de abrir la incidencia la han cerrado enviando a su sistema de control de versiones el parche corrigiendo el problema. Han sido un poco lentos, pero es lo que tiene el desarrollo de open source, que si no hay recursos, va lento.

Creo que he subido un par de puntos en mi nivel de frikiclorianos.

SELECT * FROM cake WHERE 1

Hoy un poquito de mash-up de posts. Concretamente, dos errores de programación cuyas consecuencias son algo más que un pantallazo azul o una página web en blanco.

El primero de ellos, un error del programa que gestiona la impresión de texto en el plástico de un envase. Exige un poco de agudeza visual, pero canta en seguida que algo no debería salir así:

SQL Chocolate

Una bonita query o petición SQL al final de la lista de ingredientes, SELECT * FROM [Equipment Table] WHERE [Equipment Id] = 4. Visto en The Daily WTF.
Continue reading