Portada » Informática » Acceso Remoto Seguro con VPN
En una arquitectura VPN, el cliente utiliza Internet, pero establece un canal cifrado para conectarse a un servidor VPN. Este servidor traspasará todo el tráfico, una vez descifrado, por la red interna segura al servidor, quedando su contenido protegido.
Muy próxima al adaptador de red y transparente a los protocolos de alto nivel y a las aplicaciones de los usuarios. Un ejemplo de protocolo de seguridad en este nivel es L2TP.
Se asegura el protocolo IP encargado del transporte de paquetes. Este es el tipo de seguridad que se consigue con IPsec. Se encapsulan los datos a enviar en paquetes IP que serán asegurados mediante IPsec.
Se sustituye el protocolo inseguro por otro más seguro pero funcionalmente equivalente. Sustituimos las conexiones http por conexiones https, smtp por smtps, etc. La seguridad no es transparente a las aplicaciones y deben ser reprogramadas para utilizar las versiones seguras de los protocolos.
La técnica de tunelización consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un túnel dentro de una red de ordenadores. Este túnel se construye o implementa incluyendo una PDU (Protocol Data Unit) determinada dentro de otra PDU de nivel inferior con el objetivo de transmitirla entre los extremos del túnel sin que sea necesaria una inspección intermedia de los valores de control del protocolo encapsulado, que pasará totalmente desapercibido al protocolo encapsulador. Este paquete contiene otro de tipo PPP que lleva su propia cabecera y que además cifra su carga. Esta carga es un datagrama IP (sombreado en gris en la imagen). Se trata de encapsular este paquete dentro de otro en el que añadimos tres cabeceras:
El enrutamiento se hace con la información del paquete PPP, no con la del encapsulado. Cuando llega al otro lado del túnel, se extrae el paquete encapsulado, se descifra y se manda por la red local hacia las ip de este paquete.
El usuario se conecta con el sitio remoto utilizando Internet como red de acceso, de modo que se establece un túnel entre el sistema del usuario y el servidor de VPN remoto que le proporciona el acceso a una red local. Una vez establecido el túnel, el cliente podrá relacionarse con los nodos de la red remota a través del túnel como si fueran locales. El usuario debe autenticarse en el servidor remoto para obtener el permiso para establecer el túnel.
El túnel se establece entre dos redes locales por lo que cada red local debe tener su propio servidor VPN. Todos los clientes de cualquiera de las redes locales podrán utilizar el túnel para establecer conexiones con los clientes de la otra red como si estuvieran en la misma red local.
Se parte de un esquema semejante al de acceso remoto pero sustituyendo Internet o la red pública de tránsito impidiendo las escuchas o las suplantaciones dentro de la LAN. El cliente deberá autenticarse en el servidor de VPN interno para acceder a los recursos de la red o al resto de los servidores de la red. Se utiliza para aislar servidores o conjuntos de ellos dentro de la LAN con protección de nivel superior y con autenticación en el acceso. Típico en las conexiones de redes Wi-Fi.
Para establecer una VPN son necesarios al menos dos requisitos básicos:
El protocolo estándar más utilizado es IPsec pero también se pueden utilizar PPTP, L2F, L2TP, SSL/TLS, SSH, etc. Las VPN se pueden implementar por hardware o por software.
Un usuario remoto es aquel que se conecta a una LAN o WAN mediante un «acceso remoto» desde una localización geográfica distante. Para comunicarse mediante un acceso remoto el cliente y el host necesitan una red de tránsito y el software apropiado para realizar la conexión e intercambiar datos. Las tecnologías más usuales son:
Conexión por módem, X25 o RDSI. El cliente inicia una conexión dial-up ejecutando un programa marcador que marca a un número o dirección de destino. Cuando el destino descuelga, invita al cliente a autenticarse y a negociar los parámetros de la conexión como son los protocolos que se utilizarán, técnicas de cifrado, etc. Si la autenticación fue correcta, el cliente queda presentado en la red y puede empezar a realizar las operaciones que realizaría si estuviera en la LAN, mientras que si la autenticación no fue correcta, el servidor rechazará la conexión.
SLIP (Serial Line Internet Protocol) y PPP (Point-to-Point Protocol) son dos protocolos que permiten a un cliente conectarse a un servidor utilizando una conexión serie (típicamente un módem o un cable serie). SLIP y PPP encapsulan los protocolos de alto nivel como TCP e IP en tramas de datos de bajo nivel para ser transmitidos por las líneas serie.
PPPoE es el estándar para conectar estaciones utilizando PPP sobre una red Ethernet. Es el estándar utilizado para conectarse a un ISP a través de DSL o cable módem. En la creación de túneles. PPP se suele utilizar junto con un protocolo de tunelización denominado GRE, pero también puede tunelizarse con L2TP.
PPTP es de Microsoft y mejora las características de PPP que le encapsula para que cualquier tipo de datos PPP puedan atravesar Internet como una transmisión IP habitual. Soporta encriptación, autenticación y servicios de acceso. Es provisto por RRAS.
L2TP es de Cisco y estandarizado por la IETF como heredero de PPTP y L2F (de Cisco). Encapsula datos como PPP, está aceptado por multitud de fabricantes y proporciona encriptación.
IPsec es una extensión del protocolo IP que permiten asegurar las comunicaciones sobre IP, autenticando y, si se desea, cifrando los paquetes IP de una comunicación. IPsec trabaja en la capa de red y puede ser utilizado por cualquier. IPsec puede utilizar uno de dos protocolos, Authentication Header (AH) o Encapsulationg Security Payload (ESP). Además IPsec tiene que utilizar ISAKMP (Internet Security Association and Key Management Protocol), un protocolo de gestión de claves de cifrado.
IPsec puede funcionar en dos modos distintos:
Un protocolo de autenticación es un protocolo que permite verificar la identidad de la persona o servicio que desea acceder a un recurso de la red.
En PAP las credenciales del usuario (nombre de usuario y contraseña), se envían por la red sin cifrar, por lo que es un método de autenticación inseguro.
En CHAP el cliente envió una petición de acceso con un hash de la contraseña. Entonces el servidor manda al cliente un desafío. El cliente utiliza un algoritmo hash (MD5) para calcular un resultado con su contraseña y el desafío, y lo envía al servidor. El servidor hace el mismo cálculo con la contraseña que él posee y compara el resultado con el recibido por el cliente. Solo si son iguales se permite el acceso.
EAP admite diversos modos de autenticación. Es más una arquitectura que un único protocolo. Puede utilizar tanto certificados digitales como tokens e incluso parejas usuario/contraseña. Es muy utilizado en la autenticación sobre redes inalámbricas y en conexiones punto a punto.
Es una extensión de EAP que permite que EAP interaccione con un servidor RADIUS que proporciona la autenticación de credenciales y las claves de cifrado haciendo de EAP uno de los protocolos más seguros y muy habitual en dispositivos inalámbricos corporativos. También admite la gestión del cifrado y autenticación mediante certificación digital.
Creado por el MIT (Instituto Tecnológico de Massachusetts) y estandarizado en la RFC 4120. Cliente y servidor se autentican recíprocamente. Utiliza cifrado AES (RFC 3962). Cada servidor, usuario o servicio dispone de una clave que se registra en una base de datos unificada en el servidor Kerberos. Cliente y servidor confían en el servidor Kerberos, quien les proporciona tickets de sesión que posteriormente serán utilizados para autenticarse frente a los servicios de red. Tanto los sistemas Windows como los GNU/Linux pueden usar Kerberos.
RADIUS (Remote Authentication Dial-In User Service) es un servicio y un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. El estándar RADIUS alberga una mayoría de características comunes a todos los fabricantes pero permite que cada implementación utilice sus propios dialectos que los hacen característicos. Ocasionalmente se pueden dar algunas incompatibilidades de unos fabricantes a otros. Las funciones que provee un servidor RADIUS son tres, las tres A (AAA):
El cliente envía sus credenciales para sean validadas. La información se transfiere a un NAS (Network Access Server) o authenticator sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba las credenciales utilizando esquemas de autenticación como PAP, CHAP o EAP. Si es aceptado, el servidor autorizará el acceso a la red a través del NAS y le asigna los recursos de red necesarios para realizar la conexión, tales como una dirección IP u otros parámetros como la configuración de L2TP, etc. Un proxy RADIUS es un servidor proxy que gestiona las peticiones y respuestas del protocolo RADIUS entre dos redes. El protocolo RADIUS utiliza dos puertos UDP: UDP-1812, que se utiliza para autenticar a los clientes o servidores. UDP-1813, por el que RADIUS gestiona un accounting para control de log y estadísticas de uso.
IEEE 802.1X permite la autenticación de dispositivos conectadas a un puerto LAN, estableciendo una conexión punto a punto o denegando el acceso por ese puerto si la autenticación falla. Está disponible en la mayor pare de los conmutadores de red no domésticas y puede configurarse para autenticar nodos que están equipados con software suplicante (el cliente de acceso). El filtrado de la conexión de acceso se realiza en la el nivel de enlace de datos (capa 2). Esta autenticación es realizada por un tercero como un servidor de RADIUS. Esto permite la autenticación del cliente y punto de acceso utilizando protocolos seguros como EAP-TLS. La arquitectura de un escenario IEEE 802.1X tiene tres capas: Supplicant. Es el cliente que quiere conectarse a la red. Authenticator. Dispositivo con puertos de conexión y que permitirá o denegará las conexiones. Authentication server. Es quien autentica a los usuarios informando al authenticator sobre si debe o no permitir la conexión solicitada por el supplicant o suministrando otro tipo de valores como la VLAN a la que debe conectarle. Suele ser un servidor RADIUS.