ACCESO REMOTO SEGURO A REDES(VPN)
REDES PRIVADAS VIRTUALES(VPN)
Cuando dos partes de una misma empresa no están en la misma ubicación física y desean
conectarse para realizar transferencia de datos, surgen diversos inconvenientes:
* El direccionamiento IP en las empresas (y hogares) siempre utiliza direcciones privadas, es
decir, emplea el protocolo NAT en el gateway para poder enviar peticiones a (y recibir las
respuestas de) internet. Sin NAT (o un proxy), esa comunicación sería básicamente imposible. La
simple utilización de NAT ya acarrea consecuencias: un equipo de la sede A no puede
comunicarse con ningún equipo de la sede B, solo con el router B, el único en B con una IP
pública reconocible desde A.
* Aunque fuera posible realizar una conexión directa entre las sedes A y B respetando el
direccionamiento IP privado, no habría forma de garantizar que no se estuviera utilizando la
misma IP en ambas sedes. La dirección [Link], por ejemplo, podría existir en ambas.
* La transferencia de datos entre A y B es visible para cualquier intruso que intercepte la
comunicación, excepto si se utiliza un protocolo cifrado.
La solución a todo esto, hasta hace relativamente poco, consistía en contratar con el proveedor
de telecomunicaciones una línea dedicada o línea punto a punto. Dicha línea era segura al no
formar parte de la maraña de internet, pero tenía unos precios prohibitivos que solo las grandes
empresas podían afrontar. Actualmente el mismo resultado se consigue, sin hacer uso de ninguna
línea dedicada, con las redes privadas virtuales (VPN, Virtual Private Network) Todas las
compañías proveedoras de internet ofrecen esta solución a grandes y pequeñas empresas como
un setvicio más, a pesar de que puede establecerse una VPN sin la intervención del ISP, como
aquí expucamos.
Una VPN consiste en crear un túnel” cifrado por internet entre dos ubicaciones A y B a través del
cual se realiza una transferencia de datos idéntica a la que ocurre en las redes locales, pero a
salvo de miradas indiscretas. Se trata, por tanto, de una conexión entre us router cliente y otro
router servidor, que los convierten en un único “router virtual” dentro de la misma red privada, Un
equipo en la sede A puede comunicarse directamente con un equipo en la sede B, a pesar de que
ambos tienen direcciones privadas y están separados por internet, porque la VPN se encarga de
hacer transparente a los equipos la separación.
Con una VPN:
A y B deben usar direccionamientos diferentes, pues el “router virtual” es, valga la redundancia,
un enrutador, no un switch. La única forma posible de que un paquete de A sepa que debe ir a B
(y viceversa) es que ambas sedes se encuentren en dominios de difusión diferentes y, así, los
paquetes deban ser enrutados por el túnel virtual.
Un equipo en A se puede comunicar con un equipo en B como si estuvieran en la misma LAN; al
pasar de una sede a la otra, los datos son cifrados y descifrados automáticamente (por cliente y
servidor VPN) y de manera transparente para los equipos emisor y receptor.
Esta variante de VPN, denominada VPN site-to-site (sede a sede), VPN bridge o túnel VPN, no es
la única: también es posible conectar un equipo individual denominado road warrior (véase el
glosario del capítulo) a la red empresarial mediante VPN, formando lo que se llama una VPN de
acceso remoto. En realidad ambas modalidades se basan en los mismos elementos: un software
servidor en un extremo y un software cliente en el otro, siendo este último el encargado de iniciar
la conexión. La única diferencia entre ambas variantes radica en que, en los enlaces site-to-site,
es necesaria la intervención de un protocolo adicional que realice el reenvío de paquetes entre los
segmentos de la subred de cada sede. Un ejemplo de este tipo de protocolo lo representa BCP
(Bridge Control Protocol).
Una VPN es, pues, la solución ideal para sortear múltiples vulnerabilidades en las
comunicaciones por internet, especialmente cuando implican redes inalámbricas. Pongamos
como ejemplo el problema de la transmisión de información sensible a cierta web a través de un
hotspot: ni siquiera el protocolo HTTPS asegura una total confidencialidad, pues puede haber
cookies o imágenes transmitidas por HTTP sin cifrar. En estos casos se puede conectar por VPN
con la red empresarial (comunicación cifrada por la VPN) y, una vez establecido dicho túnel,
conectar tranquilamente a la web por HTTPS, ya que la comunicación se haría a través del router
de nuestra empresa, lejos de las miradas indiscretas del entorno del horspot.
La velocidad del enlace VPN depende de la conexión a internet de ambos extremos. Pero,
independientemente de la velocidad de transmisión, a todos los efectos el enlace VPN se
comporta como un nodo más de la red local. Esto nos permite:
Unir equipos en A a un dominio Active Directory cuyos controladores de dominio están en
B.
Compartir una carpeta en un equipo de A y acceder a la misma desde un equipo de B, sin
necesidad de software de comunicación o de almacenamiento [Link] un
trabajo de impresión desde un equipo de A a una impresora de red en B.
Realizar una copia de seguridad del servidor de A en el NAS de B, y del servidor de B en
el NAS de A.
Una VPN requiere de un servidor VPN y de uno o más clientes VPN. Es decir, es posible crear
una VPN entre varias sedes, o entre varios road warriors y la central:
El servidor VPN actúa como servidor DHCP para sus clientes, asignándoles direcciones IP dentro
de los rangos empleados en la red empresarial. El servidor VPN actúa como gateway para sus
clientés. Un equipo cliente conectado por VPN, está utilizando el servidor VPN como puerta de
enlace hasta que cierre la sesión VPN. Es decir, todo el tráfico saliente lo hace a través del
servidor VPN (excepto si se configura manualmente su tabla de enrutamiento).
El servidor VPN puede actuar como cortafuegos y NAT para sus clientes. Precisamente por hacer
las funciones de gateway para los clientes, el servidor VPN es un software enrutador que puede
tener las mismas funciones que cualquier otro router, como por ejemplo cortafuegos y NAT. Las
VPN no tienen por qué ser montadas con un servidor de la propia empresa. Existen proveedores
de servicios VPN, que por una cuota mensual permiten la conexión VPN con sus servidores,
ofreciendo así un túnel cifrado para la navegación de la propia empresa y todos sus dispositivos
móviles.
PROTOCOLOS DE VPN
El software que realiza la conexión VPN (servidor y clientes) debe utilizar el mismo protocolo para
establecer el túnel cifrado, Existen varios protocolos, cada uno con sus ventajas e inconvenientes.
En general, cuanto más seguro es un protocolo, más lenta se realiza la transferencia de datos por
la sobrecarga que supone el cifrado. La mayoría de los sistemas operativos incorporan librerías
que permiten crear conexiones VPN usando uno o varios de estos protocolos, aunque muchos
administradores prefieren el uso de software específico, por comodidad en la configuración, como
OpenVPN.
PPTP (Point to Point Ti:mneling Protocol). Creado por Microsoft en los años noventa, aún
es utilizado por la facilidad de su configuración, aunque su uso se desaconseja
completamente; pues se considera un protocolo obsoleto por la vulnerabilidad del algoritmo
de autenticación MSCHAP (su cifrado puede ser quebrado en menos de un día). De hecho,
muchos sistemas operativos ya ni lo ofrecen como opción a la hora de crear una conexión
VPN.
L2TP/IPsec (Layer 2 Tunneling Protocol / Internet Protocol Security). L2TP es un protocolo
para crear túneles entre dos extremos, pero no es especialmente seguro por sí mismo. Ese
es el motivo por el cual suele ir emparejado con IPsec, el protocolo encargado del cifrado
del caudal de datos que atraviesa el túnel L2TP. IPsec es un protocolo muy seguro; solo
grandes agencias, como la NSA, parecen ser capaces de romperlo, si nos atenemos a las
declaraciones de Edward Snowden en el famoso caso WikiLeaks. En cualquier caso, si no
somos conspiranoicos, es una de las mejores opciones, pues tampoco resulta demasiado
complicado de configurar.
SSTP (Secure Socket Tunneling Protocol). Otro protocolo creado por Microsoft, pero que
internamente utiliza el mismo cifrado SSL/TLS que se usa en HTTBS, lo que lo convierte
en una muy buena elección. El inconveniente es que, aunque todos los equipos Windows
lo incorporan, no está disponible en casi ningún otro sistema operativo.
IKEv2 (Internet Key Exchange, version 2). Protocolo basado en IPsec, creado por Microsoft
y Cisco. Se realiza un doble intercambio de claves (autenticación de dos pasos), para lo
cual es necesario que el cliente tenga un segundo dispositivo donde recibir un código
(normalmente un móvil). Esto lo convierte en uno de los más seguros, pero también de los
menos prácticos. Y 'ello sin mencionar la complejidad de su configuración, Sin embargo, es
el único protocolo capaz de mantener una sesión VPN al cambiar de red (por ejemplo,
cuando un smartphone salta de red inalámbrica a red 4G), lo cual lo hace muy aconsejable
en terminales móviles.
SSH (Secure SHell). Como su nombre indica, no es realmente un protocolo VPN, sino un
protocolo para iniciar sesiones remotas de consola de forma segura (utilizando el cifrado
SSL). Sin embargo incorpora características adicionales entre las que se encuentra la
posibilidad de crear túneles cifrados con redirección de puertos, lo cual se puede utilizar
para navegación segura. Por ello algunos autores hacen referencia a SSH como VPN a
nivel de aplicación, en contraposición al resto de protocolos, que definen como VPN a nivel
de red. Al ser estándar, el puerto TCP que utiliza para las comunicaciones, el 22, es el que
recibe más ataques a nivel mundial de robots en busca de credenciales de administrador,
por lo que el servidor SSH suele configurarse para atender peticiones en otro puerto.
Hemos puesto aquí este protocolo por su importancia en el mundo informático, pero nunca
aparece como opción a la hora de crear una conexión VPN en un equipo cliente, al no ser
un protocolo específico de este tipo de conexiones.
DirectAccess: producto de Microsoft diseñado especialmente para unir ordenadores
remotos a dominios Active Directory haciendo uso de protocolos de cifrado. Se diferencia
de las demás VPN en que el cliente no necesita iniciar (o detener) la conexión
manualmente, como ocurre con todos los demás tipos, sino que el equipo cliente crea la
conexión al arrancar, en cuanto está disponible el acceso a internet. Es, por tanto, una
solución solo disponible en Windows Server (como servidor) y Windows 10 (como equipo
cliente, siempre y cuando esté unido a un dominio). Es la mejor opción en estos entornos
(y solo en estos), aunque para su funcionamiento requiere IPv6 en la red local.
OpenVPN ([Link]). Este software de código abierto se ha convertido, a día de hoy,
en una de las opciones más utilizadas, especialmente en arquitecturas Linux donde
multitud de soluciones se basan internamente en él. Su facilidad de configuración y la
seguridad que ofrece (SSL/TLS) ha conseguido que muchos administradores lo escojan
como software VPN en sus servidores y equipos clientes. En general, todo software de
código abierto ya tiene, por naturaleza, muchas garantías de estar más y mejor
escudriñado, mantenido y actualizado que el software propietario. Una de sus principales
ventajas, que a su vez es uno de los principales inconvenientes de otros protocolos, es la
posibilidad de atravesar cortafuegos estrictos, como se comenta más adelante. Dispone de
una versión comercial denominada Open VPN Access Server, que incluye el servidor
OpenVPN más una interfaz web de administración y clientes simplificados para diversos
sistemas operativos (Windows, Linux, MacOS, Android e 105). Tanto el servidor como el
cliente de la versión abierta están disponibles para arquitecturas Linux y Windows.
Es importante hacer mención al hecho de que todos los servidores VPN realizan labores de
autenticación del usuario que pretende conectarse con ellos. Esto implica que el servidor VPN
debe estar ligado a un servidor de autenticación (Active Directory, LDAP, RADIUS...) o disponer
de una base de datos de credenciales. A la hora de configurar un cliente VPN, aparte de rellenar
todos los campos relacionados con el propio protocolo, habrá que proporcionar el usuario y la
contraseña. Esto muchas veces confunde al usuario final, pues debe rellenar dos o más campos
de contraseñas.
EL PROBLEMA DE ALGUNAS VPN Y CORTAFUEGOS DOMÉSTICOS
Algunos de los protocolos VPN antes descritos utilizan, en algún momento de la transmisión,
tráfico de un protocolo de nivel de red especializado que no es ni TCP ni UDB, por lo que es
imposible atravesar un cortafuegos doméstico mediante reenvío de puertos. Es el caso de
L2TP/TPsec, que utiliza o puede utilizar (según la configuración especificada) el protocolo ESP
(Encapsulating Security Payload). La solución consiste en utilizar un segundo cortafuegos de
gama alta, y declararlo DMZ en la configuración del primero (o modo bridge).
ELECCIÓN DEL PROTOCOLO ADECUADO
La elección del protocolo a utilizar para configurar una VPN dependerá de los siguientes factores:
Antigúedad del servidor y los equipos clientes. Será obligatorio descartar protocolos que no
estén implementados por ser demasiado antiguos.
Disponibilidad del software VPN en la plataforma servidor. Por ejemplo, OpenVPN no
dispone de servidor para plataformas Windows, solamente Linux. Obviamente siempre
tendremos la posibilidad de instalarlo en una máquina virtual Linux alojada en un hipervisor
Windows o recurrir a la virtualización en la nube.
Disponibilidad del software VPN en los equipos cliente. Por ejemplo, los dispositivos iOS
no admiten conexiones SSTP o DirectAccess (ambos creados por Microsoft).
Necesidad de disponer de certificados digitales válidos para ciertos protocolos. La
obtención de certificados digitales validados por una autoridad certificadora de confianza
implica una inversión y un proceso de renovaciones que no todas las empresas están
dispuestas a afrontar. La opción de que la empresa genere sus propios certificados
digitales (autofirmados) complica aún más la configuración. Por ejemplo, OpenVPN hace
uso de certificados digitales, mientras que L2T'P/IPsec con cifrado PSK, no los necesita.
Complejidad en la instalación o configuración. Algunos protocolos tienen una configuración
trivial basada en unos pocos parámetros, como PPTP, mientras que otros requieren
multitud de pasos previos para ponerlos en funcionamiento (creación de pares de claves
pública-privada, generación de certificados digitales, etc.).
El protocolo más simple, con diferencia, es PPTP, siendo también el más inseguro. No obstante,
muchas empresas no necesitan un alto nivel de privacidad, sino solamente disponer del servicio
VPN para conectar en momentos puntuales los portátiles de sus comerciales con la red de la
empresa para que hagan consultas de precios en la base de datos interna. Ante esta situación,
eligen PPTP por comodidad, velocidad y disponibilidad, a sabiendas de que es un sistema poco
seguro. Es como visitar una web con HTTP en lugar de hacerlo con HTTPS, a sabiendas de que
no vamos a transmitir información sensible: nos da igual uno u otro protocolo.
CONEXIÓN A UNA VPN EN WINDOWS
En la Configuración de Windows, dentro del icono Red e internet, encontramos el apartado VPN,
donde es posible crear tantas conexiones a servidores VPN como deseemos. Una vez creadas
podemos activarlas en cualquier momento para utilizarlas, así como desactivarlas. Según el tipo
de VPN que elijamos, deberemos rellenar unos campos u otros.