Proyecto VPN

12
UNIVERSIDAD NACIONAL TECNOLOGICA DE LIMA SUR Proyecto Final Prueba real de enlace por VPN entre sedes para comunicaciones VOIP ASTERISK Alumnos: Terrones Rabanal Marco Antonio Quesquen Chilquillo Luis Denis Curso : TRANSMISIÓN DE DATOS Profesor: Ing. Freddy Campos Ciclo: VIII 2015 Ingeniería Electrónica y Telecomunicaciones

description

Proyecto para implementar una red VPN entre Asterisk y terminales Zoiper

Transcript of Proyecto VPN

UNIVERSIDAD NACIONAL TECNOLOGICA DE LIMA SUR

Proyecto Final

Prueba real de enlace por VPN entre sedes para comunicaciones VOIP ASTERISK

Alumnos:

Terrones Rabanal Marco AntonioQuesquen Chilquillo Luis Denis

Curso :

TRANSMISIÓN DE DATOS

Profesor:

Ing. Freddy Campos

Ciclo: VIII

2015

Ingeniería Electrónica y Telecomunicaciones

2 Universidad Nacional Tecnológica de Lima Sur.

Prueba real de enlace por VPN entre sedes para comunicaciones VOIP

ASTERISK

Alumnos:

Terrones Rabanal, Marco Antonio.

Objetivos:

Poner en práctica los conocimientos de RUTEO, RISC, NATEO, ETC, generar enlaces VPN entre dos sedes para tener acceso a la misma red de manera segura, poner en práctica los conocimientos de configuración de red y demás parámetros del SO LINUX CENTOS 6, exponer los conocimientos de administración y configuración del software ASTERISK en consola CLI y/o mediante SSH PUTTY.

Topología:

Tecnologías:

Tecnologías de ruteo, Nat, tecnología de tuneling VPN, Tecnología de troncales SIP, tecnología de emulación GNS3, etc.

3 Universidad Nacional Tecnológica de Lima Sur.

EL PROBLEMAEste proyecto de investigación nace de la necesidad del ahorro en comunicaciones en las grandes empresas y entidades del estado. Poniendo un ejemplo a la Superintendencia Nacional de Fiscalización Tributaria, la cual tiene intendencias regionales a nivel nacional en la cual los funcionarios y colaboradores se mantienen comunicados continuamente. Para ello se debe emplear una solución que tenga el menor costo mensual y menor mantenimiento posible. Para las llamadas externas a SUNAFIL, hay que tener en cuenta que en promedio se realizan unas 30 llamadas en entrantes y 30 llamadas salientes en simultáneo. Algunas de estas llamadas son a FIJOS, CELUAR CLARO, MOVISTAR, ENTEL, etc. Todas las intendencias cuentan con conexión a internet de por lo menos 500 Kbps de upstream.

LA SOLUCIÓN PROPUESTAUna única central de comunicaciones en un punto fijo, e instalar anexos en cada intendencia regional registrada a la central, la cual tendrá una conexión totalmente segura mediante enlace VPN. Las llamadas entre anexos a nivel nacional no tendrán ningún costo, las llamadas salientes saldrán por una línea primaria (2 líneas primarias para llamadas entrantes y salientes).

4 Universidad Nacional Tecnológica de Lima Sur.

VPN (VIRTUAL PRIVATE NETWORK)

Una red privada virtual, RPV, o VPN de las siglas en inglés de Virtual Private Network, es una tecnología de red que permite una extensión segura de la red local (LAN) sobre una red pública o no controlada como Internet. Permite que la computadora en la red envíe y reciba datos sobre redes compartidas o públicas como si fuera una red privada con toda la funcionalidad, seguridad y políticas de gestión de una red privada. Esto se realiza estableciendo una conexión virtual punto a punto mediante el uso de conexiones dedicadas, cifrado o la combinación de ambos métodos.

Ejemplos comunes son la posibilidad de conectar dos o más sucursales de una empresa utilizando como vínculo Internet, permitir a los miembros del equipo de soporte técnico la conexión desde su casa al centro de cómputo, o que un usuario pueda acceder a su equipo doméstico desde un sitio remoto, como por ejemplo un hotel. Todo ello utilizando la infraestructura de Internet.

La conexión VPN a través de Internet es técnicamente una unión wide area network (WAN) entre los sitios pero al usuario le parece como si fuera un enlace privado— de allí la designación "virtual private network".

Tipos de VPN

VPN de acceso remoto

Es quizás el modelo más usado actualmente, y consiste en usuarios o proveedores que se conectan con la empresa desde sitios remotos (oficinas comerciales, domicilios, hoteles, aviones preparados, etcétera) utilizando Internet como vínculo de acceso. Una vez autenticados tienen un nivel de acceso muy similar al que tienen en la red local de la empresa. Muchas empresas han reemplazado con esta tecnología su infraestructura dial-up (módems y líneas telefónicas).

VPN punto a punto

Este esquema se utiliza para conectar oficinas remotas con la sede central de la organización. El servidor VPN, que posee un vínculo permanente a Internet, acepta las conexiones vía Internet provenientes de los sitios y establece el túnel VPN. Los servidores de las sucursales se conectan a Internet utilizando los servicios de su proveedor local de

5 Universidad Nacional Tecnológica de Lima Sur.

Internet, típicamente mediante conexiones de banda ancha. Esto permite eliminar los costosos vínculos punto a punto tradicional (realizados comúnmente mediante conexiones de cable físicas entre los nodos), sobre todo en las comunicaciones internacionales. Es más común el siguiente punto, también llamado tecnología de túnel otunneling.

Tunneling

La técnica de tunneling consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un túnel dentro de una red de computadoras. El establecimiento de dicho túnel se implementa incluyendo una PDU (unidades de datos de protocolo) determinada dentro de otra PDU con el objetivo de transmitirla desde un extremo al otro del túnel sin que sea necesaria una interpretación intermedia de la PDU encapsulada. De esta manera se encaminan los paquetes de datos sobre nodos intermedios que son incapaces de ver en claro el contenido de dichos paquetes. El túnel queda definido por los puntos extremos y el protocolo de comunicación empleado, que entre otros, podría ser SSH.

El uso de esta técnica persigue diferentes objetivos, dependiendo del problema que se esté tratando, como por ejemplo la comunicación de islas en escenarios multicast, la redirección de tráfico, etc.

Uno de los ejemplos más claros de utilización de esta técnica consiste en la redirección de tráfico en escenarios IP Móvil. En escenarios de IP móvil, cuando un nodo-móvil no se encuentra en su red base, necesita que su home-agent realice ciertas funciones en su puesto, entre las que se encuentra la de capturar el tráfico dirigido al nodo-móvil y redirigirlo hacia él. Esa redirección del tráfico se realiza usando un mecanismo de tunneling, ya que es necesario que los paquetes conserven su estructura y contenido originales (dirección IP de origen y destino, puertos, etc.) cuando sean recibidos por el nodo-móvil. Se maneja de manera remota.

VPN over LAN

Este esquema es el menos difundido pero uno de los más poderosos para utilizar dentro de la empresa. Es una variante del tipo "acceso remoto" pero, en vez de utilizar Internet como medio de conexión, emplea la misma red de área local (LAN) de la empresa. Sirve para aislar zonas y servicios de la red interna. Esta capacidad lo hace muy conveniente para mejorar las prestaciones de seguridad de las redes inalámbricas (WiFi).

Un ejemplo clásico es un servidor con información sensible, como las nóminas de sueldos, ubicado detrás de un equipo VPN, el cual provee autenticación adicional más el agregado

6 Universidad Nacional Tecnológica de Lima Sur.

del cifrado, haciendo posible que sólo el personal de recursos humanos habilitado pueda acceder a la información.

Otro ejemplo es la conexión a redes Wi-Fi haciendo uso de túneles cifrados IPSec o SSL que además de pasar por los métodos de autenticación tradicionales (WEP, WPA, direcciones MAC, etc.) agregan las credenciales de seguridad del túnel VPN creado en la LAN interna o externa.

Para este proyecto, el servidor VPN se encuentra en una oficina ubicada en Jesús María – Lima, y el cliente lo tendremos en mi laptop y haremos la prueba

de la conexión VPN desde cualquier parte para las comunicaciones VoIP.

OPENVPN EN CENTOS (SERVIDOR)

Como el usuario root, desde una terminal, descargue el archivo AL-Server.repo:

wget –O /etc/yum.repos.d/AL-Server.repo \

http://www.alcancelibre.org/al/server/AL-Server.repo

Instalar los paquetes necesarios:

yum –y install openvpn shorewall

Procedimientos.

Si fuera necesario, cambiarse al usuario root utilizando el siguiente mandato:

7 Universidad Nacional Tecnológica de Lima Sur.

su –l

Cambie al directorio /etc/openvpn:

cd /etc/openvpn/

NOTA: Todos los procedimientos necesarios para configurar un servidor con OpenVPN se realizan sin salir de/etc/openvpn/. Por favor, evite cambiar de directorio hasta haber finalizado los procedimientos descritos en este documento.A fin de facilitar los procedimientos, se copiarán los archivos openssl-1.0.0.cnf, whichopensslcnf, pkitool y vars —que se localizan dentro del directorio /usr/share/easy-rsa/— dentro del directorio /etc/openvpn/:

cp /usr/share/easy-rsa/openssl-1.0.0.cnf ./cp /usr/share/easy-rsa/whichopensslcnf ./cp /usr/share/easy-rsa/pkitool ./cp /usr/share/easy-rsa/vars ./

Utilizar el editor de texto y abrir el archivo /etc/openvpn/vars:

vi /etc/openvpn/vars

De este archivo sólo hay que editar las últimas líneas, que corresponden a algo similar a lo siguiente:

export KEY_SIZE=1024export KEY_COUNTRY="US"export KEY_PROVINCE="CA"export KEY_CITY="SanFrancisco"export KEY_ORG="Fort-Funston"export KEY_EMAIL="[email protected]"export [email protected] KEY_CN=changemeexport KEY_NAME=chanegmeexport KEY_OU=changeme

Hay que establecer el certificado a 2048 bits para mayor seguridad, reemplazar los valores predeterminados por los que se consideren pertinentes —sin utilizar acentos o tildes— y eliminar la línea repetida que define el correo electrónico predeterminado. Ejemplo:

8 Universidad Nacional Tecnológica de Lima Sur.

export KEY_SIZE=2048export KEY_COUNTRY="MX"export KEY_PROVINCE="DF"export KEY_CITY="Mexico"export KEY_ORG="Mi Empresa, S.A. de C.V."export KEY_EMAIL="[email protected]"export KEY_CN=servidor.mi-dominio.comexport KEY_NAME=servidorexport KEY_OU=Sistemas

Se requiere ejecutar del siguiente modo el archivo /etc/openvpn/vars a fin de que carguen las variables de entorno que se acaban de configurar.

source /etc/openvpn/./vars

Cada vez que se vayan a generar nuevos certificados, debe ejecutarse el mandato anterior a fin de que carguen las variables de entorno definidas.

Se ejecuta el archivo /usr/share/easy-rsa/clean-all a fin de limpiar cualquier firma digital que accidentalmente estuviera presente.

sh /usr/share/easy-rsa/clean-all

Lo anterior realiza un rm -fr (eliminación recursiva) sobre el directorio /etc/openvpn/keys, por lo que se eliminarán todas los certificados y firmas digitales que hubieran existido con anterioridad.

A fin de crear el certificado del servidor, se crea un certificado:

sh /usr/share/easy-rsa/build-ca

Se creará el archivo dh2048.pem, el cual contendrá las opciones del protocolo Diffie-Hellman, de 2048 bits:

sh /usr/share/easy-rsa/build-dh

El protocolo Diffie-Hellman permite el intercambio secreto de claves entre dos partes que sin que éstas hayan tenido contacto previo, utilizando un canal inseguro y de manera anónima (sin autenticar). Se emplea generalmente como medio para acordar claves simétricas que serán empleadas para el cifrado de una sesión, como es el caso de una conexión VPN.

9 Universidad Nacional Tecnológica de Lima Sur.

Nota: Este paso puede demorar varios, pero varios minutos, paciencia.

Para generar la firma digital, se utilizan el siguiente mandato:

sh /usr/share/easy-rsa/build-key-server server

Finalmente se crean los certificados para los clientes. En el siguiente ejemplo se crean los certificados para cliente1:

sh /usr/share/easy-rsa/build-key cliente1

A fin de utilizar los certificados y que se configure el sistema, se crea con el editor de texto el archivo/etc/openvpn/server.conf:

vi /etc/openvpn/server.conf

Para la VPN se recomienda utilizar una red privada que sea poco usual, a fin de poder permitir a los clientes conectarse sin conflictos de red. Un ejemplo de una red poco utilizada sería 192.168.37.0/255.255.255.0, lo cual permitirá conectarse a la VPN a 253 clientes. Tomando en cuenta lo anterior, el contenido del archivo/etc/openvpn/server.conf debe ser el siguiente:

port 1194proto udpdev tun#----- Sección de firma y certificados -----ca keys/ca.crtcert keys/server.crtkey keys/server.keydh keys/dh2048.pem#-------------------------------------------server 192.168.37.0 255.255.255.0ifconfig-pool-persist ipp.txtkeepalive 10 120comp-lzopersist-keypersist-tunstatus /var/log/openvpn.logverb 3

Si SELinux está activo, es necesario que el directorio /etc/openvpn y sus contenidos tengan los contextos apropiados de esta implementación de seguridad. Ejecute restorecon con la opción -r y /etc/openvpn como argumento:

NOTA: Se recomienda tener el SELinux desactivado.

10 Universidad Nacional Tecnológica de Lima Sur.

restorecon –R /etc/openvpn/

Genere los archivos /etc/openvpn/ipp.txt y /var/log/openvpn.log ejecutando lo siguiente:

touch /etc/openvpn/ipp.txttouch /var/log/openvpn.log

Si se tiene activo SELinux, se requiere asignar contexto de lectura y escritura (openvpn_etc_rw_t) al archivo /ertc/openvpn/ipp.txt:

chcon chcon -t openvpn_etc_rw_t /etc/openvpn/ipp.txt

Ejecute lo siguiente sólo si utiliza CentOS 7 o Red Hat™ Enterprise Linux 7 o versiones posteriores:

ln –s /lib/ystem/system/openvpn\@.service \    /etc/ystem/system/multi-user.target.wants/openvpn\@server.service

Ejecute lo siguiente para añadir el servicio al arranque del sistema si utiliza CentOS 6 o Red Hat™ Enterprise Linux 6:

chkconfig openvpn on

Ejecute en su lugar lo siguiente si utiliza CentOS 7 o Red Hat™ Enterprise Linux 7:

systemctl -f enable openvpn@server

Ejecute lo siguiente para iniciar el servicio si utiliza CentOS 6 o Red Hat™ Enterprise Linux 6:

service openvpn start

Ejecute en su lugar lo siguiente si utiliza CentOS 7 o Red Hat™ Enterprise Linux

11 Universidad Nacional Tecnológica de Lima Sur.

7:

systemctl start openvpn@server

PROBLEMAS PRESENTADOS EN LA INSTALACION DEL OPENVPN SERVIDOR:

Al levantar el servicio de OPENVPN en CENTOS de manera remota (por Putty), necesito que el SELinux esté desactivado ya que cuando está activado las políticas no permiten conexiones por putty, lo que me pasó es que active el SELinux para ver la diferencias entre activado y desactivado y perdí la conexión, por lo que tuve que hacerme un viaje desde mi casa hasta la oficina donde se aloja el servidor para nuevamente desactivar el SELinux.

Al configurar el servicio de OPENVPN en remoto no encontré la forma de copiar los archivos .crt necesarios para el enlace SERVIDOR/CLIENTE en la maquina WINDOWS, ya que todos los procesos en putty se hacen con código Linux, tuve que ir a la oficina a hacer las copias de los certificados. Luego se descubrió que hay una manera de copiarlos en un usb de manera remota.

OPENVPN EN WINDOWS (CLIENTE)

Instalar el paquete de OpenVPN para Windows desde http://openvpn.net/index.php/open-source/downloads.html.Crear el archivo cliente1-udp-1194.ovpn, con el siguiente contenido, donde es importante que las rutas definidas sean las correctas y las diagonales invertidas sean dobles:

clientdev tunproto udpremote dominio-o-ip.del.servidor.vpn 1194floatresolv-retry infinitenobindpersist-keypersist-tun#------ SECCION DE LLAVES --------ca "C:\\Archivos de Programa\\OpenVPN\\config\\ca.crt"cert "C:\\Archivos de Programa\\OpenVPN\\config\\cliente1.crt"key "C:\\Archivos de Programa\\OpenVPN\\config\\cliente1.key"ns-cert-type server#---------------------------------comp-lzo

12 Universidad Nacional Tecnológica de Lima Sur.

verb 3

PROBLEMAS PRESENTADOS EN LA INSTALACION DEL OPENVPN CLIENTE:

Se recomienda abrir el OPENVPN GUI en “ejecutar como administrador”, ya que si no se hace de ese modo, Windows no permite el ruteo necesario para conexión VPN. Se recomienda contar con una conexión de internet con un ancho de banda de subida regular, ya que en la llamada se necesita downstream y upstream. Se recomiendo guardar muy bien los certificados de comunicación VPN ya que con ellos cualquier usuario puede tener acceso a tu red.

Zoiper Free SoftphoneEs un softhphone gratuito que permite conexiones SIP, IAX y XMPP con centrales telefónicas IP. Soporta códecs como G.711 (64 Kbps), G.726 (32 Kbps), GSM (13 Kbps), Ilbc (15.2 Kbps), Speex (22.4 Kbps). Los parámetros que necesita de nuestra central Asterisk son el host, el anexo y la contraseña.