14 enero 2007

SSH Tunneling

Imagínate que durante tus vacaciones en el Caribe, tienes la suerte de alojarte en un hotel que ofrece a sus clientes conexión wifi. Imagínate también que, por el motivo que sea, esa red wifi no está cifrada (o que, simplemente, desconfías del cifrado WEP). Por último, imagínate que necesitas hacer uso de esa red para conectarte a internet, bien para leer el correo, para conectarte al Messenger o simplemente para navegar. Cualquiera con dos dedos de frente se pararía a pensar: "Ehh, ¿y si alguien está esnifando el tráfico wifi?".

Pues bien, hay una técnica (entre otras tantas) que nos permite protegernos frente a redes inseguras, siempre y cuando tengamos acceso a un servidor SSH (como una cadena es tan fuerte como el más débil de sus eslabones, la máquina que corre el servidor SSH debería estar conectada de forma segura al servicio de intenet al que queremos acceder. En la mayoría de los casos, esto significa que la máquina debe tener simplemente una conexión segura a internet). Ésta tecnica consiste en la redirección de puertos, que openSSH implementa mediante los parámetros -L y -R (el parámetro -D también sirve para esto, pero a mi parecer es mucho menos potente). Nosotros solo vamos a ver el uso de -L, pues -R tiene un uso bastante similar.



La forma general de usarlo es la siguiente:

$ ssh -L puerto-local:maquina-destino:puerto-destino usuario@ssh-server

tras lo cual, si no tenemos llaves SSH, nos pedirá la contraseña de usuario-remoto.

Con esto, lo que hacemos es decirle al protocolo openSSH: "ponte a escuchar en el puerto 'puerto-local' de mi máquina, y todos los paquetes que recibas en ese puerto, encríptalos y mándalos cifrados a la máquina 'ssh-server' (logueándome como 'usuario'), la cual se encargará de descifrar los paquetes y, a su vez, reenviarlos al puerto 'puerto-destino' de la máquina 'maquina-destino' ".

Si el nombre de usuario que tenemos en la máquina local es el mismo que el que tenemos en la máquina con servidor SSH, podemos omitir la parte 'usuario-remoto@', pues openSSH buscará un usuario con el mismo nombre que el del cliente SSH.

El redireccionamiento entre el servidor SSH y la máquina-destino se hace de forma insegura (sin cifrar); por ésto es necesario que la conexión entre estas dos máquinas sea lo más segura posible.

Llegados a este punto, se pueden dar dos casos:

1- Que la máquina que ofrece el servicio que queremos utilizar (mail server, IRC server, etc.) sea la misma que corre el servidor SSH.

2- Que el servidor SSH y el servicio en cuestión estén en máquinas distintas.

Pero viendo algunos ejemplos seguro que queda mucho más claro:

Para el primer caso:
Imaginemos que estando en una red LAN (la del curro, por ejemplo) tenemos salida a internet a través de un proxy que escucha en el puerto 8080 y cuya IP es 192.168.1.1, y que todos los PCs están interconectados mediante un hub. Además, da la casualidad de que el servidor proxy corre también un servidor de openSSH. La manera normal de navegar sería configurando nuestro Firefox para que se conecte a internet mediante el proxy (en 192.168.1.1) a través de su puerto 8080. Pero, mierda, cualquier jaquer con un sniffer podría espiarnos. Pues bien, podemos blindar nuestra navegación web (o por lo menos, la parte 'local') a prueba de mirones con la siguiente línea:

$ ssh -L 8080:localhost:8080 192.168.1.1

y cambiando la configuración de Firefox, para que en vez de conectarse a '192.168.1.1:8080' lo haga a 'localhost:8080'.

(En este caso hemos supuesto que los usuarios local y remoto son iguales).

En el segundo caso:
Supongamos que queremos acceder, desde cualquier lugar del mundo, al servidor de correo de la empresa en la que trabajamos, pero resulta que dicho servidor sólo acepta conexiones provenientes de la misma LAN en la que se encuentra. Supongamos también que el router (cuya IP en internet es 80.20.40.60) que conecta la LAN interna de la empresa con internet tiene instalado un servidor SSH. Pues bien, a través de dicho router, y gracias a openSSH, podemos acceder al servidor de correo (que por ejemplo está alojado bajo la IP 10.0.0.30 dentro de la LAN) de la siguiente forma:

$ ssh -L 10025:10.0.0.30:25 pepito@80.20.40.60

Ya sólo nos queda configurar nuestro cliente de correo para que se conecte a localhost:10025.

Y recuerda: sólo root puede redirigir los puertos que están por debajo del 1024 (puertos privilegiados).

22 diciembre 2006

Deluge, el mejor cliente BT para linux

El otro día, navegando por GnomeFiles, me topé con Deluge (web oficial). Estaba bastante insatisfecho con Azureus (el único cliente de BitTorrent que conozco que permite múltiples descargas en la misma ventana) por su pesadez (está escrito en Java...), así que me lo instalé sin pensarlo. Tan fácil como (sobre Debian, o cualquier distro basada en ésta):

# apt-get install deluge


Y listo para ejecutar.

Es intuitivo, sencillo, fácil de configurar y ligero como un pajarito (comparado con Azureus, claro). En su contra puedo decir que le faltan algunas opciones de configuración avanzada. Pero bueno, va por la versión 0.4, así que paciencia.

Aquí tenéis algunas capturas. Yo, de momento, me quedo con Deluge.

Pink Tones, o la sensación de estar viendo a Pink Floyd en directo

El pasado 30 de Noviembre fui a un concierto de la madrileña banda Pink Tones, que tuvo lugar en la sala Joy Eslava. Para quien no lo sepa, esta banda se dedica a (salvo excepciones, ya que a veces se permiten algunas pequeñas modificaciones) intentar hacerte sentir que estás en un concierto de la mítica banda, espectáculo visual incluído. Es más, hasta que no se aprenden al dedillo una canción, no la incorporan a su repertorio.

Yo (como gran fan de PF) iba con la idea de que me iba a encontrar algo grandioso, espectacular, que nunca podría olvidar. Pero lo que vi supera todo limite pensable. Nunca había tenido la piel de gallina durante tanto tiempo seguido. Ver a 1200 personas cantar a coro "Wish You Were Here" es simplemente inimaginable. En fin, que no hay palabras para describirlo.



Menos mal que me lleve la camara, si no me hubiera arrepentido de por vida. Aquí os dejo enlaces [youtube.com] a lo que grabé en video:

[1] http://youtube.com/watch?v=2NsrwmpROhI
[2] http://youtube.com/watch?v=Ee0CQcdxxsM
[3] http://youtube.com/watch?v=cLWXIPQF_oc
[4] http://youtube.com/watch?v=ocpqbeH2Df0
[5] http://youtube.com/watch?v=VKpWPdGbbAI

Resumiendo: si te gusta PF, aunque sea sólo The Wall, deberías ir a un concierto de este grupo. Yo estoy pensando en repetir...

22 septiembre 2006

¿Un memo escribe memeces o memes?

Pregunta metafísica enunciada por Blitzkrieg, al darse cuenta de que le había pasado el meme.

El Fin del Mundo (meme)

Si llegase el fin del mundo...


1. ¿Qué canción te gustaría escuchar?

Por ejemplo Lady Blue, de Bunbury. Creo que esa mezcla entre melancolía y paz interior que te produce debe ser bastante parecida a la muerte. O cualquiera buena de Pink Floyd.
Aunque si tuviese tiempo escucharía toda mi colección de música.

2. ¿Qué libro te gustaría ojear?

Un album con fotos de toda mi vida. O El Juego de Ender.

3. ¿Con quién te gustaría hablar?

Con todo el mundo, supongo; familia, amigos, incluso con desconocidos... Aunque puede que también me apeteciese estar solo.

4. ¿Qué te gustaría comer?

Carne humana. A la plancha. ;-)

5. ¿Qué harías, qué te queda pendiente por hacer?

Conducir un Ferrari o una Hayabusa a 300 Km/h, zigzagueando entre coches. Paracaidismo. Submarinismo. Trincarme a algún pibón del 15 (a pelo, por supuesto, y sin marcha atrás).


Blitzkrieg, te paso el testigo.

21 septiembre 2006

Cosas de espías

Lucas miró su teclado, con el ceño completamente fruncido. Las letras parecían juntarse, intercambiarse, borrarse. Daba la sensacion de que estaban jugando al pilla-pilla. Su reloj marcaba más las 2 de la madrugada. Llevaba casi dos días sin dormir, y todo por culpa de ese programa. "Tengo que terminarlo ésta noche, como sea. La semana que viene el cliente debe tenerlo en sus manos. Completamente funcional. Además, no aguantaré mucho tiempo más así". El sueño era tan constante y pesado que todo el puto universo parecía empeñado en que Lucas tenía que dormirse. Tenía que dormirse. Dormir. No, no tenía que dormirse. Era tan fácil... Lo único que tenía que hacer era dejarse llevar, relajarse. Olvidarse de ese maldito fragmento de código que parpadeaba delante de él. Mientras pensaba en cómo podría castigarle su jefe si no terminaba el programa a tiempo, sus extremidades parecían volverse inmunes a la gravedad. Su cuerpo empezaba a flotar, cual bolsa de la compra arrancada del suelo por una oportuna ráfaga de viento. "No me puedo dormir" se repitió en alto una y otra vez, intentando que la frase le pareciese lo suficientemente convincente como para hacerse caso a sí mismo. "No me puedo dormir". "No me puedo...". Claro que podía. Su ultimo esfuerzo por abrir los ojos se tradujo en un imperceptible movimiento de cejas.

No tardó mucho en despertarse. Cuando lo hizo, se irguió en la silla, en un movimiento rápido y brusco. Fue entonces cuando se percató de la presencia del gnomo.

-¿Qué coñ...? Mierda, me he quedado dormido. Y ahora estoy soñando. Con un puto gnomo. ¿Por qué no podré soñar con Elsa Pataki? - dijo en voz alta.

El gnomo apartó su mirada de la pantalla del ordenador, y la dirigió hacia Lucas. Su cara era totalmente rígida, inexpresiva, y su mirada estaba mas vacia que la cabeza de Miss EEUU. El único movimiento que era capaz de ejecutar era el de su cuello, lo que le había servido para enfocar sus ojos hacia Lucas.

-Duerme - dijo el diminuto ser, con una voz enlatada y crepitante. Y no dijo nada más.

Lucas no cabía en su asombro. "¿Que duerma? Pero si ya estoy durmiendo...".

El gnomo volvió a girar la cabeza, mirando de nuevo hacia el monitor. Entonces Lucas se fijó más detalladamente en el pequeño. Llevaba unos pantalones verdes y una rudimentaria chaqueta roja, a juego con sus brillantes zapatos y su puntiagudo gorro. Una larga y canosa barba ocultaba su boca. No era mucho más alto que la taza de café que estaba sobre la mesa a pocos centímetros de él. Permanecía completamente inmóvil, mirando atentamente y sin pestañear los caracteres aglutinados en la pantalla. "Vaya, nos ha salido curioso el enano éste".

Lucas puso los codos encima de la mesa y se apoyó sobre las palmas de sus manos. Se quedó mirando fijamente a través de la ventana, por la que entraba una templada brisa veraniega. Las cortinas, abiertas, se agitaban levemente a causa de la brisa, la cual no era suficiente para refrigerar aquellas calurosas noches. Volvió a mirar al gnomo , mientras se preguntaba qué interés podía tener un duende en un trozo de código de un programa que gestionaba la seguridad de un banco. "¿No deberia mirarme a mi, como ser vivo que soy? ¿Tan acostumbrado está a la presencia de seres humanos que pasa de mí y se centra en un simple ordenador? ¿Entiende algo del código? ¿Puede haber duendes informáticos?" Tantos pensamientos consecutivas le hicieron bostezar. "Joder, para estar soñando, tengo demasiado sueño. ¿No debería estar volando por encima de los tejados, matando gente por la calle, o simplemente follandome a Elsa Pataki?". Algo interrumpió sus pensamientos. Era el duende. Se había movido, y ahora estaba situado en el mismo sitio pero mirando hacia la ventana. De repente empezó a caminar, con pasitos diminutos pero decididos, alternando rápidamente sus piernas, que hasta ahora le habían parecido a Lucas completamente rígidas. La cara de sueño que hasta entonces había dominado la cara de Lucas se tornó en una expresión a medio camino entre el excepticismo y el enfado.

-No tan rápido. Tú no te vas de aquí, canijo - dijo mientras lo agarraba por la cabeza.

Su tacto era demasiado frio. No tan frío como el metal, o la roca, pero sí demasiado para un ser supuestamente vivo, además en verano. "Qué coño sabrá mi subconsciente acerca del tacto de un gnomo". Mientras lo traía hacia sí, el gnomo soltó una descarga de energía lo suficientemente fuerte como para paralizarle el brazo a Lucas, que dejó caer el animal al suelo, produciéndose un irremediable pero increiblemente sonoro golpe contra el suelo.

-Me cago en tus muertos, ¡maldito cabrón! - gritó Lucas.

Mientras blasfemaba, giró sobre su silla hacia la pared perpendicular a la ventana, de la que colgaba un bate de béisbol que guardaba de sus tiempos jóvenes, como recordatorio de que era posible ser feliz. Lo agarró sin pensárselo vez y media, y cuando volvió a girar sobre la silla, vio al duende intentando levantarse del suelo. Yacía sobre su espalda, cual tortuga desvalida, con su punto más débil al descubierto. Lucas levantó el bate sobre su cabeza, miro fijamente al gnomo, memorizando su posicion. A continuación cerro los ojos, recordó la posicion del gnomo y blandió su bate hacia abajo con todas sus fuerzas.

Al crujido descomunal le acompañaron pedazon de gnomo volando por toda la habitación. Era curioso, no sonaba como carne. Ni siquiera era el ruido sordo de los huesos al partirse. Lucas abrió los ojos y comprobó, incrédulo, que lo que restaba del gnomo (la cabeza, la parte superior del tronco y un brazo) estaba compuesto, en su interior, de una mezcla de metal, cables y plástico.

-Joder, un puto Terminator enano. ¿Dónde coño está Pataki? - dijo, cansado de su propio asombro, y de aquel maldito sueño.

Recogió los restos de chatarra del suelo y los depositó sobre la mesa. Entre tanta pieza acribillada, un led intermitente le llamó la atención. Se inclino hacia él para observarlo con mas detalle, y en ese momento el led se apagó. Para siempre.

Un chirrido de neumáticos hizo a Lucas ponerse en pie de un salto. Corrió hacia la ventana y se asomó a tiempo para distinguir a una furgoneta negra, grande, con los cristales tintados y una antena sobre el techo, arrancar e irse a toda pastilla. Se quedó mirando cómo el vehiculo se alejaba calle arriba, decidido a no parar por ninguna ancianita que encontrase intentando cruzar la calle.

En ese momento, la puerta de la habitación se abrió de par en par, revelando la silueta de su mujer, en camisón, con los ojos todavia medio cerrados.

-¿Qué ha sido ese golpe? He oído un coche derrapar... ¿Ha habido un accidente? ¿Has visto algo?

Su mujer entró en la habitación, descalza.

-¿Qué es toda esta chatarra que hay en el suelo?

18 septiembre 2006

Fractal Art Contest 2006

Con motivo del Congreso Internacional de Matemáticos 2006 (ICM por sus siglas en inglés) que tuvo lugar en Madrid a finales del mes de agosto, se celebró el oportuno Concurso de Arte Fractal.
Aquí podéis encontrar los trabajos ganadores, aunque ninguno de los presentados tiene desperdicio...

17 septiembre 2006

Ingeniería Sin Fronteras y el Software Libre

La Federación Española de Ingenieria Sin Fronteras (ISF) ha publicado en su web un interesante artículo donde explica cómo el software libre puede, en la práctica, ayudar a países del tercer mundo a desarrollarse, sin depender de licencias de cualquier gran multinacional. Para ello, narra un par de casos reales, uno en Nicaragua y otro en la República de Benin, explicando en qué consistían ambos proyectos, asi como las razones por las que usaron (y siguen usando) software libre.

El artículo lo podéis descargar aquí.

13 septiembre 2006

Wait

Creando contenidos...