Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual VPN
Manual VPN
Pgina 1 de 34
Creative Commons
ReconocimientoNocomercialCompartirbajolamismalicencia
3.0
Usted es libre de:
Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de
la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del
titular de los derechos de autor
Nada en esta licencia menoscaba o restringe los derechos morales del
autor.
Pgina 2 de 34
ndice de contenido
Redes Privadas Virtuales, VPN...............................................................................5
Objetivos del curso..............................................................................................5
Requisitos.........................................................................................................5
Introduccin........................................................................................................5
Acceso mediante Internet y VPNs.......................................................................7
Usos de las VPN's................................................................................................7
Implementacin de VPN......................................................................................7
Diagramas de conexin:......................................................................................8
De Cliente a Servidor:......................................................................................9
De Cliente a Red Interna:................................................................................9
De Red Interna a Red Interna:.......................................................................10
Requerimientos para el armado de una VPN................................................10
Protocolos..........................................................................................................11
Seguridad en VPN.............................................................................................13
Encriptacin asimtrica con SSL/TLS...........................................................14
Seguridad SSL/TLS........................................................................................16
Ventajas y Desventajas de OpenVPN.................................................................16
Ventajas .........................................................................................................16
Desventajas ...................................................................................................18
Comparacin entre OpenVPN e IPsec VPN.......................................................18
Instalando OpenVPN.........................................................................................19
Casos prcticos de construccin de VPNs............................................................20
Configuracin de las direcciones IP de la VPN :...............................................20
Caso 1: Tnel simple sin seguridad...............................................................21
Caso 2: Tnel usando claves pre-compartida. Encriptacin simtrica .........21
Caso 3: Tnel con full seguridad basada en TLS. Encriptacin asimtrica
con SSL/TLS...................................................................................................22
Pgina 3 de 34
Pgina 4 de 34
Este mtodo permite enlazar dos o mas redes simulando una nica red privada
permitiendo as la comunicacin entre computadoras como si fuera punto a
punto.
Pgina 6 de 34
Implementacin de VPN
Supongamos que se tienen dos sitios de una organizacin conectados a Internet.
En ambos se contar con un equipo de conexin a la red de redes que cumplir
Pgina 7 de 34
Diagramas de conexin:
Hay varias posibilidades de conexiones VPN, esto ser definido segn los
requerimientos de la organizacin, por eso es aconsejable hacer un buen
levantamiento a fin de obtener datos como por ejemplo si lo que se desea enlazar
son dos o mas redes, o si solo se conectaran usuarios remotos.
Pgina 8 de 34
De Cliente a Servidor:
Un usuario remoto que solo necesita servicios o aplicaciones que corren en el
mismo servidor VPN. Caso tpico para los administradores de Seguridad.
Pgina 9 de 34
Pgina 10 de 34
LAN.
Protocolos
Las soluciones de VPN pueden ser implementadas a diferentes niveles del
modelo OSI de red.
Implementaciones de capa 2 - Enlace
El encapsulamiento a este nivel ofrece ciertas ventajas ya que permite
transferencias sobre protocolos no-IP, como por ejemplo IPX4 de Netware
Systems. Tericamente, las tecnologas implementadas en capa 2 pueden
tunelizar cualquier tipo de paquetes y en la mayora de los casos lo que se hace
es establecer un dispositivo virtual PPP5 con el cual se establece la conexin con
el otro lado del tnel.
Algunos ejemplos de estas tecnologas:
L2F:
Layer
Forwarding.
Desarrollado
por
la
empresa
Cisco
Pgina 12 de 34
Implementacin OpenVPN
OpenVPN es una excelente nueva solucin para VPN que implementa conexiones
de capa 2 o 3, usa los estndares de la industria SSL/TLS ( Secure Sockets
Layer / Transport Layer Security) para encriptar y combina todos las
caractersticas mencionadas anteriormente en las otras soluciones VPN. Su
principal desventaja por el momento es que hay muy pocos fabricantes de
hardware que lo integren en sus soluciones. De todos modos no hay que
preocuparse siempre que contemos con un Linux en el cual podremos
implementarlo sin ningn problema mediante software.
Seguridad en VPN
Para encriptar datos se usan Passwords o claves de encriptacin.
OpenVPN tiene dos modos considerados seguros, uno basado en claves estticas
pre-compartidas y otro en SSL/TLS usando certificados y claves RSA. RSA es una
empresa dedicada a la criptografa.
Cuando ambos lados usan la misma clave para encriptar y desencriptar los datos,
estamos usando el mecanismo conocido como clave simtrica y dicha clave
debe ser instalada en todas las mquinas que tomarn parte en la conexin VPN.
Si bien SSL/TLS + claves RSA es por lejos la opcin ms segura, las claves
estticas cuentan con la ventaja de la simplicidad.
Veremos a continuacin ese mtodo y otros que aporta mayor seguridad y
facilidad
de
distribucin.
Pgina 13 de 34
Pgina 14 de 34
ese
algoritmo, todos
aquellos
conectados
a Internet estarn
Pgina 15 de 34
Seguridad SSL/TLS
Las bibliotecas SSL/TLS son parte del software OpenSSL que vienen instaladas
en cualquier sistema moderno e implementan mecanismos de encriptacin y
autenticacin basadas en certificados. Los certificados generalmente son
emitidos por entidades de reconocida confiabilidad aunque tambin podemos
emitirlos nosotros mismos y usarlos en nuestra propia VPN. Con un certificado
firmado, el dueo del mismo es capaz de probar su identidad a todos aquellos
que confen en la autoridad certificadora que lo emiti.
provee
seguridad,
estabilidad
comprobados
mecanismos
de
encriptacin sin sufrir la complejidad de otras soluciones VPN como las de IPsec.
Adems ofrece ventajas que van ms all que cualquier otra solucin como son:
Ningn problema con NAT. Tanto los clientes como el servidor pueden
estar en la red usando solamente IPs privadas.
ComparacinentreOpenVPNeIPsecVPN
IPsec
OpenVPN
Plataformas de hardware
(dispositivos, aparatos)
Tecnologa sencilla
Necesidad de modificaciones
crticas al kernel
Necesidad de permisos de
administrador
Diferentes implementaciones de
distintos proveedores pueden ser
incompatibles entre si
Tecnologas de encriptamiento
estandarizadas
Fcil de aprender
Problemas si ambos lados necesitan Ningn problema con NAT (ambos lados
NAT
pueden ser redes NATeadas)
P
Instalando OpenVPN
1. #aptitude install openvpn
2. #aptitude install openssh
3. Verificar que el controlador TUN/TAP (para las interfaces virtuales del tnel):
#locate if_tun.h
esto debe mostrar un archivo como /usr/include/linux/if_tun.h
#modprobe tun
4. verificar el archivo /etc/modules, debe aparecer una lnea con tun
5. Habilitar IP forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward
6. Ajustes en el Firewall:
Si existen firewall entre los dos equipos, estos deben ser configurados para
reenviar paquetes UDP por el puerto 1194 en ambas direcciones.
Para permitir paquetes entrantes al dispositivo TUN:
Pgina 19 de 34
Pgina 20 de 34
4. Ejecutar en el PC A:
openvpn --remote 192.168.5.10 --dev tun1 --ifconfig 10.4.0.1 10.4.0.2 --verb 3
--secret key-estatica
5. Ejecutar en el PC B:
openvpn --remote 192.168.1.20 --dev tun1 --ifconfig 10.4.0.2 10.4.0.1 --verb 3
--secret key-estatica
Pgina 22 de 34
que debe utilizar el argumento del script ejecutado. En nuestro caso sera
servidor .
Aqu se crearn servidor.crt y servidor.key, los cuales copiaremos en
/etc/openvpn:
cp /etc/openvpn/easy-rsa/keys/servidor.* /etc/openvpn
7. Con el prximo script a ejecutar vamos a crear los clientes de la vpn. Clientes
TLS. De manera que vamos crear, por ahora, nuestro primer cliente TLS:
cliente1 y su llave:cliente1.key y certificado: cliente1.crt.
./build-key cliente1 y contestar igual que en el paso 6, salvo el Common
name que colocamos: clientes
Pgina 23 de 34
#clientes, el server es .1
server 10.4.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 5
Grabamos y salimos
cd /etc/openvpn
./cliente1.sh
Si todo fue Ok. Deberamos ver al final de la consola algo as:
Mon Jul 14 13:35:30 2008 us=329016 Initialization Sequence Completed
15. Verificamos con el comando ping que el tnel est trabajando
En PC A: ping 10.4.0.2 y En PC B: ping 10.4.0.1
# iptables -A INPUT -i tun0 -j ACCEPT
# iptables -A FORWARD -s 192.168.3.0/24 -d 10.255.255.0/24 -j ACCEPT
# iptables -A FORWARD -d 192.168.3.0/24 -s 10.255.255.0/24 -j ACCEPT
Caso 4. Enrutamiento.
Supongamos que tanto el PC A como el PC B son servidores de VPN en sus
respectivas sedes. Por tanto tienen 2 tarjetas de red: Una conectada a la red
privada y otra a Internet. Asumiendo que podemos hacer ping a travs del tnel,
el prximo paso es rutear la subred real a travs del tnel Nuestro objetivo es
conectar de manera segura ambas redes privadas.
PC A: 192.168.1.0/24
PC B: 192.168.5.0/24
Ejecutamos en ambos equipos para habilitar el bit de reenvo:
Pgina 26 de 34
Caso4.Firewall
Adicionar las siguientes reglas en el firewall de las sedes :
iptables -A INPUT -p udp -s 1.2.3.4 --dport 1194 -j ACCEPT
Donde 1.2.3.4 representan la IP pblica de conexin a Internet de los equipos
firewall respectivos.
Esta regla permitir paquetes entrantes en el puerto UDP de Open VPN por
default 1194 .
La regla:
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
podra ser adecuada si una de las parejas (el cliente) tiene IP dinmica, como es
Pgina 27 de 34
Debemos agregar tambin una regla al firewall para que permita trfico entrante
en el dispositivo TUN:
Pgina 28 de 34
Anexo A
IPTABLES Bsico
Este es el camino que seguira un paquete en el kernel:
Cuando un paquete u otra comunicacin llega al kernel con iptables se sigue este camino.
-t [tabla]
siguientes :
[criterio]
-j [action]
ACCEPTaceptarelpaquete.
REJECT o DROP lo desecharn, la diferencia entre ellos
reside en que DROP descartar el paquete silenciosamente y
REJECT emitir un paquete ICMP Port Unreachable,
indicando
que
est
cerrado.
REDIRECT redirigir el paquete a donde se indique en el
criterio
del
comando
y
por
ltimo...
LOG lo logear para su posterior anlisis.
Pgina 30 de 34
el
kernel
Redireccionar al puerto 3128 (proxy) todos los paquetes que entran por
eth1 y con destino puerto 80 (HTTP), de esta manera conseguimos un
proxy transparente
4.
Pgina 32 de 34
10. Aade una regla para no dejar pasar ningn paquete de entrada.
Comprueba en este caso que tampoco tienes conexin a Internet.
11. Borra la regla introducida en la pregunta 10.
12. Aade una regla para dejar pasar todos los paquetes que salgan de tu
equipo.
13. Tenemos un servidor web instalado y queremos permitir el acceso desde
el exterior. Aade la regla necesaria al cortafuegos.
14. Tenemos un servidor ftp funcionando y queremos permitir el acceso ftp
desde el exterior. Aade la regla necesaria en IPTABLES.
15. Si quieres denegar el acceso por debajo del puerto 1024. Qu reglas
debes aadir a IPTABLES?
16. Rechaza todos los paquetes que vengan de la direccin 80.100.30.27
17. Borra todas las reglas introducidas y aade una para que no se pueda
hacer ping a nuestro equipo.
18. Aade una regla para dejar pasar todos los paquetes que procedan de
127.0.0.1 (loopback) y vayan dirigidos al equipo 80.90.1.150
19. No queremos permitir que el equipo con ip 80.90.100.110 se pueda
conectar a nuestro servidor web. Aadir una regla para denegar el acceso
al servidor web a ese equipo.
20. Aade una regla para permitir el acceso va ssh (puerto 22) al equipo con
ip 90.80.70.60
21. Aade una regla cuya funcin sea hacer ping desde nuestra propia
mquina (protocolo icmp).
22. Aade una regla para que el equipo que tienes situado a tu derecha no
obtenga respuesta al hacer ping.
23. Aade una regla para impedir conectarse mediante FTP al equipo con IP
192.168.1.15
24. Crea un pequeo script que contemple los siguientes casos:
- La poltica por defecto es no dejar entrar ningn paquete al equipo.
- Se permite el acceso al servidor web desde el exterior.
Pgina 33 de 34
Pgina 34 de 34