Solución a los problemas de seguridad y calidad -------------------------------------------------------------------------------- Después de analizar las indudables ventajas que un servicio de VPN puede reportar a su organización (menos coste que un a solución privada dedicada, mayor cobertura al poder integrar usuarios/trabajadores con diferentes tipologías de acceso (acceso conmutado, ADSL indirecto, cable-módem…) desde diferentes redes (Internet),… ), se ha decidido a implementar o contratar una solución VPN. Pero antes de dar ese paso (si no lo ha hecho ya), quizás esté pensando que si bien todas las ventajas anteriormente esgrimidas son muy interesantes, su organización no se puede permitir una merma de funcionalidad en dos aspectos críticos y especialmente sensibles: la seguridad y la calidad de servicio. A lo largo de las siguientes líneas intentaremos ofrecerle una perspectiva de las posibilidades existentes hoy en día para resolver estas problemáticas, y esbozar las tendencias que previsiblemente van a marcar la pauta en el plazo más inmediato. Conceptos iniciales Llegados a este punto, no está de más una breve reseña de lo que es y entendemos por VPN ó Red Privada Virtual. Una VPN no es sino una solución que nos permite disfrutar de un servicio de conectividad segura y fiable sobre una red pública, un medio compartido. En función de las características de este medio, o más exactamente de los protocolos empleados y tipo de red, podremos distinguir diferentes tipos de VPN, cada una de ellas caracterizada por una serie de ventajas y desventajas. Así, hasta no hace demasiado tiempo, las VPN basadas en servicios portadores de nivel 2 (como ATM o FR) constituían el elemento clave en los catálogos de productos de los proveedores de servicio en este segmento. Este tipo de soluciones permiten la provisión de servicios de conectividad entre diferentes ubicaciones gracias a la constitución de una topología entre ellas mediante circuitos virtuales sobre una red FR ó ATM (o mixta, con una capa de acceso FR y un núcleo ATM, como es el caso de la mayor parte de los operadores), garantizan los parámetros de calidad de servicio asociados a estos protocolos (CIR, Bc, Be en el caso de FR; SCR, PCR, MCR,… en el caso de ATM), y dado que se trata de tecnologías orientadas a conexión donde se crean circuitos virtuales, limitan los problemas de intrusión. Adicionalmente, dado que se basan en protocolos de nivel 2, es posible la transmisión de diferentes protocolos de nivel de red (IP, IPX, Decnet…). Como contrapartidas se encuentran una escalabilidad comprometida en el caso de necesitar proveer una topología completamente mallada entre un gran número de ubicaciones, y la dificultad de integrar diferentes tipologías de acceso (acceso conmutado (RTB/RDSI) o cable-módem, por ejemplo). La amplia difusión alcanzada por IP, fundamentalmente gracias a la explosión del fenómeno Internet, es el principal promotor de la aparición de otro concepto de VPN, articulada en torno a IP. En este artículo nos centraremos sobre este tipo de soluciones, que también se denominan IP-VPN. Pero IP no fue concebido como un protocolo orientado a conexión, y por tanto adolece de mecanismos que puedan asegurar, por sí mismos, aspectos críticos como la seguridad o la calidad de servicio. La resolución de estas problemáticas ha pasado pues por el desarrollo de nuevos protocolos afines y la combinación de los mismos con mecanismos avanzados de priorización y gestión de buffers en los routers. A continuación abordaremos las principales posibilidades existentes en la actualidad. Seguridad En una red IP, si no se retringe por otros medios, dos usuarios conectados pueden tener visibilidad mutua. Esta posibilidad, donde precisamente radica el éxito de Internet, debe administrarse con prudencia cuando hablamos de IP-VPNs, ya que dentro del marco de las mismas, sólo deberán poder acceder a los recursos de la IP-VPN los usuarios habilitados para ello. Para ello, la utilización de protocolos de tunneling de nivel 2 y dispositivos de control de acceso (firewalls, routers con listas de acceso) son las tecnologías de base utilizadas mayoritariamente en la actualidad. Si adicionalmente, la autentificación, integridad y confidencialidad de las comunicaciones son requisitos imprescindbles, IPSec es la vía, a la vista de su rápida adopción por parte de los principales fabricantes y los continuos avances que se están haciendo en el campo de la interoperabilidad entre equipamiento de diferentes proveedores. Tunneling de nivel 2 Por tunneling entendemos la transmisión de paquetes de datos de un determinado protocolo (IP en el caso que nos ocupa) encapsulados en otro, de manera que el contenido del paquete original puede llegar inalterado a su destino, creando algo así como una conexión punto a punto virtual a través de una red IP. Existen diferentes tipos de protocolos de tunneling de nivel 2, como GRE (RFC1701), PPTP, L2F ó L2TP (RFC2661). El primero de ellos se utiliza normalmente en el caso de intercambios entre routers conectados mediante un acceso permanente a una red IP, mientras que los restantes se usan habitualmente para integrar las conexiones de los usuarios accediendo vía RTB/RDSI. De estos últimos, L2TP, que aúna funcionalidades de PPTP y L2F, es el más ampliamente soportado. Este modelo de VPN permite, mediante los túneles establecidos entre el terminal del usuario o el servidor de acceso remoto del operador y el terminador de túneles en la sede de la corporación (funcionalidad a veces integrada en el mismo router corporativo), una autentificación del usuario vía servidores de autentificación RADIUS o TACACS+. De esta manera la corporación podrá gestionar su propio direccionamiento IP autónomamente (los paquetes originales, tal y como salen de la fuente, se encapsulan o ‘tunelizan’, por lo que sus direcciones IP no son tratadas por los routers del proveedor de servicios), lo que posibilita controlar el acceso a los recursos internos mediante dispositivos como cortafuegos (firewalls), ya que el direccionamiento asignado está perfectamente identificado y acotado. Por último, en el horizonte cercano aparece MPLS (Multiprotocol Label Switching) como tecnología que, integrando funcionalidades de capa 2 y capa 3, puede desplazar la problemática del tunnneling del equipo de cliente a la red del proveedor de servicio, además de proveer funcionalidades adicionales. Por el momento, existen implementaciones propietarias relativamente recientes. El desarrollo de un estándard para asegurar interoperabilidad en las MPLS-VPN es el siguiente paso. IPSec El esquema de IP-VPN mediante tunneling de nivel 2 puede no ser suficiente para el intercambio de información sensible. Para ello es necesario algún tipo de mecanismo adicional de protección. IPSec (IP Security), es un conjunto de recomendaciones y protocolos definidos para proteger intercambios de datos sobre IP, mediante encriptación a nivel de red, lo que permite proveer una seguridad extremo a extremo. IPSec incluye el soporte de servicios de confidencialidad (encriptación), autentificación (garantía de la identidad del emisor), integridad (garantía de que el contenido no ha sido modificado) y metodologías para el intercambio de claves de encriptación. El soporte de estas funcionalidades se realiza mediante la adición a cada paquete IP de cabeceras adicionales. La denominada AH (Authentication Header, RFC 2402), se encarga de procurar la integridad y autenticidad de los datos, mientras que la cabecera ESP (Encapsulation Security Payload, RFC 2406) se encarga de la confidencialidad, integridad y autenticidad de los mismos. Ambos dos mecanismos pueden usarse conjuntamente. IPSec opera en dos posibles modos: Modo Transporte o Modo Túnel. El primero se emplea sobre los equipos terminales, sin modificar la cabecera original del paquete. El Modo Túnel coloca una nueva cabecera IP que enmascara las direcciones de la cabecera original. Así, mientras que en el modo transporte sólo se encriptan los datos, en el modo túnel se encripta la cabecera IP original. Se emplea cuando alguno de los extremos (IPSec proxy) realiza la encriptación en vez de los equipos terminales (host). IPSec define la posibilidad de utilizar diferentes algoritmos de encriptación o integridad, tanto de clave pública (también denominados de encriptación asimétrica porque se utilizan dos claves, una conocida o pública para encriptar y otra secreta para que el receptor pueda desencriptar la información), como de clave privada (también denominados de clave simétrica porque se utiliza la misma clave para encriptar y desencriptar la información). La provisión de nuevos usuarios dentro de la VPN se realiza mediante la definición y configuración de asociaciones de seguridad o SAs (Security Association) entre los extremos de la sesión IPSec. La configuración de esta SA puede ser, en función de las características del producto concreto utilizado, manual, mediante la configuración de sus parámetros descriptivos (claves a utilizar y protocolo de encriptación, principalmente) en cada extremo, o dinámicamente mediante IKE (Internet Key Exchange, RFC2409). Cara a desplegar grandes VPNs y facilitar su escalabilidad, el soporte de ÏKE es un requisito que debe cumplir el producto seleccionado. IKE creará un túnel seguro entre las dos entidades que negocian la SA para IPSec. Este proceso requiere que ambas dos entidades se autentifiquen mutuamente y establezcan sus claves. Esta autentificación puede ser realizada por varios métodos. Uno de estos métodos requiere la preconfiguración en los equipos de lo que se denominan pre-shared keys (claves privadas iniciales), mientras que otros lo evitan mediante el uso de certificados digitales e interacción con una Autoridad de Certificación (CA, Certification Authority), lo que posibilita disponer de una solución mucho más escalable. Una vez culminada esta etapa, se obtiene una SA para IKE, lo que permite el comienzo de la negociación de la SA para IPSec. Una vez establecida, ambos extremos podrán comenzar a comunicarse de una manera segura. En el momento de optar por una solución IPSec, uno de los factores más importantes a de sopesar será su rendimiento. El tipo de algoritmo soportado y la longitud de la clave utilizada determinarán la robustez de la encriptación, proceso normalmente muy exigente en recursos de CPU. Existe equipamiento que implementa estas funciones mediante módulos específicos, cara a liberar el órgano central de procesamiento. Sin embargo generalmente suponen un mayor coste, por lo que en función de la carga que deba soportar el equipo en términos de túneles o sesiones encriptadas, se optará por una solución software o hardware, siendo normalmente esta última la más optima desde la perspectiva de prestaciones. La figura 3 muestra un ejemplo de combinación de tecnologías y tipologías de acceso que puedo integrar en una IP-VPN. En la misma se puede apreciar que una solución IPSec será normalmente implementada en base a equipos ubicados en las dependencias de la organización que constituye la VPN, o mediante software en el propio PC de usuario. Pero, ¿necesito que ese equipo me desempeñe también la funcionalidad de cortafuegos? ¿y la de router? La respuesta a esas preguntas me determinará exactamente el contenido de las cajas negras representadas en la figura, y en consecuencia también su coste. Calidad de servicio La problemática de la calidad de servicio o QoS (Quality of Service) en una VPN, entendiendo como tal la posibilidad de asegurar y medir una serie de parámetros que describen el grado de servicio recibido por el usuario, está claramente ligada al tipo de tecnología subyacente utilizada. Los parámetros que definen la calidad de servicio en este entorno son básicamente: ancho de banda, retardo, variación de retardo, pérdida de paquetes y disponibilidad. Las VPN sobre servicios portadores nivel 2 (ATM, FR) disfrutan de los mecanismos de estos protocolos para asegurar estos parámetros. Por tanto, la verdadera problemática, que no es exclusiva de las VPNs, reside en la capacidad de IP para ir más allá de un servicio best-effort. Al margen de la colección de acrónimos, matices y variaciones que al referirse sobre QoS surgen continuamente (CAR, WFQ, WRED, MPLS TE, CR-LDP, COPS, DEN…), de una manera sintética podemos decir que existen dos aproximaciones para abordar la problemática de la calidad de servicio, ambas dos en fase de estandarización por el IETF (Internet Engineering Task of Force): el Modelo de Servicios Integrados (IntServ) y el Modelo de Servicios Diferenciados (Diffserv). El modelo IntServ adopta lo que podríamos denominar ‘aproximación por flujo’. Se envían peticiones de reserva de ancho de banda por cada comunicación o flujo que establece. Este modelo utiliza RSVP (Resource Reservation Protocol) como protocolo de señalización. El requerimiento de que RSVP deba ser interpretado por el conjunto de equipos atravesados y la carga que esta señalización puede suponer sobre los mismos, ha hecho que se cuestione su capacidad para ser desplegado en grandes redes. El Modelo DiffServ adopta lo que podríamos denominar ‘aproximación por Clase de Servicio’. Mediante la codificación del byte ToS de los paquetes IP (rebautizado DS), en los extremos de la red se clasifican los paquetes como pertenecientes a diferentes Clases de Servicio, cada una de las cuales está caracterizada por un tratamiento diferente en el nucleo de la red. Este tratamiento hace referencia básicamente a cómo se encolan los paquetes en diferentes buffers, como se gestiona y prioriza cada uno de ellos (scheduling) y qué política se sigue en caso de congestión de buffers (adaptación de tráfico (shaping), descarte selectivo). Las limitaciones de escalabilidad del modelo IntServ hacen de DiffServ la opción más aceptada en el mercado. De hecho, su principio de funcionamiento es la base de las políticas de gestión de tráfico IP (clasificación de tráfico en base a parámetros (dirección IP origen, dirección IP destino, puerto…) y tratamiento de buffers diferenciado) que actualmente implementan las redes de operadores (y algunas corporaciones). Lo fundamental a entender de este modelo (DiffServ), y de las técnicas relacionadas empleadas actualmente, es que no se asegura de manera determinista por cada flujo unos parámetros determinados de QoS, como es el caso de un circuito ATM, por ejemplo, sino que se forman agregaciones de tráfico. Así, un operador puede integrar las conexiones de usuarios pertenecientes a diferentes VPNs dentro del mismo agregado, teniendo por tanto todas ellas el mismo tratamiento a nivel de red. Este tratamiento podrá ser diferente al que tengan los usuarios de su oferta de acceso gratuito a Internet, por ejemplo, pero, al día de hoy, sólo un trabajo de ingeniería de red y un dimensionamiento correcto de la misma podrán hacer que unos determinados valores de retardo o pérdida de paquetes se respeten. MPLS- TE (Traffic Engineering) permitirá en el futuro el mapeo de los valores del byte DS a diferentes ‘trayectos virtuales’ o LSPs (Label Switched Paths) que podrán ser enrutados selectivamente en la red del proveedor de servicios, pero todavía está en fase de estandarización. Otro aspecto muy importante es el que hace referencia a la clasificación de los paquetes. Dado que el valor del byte DS puede ser modificado en cualquier equipo intermedio, una calidad extremo a extremo sólo será alcanzable cuando todos los elementos involucrados en la cadena (dominios DiffServ) actúen regidos por las mismas políticas, lo que de momento descarta Internet. En suma, todavía queda camino por recorrer, pero la apuesta decidida sobre IP como protocolo soporte de una cada vez más amplia gama de servicios (voz, multimedia…) que han adoptado los principales proveedores de equipamiento y servicios puede hacer sentirnos optimistas sobre la pronta aparición de novedades. -------------------------------------------------------------------------------- Roberto Ramos Ingeniero de Datos IP de EUSKATEL