Ten tu propia pasarela RSS -> Twitter

Cuando Hispasec decidió publicar los anuncios del boletín Una al Día a través de Twitter (además de la lista de correo de toda la vida y de la propia página web de la empresa. Es magnífica. Si no estáis suscritos, ya estáis tardando) tuvimos un pequeño gran debate interno sobre cómo hacerlo exactamente. La cuestión giró, fundamentalmente, sobre si deberíamos tener un servicio de publicación propio o bien depender de proveedores externos.

Mi argumento es que una empresa de seguridad no debería depender de un proveedor externo para algo tan simple y que ello abre riesgos: si empleas un proveedor externo, le estás dando permiso para publicar cualquier cosa en tu timeline. Si ese proveedor sufre un problema de seguridad o una intrusión, el atacante tiene un amplio control sobre tu cuenta de Twitter. El problema es similar a publicar banners hospedados en servicios externos, algo a lo que Hispasec se negó siempre (por insistencia justificada de Bernardo Quintero, y el tiempo le ha dado la razón muchas veces).

La discusión tuvo su miga, pero al final me salí con la mía.

Lamentablemente todo el código que encontré por ahí en aquel momento se autenticaba mediante usuario y clave, algo que Twitter había anunciado que estaba en extinción y que todo el mundo debía migrar a una cosa extraña y novedosa llamada OAuth. No había otra que esperar o currárselo uno mismo.

Me lo curré yo mismo.

Leer más…

Charla en la radio: Seguridad con Nico Castellano (@jncastellano) y Jesús Cea (@jcea) (Ventanas a la red - Radio3W)

La semana pasada se emitió una charla a tres bandas, con Nicolás Castellano (@jncastellano) y Pilar Movilla (@Pilarmov). Fue en la radio online Radio3W, en el programa Ventanas a la red.

podcast

La cosa fue divertida, un cúmulo de casualidades. No sabía que iba a la radio hasta una hora antes, y no sabía que iba a hablar hasta minuto y medio antes de empezar el programa.

Siento las toses. La edad y la mala vida pasan factura. Espero que el contenido os parezca interesante. Son 65 megabytes de nada.

Una experiencia interesante, y la técnica de Pilar para sonsacar temas antes de grabar el programa es impecable :).

Espero que me inviten otro día. Hint, Hint :-)

Presentaciones en Python Madrid: "Técnicas y herramientas para diagnosticar y solucionar 'memory leaks'" y "Calendario de eventos Python en España"

Pues eso. Soy un ponente habitual en Python Madrid, con un par de charlas al año.

Publico las dos últimas presentaciones:

Sospecho que lo del calendario va a dar más de sí en este blog. Hay tecnología interesante ahí dentro. Tiempo al tiempo.

Copia de particiones aisladas con "dd", sobre una imagen de disco

Estoy trabajando en un proyecto sobre Raspberry PI que requiere regenerar de vez en cuando la tarjeta de memoria SD, con el fin de ser clonada a otros dispositivos. En la documentación del proyecto se detallan todos los pasos con sumo cuidado, para que puedan llevarse a cabo por personal no especializado.

Pero un paso crucial es disponer de acceso físico a la tarjeta de memoria SD de la Raspberry PI, y parar el servicio durante algo más de una hora, algo inconveniente en esta fase del proyecto. Hay momentos en los que incluso no es posible. ¿Podemos hacerlo de otra manera?.

Sí, hay otra forma. Pero primero veamos una peculiaridad este proyecto:

root@Heimdallr:~# fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 8035 MB, 8035237888 bytes
4 heads, 16 sectors/track, 245216 cylinders, total 15693824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00047c7a

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880     6414335     3145728   83  Linux
/dev/mmcblk0p3         6414336    12705791     3145728   83  Linux
/dev/mmcblk0p4        12705792    14811929     1053069    f  W95 Ext'd (LBA)
/dev/mmcblk0p5        12705800    14802943     1048572   83  Linux

La tarjeta consta de 5 particiones. La primera partición contiene el sistema de arranque, lo que es el boot de un Linux. Las siguientes dos particiones, de 3 GB exactos, contienen el sistema operativo, aplicaciones y configuraciones generales, que son iguales para todos los dispositivos.

¿Por qué dos particiones de sistema?. Para poder actualizar el sistema operativo de forma remota y segura (ante cortes de comunicaciones, fallos eléctricos, cuelgues, etc), solo se usa una de las particiones en un momento dado. Cuando hay una actualización, ésta se almacena en la otra partición. Una vez que nos hemos asegurado de que la actualización está completa y es correcta, entonces reiniciamos el dispositivo indicando que la partición de arranque es la nueva, actualizada. De esta forma las particiones se van alternando a medida que van entrando actualizaciones.

Leer más…

"Inline PGP" ha muerto, larga vida a PGP/MIME

Estaba el otro día cumpliendo mi rutina diaria de ponerme al día con el mundo a través de Twitter cuando me tropecé con un artículo aparentemente anodino: Inline PGP signatures considered harmful. "Bah, qué chorrada", me dije. Pero no. Me hizo pensar.

Empecé a usar Enigmail a primeros de 2005, y de forma completa (es decir, con todos mis interlocutores) a mediados de 2006. En aquel momento probé tanto la opción de "Inline PGP" como PGP/MIME. Al final opté por "Inline PGP" por varios motivos:

Leer más…

PGP, criptología y la limpieza de primavera

Algún día tendría que escribir sobre mi involucración con la versión Atari de PGP o cómo viví en directo todo el tema de la vigilancia de Phil Zimmermann, la exportación del libro y la versión internacional de PGP. O sobre el movimiento Cypherpunk. Han pasado 20 años y, la verdad, no me siento nada mayor. Es más, siento que todo ese trabajo es más necesario ahora que nunca, y me alegra comprobar que mucha de la vieja guardia sigue activa.

Pero eso será otro día. Hoy toca limpieza criptológica primaveral. Al menos de las partes que puedo hacer públicas :-).

El primer lugar he cambiado mi clave PGP. La clave original se creó en enero de 1995. Hace 19 años. No es mala vida para algo confidencial que ha sobrevivido innumerables mudanzas informáticas y tecnológicas, pero ya iba tocando actualizarla.

Los motivos:

Leer más…

Seguir a @jcea sin que Twitter te siga a ti

Por si no lo sabes, cada vez que visitas cualquier página web con un botón de Twitter, Facebook, Google Plus, LinkedIn, etc., esas empresas lo saben. Saben qué páginas visitas, qué blogs lees. A qué hora, desde dónde y durante cuánto tiempo. Da igual que no pulses sobre nada, que ni siquiera estés registrado en la página que estás leyendo. Las redes sociales lo saben. Saben también qué otras páginas tienes abiertas en otras ventanas, de dónde has venido y, en resumen, saben más de tu actividad online que tú.

Aunque seas una persona con gustos mayoritarios, una vida sin intereses más allá de lo obvio, deberías preguntarte por qué tu vida sí resulta interesante para esas empresas, que te lo dan todo gratis a cambio de nada y que se toman muchas molestias para estar al tanto de tus movimientos.

Deberías preguntarte por qué una empresa sin ingresos puede costar 19.000 millones de dólares, la segunda compra tecnológica más cara de la historia.

Si quieres asustarte de verdad y usas Firefox (si usas Chrome -y sabiendo quien lo proporciona- doy por hecho que este post no te interesa en absoluto, puedes dejar de leer aquí), prueba a activar Lightbeam y navegar un minuto por las páginas que frecuentes.

Luego echa un vistazo a estas extensiones:

Yo siempre he sido consciente de esta circunstancia y a veces tengo que tomar decisiones duras y difíciles de explicar a otros (no papá, no me voy a dar de alta ahí para ver las fotos de mi sobrina, mándamelas por correo electrónico). Entiendo que son las reglas del juego y está bien si todo el mundo es consciente de ello (algo que, obviamente, no es así). Pero me he sentido indignado por lo siguiente.

Leer más…

NFLOG bugs and idiosyncrasies

In my current project I use NFLOG to capture network traffic. NFLOG queues network traffic to usermode programs following rules in iptables. This is quite powerful and performance is good.

The bad thing is that NFLOG documentation is very incomplete and, sometimes, clearly incorrect. And it has ugly bugs too.

I am doing most of my development on a Linux kernel 2.6.32, using Python 3 and CFFI. With this kernel version, every packet captured is directly transferred to usermode, independently. My programs works perfectly.

The project is being deployed on Raspberry PI, running kernel 3.10.28+ (current Raspbian). Compared with old 2.6.32, this version allows to queue several datagrams in-kernel to be transfered to usermode using a single syscall. You can configure the queue to push to usermode using a timeout and/or a packet count, whatever happens first. This is useful because Rasberry PI CPU is anemic and I need cycles for Python :).

But after sucessful intensive testing on kernel 2.6.32, my program explodes on the Raspberry PI, every single time.

Leer más…

Las "Cuevas del Folón"

Me paso media vida sentado delante de un ordenador, pero también me gusta el campo y salir a caminar. Caminar. Caminar. Y caminar más.

Dejar el ordenador por un rato y que me diera el sol en la cara fue uno de los motivos para empezar a hacer Geocaching, en 2005. Desde entonces, esta afición me ha llevado a entornos emocionantes, me ha guiado para hacer turismo en ciudades que no conocía y, de vez en cuando, a resolver enigmas que me han ayudado a aprender algo o a saber más de historia. Me ha servido para conocer gente muy interesante y muy variada, y como estímulo para viajar. Algo que me gusta mucho pero para lo que parece que nunca tenga tiempo. Es una excusa, una coartada.

contador

En el momento de escribir esta entrada tengo 1167 cachés verificados. Algunos de ellos fantásticos. Pero hay cachés que no he conseguido completar (¡aún!) que han resultado especialmente satisfactorios.

En verano de 2013 Elena y yo intentamos localizar el Geocaché Waterfall. Elena es una chalada de las cuevas y a mí no me cuesta nada dejarme llevar, así que nos equipamos con linternas y ropa curtida (nota mental: ¡conseguir un casco!) y para allá que fuimos.

El caché en sí no lo encontramos, lamentablemente. Pero la experiencia fue emocionante, diferente y memorable.

Comentando el asunto con un amigo de toda la vida, y geocacher enviciado además (ALFCP), me pasó un par de enlaces interesantes:

Otra cueva diferente, descubierta hace muy poco (2007), que esperamos que inaugure geocaché pronto:

Volveremos.

Bienvenidos a "El hilo del laberinto"

Bienvenidos a El hilo del laberinto (o quien tuviera una Ariadna a mano). Mi blog. ¿Mi blog?.

Tengo una página web en Internet desde 1996. 18 años. El diseño en sí no ha cambiado desde esa época, y se nota. Ahora que trabajo como freelance no estaría mal, por un lado, dar un lavado de imagen a mi presencia en Internet y, por otro, publicar las cosas interesantes que estoy haciendo, más frecuentemente.

El diseño antiguo es... inexistente. Encontrar los artículos recientes requiere o seguir el RSS (que mantengo a mano) o bien revisarse la web entera. A nivel tecnológico, utilizo ZOPE, proyecto actualmente en respiración asistida y con una curva de aprendizaje más empinada que el Naranjo de Bulnes. A nivel estético mi web refleja bien mi personalidad: El contenido es lo importante, lo estético es superfluo. Pero no tener una web mínimamente atractiva en 2014 es casi contraproducente. O sin el casi.

Así que estoy dando un golpe de timón: nueva estética, contenido espero que actualizado más frecuentemente (gracias a ser más fácil de escribir y de encontrar) y bajo control de versiones, edición mediante reStructuredText, generador estático de contenidos...

La web antigua seguirá funcionando con normalidad, y la seguiré actualizando cuando sea relevante. Pero el plan es que mi actividad se concentre en este blog. Veremos.

Sobre el título del blog... Lo que escribo suele ser lo que me hubiera gustado que otra persona hubiera escrito primero. Y encontrarlo por Internet en vez de tener que investigarlo yo desde cero. Pero, lamentablemente no suele ser así. Esa es la Ariadna a la que hago referencia, alguien que me guíe a través del laberinto. A falta de Ariadna, espero que este blog sirva de hilo para orientarse en el laberinto y, con suerte, encontrar la salida. Ser una Ariadna para alguien con más suerte que yo :-).