¿Porqué necesitas usas diferentes contraseñas en cada sitio y servicio?

Seguro has escuchado ese mantra:

“Para cada página web, para cada servicio que utilizas, es necesario utilizar contraseñas diferentes”

A la gente le *purga* escuchar esto. “A duras penas me acuerdo de mi contraseña “de siempre”, y tú quieres que use varias? Vete al cuerno.” La verdad es que existe una sencilla y poderosa razón para recomendar esto. Y va, como mantra secundario:

Lo que pasa con nuestras contraseñas en internet no depende de nosotros

A qué me refiero? Seguro escucharon de la vergüenza que pasó Sony el año pasado. En resumen: unos malos muy malos se metieron a sus servidores, y se robaron las contraseñas y datos de contacto (dirección, teléfono, correo electrónico) de *77 millones de usuarios* de la PlayStation Network. Ah, y también tiraron la tal PSN por casi un mes.

Bueno… y eso qué tiene que ver? Pues muy sencillo. Armado de una dirección de correo electrónico y una contraseña, no es difícil para un atacante investigar en múltiples servicios, para determinar si en alguno de ellos el usuario utilizó la misma contraseña. Y efectivamente esto pasó: cientos de reportes surgieron en internet acerca de múltiples otros servicios vulnerados. Por utilizar la misma contraseña.

Las consecuencias pueden no ser fáciles de vislumbrar, pero ahí va un posible camino: obtengo tu contraseña y tu correo. Si usas *esa* contraseña en tu correo, tengo acceso a tu correo. Con tu correo, puedo obtener acceso a tu facebook, twitter, etc. Puedo hacerme pasar por tí. Con un poquitín de suerte, puedo obtener suficiente información personal tuya (digamos, escribiéndole un correo a algún familiar desde tu cuenta de correo) como para fingir ser tú en el “mundo exterior”. Y mejor no le sigo, tanto por no dar ideas, como para no asustar de más… creo que basta con esa idea.

Y si crees que esto solo pasa una vez en la década, estás equivocado. Lamentablemente, los programadores también son personas, y muy lamentablemente, cometen errores. A veces garrafales. Es tremendamente común descubrir que páginas web que manejan usuarios y contraseñas (hoy en día, casi todas) no las manejan de manera segura; ni siquiera con tantito cuidado, vamos. Hay más carnita en ese tema, pero será objeto de… otro post.

Bueno, cómo le haces para recordar todas esas contraseñas? Hay programas que te ayudan. Keepass es una excelente opción si solo utilizas contraseñas en tu computadora; trabaja con Linux, Windows, Mac, etc. Si quieres algo un poco más universal, LastPass admite teléfonos móviles y hasta puedes configurar una memoria USB para servir como token, aunque para todo eso te cuesta extra. Pero opciones hay…

De C#, y porqué el tamaño sí importa

Resúltose que estabamos probando una mejora a la aplicación de Factúralo tú mismo, cuando nos hablaron para una solicitud de soporte… algo extraña.

En todos los sistemas que habíamos probado la aplicación, esta nueva actualización se realizó sin problemas. Era una actualización, a decir verdad, mucho más estética que de funcionalidad: se cambió un poco el look de la aplicación, para que fuera más concordante con los estándares de UI actuales (digamos, íconos más bonitos, etc). Pero bueno, a uno de nuestros usuarios, este movimiento le causo el siguiente horror:

************** Texto de la excepción **************

System.ComponentModel.Win32Exception (0x80004005): El parámetro no es correcto

en System.Drawing.Icon.Initialize(Int32 width, Int32 height)

en System.Drawing.Icon..ctor(SerializationInfo info, StreamingContext context)

La absoluta irreproducibilidad del error (y que se note que lo intenté, en los 3 equipos de los que pude echar mano el fin de semana) me llevó a considerar el problema un *extraño* más, y dejarlo como otro caso para la araña. Sin embargo, hoy me hablaron diciendo que el caso se había esparcido – sí, es correcto – a otro equipo de cómputo. La única característica definitoria para ambos? Netbooks.

Pues me puse a investigar. Evidentemente el problema hacía alusión a íconos, pero… a cúales? Ay de mí si eran los que había agregado… tendría que deshacer el trabajo de la semana. Pero sin desánimo me puse a buscar, y al final resultó ser el ícono de la aplicación. Sí, un simple ícono… con los siguientes parámetros:

WIDTH:700
HEIGHT:699

¬¬ Ok, eso podría ser. Pero porqué los demás sistemas se actualizaban sin problemas? Aparentemente, hay versiones de Windows que ejercen de manera más estricta el tamaño de los íconos – o mejor dicho, Vista/7 se ajustan dinámicamente aunque les avientes una barbaridad como aquella, y lo redimensionan automáticamente.

Algo nuevo aprendí hoy XD

Cómo utilizar DLLs externos en un programa de C#

…Después de la catarsis…

Hace poquito escribí acerca de mi alegría en obtener una rápida y eficiente solución a un problema que me estaba preocupando, específicamente de cómo copiar de manera segura archivos utilizando C#. Me encontré una biblioteca que hace justamente eso, utilizando el buen y viejo SCP. En pruebas todo estaba bien, terminé otras actualizaciones al proyecto, y como siempre, lo subí a un servidor donde la versión más nueva es descargable por los usuarios del sistema (o en resumen: “actualicé el servidor de actualizaciones”).

…Y que me avisan – esto no sirve. Terriblemente apenado, revisé inmediatamente la situación (ERT: 10 mins) y descubrí que C# me mostraba un error horrible a la hora de querer actualizar:

"[...]El archivo XXXX ya existe."

Mmm… huh? Pues claro que ya existe, babas. Era uno de los archivos .DLL que agregué para utilizar su funcionamiento. Pero… porqué se quejaba el instalador de ello?

La moraleja en versión breve es: lo agregué dos veces. Primero lo agregué como archivo al proyecto (Proyecto | | Incluir recurso existente) y luego agregué la referencia (Referencias | Agregar referencia). El manifiesto se confundió y chilló sin tregua.

Lección aprendida: Si vas a agregar un DLL externo, solo tienes que agregarlo como referencia. No es necesario agregarlo como archivo – Visual Studio se encarga de incluirlo con tu proyecto en el deployment.

Scp y C#

Hay veces que la vida te hace sentir inseguro, triste, alicaído, dolido y débil…

Then again, hay veces que… bueno, un video dice más que 1M palabras:

El código relevante:

Scp bule = new Scp(servidor, user, pass);
bule.Connect(puerto);
bule.Put(archivo origen, archivo destino);

Y la biblioteca relevante:

http://www.tamirgal.com/blog/page/SharpSSH.aspx

😀

Cybersquatter a la vista!

Cuando tenía mi viejo dominio (sergiobecerril.homelinux.com) me justificaba diciendo que era un dominio largo, pero explícito: soy yo (sergiobecerril) en casa, usando linux (homelinux) y pues… pues el .com es el más reconocido, nooo? Además, tenía la ventaja más grande de todas: era gratuito. Y es que el prospecto de pagar $30 USD por año no se me hacía muy apetecible, con mi salario de $2,000 MXN y todo.

Pasaron dos años… y gracias a jusafing, decidí por fin apretarme el cinturón y comprarme el dominio. No me salió tan caro (alrededor de $80 USD), y me permitió hacer un secret registration, DNS dinámico, y toda la cosa. Por un año, por supuesto, pero aún así estuvo muy bien según yo.

El punto es que a la hora de comprarlo, decidí conseguir un .org. Había dos razones: el precio (.org es más barato) y el propósito del sitio. Como saben, tengo yo diferentes prospectos de negocio (aquí es donde irían mis diferentes links, pero ya vendrá el tiempo después), y cada uno tiene su sitio particular. Me pregunto… ¿qué necesidad habría de que registrara un .com a mi nombre, si lo pienso utilizar para propósitos personales? Ninguno, supuse. Y entonces me quedé con el .org. Ya no había sergio.org, pero sí un sergiob.org.

100 posts después, me entero que mi noble y humilde sitio tiene ya un cybersquatter (vayanse al cuerno con su término latinizado, eso no existe). Y pues… es una mezcla curiosa de orgullo paternal y horror personal. Digo, que orgullo que alguien me quiera imitar, pero… en serio? Ya no hay respeto por nada en este mundo?

Para no hacerles el cuento (más) largo, sergiob.com ya es de alguien. Y tiene una horripilante plantilla “ya está” tipo José Luis (y aquellos que no entiendan, créanme, les conviene no saber. Oh por Dios, el horror…) La cosa es que nunca me imaginé que a alguien le interesaría ese tipo de cosas con mi dominio. Google no me muestra entre los resultados más populares (cosa que, curiosamente, sí ocurría con M&N, pero nunca supe porqué). Sigh…

Supongo que solo queda esperar a que me llegue la oferta. O salga el blog de “…poco aprieta”

¬¬

Mejor no doy ideas.

Pánico escénico

Dos semanas y media… 17 días… 408 horas…

Y qué se supone que debo de saber? Mi carrera, obvio. Mis expectativas, mis planes futuros, el plan de vida de aquí a 5 años (“o sea, mínimo!”)… ah, y de qué sabor mi nieve, también. Supongo.

Es correcto esto? Pasar 5 años (ok, 6, pero no te fijes) feliz de la vida como almeja en tu… er… almeja, preocupado de objetivos perfectamente bien definidos, y de repente puff! Ya no hay barreras! Soy el único loco que piensa que tiene poco sentido?

Y lo irónico es que puedo seguir en el mismo camino… pero creo que no quiero. Cuál es el momento apropiado para decir “esto no es para mí, mejor me voy por acá” sin que eso represente un abandono de todo lo que has buscado? Confuso, sin duda. El mundo te empuja a seguir el camino predefinido, y corres el riesgo de quedarte solo (aunque eso sí, dándote la divertida de tu vida) si decides desviarte.

Diría la cocuguita: “Patrañas!”. Claro que también diría algo así como “ponte a trabajar y deja de quejarte”, pero bah, ni quien se fije…

Tal vez es el sueño. O la falta de, en su caso. Es probablemente imposible de determinar, pero lo que sí es cierto es que estoy muy cerca de escoger la ruta menos preferida… no me siento al borde de un precipicio, me siento como el perro de las dos tortas. A ver si se puede reescribir la historia.

Sigh… debí ser coordinador ofensivo…