OpenVPN how to 1

Introducción

Una Red Privada Virtual (VPN por sus siglas en inglés) sirve para crear una conexión encriptada entre 2 o más puntos a través de Internet. Un caso de uso típico puede ser permitir al acceso a servicios de una intranet de forma segura desde Internet.  Otro caso típico de uso es interconectar redes locales de 2 ó más sucrusales a través de Internet. En este artículo haremos la primera opción y en un futuro cercano publicaré cómo interconectar 2 redes.

Existen varias implementaciones de VPN y en el mundo de software libre una de las más populares es OpenVPN.  Una de sus grandes ventajas, es que se pueden tener clientes en distintos sistemas operativos com GNU/Linux, Windows, Mac y seguro que en todas las versiones BSD.

Instalación

OpenVPN viene por defecto en la mayoría de las distribuciones GNU/Linux. En mi caso suelo utilizar Debian o Ubuntu. La instalación la hice con aptitude:

aptitude install openvpn

En distros basadas en RPM la instalación se la hace con yum:

yum install openvpn

Listo , así de fácil y de sencillo. Sigue leyendo OpenVPN how to 1

Artículos relacionados

Acceder a wp-admin vía HTTPS

Quién no ha actualizado su blog desde un accessppoint público donde fácilmente nuestra clave podría ser hackeada y luego alguien más podría hacer maravillas con nuestro blog. Talvez si voy a un restaurante esto no sea tan probable (pero podría ser), pero si voy a un evento de tecnología cómo el FLISOL o un Barcamp. donde la red esta abierta y estoy rodeado de expertos informáticos la historia es muy diferente. Para muestra un botón de lo que José Miguel Parella hizo para ilustrar este problema.

En este artículo explicaré como asegurar WordPress para que la administración del mismo tenga una comunicación encriptada con el servidor. Para esto modificamos el archivo:

/directorio/instalacion/wp-admin.php

Añádimos la siguiente línea:

define('FORCE_SSL_ADMIN', true);

Esta línea debería estar antes de este comentario:

/* That's all, stop editing! Happy blogging. */define('ABSPATH', dirname(__FILE__).'/');

Con esto estaremos obligados a administrar WordPress através de HTTPS. Ojo deberían tener configurado su servidor web para que escuche por HTTPS en ese puerto.

Artículos relacionados

FLISOL de Portoviejo 2005

El primer FLISOL fui coordinador nacional de Ecuador y de la ciudad de Cayambe. En realidad era nuevo dentro de la comunidad de software libre de mi país y además joven (24 años), pero al parecer por muy entusiasta terminé como coordinador nacional.

Una vez terminado el FLISOL de Cayambe envié un correo muy emocionado compartiendo mi experiencia a varias listas. Al parecer mi emoción fue tanta que me publicaron el correo en el sitio de LinuxPreview.

Luego de enviar el correo decidí descagar mis correos y obtuve una triste noticia desde la ciudad de Portoviejo. Lamentablemente justo el día en que se realizaba el FLISOL hubo un apagón. Por más buenas intenciones que alguien pueda tener, es imposible hacer un festival de instalaciones sin electricidad. Sigue leyendo FLISOL de Portoviejo 2005

Artículos relacionados

¿Cómo empezó el FLISOL?

Miles de personas participarán en el FLISOL, algunas serán parte de la organización y otras serán asistentes. Lo que tal vez la mayoría no sabe es cómo empezó este evento que reúne todos los años a cientos de ciudades de América Latina.

El FLISOL fue una iniciativa de la comunidad colombiana de software libre COLIBRI que organizaba un evento similar al FLISOL pero a nivel local en Colombia desde el año 2003. La idea original de este evento fue de Alejandro Forero Cuervo y se llamaba FISL. El mismo Alejandro en octubre del año 2004 propone realizar un evento similar, pero invita a gente de otros países. En poco tiempo Alejandro mejoró la idea y surgió lo que ahora conocemos como FLISOL.

Al ingresar al sitio oficial del FLISOL se puede ver que no existe una referencia del primer evento, en el año 2005. Sospecho que por algún motivo se perdió el backup pero recientemente encontré un snapshot del 3 de abril del año 2005, que muestra como se veía el sitio un día después de la realización del primer FLISOL. Sigue leyendo ¿Cómo empezó el FLISOL?

Artículos relacionados

Añadir sellos personalizadas en Tux Paint


En esta imagen se puede ver a mi sobrina montada en el cabllo
En esta imagen se puede ver a mi sobrina montada en el caballo

Con esto de ser papá e informático tenía que llegar el momento de compartir la computadora con las hijas. Actualmente la Ana Martina le encanta jugar con Gcompris, pero en especial con Tux Paint. Estos son 2 aplicaciones de software libre educativas excelentes para los más pequeños y sus padres ;).
Para los que no han utilizado alguna vez Tux Paint saben que una de las partes más interesantes son las sellos. Con los sellos podemos agregar imágenes, las mismas que suelen ser asociadas con un sonido y un texto descriptivo. Por ejemplo si añadimos la vaca, al seleccionarla va a sonar «moo» y luego el audio nos dice la palabra «vaca». Así el niño asocia la vaca con la imagen, el sonido y su nombre.
Si bien hay muchos sellos con muchos sonidos, me parece interesante poder añadir más. Por ejemplo, me gustaría tener animales andinos como el condor, las llamas, etc… Esto todavía no lo hago, probablemente alguien ya lo ha hecho y sino espero que este artículo ayude a alguien a hacerlo ;).
Una de las libertades del software libre es poder modificar sus aplicaciones y entender como funcionan. En este artículo vamos a ver lo sencillo que es hacer estos cambios en Tux Paint sin tocar el código fuente.

Sigue leyendo Añadir sellos personalizadas en Tux Paint

Artículos relacionados

Usuarios Software Libre y Software Privativo – Video

El 19 de julio de 2010 publiqué un artículo en este blog llamado: Usuarios de Software Libre y Software Privativo.  Recientemente por algún motivo la gente volvió a descubrir este artículo, entre ellos Alexandro Colorado. Alexandro me pidió que leyera el artículo y grabara el audio para hacer un video que podría ser útil para el FLISOL de este año. Así que le hice caso, grabe el audio y Alexandro hizo el resto con software libre.

Artículos relacionados

Entrevista a Charles-M Schulz

Recientemente empecé a colaborar con el blog Bitscloud liderado por Byron Mayorga. Mi primer aporte fue una entrevista a Charles-M Schulz de LibreOffice. Recientemente el proyecto OpenOffice.org tuve una división y un número muy importante de contribuidores del mismo decidieron hacer un fork del proyecto. Charles es una de las personas claves en este acontecimiento de uno de los proyectos de software libre más importantes.

Como dato anegdótico, tuve la oportunidad de conocer a Charles en el BRM de OOXML en Ginebra en el año 2008. Si bien estuve una semana ahí tuve la oportunidad de conversar mucho con el y otra gente interesante del movimiento del software libre y estándares abiertos. Algo paradójico es que nunca hubiera conocido a Charles y a mucha otra gente interesante si no hubiera sido gracias a Microsoft el estandard OOXML que todavía no lo implementa nadie.

Artículos relacionados

Túneles SSH (parte 2)

En el artículo anterior expliqué como usar un tunel ssh para acceder a un servicio remoto  que no es accesible en mi computador, pero sí es accesible desde un servidor al cual puedo ingresar. Ahora aprenderemos a hacer lo opuesto. Vamos a compartir servicios de mi red interna o mi computadora en otra red. Lo más probable es que sea el Internet. Al igual que el artículo anterior, vamos a explicar esta utilidad con ejemplos.

Ejemplo #1: Acceder con ssh a computador con ip privado

Vamos a suponer el siguiente caso práctico. Mi mamá es una usuaria de GNU/Linux y tiene algún problema en su computador. Ella tiene su computadora en la casa y no tiene ip pública ni la menor idea de lo que es un ip. Su hijo tiene algo de experiencia le puede ayudar. Para esto con mucha paciencia le va a decir» mami vaya a accesorios terminal y escribe lo siguiente:

ssh -R *:8080:localhost:22 usuarioremoto@servidorremoto.com

Mi mamá no tiene porque entender este comando, pero ustedes sí. El * quiere decir que vamos a ser accesibles desde cualquier ip que tenga mi servidor remoto. El 8080 es el puerto que utilizaremos en el servidor remoto y localhost:22 quiere decir que vamos a hacer accesible el puerto 22 de mi máquina local. La segunda parte del comando quiere decir a que servidor ingresamos y con que usuario.
En otras palabras mi mamá esta ingresando a mi servidor y publicando el puerto 22 de su computador en el puerto 8080. Obviamente sin tener la menor idea de lo que esta haciendo. Sigue leyendo Túneles SSH (parte 2)

Artículos relacionados

  • No existen artículos relacionados

Túneles SSH (parte 1)

Durante mucho tiempo utilice GNU/Linux y ssh a diario, pero me tomo tiempo darme cuenta de la utilidad de los tuneles ssh. Es una herramienta super práctica que espero ilustrar su uso con este artículo. A mi cuando me explicaron no entendí para que me iba a servir, pero con unos ejemplos creo que es más fácil entender.

Básicamente un tunel ssh sirve para acceder a un servicio remoto a través de un canal ssh. Así utilizando ssh podríamos hacer cosas como acceder a un servidor smtp que suele estar bloqueado por proveedores de Internet. Se podría compartir un recurso de mi máquina local con ip privado al mundo a través de Internet. En fin se puede hacer muchísimo más que esto y ojalá por ahí comparta alguna otra experiencia interesante.

Redirigir un puerto remoto a mi red local

Para ilustrar esta idea voy poner allgunos ejemplos hipotéticos:

Ejemplo #1: Acceder a un pop3 bloqueado

Supongamos que usted tiene acceso a Internet y el proveedor de Internet tiene bloqueado el puerto 25. Necesita enviar un correo de urgencia, pero no lo puede hacer. Pues bien un tunel ssh es una solución rápida para solucionar este problema (siempre y cuando tenga un servidor donde pueda hacer ssh)

ssh -L 2525:localhost:25 usuario@servidorremoto.com

Sigue leyendo Túneles SSH (parte 1)

Artículos relacionados

  • No existen artículos relacionados

Ssh con claves Públicas y Privadas

La razón por la que escribo este artículo, es porque acabo de resolver un problema que se tiene con el pasar del tiempo. Cada vez se tiene que administrar más servidores y uno debe recordar mayor números de claves. Si uno usa la misma clave para todos los servidores, entonces se tiene un riesgo de seguridad porque si se rompe la clave en uno, se rompe en todos. Este mini how to es útil también si se desea hacer tareas automatizadas y no quieren que se requiera el uso de contraseña para ssh (ej. sincronización con rsync).

La idea es la siguiente, vamos a crear una clave privada que funcionará como nuestra contraseña para ingresar a los servidores que necesitemos. En cada servidor copiaremos nuestra clave pública y podremos ingresar a ellos. Este sistema, bien utilizado es mucho más seguro que utilizar contraseñas.

Crear el par de claves públicas y privadas:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

Damos enter, para que las llaves se guarden en ~/.ssh

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Aquí ponemos una contraseña para proteger nuestra clave privada. Así que cada vez que vayamos usar la clave privada nos pedirá esta clave. En caso de querer utilizar ssh sin clave, dejar vacío (solo recomendable para tareas automatizadas y teniendo en cuenta los riesgos.)

Your identification has been saved in /yo/.ssh/id_rsa.
Your public key has been saved in /yo/.ssh/id_rsa.pub.

Aquí nos dice el sistema donde ha guardado nuestra clave pública y privada. La cave privada la tenemos que cuidar. Si llega a malas manos podrían ingresar a nuestros servidores (sobre todo si no esta protegida con un passprhase), si la perdemos nosotros no podremos llegar a nuestros servidores. La clave pública la subimos a los servidores donde queremos ingresar.

Copiar clave pública a servidores:

scp ~/.ssh/id_rsa.pub usuario@servidorremoto.com:
ssh usuario@servidorremoto.com
cat id_rsa.pub >> .ssh/authorized_keys

Listo ahora podemos ingresar a servidor remoto utilizando la llave privada. Copiamos nuestra clave pública a todos los servidores que queremos hacer ssh.

Otra opción que yo no conocía, pero me la hizo notar Gerardo Barajas es usar el comando ssh-copy-id.

ssh-copy-id usuario@servidorremotocom

Artículos relacionados

  • No existen artículos relacionados