LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

OpenVPN es la mejor opción para la protección de redes a través de redes no confiables. Hoy vamos a aprender de una manera rápida a configurar OpenVPN para que pueda acceder de forma segura su servidor

Una breve nota sobre las VPN: hay muchas VPNs comerciales que no sirven para la protección. Son poco más que los sitios Web SSL protegidos, porque confían en todos los clientes. Un verdadero VPN (red privada virtual) conecta dos puntos terminales de confianza a través de redes no confiables. No se puede iniciar sesión desde cualquier PC al azar, y esto es bueno porque (supuestamente) se entiende que acceder a su red privada desde un huésped infectado es un mal que hay que evitar, no importa cuán segura sea la conexión. Así que hay que configurar tanto el servidor como el cliente.

OpenVPN Quickstart

Se necesitan dos ordenadores en diferentes subredes, como un PC por cable e inalámbrica en la misma red (o un par de invitados Linux en VirtualBox), y lo que necesita saber son las direcciones IP de ambos equipos. Vamos a llamar a nuestro ejemplo ordenadores Studio y Shop. Instale OpenVPN en ambos. OpenVPN se incluye en la mayoría de distribuciones de Linux, por lo que puede instalarlo con su gestor de paquetes favorito. Este ejemplo es para Debian, Ubuntu, y sus múltiples descendientes:

  $ sudo apt-get install openvpn openvpn-blacklist 

En Fedora, RedHat, etc..

  $ sudo yum install openvpn openvpn-blacklist 

Si los nombres no coinciden, haga una busqueda en Debian/Ubuntu, etc con "apt-cache search openvpn", y en RedHat/CentOS/Fedora con "yum search openvpn"

Así se instalan el servidor y un pequeño programa para comprobar la lista negra de claves comprometidas. Debe instalar el corrector lista negra! Debido a que una Debian distribuyó una versión rota de OpenSSL que tenía un generador de números aleatorios roto, por lo que las claves creadas con este se supone que son demasiado vulnerables a la confianza. El generador de números aleatorios no era al azar, pero predecible. Esto ocurrió allá por 2008, y todos los que utilizan el OpenSSL defectuosos debían perseguir y reemplazar sus claves débiles. A pesar de que han pasado más de cinco años, se sigue recomendando el cambio

Ahora vamos a probarlo mediante la creación de un túnel sin cifrar entre los dos equipos. Primero haga ping a cada máquina para asegurarse de que están hablando el uno al otro. A continuación, asegúrese de que OpenVPN no se está ejecutando, ya que vamos a iniciarlo manualmente:

  $ ps ax | grep openvpn 

Si es así, acabe con él. Digamos que la dirección IP del estudio es 192.168.1.125, y la tienda de es 192.168.2.125.

Abrir un túnel sin cifrar de Estudio a la tienda:

$ sudo openvpn --remote 192.168.2.125 --dev tun0 --ifconfig 10.0.0.1 10.0.0.2

Luego de tienda en Studio:

$ sudo openvpn --remote 192.168.1.125 --dev tun0 --ifconfig 10.0.0.2 10.0.0.1

Al realizar una conexión correcta verás algo como esto:

Wed Oct 16 2013 ******* WARNING *******: all encryption and authentication 
features disabled -- all data will be tunnelled as cleartext
Wed Oct 16 2013 TUN/TAP device tun0 opened
Wed Oct 16 2013 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Oct 16 2013 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500
Wed Oct 16 2013 UDPv4 link local (bound): [undef]
Wed Oct 16 2013 UDPv4 link remote: [AF_INET]192.168.2.125:1194
Wed Oct 16 2013 Peer Connection Initiated with [AF_INET]192.168.2.125:1194
Wed Oct 16 2013 Initialization Sequence Completed

"La Secuencia de inicialización se ha completado", son las palabras mágicas que confirmen que lo hiciste bien. Usted debe poder hacer ping a un lado a otro con las direcciones del túnel, ping 10.0.0.1 y ping 10.0.0.2 . Cuando se genera el túnel puede usar cualquier direcciones IP que desea que no se superponga con la red existente. Para cerrar el túnel pulse Ctrl+c .

Sólo por diversión abra una sesión SSH sobre el túnel. La figura 1 muestra un inicio de sesión SSH éxitoso a través de un túnel VPN, y también muestra el mensaje de fantasía.

$ ssh carla@10.0.0.2

Figura 1: Una sesión de SSH éxito a lo largo de un túnel VPN y un MOTD .

¡Hurra, funciona!

Cifrado túnel VPN

Todo esto es divertido y emocionante, pero inútil sin cifrado, por lo que va a crear una configuración de clave estática simple. No es tan fuerte como una infraestructura de clave pública apropiada (PKI) con certificados raíz y revocaciones y todas esas cosas buenas, pero es una solución suficientemente buena para el nerd solitario que necesita llamar a casa desde la calle. OpenVPN incluye  un comando para crear la clave estática, por lo que crear un directorio para almacenar la clave, cree la clave, y que sea de sólo lectura para el propietario del archivo:

$ sudo mkdir /etc/openvpn/keys/
$ sudo openvpn --genkey --secret /etc/openvpn/keys/static.key
$ sudo chmod 0400 /etc/openvpn/keys/static.key

Esta es una clave de texto sin formato que se puede abrir en un editor de texto y verla si tienes curiosidad, y se puede llamarla como quiera, usted no tiene que llamarla "static.key". Copiar esta clave de ambos equipos -sí, la misma clave. No es un par de claves pública y privada, sólo una clave compartida única-.

Ahora vamos a crear algunos sencillos archivos de configuración de barebones para cada equipo. (En Debuntu etc no hay archivos de configuración por defecto, sino más bien una gran cantidad de archivos de ejemplo en /usr/share/doc/openvpn/ .) En mi pequeña prueba Studio es el servidor, y la tienda es el portátil que ingresa en el servidor. Mi archivo de configuración del servidor es /etc/openvpn/studio.conf , y esto es todo lo que tiene:

# config for Studio
dev tun
ifconfig 10.0.0.1 10.0.0.2
secret /etc/openvpn/keys/static.key

Hacer este archivo de lectura y escritura sólo para el dueño del archivo:

$ sudo chmod 0600 /etc/openvpn/studio.conf

El archivo de configuración en el cliente es similar, con la adición de la dirección de IP del servidor:

# config for Shop
dev tun
ifconfig 10.0.0.2 10.0.0.1
secret /etc/openvpn/keys/static.key
remote 192.168.1.125

Tenga en cuenta el orden de las direcciones IP en la línea ifconfig, porque tienen que estar en el orden de los locales> remoto. Ahora el fuego de OpenVPN en el servidor, especificando el archivo de configuración del servidor, y hacer lo mismo en el cliente:

$ sudo openvpn /etc/openvpn/studio.conf
$ sudo openvpn /etc/openvpn/shop.conf

Verá la misma "secuencia de inicialización Completado"  para una conexión exitosa, y también se debe buscar la ausencia de este mensaje, que debería haber aparecido cuando creó su túnel sin cifrar:

******* WARNING *******: all encryption and authentication features disabled

Firewalls y direcciones IP dinámicas

Sí OpenVPN es fácil de configurar. Los mayores problemas se trata de servidores de seguridad y direcciones IP dinámicas. Hay skillion distintos cortafuegos en el mundo, por lo que deberán dejar como su tarea de encontrar la manera de conseguir a través de él con seguridad. OpenVPN quiere puerto 1194, y luego va a querer tener una regla de reenvío que apunta al equipo al que desea acceder.

Las direcciones IP dinámicas son otra molestia. Dyn.com es una forma barata de gestionar la asignación de IP dinámica de su ISP. O usted podría ser capaz de pagar su ISP unos pocos dólares para obtener una dirección estática.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política