Introducción a los servicios de Red Privada Virtual Manuel Vilas Paz Roberto García Fernández Xabiel García Pañeda David Melendi Palacio
VPN (Red Privada Virtual) •
Ofrecer Ofrecer un servi servicio cio que permita permita a los los clien clientes tes,, situa situados dos en punt puntos os distantes de una red de comunicaciones, tener la impresión de compartir la misma red independientemente de su situación – Auto Autori riza zaci ción ón de de acce acceso so – Prot Protec ecci ción ón de los los dat datos os
Infraestructura común
Túnel encriptado
Los clientes remotos de la VPN serán considerados igual que los clientes internos de la red
Túnel IP Datos
192.168.100.1
192.168.101.1
Datos
192.168.100.1
192.168.101.1
192.168.101.0/24
192.168.100.0/24
1 0 . 1 0 .1 0 . 1
1 0. 10 . 10 . 2
Utilizando el campo de datos del paquete IP, se transmite un nuevo paquete IP, identificando origen y destino dentro de la VPN 192.168.100.1
192.168.101.1
Cabecera IP externa utilizada para encaminar el tráfico entre los extremos de la VPN dentro de la red del operador 10.10.10.1
10.10.10.2
Además, los datos en el túnel de una VPN suele ir encriptados
VPN Host a Servidor (Host) • Dos equipos se conectan de forma remota estableciendo un túnel entre ellos – Son útiles cuando el usuario solo quiere acceder a recursos locales del otro extremo
Conexión punto a punto entre dos elementos
VPN Host a Sede • Un equipo remoto se conecta a la red de su empresa a través de una red pública de telecomunicaciones – Un extremo del túnel es, por ejemplo, el Firewall de entrada a la oficina – El otro extremo es el PC del cliente • El usuario necesita saber de la presencia de la VPN
Solo los clientes autorizados y con los protocolos de encriptación adecuados podrán conectarse mediante VPN
VPN Sede a Sede •
Dos oficinas remotas se conectan directamente a través de una infraestructura común – Ahora, los dos extremos del túnel pueden ser, por ejemplo, los firewall de entrada a la red – Para los clientes de la red es totalmente transparente Ahora, los clientes ven sus respectivos Firewall como su router de salida IP.
Los equipos Firewall son los que establecen el túnel entre ellos Oficina 1 Oficina 2
Servidores de Mediación (Hamachi LogMeIn) 1.
Los clientes seleccionan una clave pública y una privada.
2.
Los clientes establecen una conexión con un servidor de mediación, le comunican su clave pública y se les asigna un IP “virtual”.
3.
Los usuarios definen “redes” en las que pueden participar solo un grupo de usuarios.
4.
Los clientes establecen un túnel directo, que gracias a la ayuda del servidor de mediación puede atravesar Firewalls, NAT/PAT,…
Tipos de túneles • IPSec – Extensión segura del protocolo IP – Muy potente pero de alta complejidad y costo computacional
• TLS/SSL (Transport Layer Security / Secure Socket Layer) VPN – Surge a partir de los protocolos seguros de navegación web • Se basa en encapsular tráfico sobre sesiones SSH
– Solución más “simple” ya que no altera la pila de protocolos, haciendo la implementación independiente del núcleo del sistema operativo
IPSec • Conjunto de protocolos que permiten extender las funcionalidades de IP: – establecer claves de forma dinámica – encriptar y autenticar cada unidad de datos
• Dos modos: – modo de transporte • Solo el campo de datos se codifica • Típico en las comunicaciones host a host
– modo tunel • Un paquete IP entero se encapsula en IPSec • Ha de añadirse una nueva cabecera para que el routing siga funcionando • Utilizado en comunicaciones sede a sede, host a sede y host a host
IPSec. Protocolos •
ISKMP (Internet Security Association and Key Management Protocol) –
•
IKE (Internet Key Exchange) –
•
Permite el establecimiento de SA (Security Agreement) entre los elementos participantes en la comunicación Gestiona las claves de sesión de forma que estas se mantienen secretas
AH (Authetication Header) Protocol – Autentifica la fuente y verifica la integridad de los datos – Protocolo IP 51
•
ESP (Encapsulation Header Protocol) – –
Verifica la integridad de los datos y garantiza el secreto de los mismos Protocolo IP 50
Cabecera IP
AH Header
TCP/UDP Segment
Permite verificar los campos no variables de la cabecera IP (la fuente) y la integridad de los datos Cabecera IP
ESP Header
TCP/UDP Segment
ESP Trailer
Encriptación de datos
ESP Auth Permite autentificar todos los campos anteriores
Tipos de VPNs IPSec PSK o certificados • •
Las claves utilizadas en la encriptación basada en certificados son más largas 1024 bits y escogidas de forma que los protocolos se comporten de una forma especialmente robusta La clave precompartida (PSK) se elige de forma que sea fácilmente recordable – Demasiado corta? – Ataques por diccionario?
•
El despliegue basado en PSK es más sencillo – Los especialistas en seguridad recomiendan utilizar las VPNs basadas en PSK solo para comprobar que el despliegue es viable (encaminamiento, firewall,…) y posteriormente migrar a certificados.
Criptografía de clave pública y privada Se basan en operaciones de aritmética modular que son de cálculo sencillo pero de muy difícil inversión
Clave pública
Clave privada
Conocida por todo el mundo
Conocida solo por su propietario
Mensaje
Mensaje Encriptado
Algoritmo
Mensaje
Algoritmo Solo el poseedor de la clave privada puede desencriptar los mensajes El resto tendrían que implementar un ataque por fuerza bruta, que, con las capacidades de computo actuales y la selección correcta de las claves es inviable Permite la firma de mensajes garantizando su autenticidad
Despliegue de VPNs basadas en IPCop Host a Sede
Manuel Vilas Paz Roberto García Fernández Xabiel García Pañeda David Melendi Palacio
Elementos VPN Host a Sede
Internet
192.168.101.0/24 IP Pública del cliente El cliente tiene que conocer el rango de direcciones remoto para poder decidir si meter el tráfico por el túnel VPN o enviarlo directamente a Internet
Tipo de autentificación y encriptación de datos
IP Pública del Servidor de VPNs
Red privada detrás del servidor de VPNs
Disponemos de, al menos, dos mecanismos de autentificación: • Autentificación básica basada en secreto compartido (clave alfanumérica) • Autentificación avanzada basada en certificados
Configuración de VPNs •
Activación – Pestaña VPNs – Seleccionar casilla “Activo” – Pulsar en “Guardar” Zona común
VPNs definidas en el equipo
Configuración de VPN cliente a sede basada en secreto compartido • Pulsar en botón “Agregar” • Seleccionar el Tipo de VPN – Anfitrión-a-red = Host a Sede Remota – Red a Red = Sede a Sede
• Pulsar nuevamente “Agregar”
Configuración de VPN basada en secreto compartido en la sede • Se basan en una clave alfanumérica compartida Nombre descriptivo. Su única utilidad es diferenciar las distintas VPNs en la interfaz gráfica de IPCop
Direcciones IP internas que queramos que sean encaminables desde la IP remota
Limitar los host que se pueden conectar con esa VPN
Seleccionar este campo
Clave Clave pre-compartida pre-compartida
Configuración de VPN en el cliente • El soporte para IPSec de Microsoft es complejo de gestionar y soporte con asistentes no incluye algunas funcionalidades del protocolo • Recurriremos a clientes de terceros para conectarnos a la sede desde un cliente Windows – LinSys Ipsec Tool • Interfaz gráfico y soporte para funcionalidades avanzadas de Ipsec – PFS ( Perfect Forward Secrecy )
• Incluye aplicación para importar certificados creados desde un Linux • Disponible desde: – http://sourceforge.net/projects/lsipsectool/
– Shrew Soft VPN Access Manager • http://www.shrew.net/
Linsys IPSec Tool Dirección IP pública a utilizar en el extremo cliente del túnel IPSec
Red interna que estamos utilizando Dirección IP pública del otro extremo del túnel IPSec
Tipo de autentificación
Red remota detrás del túnel IPSec. Necesario para encaminar
Clave precompartida
Dirección IP remota para monitorizar el estado del tunel IPSec (pings periódicos)
Monitorización y resolución de problemas del túnel IPSec Monitorización: • En el IPCop entrando por ssh al puerto 222: – –
•
tail –f /var/log/messages El intercambio de mensajes, en caso de finalizar correctamente el establecimiento, tiene que terminar en “SA Established ”
En el Linsys IPSec –
Botón derecho sobre el icono de la barra de tareas •
“Ver Log ”
“Resolución de problemas”: 1. Botón de reinicio de VPN 2. Entrar en la línea de comandos del equipo y reiniciar el servicio: /etc/rc.d/ipsec restart 3. Si nada de lo anterior funciona … REINICIAR EL EQUIPO!!!!
VPN Cliente a Sede basada en certificados •
En el IPCop objetivo de las VPNs vamos a generar un certificado Raíz y uno de Host – Desde la pantalla inicial de VPNs • Generar certificados Host/Raíz – Crea dos ficheros “hostcert.pem” y “cacert.pem”
•
Se utilizarán en este caso para: – Autentificación del IPCop contra los clientes – Autenticidad de los certificados de Host y Clientes
El IPCop tiene que poder autentificar al cliente (conocer su clave pública) y poder verificar su la autenticidad del certificado (conocer la clave pública de la autoridad de certificación)
El cliente tiene que poder autentificar al cliente (conocer su clave pública) y poder verificar su la autenticidad del certificado (conocer la clave pública de la autoridad de certificación)
Certificado IPCop1 emitido por CA1
Certificado cliente emitido por CA1
(firmado digitalmente por CA1)
(firmado digitalmente por CA1)
Certificado CA1
Configuración de VPNs cliente a sede basadas en certificados • Ahora, la encriptación y autentificación se basará en certificados
Nombre del certificado de cliente y
Exportar el certificado creado • •
Conectarse a la interfaz web Pulsar en el icono “Descargar Certificado” – Certificados PKCS12: Combinan el certificado de clave pública, clave privada y la autoridad certificadora en un solo certificado • Simplifica el proceso de manipulación de ficheros e intercambio de los mismo con los clientes – Solo es necesario manipular un fichero e interpretarlo
• •
Grabar el certificado en algún lugar del disco local del cliente de VPN Importarlo desde Linsys IPSec: – Opciones IPSec – certificados – Certificados personales – Seleccionar fichero • Con clave la que se indicó en “Fichero de contraseña” en la interfaz del IPCop
– Pulsar en la flecha para aceptar los cambios
Despliegue de VPNs basadas en IPCop Sede a Sede
Manuel Vilas Paz Roberto García Fernández Xabiel García Pañeda David Melendi Palacio
Elementos de VPN sede a sede Internet
192.168.100.0/24
Red privada detrás del servidor 1 de VPNs
IPCop2
IPCop1
IP Pública del Servidor 1 de VPNs
Tipo de autentificación y encriptación de datos
IP Pública del Servidor 2 de VPNs
• Cada equipo debe saber las direcciones detrás del otro extremo del túnel para tomar decisiones de qué tráfico enviar a Internet y qué tráfico enviar por el Tunel VPN
192.168.101.0/24
Red privada detrás del servidor 2 de VPNs
Configuración de VPNs Sede a Sede basadas en secreto compartido Nombre (alfanumérico)
IP del otro extremo de la VPN
Subred remota detrás del otro extremo. ¡¡No se pueden solapar!!
Clave pre-compartida En caso de que en el primer intento no funcione: 1.
Botón de reinicio de VPN
2.
Entrar en la línea de comandos del equipo y reiniciar el servicio: /etc/rc.d/ipsec restart
3.
Si nada de l
terior f
ci
REINICIAR EL EQUIPO!!!!
Configuración de VPNs Sede a Sede basadas en secreto compartido
Red privada detrás del servidor 1
IPCop1
IPCop2
IP Pública del Servidor 1
IP Pública del Servidor 2
Clave compartida
Red privada detrás del servidor 2
Elementos de VPN Sede a Sede basada en certificados Autoridad certificadora (CA)
Certificado CA1
Red privada IPCop1
Certificado CA2
Entidad confiable que garantiza la autenticidad de los certificados de emitidos
IPCop1
IPCop2
Certificado IPCop1 emitido por CA1
Certificado IPCop2 emitido por CA2
(firmado digitalmente por CA1)
(firmado digitalmente por CA2)
IPCop1, para garantizar la identidad de IPCop2 necesita disponer del certificado de IPCop2 y conocer el certificado de su autoridad certificadora. De esta manera puede comprobar la autenticidad del certificado.
Red privada IPCop2
IPCop2, para garantizar la identidad de IPCop1 necesita disponer del certificado de IPCop1 y conocer el certificado de su autoridad certificadora. De esta manera puede comprobar la autenticidad del certificado.
VPN Sede a Sede basada en certificados. Importar certificado CA remota •
En cada IPCop vamos a generar un certificado Raíz y uno de Host – Desde la pantalla inicial de VPNs • Generar certificados Host/Raíz – Crea dos ficheros “hostcert.pem” y “cacert.pem”
• Descargar certificados a equipo local desde el navegador • Debemos dar un nombre único a estos ficheros para diferenciar los de los dos IPCops – Para IPCop1 hostcert-1.pem, cacert-1.pem – Para IPCop2 hostcert-2.pem, cacert-2.pem
• Cargar en cada IPCop el certificado de la CA del otro – En “Autoridades Certificadoras” introducir el nombre del otro IPCop » En IPCop1 cargar cacert-2.pem » En IPCop2 cargar cacert-1.pem
IPCop1
/var/ipcop/ca/cacert.pem /var/ipcop/ca/NombreCARemotacert.pem
IPCop2