Configuracion VPN

download Configuracion VPN

of 28

description

Configuración Vpn

Transcript of Configuracion VPN

  • CONFIGURACIN VPN ROAD WARRIOR

  • Una red privada virtual, VPN es una tecnologa de red que permite una extensin

    segura de la red local (LAN) sobre una red pblica o no controlada como Internet.

    Permite que la computadora en la red enve y reciba datos sobre redes compartidas o

    pblicas como si fuera una red privada con toda la funcionalidad, seguridad y

    polticas de gestin de una red privada. Esto se realiza estableciendo una conexin

    virtual punto a punto mediante el uso de conexiones dedicadas, cifrado o la

    combinacin de ambos mtodos.

    VPN

  • OpenVPN

    Es una implementacin de VPN SSL la cual usa las extensiones OSI layer 2 3,

    soporta diferentes medios de autenticacin como certificados,

    usuarios/contraseas, y permite polticas de control de acceso para usuarios o

    grupos usando reglas de firewall aplicadas a las interfaces virtuales de la VPN.

  • TIPOS DE CONFIGURACIN UTILIZANDO OPENVPN

    1. Host a Host (Sitio a sitio)

    Es el mtodo ms simple, nos permite encriptar la comunicacin entre dos PC las

    cuales debern solamente tener conexin; es decir: ambas PC deben poderse

    enviar paquetes directamente ya sea porque estn conectadas en la misma red

    local, o porque ambas estn conectadas a la internet y sean alcanzables entre s.

  • TIPOS DE CONFIGURACIN UTILIZANDO OPENVPN

    2. Road Warrior (Sitio-Multisitio)

    Es una de las formas ms utilizadas. Es el permitir que una mquina de alguien

    que est fuera de nuestra red (de forma temporal o permanente) pueda

    comunicarse con el servidor OpenVPN de nuestra red y una vez autenticado

    pueda entrar a ver y acceder los recursos de nuestra red local. En verdad es un

    caso especial de la conexin Red a Red.

  • TIPOS DE CONFIGURACIN UTILIZANDO OPENVPN

    3. Red a Red

    Uno de los mtodos ms usados. Mediante sta forma dos redes separadas en el

    espacio pueden comunicarse como si estuvieran unidas por un cable virtual, la

    comunicacin entre ambas redes viajar encriptada una vez salgan de los

    servidores de openvpn y hasta que lleguen a su otro extremo.

  • CONFIGURACIN DE ROAD WARRIOR

  • PASO 1: Instalacin del OpenVPN

    Instalar Openvpn en nuestro Linux CentOS es realmente fcil. Previamente a

    la instalacin de Openvpn se debe tener instalado el Repositorio Epel.

    #wgethttp://download.fedoraproject.org/pub/epel/6/i386/epelrelease68.n

    oarch.rm

    # rpm -ivh epel-release-6-8.noarch.rpm

    Luego para la instalacin de Openvpn emitimos el comando :

    #yum install openvpn

  • PASO 2: Configuracin del Servidor

    Previamente se debe realizar las siguientes configuraciones de no serlo a si la vpn no har ping hacia las redes internas.

    En el servidor de openvpn se debe activar el ip_forwarding:

    #vi /etc/sysctl.conf

    Cambiar ip_forwarding a 1 (est normalmente en 0).

    # net.ipv4.ip_forward = 0

  • Ejcutamos el comando

    #sysctl p

    La versin de Openvpn 2.3 para CentOS 6, no incluye el paquete easy-rsa que esun conjunto de herramientas que me permitirn generar los certificados, por locual se debe instalar.

    # yum install easy-rsa Contamos con una serie de scripts en el directorio /usr/share/easy-rsa/2.0/ los

    cuales nos ayudarn mucho a ejecutar sta tarea inicial.

    Primero cambiamos al directorio.

    # cd /usr/share/easy-rsa/2.0

  • Creando el CA

    Una vez dentro de ste directorio procedemos a ejecutar los siguientes pasos:

    #. Vars

    #sh clean-all

    # sh build-ca

    Con ellos lo que haremos es:

    Inicializar variables de ambiente para poder trabajar con los scripts de shellpara generar las variables

    Inicializamos el directorio de las claves (borrando potenciales archivos viejos)

    build-ca: procedemos a generar el certificado CA

  • En ste ltimo paso se nos pedir una serie de informacin sobre nuestra

    red/empresa que debemos llenar lo ms fielmente posible:

    Se pone un nombre pero

    debe estar seguido de ca

    Ejemplo

    openvpn ca

  • Generacin del certificado y de la clave de encriptacin para el servidor Siguiente ala generacin del Certificado de autoridad, procedemos a crear el certificado delservidor y de su clave de encriptacin:

    #sh build-key-server server

    No repetir el nombre del

    certificado anterior

  • Generacin de certificados y claves privadas para los clientes

    Cada cliente debe tener su propio certificado y clave de seguridad, para cada clienteque tengamos deberemos repetir el siguiente paso.

    #sh build-key client1

  • Debemos notar que al ejecutar el programa sh build-key, le pasamos comoparmetro el nombre del cliente (client1 en el ejemplo anterior) el cual debe serdiferente para cada cliente. En el common name ponemos el nombre del cliente(client1 en ste ejemplo) tal y como le pasamos de parmetro.

    Se puede crear el nmero de claves que sean necesarias de acuerdo al nmero declientes:

    #sh build-key client2#sh build-key client3

  • Generando parmetros de Diffie-Hellman

    El parmetro de Diffie-Hellman debemos generarlo de la siguiente manera:

    #sh build-dh

    [root@servidor 2.0]# sh build-dh

    Generating DH parameters, 2048 bit long safe prime, generator 2

    This is going to take a long time

    ..............+........................+..............................................................................+.............

    ............+.........................................................................................................................

    ...............................................+......................................................................................

    .......................................................................................................................................

    .................+.......................................................+.............................................

  • Archivos a copiar al servidor

    Con los comandos ejecutados anteriormente se generan los siguientes archivos que

    debern se copiados al servidor hacia el directorio /etc/openvpn del servidor .

    ca.crt

    ca.key

    server.key

    server.crt

    dh2048.pem

  • Estos archivos estn presentes en: /usr/share/easy-rsa/2.0/keys/

    # cd /usr/share/easy-rsa/2.0/keys/# cp -a ca.crt ca.key server.key server.crt dh2048.pem /etc/openvpn

    NOTA: Fijarse en el nmero que se genera en los certificados para la trasferencia

    del archivo dh2048.pem ya que puede variar.

    [root@servidor 2.0]# sh build-dhGenerating DH parameters, 2048 bit long safe prime, generator 2This is going to take a long time

  • Archivos a copiar al cliente

    Hacia el directorio /etc/openvpn de cada cliente copiamos los siguientes archivos:

    ca.crt clientX.crt clientX.key

    Tenga en cuenta que X es un nmero que se corresponde con el cliente (para el cliente1 sera: client1.crt y client1.key por ejemplo).

    # cd /usr/share/easy-rsa/2.0/keys/# scp ca.crt client1.crt client1.key [email protected]:/etc/openvpn

    Ejecutamos el siguiete commando.

    # vi /etc/openvpn/server.conf

  • port 1194

    proto udp

    dev tun

    ca ca.crt

    cert server.crt

    key server.key

    dh dh2048.pem

    #Direcciones que se asignaran a los

    #clientes, el server es .1

    server 10.8.0.0 255.255.255.0

    ifconfig-pool-persist ipp.txt

    #Aqu debe especificarse la LAN detrs de tu servidor

    #En este ejemplo supongo que TU LAN es 192.168.1.0/24

    #Cambiala a la verdadera LAN de tu servidor

    push "route 192.168.89.0 255.255.255.192"

    push "redirect-gateway def1 bypass-dhcp"

    keepalive 10 120

    comp-lzo

    user nobody

    group nobody

    persist-key

    persist-tun

    status openvpn-status.log

    verb 4

  • PASO 3 Configuracin del cliente

    En el caso del cliente, as quedara el archivo de configuracin:

    #vi /etc/openvpn/client1.conf

    clientdev tunproto udp#Aqui debo especificar la IP de la WAN de tu servidor OpenVPNremote 192.168.89.128 1194resolv-retry infinitenobind#Las dos siguientes opciones no van en windowsuser nobodygroup nobodypersist-keypersist-tunca ca.crtcert client1.crtkey client1.keycomp-lzoverb 4

    SE DEBE CAMBIAR DE ACUERDO AL

    NUEMRO DE CLIENTES

  • PASO 4 Iniciar openVPN

    Iniciamos con los siguientes comandos

    #service openvpn start

    #chkconfig --level 2345 openvpn on

    PASO 5 Comprobacin del funcionamiento

    Una vez iniciado en ambos lados podemos comprobar la creacin del tnel con elcomando ifconfig

  • Servidor

    eth0 Link encap:Ethernet HWaddr 08:00:27:46:36:62

    inet addr:192.168.89.128 Bcast:192.168.1.255 Mask:255.255.255.0

    inet6 addr: fe80::a00:27ff:fe46:3662/64 Scope:Link

    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

    RX packets:604 errors:0 dropped:0 overruns:0 frame:0

    TX packets:100 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:1000

    RX bytes:44166 (43.1 KiB) TX bytes:14434 (14.0 KiB)

    lo Link encap:Local Loopback

    inet addr:127.0.0.1 Mask:255.0.0.0

    inet6 addr: ::1/128 Scope:Host

    UP LOOPBACK RUNNING MTU:16436 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:0

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

    tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-

    00-00-00-00

    inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255

    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:100

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

  • Clienteeth0 Link encap:Ethernet HWaddr 08:00:27:BE:25:49

    inet addr:192.168.89.129 Bcast:192.168.1.255 Mask:255.255.255.0

    inet6 addr: fe80::a00:27ff:febe:2549/64 Scope:Link

    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

    RX packets:537 errors:0 dropped:0 overruns:0 frame:0

    TX packets:387 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:1000

    RX bytes:52177 (50.9 KiB) TX bytes:50170 (48.9 KiB)

    lo Link encap:Local Loopback

    inet addr:127.0.0.1 Mask:255.0.0.0

    inet6 addr: ::1/128 Scope:Host

    UP LOOPBACK RUNNING MTU:16436 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:0

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

    tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-

    00-00-00-00

    inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255

    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 txqueuelen:100

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

  • Para comprobar podemos hacer ping hacia el tun

    Desde el cliente

    ping 10.8.0.1

    Desde el servidor

    ping 10.8.0.6

    En caso de que falle la configuracin se podra desactivar los firewall

    service iptables stop

    chkconfig iptables off

    chkconfig ip6tables off

    service ip6tables stop

    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERAD

    service iptables save

    service iptables restart