jueves, 10 de mayo de 2012

Chateando con Jabber/XMPP

Que es el protocolo Jabber/XMPP?

Es un protocolo de comunicaciones estándar y opensource que inicialmente se llamó Jabber y luego Extensible Messaging and Prescence Protocol (XMPP). El mismo fue desarrollado a partir de 1999 y estandarizado poco después. Es situable hasta para VoIP y transferencia de archivos y al ser un protocolo de código abierto, es utilizado por muchos otros programas de mensajería instantánea, como Google Talk, Facebook Chat y otros. Una de las características más sobresalientes, es el hecho que es ampliamente descentralizado lo que significa que pueden existir muchos servidores que provean comunicación con este protocolo y por lo tanto, no estarán todas las comunicaciones concentradas en un solo servidor. Al ser descentralizado también podremos elegir un servidor de confianza, o que provea conexiones cifradas (encriptadas) o simplemente que este en nuestro país.

Jabber es un excelente protocolo de mensajería, no solamente por ser de código abierto, si no por proveer otras funcionalidades como la utilización de certificados SSL/TLS para cifrar (encriptar) la comunicación del usuario con el servidor y también la implementación de otros protocolos a manera de extensiones, como el protocolo Off The Record (OTR) para comunicaciones encriptadas entre usuarios. Muchos clientes de mensajería instantánea (muy famosos) no soportan ni siquiera comunicaciones encriptadas mediante SSL/TLS, como por ejemplo: Windows Messenger, Windows Live Messenger y Yahoo! Messenger.

Una lista completa de los diferentes protocolos con sus prestaciones esta disponible en este enlace de Wikipedia:


Como me hago un usuario de Jabber?

Simplemente tenemos que elegir uno de los tantos servidores que proveen Jabber, y hacernos un usuario. El sitio principal es https://register.jabber.org/ en el cual podemos crear una cuenta en la que ni siquiera es necesario introducir datos nuestros, simplemente un nick y password.



También esta disponible una lista de servidores en la que quizá haya una de tu país, lo cual te dará una conexión más rápida, etc.


Configurando Jabber en Pidgin?

Una vez que tenemos un usuario y contraseña en Jabber.org, o algún servidor Jabber, solamente tenemos que configurar un cliente de mensajería para que se conecte y comenzar a agregar contactos para chatear. Los clientes de mensajería son muchísimos, dependiendo de la plataforma utilizada (Windows, Linux, Mac). Para Ubuntu GNU/Linux los clientes son muchos y solo basta con buscar la palabra Jabber en el Centro de Software Ubuntu. Entre los clientes tenemos: Empathy, Pidgin, Gajim, Psi, Kopete, qutIM, etc.

En mi opinión el mejor cliente de correo es el Pidgin ya que tiene más opciones de configuración y además es un software un poco más testeado y maduro que Empathy u otros. Igualmente una vez que aprendemos a configurar Jabber en Pidgin, lo mismo será para otros clientes de mensajería.

En el menú Accounts > Manage Accounts (Cuentas > Administrar Cuentas), hacemos click en agregar cuenta. Luego seleccionamos el protocolo XMPP.




Luego configuramos nuestros datos, como usuario y contraseña.




Luego en la pestaña avanzada, nos aseguramos que esté activada la criptografía (encryption) para la comunicación entre nosotros y el servidor Jabber. 




Luego de agregar, listo! Ya podemos empezar a agregar contactos. Los mismos pueden ser de Google Talk (Ya que Google Talk utiliza XMPP) y otros también.

miércoles, 2 de mayo de 2012

openPGP en Evolution

Hoy en día, dadas las numerosas amenazas a la privacidad de los usuarios de internet, seriamente se debería pensar en cifrar (encriptar) el correo para que el mismo tenga un viaje seguro a su destinatario sin que nadie lo pueda espiar. Sin embargo, no es suficiente que el correo llegue a salvo al destinatario... debemos saber que esté a salvo en el lugar donde el mismo esté guardado. Donde están tus mensajes?

Webmail o POP3?
Antes de empezar, debemos saber que tipo de correo tenemos, es un correo webmail solamente? es POP3?. Los servicios de correo que admiten el protocolo POP3 (Post Office Protocol) permiten descargar el mail a tu computadora y verlo offline desde ahí, pero siempre, utilizando un cliente de correo, como Thunderbird o Evolution (Outlook Express para Windows...), pero es seguro? Todo depende. Si utilizas GMail desde la página web, el correo siempre estará en los servidores de GMail, pero su sesión de navegador puede no estar cifrada (encriptada) y además el display de los mensajes en el navegador es a modo de texto plano y es menos seguro que ver los mensajes con un cliente de correo. 

Un gran argumento para optar por el correo webmail es: "lo puedo ver en cualquier computadora", o "no tengo que preocuparme si tengo que formatear el disco y perder los mensajes"... y demás argumentos perfectamente válidos para el usuario estándar. Siempre sacrificamos seguridad al momento de optar por lo "más fácil"... pero es realmente necesario que puedas ver el correo desde cualquier computadora? o generalmente usas una sola, la de tu casa? o una notebook?... El webmail (a mi entender) es la opción para los que no tienen computadora en sus casas y acuden a los cyber-cafés para ver su correo... pero claro... de seguridad ni hablemos. Si hablamos de correos seguros, la opción es un correo con servicio POP3 (GMail lo dá gratis pero Hotmail y Yahoo! no, tenés que pagar por el POP3), y un cliente de correos instalado en tu computadora.

Que opciones de correo POP3 hay?

La opción más conocida es GMail... quien no tiene GMail? Pero sabes que GMail hace análisis semántico del contenido de tus mensajes entrantes y salientes para elaborar propaganda orientada en tu sesión de webmail? Yo no se, pero eso en la vida real es como considerar "bien" que cada vez que yo voy a ver mi buzón de correo postal, me encuentre con que previamente una persona abrió mis cartas, las leyó y en función de las cosas que leyó, ponga folletos de propaganda en mi buzón... eso no es violación de correspondencia? mmm, en el correo postal seguro que si, pero supuestamente en el correo electrónico los que leen los mensajes son algoritmos robot, pero yo no se que hacen realmente y siempre me causará desconfianza. 

Pero existen correos POP3 que no hagan análisis semántico? Si, pero generalmente hay que pagar. Pero existen todavía gratis algunos servicios (Lavabit.com) que ofrecen correo POP3 sobre el cual no efectúan análisis semántico. Lavabit ofrece dos servicios gratis: uno básico (128MB de almacenamiento) sin propaganda ni análisis semántico y otro con más espacio (1GB de almacenamiento) que solamente introduce propaganda en los mensajes entrantes (hacia tí) pero no en los mensajes salientes, también sin análisis semántico.
   
Que cliente de correo?
Que clientes? Evolution para mi es la mejor opción dentro de Ubuntu por su integración con GTK y el escritorio. Thunderbird es un muy buen cliente de correo POP3 pero no lo utilizo. Pero no corro más peligro de perder los mensajes si borro el disco o formateo...? Si, pero el correo se puede respaldar de una forma muy segura y rápida, las veces que quieras y ese respaldo es totalmente auto-contenido en un solo archivo con mensajes, arbol de carpetas, libreta de contactos, archivos adjuntos, etc, etc... lo único que no se guardan son las contraseñas... claro. Evolution provee una forma de hacerlo y es muy fácil. Respaldar el correo es tan importante como respaldar los archivos y debería ser una costumbre hacerlo cada tanto, igual que tus archivos.

Que es el openPGP?
openPGP es un estándar de cifrado cuya implementación en el software libre se llama GPG (Gnu Privacy Guard). Inicialmente la tecnología desarrollada era propietaria y se llamaba PGP (Pretty Good Privacy), luego se hizo un estándar y nacio el openPGP. Con el openPGP podemos crear una llaves de cifrado para utilizar en correo electrónico y firmas digitales. El openPGP funciona de manera tal que cuando generamos una llave de cifrado (esto se hace con un programa), generamos una llave pública (Public Key) la cual deberemos publicar en un servidor de claves o "keyserver" para que cualquiera pueda acceder, y también generaremos una llave privada (Private Key) la cual quedará guardada secretamente en nuestra PC y solo tendremos acceso nosotros. La ides es que el mensaje que quiero enviar es cifrado con ambas llaves y para decifrarlo es necesario aplicar ambas llaves (sin importar el orden). Por lo tanto cuando enviamos un correo cifrado con nuestra llave privada, una persona podrá verlo si tiene nuestra llave pública y viceversa, alguien me puede mandar un mail cifrado con mi clave pública y yo seré el único que lo pueda ver con mi llave privada. A continuación los pasos para hacer esto en Evolution.

1) Generando una llave openPGP

En Ubuntu el software para administrar las llaves PGP se llama "Seahorse" el cual viene por en Ubuntu ya que algunas cosas no funcionarían sin él, como la importación de claves de repositorios (que utilizan openPGP para la autenticación). Podemos ejecutarlo haciendo Alt+F2 y escribiendo "seahorse". Luego iremos a File > New y seleccionaremos PGP Key. 
 

Luego ponemos nuestros datos y la fortaleza de la clave (RSA-4096 bit bastará como hasta para el año 2040, xD). 


Luego generamos insertando una contraseña que será las veces de nuestra llave privada. Durante la generación el programa utiliza bits aleatorios del sistema operativo, para que esos bits sean lo más aleatorios posibles podemos intentar aumentar la entropía del sistema ejecutando muchas tareas, openoffice, abrir muchas pestañas de Firefox, etc... y cargar un poco al sistema asi tiene bastantes bits para elegir... demorará un poco pero cuando finalice anotaremos el Key ID y también el Fingerprint. Luego en la pestaña de Llaves Personales tendremos nuestra llave. Ahora tenemos que publicar la llave pública en un servidor de claves para hacerla disponible a todo el mundo. Esto se hace en el menú Remote > Sync and Publish Keys. 


 En el dialogo tendremos que elegir el servidor de claves, activarlo y dar sincronizar. Luego de un rato (unos minutos para que se actualice el keyserver) nuestra clave pública podrá ser buscada por nuestro correo electrónico en el servidor de claves, por ejemplo: http://keyserver.ubuntu.com/ . El resultado de la búsqueda es el ID de la clave nuestra. En la línea "pub" haciendo click en el vinculo de nuestro ID encontraremos el Public Key de nuestra clave y debe ser importada por todos los destinatarios que pretendan recibir nuestro correo cifrado. Así que si tenés un amigo con el que quieras intercambiar mail cifrado, pasale el link de este post!

2) Importando llaves openPGP de otras personas

En el mismo administrador Seahorse en la pestaña "Other Keys" en el menu Remote > Find Remote Keys... podrás buscar la llave openPGP de otra persona buscando por su dirección de correo. 


Luego la importas y figurará en tu lista de otras llaves, igual a como se importa una llave openPGP de un repositorio PPA de Ubuntu.

3) Habilitando openPGP en Evolution

En Evolution, teniendo una cuenta de correo POP3 creada y configurada es muy fácil. Primero ejecutar Evolution e ir al menu Edit > Preferences y en la opción Mail Accounts la última pestaña Security es la que buscamos. 


Ahí basta con introducir el Key ID de la clave que acabamos de crear y listo! Quizá quieras configurar alguna de las opciones más que alĺí aparecen. 

4) Creando mail cifrado y/o firmado

Luego para crear un mail cifrado hacia una dirección de otra persona utilizando su clave pública, en la ventana de nuevo mensaje, en el menú Options > PGP Sign (para firmar digitalmente) u Options > PGP Encrypt (para cifrar). 


Si el destinatario no tiene llave openPGP lo único que podes hacer es firmarlo (PGP Sign) Para cifrar necesitas que el otro también tenga openPGP y tu tengas su clave importada en Seahorse.

martes, 21 de febrero de 2012

Lynx: Navegador Web de Texto

De un tiempo a esta parte el contenido de los sitios web se ha ido gradualmente poblando de imágenes, animaciones, aplicaciones Java y demás componentes que muchas veces no aportan nada a la información que estamos buscando, especialmente si esa información es exclusivamente texto. Si tan solo buscamos algunos texto para leer, como una letra de una canción o simplemente algún foro de opinión, en algunos sitios tan solo la abundante propaganda y banners hace que ese pequeño texto quede perdido y hasta algunas veces difícil de encontrar...

Por suerte existe una maravillosa aplicación en Ubuntu llamada Lynx y es un navegador web que renderiza los sitios web solamente con texto, nada de imágenes, banners y demás objetos que en pueden llegar a ser molestos. Lynx se ejecuta de una terminal y corre en la misma. Se maneja con teclas y las flechas arriba y abajo y es muy ágil y liviano, en parte porque no carga nada de multimedia, tan solo el texto; hecho que lo hace una muy buena herramienta en PCs viejas o de bajo rendimiento y memoria como una Netbook.

Como Instalar Linx

>> sudo apt-get install lynx

Listo! ahora en la terminal solo ejecutamos

>> lynx

y se abrirá dentro de la misma el navegador.


Primeros Pasos en Lynx

Este es el panel inicial de Lynx



En la línea inferior del navegador vemos una serie de comandos H)elp, O)ptions, P)rint, G)o, M)ain... etc.

si apretamos la "G" del comando "Go" podemos escribir el sitio web al que deseamos entrar, por ejemplo "www.google.com"


O también El Asterismo


Con las flechas arriba y abajo podemos navegar por los sub-vínculos del sito y abrirlos. Es una muy buena alternativa para aquellos que quieran filtrar multimedia y ahorrar un poco de ancho de banda!

Hasta la próxima!

viernes, 17 de febrero de 2012

Navegando en la DeepWeb con Tor

Imagina que el concepto que tenés de Internet, todo lo que buscas en Google, las Redes Sociales, las páginas que visitas todos los días... todo eso... es el 5% del contenido de tooooda la Internet. Donde esta el otro 95%? Bueno, en lo que se conoce como la DeepWeb. En ella están mayormente páginas viejas, bases de datos y (muy especialmente) todas las paginas que Google (por ejemplo) no quiere que veas cuando haces una búsqueda. Una buena definición de la DeepWeb es "todo aquel contenido que NO esta indexado en los buscadores masivos tradicionales, como Google, Yahoo, etc..."
  

IMPORTANTE: Una parte de la DeepWeb contiene sitios ilegales, como de venta de armas, pornografía infantil y demás servicios que cierta gente presta, como asesinos a sueldo, hackers profesionales, venta de drogas, mercado negro, etc. Todas estas páginas suelen estar monitoreadas por agencias gubernamentales de ciertos países como el FBI, etc... Por eso acceder a la DeepWeb es riesgoso y hay que hacerlo con mucho cuidado, ya que si entras descuidadamente a un sitio de venta de armas por equivocación, no querrás que el FBI te asocie con ese sitio como cliente y te vengan a buscar a tu casa... xD, de todas formas... aquí veremos como navegar de una forma razonablemente segura por esta parte oculta de la red.

La Red Tor
 

La Red Tor (Tor Network) es una red de anonimato (anonymity network) cuya finalidad es proveer anonimato a los integrantes de la misma mediante un sistema de Relays o Peers (red P2P) en la cual una conexión entre 2 personas está encriptada múltiples veces (como las capas de una cebolla, por eso la sigla TOR - The Onion Router) y aparte de estar encriptada, esa comunicación pasa por diferentes relays o peers cambiando de IP, por lo tanto el destinatario no sabe de donde viene, ni de quien es la conexión.


Esta red provee entonces de anonimato para todos los que se conecten a la misma, lo cual es muy importante para muchas personas que desean leer información sin ser monitoreados por sus gobiernos o agencias que los puedan estar espiando. Muchos informantes y activistas utilizan esta red para denunciar abusos de forma anónima o simplemente para postear artículos en sus blogs de forma anónima también. También puede usarse para chatear e intercambiar archivos, pero debe tenerse en cuenta que al ser una red de baja latencia (Low Latency), o sea que es una red lenta debido a la encriptación y debido a que tu conexión rebota por muchas IP y utiliza el ancho de banda de otros usuarios como tu, no es muy apta para, ver videos, bajar archivos muy grandes o hacer streaming.

Que tipo de personas deberían considerar el utilizar esta red?

1) Personas que quieren acceder a sitios de información y se siente monitoreada por su gobierno
2) Personas que quieren publicar su opinión en blogs y se siente monitoreada por su gobierno
3) Personas que quieren denunciar ciertos abusos de forma anónima
4) Personas que desean incurrir en actividades ilegales de forma anónima (mercado negro, pornografía, venta de armas o drogas, etc)
5) Personas que simplemente desean navegar de forma segura y anónima y sentir la máxima expresión de la libre expresión
6) Personas que desean ayudar a otras en países con fuertes censuras de la Internet a acceder a sitios de información
7) O simplemente curiosos de saber que es lo que hay debajo de nosotros!!

Red Tor Full-Time

Para personas que deseen estar conectados full-time a través de la Red Tor, deberían considerar utilizar ciertas distribuciones de Linux especialmente diseñadas para el anonimato. Incluso muchas de ellas se ejecutan en forma Live sin dejar rastro alguno. Algunas de ellas son BackTrack, Tails, Blackbuntu, etc., en las que cualquier conexión con el exterior esta forzada para que pase a través de la Red Tor.

Como Navegar por la DeepWeb con TorBrowser

Primero debemos descargar el paquete de conexión/navegación que se conoce como TorBrowserBundle. Voy a asumir que usan Ubuntu, así que lo descomprimen con click derecho > Extraer Aquí y en la carpeta encontraran un ejecutable. Ejecutamos el script con doble click y seleccionando la opción Ejecutar (Run).


Esto Ejecutará antes que nada el gestor de la Red Tor, llamado Vidalia. Es un panel de control que muestra nuestro status y el se la Red Tor. Hay varias opciones como "Cambiar de Identidad" si hacemos click cambiaremos de IP automáticamente, también podemos acceder a ver las estadísticas de la conexión y una lista de Relays en la red. 


Luego de ejecutarse el panel de Vidalia, automáticamente se ejecutará un navegador especial, que consiste simplemente en una versión muy recortada de Firefox. Este navegador tendrá el icono del TorButton (una cebolla) y algunos complementos más que bloquean la ejecución de scripts maliciosos que permitan ubicarnos o desnudar nuestra IP. Este Navegador mostrará en su pestaña inicial nuestra nueva IP, la misma cambiará cada vez que seleccionemos cambiar de identidad.

IMPORTANTE: Si ejecutamos un Firefox ordinario, u otro navegador de nuestro sistema, este utilizará la conexión común que tengamos con Internet, con nuestra IP real. El navegador TorBrowser esta especialmente hecho para navegar a través de la Red Tor, así que a no confundirlos! Que el panel de control Vidalia este conectado a la Red Tor no hace que todo tu sistema se conecte a través de la Red Tor!! A tener en cuenta!!! Puedes hacer como yo y navegar con el TorBrowser para sitios donde quieras entrar de anónimo, y una instancia normal de Firefox para entrar a sitios normales y cotidianos...



Ahora ya estamos listos para navegar tanto en la web superficial como por la DeepWeb y acceder a sitios cotidianos de forma anónima o a aquellos que con tu Firefox ordinario no podrías acceder. Como sugerencia de búsqueda se sugiere utilizar el buscador DuckDuckGo (SSL), que no rastrea tu ubicación como Google, y además la comunicación entre ti y el servidor es utilizando SSL para mayor seguridad. Pero realmente es difícil navegar de forma fluida en la DeepWeb porque como ya dijimos hay muy poco contenido indexado y los buscadores son lentos (no como Google que busca mientras escribimos!! xD). Generalmente las páginas no utilizan mucho JavaScript o Flash debido a las posibles fallas de seguridad que pongan al descubierto a quien esta publicando... por lo tanto las páginas suelen ser HTML bastante básico y liviano y muchas veces en lugar de buscadores (por ejemplo, para buscar sitios .onion) simplemente existen listas de vínculos los cuales hay que revisar uno por uno.

OnionLand

Los sition .onion son dominios pseudo-toplevel, por lo tanto no figuran en los servidores DNS convencionales y no se pueden acceder a través de un navegador común, a menos que utilices un proxy tor2web, o claro, el TorBrowser. Por ejemplo un mirror de WikiLeaks se encuentra en "zbnnr7qzaxlk5tms.onion" (sin las comillas claro). Se puede acceder a muchos sition .onion en los que, por ejemplo, puedes tener una cuenta en el "HiddenTwitter", o una cuenta en el "HiddenFacebook" donde nadie sabrá quien eres ni de donde vienes... por lo tanto podrás hablar libremente, sin restricciones.... interesante! no? Muchos sitios .onion son lugares donde se llevan a cabo actividades ilegales y como esta parte de la red anónima a estas mirando sin restricciones, cualquier cosa puede salir en una búsqueda, por lo tanto a tener mucho cuidado en las paginas que entramos! No me haré responsable de lo que pueda llegar a pasarte! xD

Charlas Acerca de Tor Project y Anonimato




Acá hay unos vínculos de interés (copia y pegalos en el TorBrowser)

- Correo @tormail.net - jhiwjjlqpyawmpjx.onion
- Onion Community (HiddenFacebook) - gu5utmxtv6jb45pu.onion
- TorStatusNet (HiddenTwitter) - lotjbov3gzzf23hc.onion
- WikiLeaks Mirror - zbnnr7qzaxlk5tms.onion
- Torch (buscador de la red tor) - xmh57jrzrnw6insl.onion
- HackBB (Forum de Hackers) - clsvtzwzdgzkjda7.onion

Links con más Información

- DeepWeb - El Lado Invisible de la Red (Artículo Revista NEO TEO)
- Tor (anonymity network) - Wikipedia
- Onion Routing - Wikipedia
- .onion - Wikipedia

Buscadores de la DeepWeb (para navegadores comunes)

- DeepPeep (Discover the Hidden Web)
- DeepWeb (State of the Search)
- Complete Planet (The Deep Web Directory)

Distribuciones que utilizan Tor por defecto
- BackTrack (Penetration Testing Distribution)
- Tails (Privacy for anyone anywhere)
- Blackbuntu (Penetration Testing Distribution)

Hasta la próxima!