You are on page 1of 82

Redes Privadas Virtuales (VPN) en Canaima GNU/Linux

Caracas, Mayo de 2009

Créditos y licencia

© 2008-2009 Centro Nacional de Tecnologías de Información © 2008-2009 ONUVA Integración de Sistemas Este documento se distribuye al público como

documentación y conocimiento libre bajo los términos de la
Licencia Pública General GNU, que puede obtener en la dirección Web: http://www.gnu.org/copyleft/gpl.html

Convenciones tipográficas
Texto enfatizado, anglicismos, texto resaltado, comandos,
salidas, paquetes o contenido de archivos. Indica información muy importante con respecto al contenido Indica comandos, salidas en pantalla o contenido de archivos Indica los pasos de un procedimiento

Página 2 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Contenido
Créditos y licencia.......................................................................................................................2 Convenciones tipográficas..........................................................................................................2 UNIDAD I. Redes privadas virtuales – VPN...............................................................................5 TEMA 1. Fundamentos de VPN..............................................................................................5 Introducción al concepto de VPN.......................................................................................5 Origen y casos de uso de las VPN.....................................................................................6 Usos comunes de las Redes Privadas Virtuales...........................................................7 TEMA 2. Arquitecturas de conexión y protocolos...................................................................8 Tipos de conexiones...........................................................................................................8 Conexión de cliente tipo: “guerrero del camino” al servidor VPN..................................8 Conexión de cliente a red de área local........................................................................8 Conexión entre dos o más redes de área local.............................................................9 Protocolos e Implementaciones.......................................................................................10 Red privada virtual con protocolos de capa de enlace de datos.................................10 Tabla descriptiva de Protocolos utilizados en VPN......................................................11 Requerimientos para la construcción de una red privada virtual.....................................21 TEMA 3. Seguridad en las VPN............................................................................................23 Cifrado simétrico y de claves pre-compartidas................................................................23 Cifrado asimétrico.............................................................................................................23 Enlace con librerías SSL/TLS......................................................................................24 UNIDAD II. Casos prácticos de implementación......................................................................25 TEMA 1: Servidor OpenVPN................................................................................................25 Ventajas y Desventajas de OpenVPN.............................................................................25 Ventajas........................................................................................................................25 Desventajas..................................................................................................................26 Comparativa OpenVPN vs IPSec.....................................................................................27 TEMA 2: Implementación de OpenVPN...............................................................................29 Instalación de servidor/cliente OpenVPN sobre Canaima GNU/Linux............................29 Configuración de los nodos en una red con OpenVPN...................................................40 Configuración del servidor en modo enrutador......................................................41 Configuración del cliente en modo enrutador..........................................................48 Configuración del servidor en modo puente (bridge)..............................................53 Configuración del cliente en modo puente (bridge).................................................57 TEMA 3: Enrutamiento y control de tráfico...........................................................................59 Definición de rutas............................................................................................................59 Anexos..................................................................................................................................63 Ejercicio Propuesto N#1...................................................................................................63 Ejercicio Propuesto N#2.......................................................................................................71 Referencias...........................................................................................................................72 Glosario.................................................................................................................................73

Página 3 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Ficha descriptiva

Curso Modalidad Duración Dirigido a Requisitos previos

Redes privadas virtuales (VPN) en Canaima GNU/Linux. A distancia. 3 semanas Público y comunidad en general, así como personal docente, técnico y estudiantil de Colegios Universitarios y Politécnicos. Nociones básicas en el manejo de:
• • • • • • • •

Permisos y ACL POSIX. Redes en GNU/Linux. Gestión de usuarios y permisos bajo Linux. Manejo de servicios SysV. Gestión de procesos POSIX. Manejo de Linux bajo CLI. Herramientas de paginación y visualización de texto. Manejo del sistema de paquetes APT.

Objetivo del curso

Comprender los procedimientos para la configuración de los servicios de VPN en GNU/Linux.

Página 4 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

UNIDAD I. Redes privadas virtuales – VPN
TEMA 1. Fundamentos de VPN Introducción al concepto de VPN Las redes privadas virtuales o VPN1, como son popularmente conocidas, se definen, en esencia, como una extensión de una red local y privada que utiliza como medio de enlace una red pública como por ejemplo: Internet. Es también posible utilizar otras tipos de conexión que involucren redes de área amplia, WAN (En inglés: Wide Area Networks) tales como: Relé de tramas ( Frame Relay), enlaces en modo de transferencia asíncrona (ATM: Asinchronous Transfer mode) o Líneas de suscriptor digitales de alta tasa de bits (HDSL: High bit rate Digital

Suscriber Line).
Este método permite enlazar dos o más redes simulando una única red privada, permitiendo así la comunicación entre computadores como si estuviesen en la misma red física; Asimismo, un usuario remoto se puede conectar individualmente a una LAN utilizando una conexión VPN, donde, en forma segura, puede utilizar aplicaciones no accesibles desde Internet para enviar datos, o actualizar información confidencial que necesita protegerse y enviarse por canales cifrados.

Las redes privadas virtuales utilizan tecnología de túnel ( tunneling) para la transmisión de datos mediante un proceso de encapsulado 2 y, en su defecto, de encriptación. Esto es importante a la hora de diferenciar Redes Privadas Virtuales y Redes Privadas, ya que esta última utiliza líneas telefónicas dedicadas para formar la red. Más adelante se explicará en profundidad el funcionamiento del
1 Siglas en inglés de: Virtual Private Networks 2 En ciencias de la computación, la encapsulación es el ocultamiento de las estructuras de información y datos internos mediante una interfaz definida. Página 5 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

túnel. Existen diversos factores que hacen necesaria la implementación de soluciones más sofisticadas de conectividad entre las oficinas de las organizaciones a lo largo del mundo. Dichos factores son:

La aceleración de los procesos de negocios y su consecuente aumento en la necesidad de intercambio flexible y rápido de información.

Muchas organizaciones tienen varias sucursales con diferentes ubicaciones, quienes necesitan intercambiar información sin ninguna demora, como si estuvieran físicamente juntas.

La necesidad de las redes de computación de cumplir altos estándares de seguridad que garanticen la autenticidad, integridad y disponibilidad de la información.

En el caso de ciudades con alta densidad de población, el tráfico vehicular es un factor que motiva a las organizaciones a posibilitar el trabajo remoto o desde casa, por lo que se requiere la posibilidad de tener acceso a los recursos tecnológicos de la organización desde una conexión segura y eficiente, para garantizar así una mejor productividad. Origen y casos de uso de las VPN Con la masificación del acceso a Internet y la baja de costos en conectividad

se desarrollaron nuevas tecnologías. Surgió así la idea de utilizar la Internet como medio de comunicación entre los diferentes sitios de la organización. Con lo que nace la idea de las VPN que son “Virtuales” y “Privadas”, virtuales debido a que no son redes de conexión directa real entre las partes, sino sólo conexiones virtuales provistas mediante software a través de Internet y, son privadas porque únicamente la persona debidamente autorizada podrá leer los datos transferidos
Página 6 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

a través de la VPN. Logrando así, la seguridad mediante la utilización de modernos mecanismos de criptografía.

La red VPN y su equivalencia en un entorno real.

Usos comunes de las Redes Privadas Virtuales
• •

Conexión entre diversos puntos de una organización a través de Internet. Conexiones de trabajadores domésticos o de campo con direcciones IP dinámica.

Soluciones Extranet para clientes u organizaciones asociadas con los cuales se necesita intercambiar cierta información en forma confidencial y privada, aunque no tengan acceso pleno al resto de la red interna de la organización.

Página 7 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

TEMA 2. Arquitecturas de conexión y protocolos Tipos de conexiones Existen varios tipos de conexiones VPN, esto será definido según los requerimientos de la organización, por eso es aconsejable hacer un buen levantamiento de información a fin de obtener algunos datos, como por ejemplo, si lo que se desea enlazar son dos o más redes, o si sólo se conectarán usuarios remotos. Las posibilidades se explican a continuación.

Conexión de cliente tipo: “guerrero del camino” al servidor VPN Un usuario remoto que únicamente necesita acceso a servicios o aplicaciones que corren en el servidor VPN por espacios de tiempo pequeños o bien definidos. Caso típico para los administradores de seguridad, de lo que se deriva el apodo de: “guerreros del camino”3.

Conexión de un cliente tipo “guerrero del camino”

Conexión de cliente a red de área local Un usuario remoto que utilizará servicios o aplicaciones que se encuentran en uno o más equipos dentro de la red interna provista a través de la VPN. Caso típico para conexiones remotas semi-persistentes, como por ejemplo: los teletrabajadores o un centro de atención telefónica con varias sedes regionales
3 road warriors, oración del inglés con la que primero se conoció este modo de acceso. Página 8 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

donde los enlaces se mantienen solo para comunicarse por tiempos finitos.

Conexión de un cliente de red de área local

Conexión entre dos o más redes de área local Este tipo de VPN es aquella donde la conexión es permanente y supone la interconexión constante de las diferentes redes de área local de la organización en una red cohesionada que puede ser heterogénea (es decir, conformada por redes de área local de tamaños diferentes) u homogénea (formada por redes de tamaños similares), así, permitiendo que ubicaciones remotas de la organización tengan acceso a los recursos de información entre sí, o bien, para centralizar el acceso de toda la organización a recursos discretos. Este esquema supone la presencia de un servidor VPN único a donde todos los clientes (en este caso, los enlaces VPN de cada ubicación de la organización) tienen acceso.

Página 9 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Conexión entre redes de área local por VPN

Protocolos e Implementaciones Las soluciones de VPN pueden ser implementadas a diferentes niveles del modelo OSI para redes. Entre ellas tenemos:

Red privada virtual con protocolos de capa de enlace de datos. (capa 2 del modelo OSI).

• •

Red privada virtual con protocolos de capa de red. (capa 3 del modelo OSI). Red privada virtual con OpenVPN. Red privada virtual con protocolos de capa de enlace de datos La encapsulación a este nivel ofrece ciertas ventajas, ya que permite

transferencias sobre protocolos diferentes al protocolo de Internet, como por ejemplo IPX de Novell. Teóricamente, las tecnologías implementadas en capa 2 pueden encapsular cualquier tipo de paquetes/protocolos y en la mayoría de los casos lo que se hace es establecer un dispositivo virtual de punto a punto con el cual se establece la conexión con el otro lado del túnel.

PPTP (Point to Point Tunneling Protocol / Protocolo de Túneles de

Página 10 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Punto a Punto): Es una extensión de PPP. Su principal desventaja es que sólo puede establecer un túnel por vez entre pares. Además de tener una seguridad reducida.

L2F

(Layer

2 Forwarding / Reenvío en Capa 2): desarrollado

principalmente por Cisco Systems, ofrece mejores posibilidades que PPTP principalmente en el uso de conexiones simultáneas.

L2TP (Layer 2 Tunneling Protocol / Protocolo de tunelización de capa 2 ): usado por Cisco y otros fabricantes, se ha convertido en uno de los estándares de la industria y combina las ventajas de PPTP y L2F. Dado que esta solución no ofrece métodos de seguridad, su uso deberá ser combinado con mecanismos de seguridad que están generalmente implementados en la capa 3 del modelo OSI.

L2Sec (Layer 2 Security Protocol / Protocolo de seguridad en capa 2 ): desarrollado para proveer una solución que incorpore seguridad, utiliza para ello SSL4/TLS5 aunque impone una sobrecarga bastante grande en la comunicación para lograrlo. Tabla descriptiva de Protocolos utilizados en VPN

Protocolo VPN

Características Siglas en inglés de Point-to-Point Tunneling Protocol o “Protocolo de túneles de punto a punto”, fue diseñado por Microsoft, Alcatel y 3com, entre otros. Este protocolo, en sí mismo, no provee ningún tipo de encriptación o seguridad, en vez de eso, depende del protocolo que está encapsulando para proveer privacidad y/o encriptación. PPTP funciona enviando una sesión de punto a punto regular a través del protocolo GRE (Protocolo de Encapsulación Genérica de Rutas), controlada por una segunda sesión a través del puerto TCP 1723 (configurable);

PPTP

4 Siglas en inglés de: Secure Sockets Layer (Capa de sockets segura) 5 Seguridad del nivel de transporte, por sus siglas en inglés: Transport Level Security Página 11 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Para la encriptación de datos, el PPTP usa el proceso de encriptación RAS "shared secret". Esto se refiere a una "clave compartida" porque ambos nodos establecen la conexión "compartiendo" la llave de encriptación. Bajo la implementación del RAS, el “secreto compartido" es la contraseña del usuario (Existen también otros métodos que incluyen llave pública de encriptación. El PPTP usa la encriptación PPP y los métodos de compresión PPP. El CCP6 es usado para negociar la encriptación definida. El nombre de usuario y la contraseña esta disponible al servidor y es sustituida por el cliente. Una llave de encriptación se genera usando una mínima parte de la clave situada tanto en el cliente como en el servidor. El estándar RSA RC4 es usado para crear estos 40 bits (128 dentro de EEUU y Cánada) de llave de sesión basada en la contraseña de un cliente. Esta llave es después usada para cifrar y descifrar todos los datos intercambiados entre el servidor PPTP y el cliente. El paquete PPP que contiene un bloque de datos cifrados que es después insertado en un largo datagrama IP para su enrutamiento. Este protocolo presenta diversas fallas de seguridad e implementación descubiertas en el año 1998, por el experto en seguridad informática Bruce Schneier 7 que lo han hecho poco recomentable para su utilización en redes privadas virtuales. También llamado: IP seguro, como su nombre lo indica, es una suite de protocolos sobre el protocolo estándar IP para asegurar y cifrar las comunicaciones. Su funcionamiento se basa en el firmado y encriptado de los flujos de datos, además, IPSec presenta métodos para autenticación mutua (quiere decir, para que tanto cliente como servidor establezcan una relación de confianza) IPsec es un esquema de modo dual de punto a punto, que opera en la capa de Internet de las capas del protocolo IP, que es aproximadamente la capa 3 del modelo OSI. Lo que significa que puede asegurar aplicaciones que no están diseñadas para interactuar directamente con IPSec a nivel de protocolo, lo que lo hace muy flexible, sin embargo, acarrea el incremento de la información de negociación segura necesaria para mantener el
6 Siglas en inglés de Compression control protocol o Protocolo de control de compresión 7 http://www.schneier.com/paper-pptp.html Página 12 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

IPSec

tráfico cifrado, lo que comunicaciones seguras.

incrementa

la

latencia

de

las

Arquitectura de Seguridad La suite IPsec está compuesta de varios estándares abiertos. IPsec utiliza los siguientes protocolos para realizar diversas funciones:

ESP por sus siglas en inglés: Encapsulating Security Payload (carga útil de seguridad encapsulada) este protocolo es utilizado para proveer confidencialidad, autenticación del origen de los datos, integridad fuera de línea y un mecanismo de cancelación de respuesta para minimizar el tráfico necesario para comprobar que los datos son confiables. AH Authentication Header (Cabecera de Autenticación) para proveer integridad sin conexión y autenticación de los datos para los datagramas IP y provee de protección contra ataques de duplicación. IKE e IKEv2 Internet key exchange (Intercambio de llaves de Internet) para configurar una asociación manejando la negociación de los protocolos y algoritmos de encriptación y autenticación que serán utilizados por la sesión IPsec.

Modos de Operación Existen dos grandes modos de operación de IPSec:

Modo de Transporte
En el modo de transporte, solo la carga útil (la data que se transfiere) del paquete IP estará siendo encriptada y/o autenticada. El routeo queda intacto, ya que la cabecera IP no es modificada ni encriptada; sin embargo, cuando se utiliza la cabecera de autenticación, la dirección IP no puede ser traducida, ya que esto invalidaría el valor del hash. Tanto la capa de aplicación como la de transporte están siempre aseguradas por el valor de hash, por lo que no pueden ser modificadas de ninguna forma (por ejemplo, traduciendo los números de puerto). El modo de transporte es utilizado solo para las comunicaciones de máquina a máquina.

Página 13 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Modo de Túnel
En modo túnel, el paquete IP entero (datos y cabecera) es encriptado y/o autenticado. Es entonces encapsulado dentro de un nuevo paquete IP con una nueva cabecera. El modo túnel es entonces utilizado para crear redes privadas virtuales para la comunicación de red a red (ej: desde enrutadores hasta sitios de conexión), de máquina a red (ej: máquina remota accediendo a una red VPN corporativa) y también para hacer comunicación de máquina a máquina. Diagramas de Estructura del Protocolo Cabecera AH

Próxima Cabecera Este campo es un dato de 8 bits que identifica el tipo de la próxima carga útil después de la cabecera de autenticación. El Valor de este campo se selecciona de la serie de números de protocolos IP definidos desde el RFC del IANA. Ver la lista de los números de protocolos IP. Tamaño de Carga útil Tamaño del Paquete AH. RESERVADO Un campo nulo que ha sido reservando previendo cambios y adiciones futuras a IPSec. Índice de Parámetros Seguros (SPI) Identifica los parámetros de seguridad, que, en combinación con
Página 14 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

la dirección IP identifica la implementada dentro del paquete.

asociación

de

seguridad

Número de Secuencia Un número que incrementa de forma automática el cual es utilizado para evitar ataques de respuesta y repetición. Datos de Autenticación Contiene el valor de chequeo necesario para autenticar el paquete; podría contener un valor de desplazamiento.
Protocolo ESP

Índice de Parámetros Seguros (SPI) Identifica los parámetros de seguridad en combinación con la dirección IP. Número de Secuencia Un número que incrementa de forma automática el cual es utilizado para evitar ataques de respuesta y repetición. Datos de carga útil Los datos que se transferirán. Desplazamiento Utilizando con algunos cifrados de bloque para desplazar la data hacia el tamaño completo del bloque.

Página 15 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Tamaño del desplazamiento Tamaño del desplazamiento en bytes. Próxima Cabecera Este campo es un dato que identifica el protocolo de la carga útil. El Valor de este campo se selecciona de la serie de números de protocolos IP definidos desde el RFC del IANA. Ver la lista de los números de protocolos IP.8 Data de autenticación Contiene los datos necesarios para autenticar el paquete.
Desarrollado por Cisco Systems, L2F ( de las siglas en inglés: Layer 2 Forwarding Protocol) Protocolo de reenvío de capa 2, es un protocolo cuyo principal beneficio es la posibilidad de mejorar la cantidad de enlaces simultáneos cumpliendo con las premisas básicas de PPTP de no ofrecer ningún tipo de encriptación por si mismo, aunque permitiendo que el protocolo o protocolos encapsulados en la capa de enlace se hagan cargo de la misma. Aunque L2F ahora sea utilizado con una diversidad de protocolos, fue inicialmente pensado para crear túneles de sesiones punto a punto (PPP). L2TP Del inglés: Layer 2 Tunneling Protocol, o protocolo para creación de túneles de capa 2, nacido en el año 1999, tomó las mejores ideas de L2F y PPTP, adaptándose así a una miríada de diferentes modelos de seguridad en redes privadas virtuales. En su esquema de funcionamiento básico, el paquete L2TP entero es enviado, junto con la carga útil (datos) y la cabecera a través de un datagrama UDP. Es común que entre la carga útil se encuentren diferentes sesiones punto a punto (PPP). Ya que L2TP no provee confidencialidad o una autenticación robusta en sí mismo, se utiliza comúnmente en conjunto con IPSec. La combinación de ambos es generalmente conocida como L2TP/IPsec Modelos de creación de túneles Un túnel L2TP pude extenderse a través de una sesión PPP entera o solo a través de una sección de una sesión bidireccional.
8 http://www.iana.org/assignments/protocol-numbers/ Página 16 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

L2F

Esto puede representarse en cuatro modelos de creación de túneles, a saber: 1. Túnel voluntario 2. Túnel obligatorio — llamada entrante 3. Túnel obligatorio — marcación remota 4. Conexión de múltiples saltos L2TP En el modelo voluntario, un túnel es creado por el usuario, típicamente mediante el uso de un cliente L2TP que es llamado de forma genérica: LAC. El usuario enviará paquetes L2TP al proveedor de servicio internet, que encaminará dichos paquetes al Servidor L2TP, llamado comúnmente: LNS. No es necesario que el proveedor de servicio soporte L2TP, solo es necesario que este envíe dichos paquetes entre el LAC y el LNS. El cliente LAC actúa como un iniciador del túnel L2TP que efectivamente residirá en el mismo sistema que el cliente remoto. El túnel se extiende a través de toda la sesión PPP desde el cliente L2TP al LNS. En el modelo de túnel obligatorio de llamada entrante , se crea un túnel entre un LAC y el LNS en la puerta de enlace de origen. La organización podría proveerle al usuario remoto una cuenta y credenciales de acceso a la VPN, con la cual acceder a los servicios corporativos. De esta forma, el usuario enviará paquetes PPP al proveedor de servicios (LAC) que los encapsulará en L2TP y creará un túnel hacia el LNS. En estos casos, el proveedor de servicios debe soportar L2TP. Adicionalmente, en este modelo, el túnel solo se extiende entre el segmento de la sesión PPP entre el proveedor de servicio y el LNS. En el modo de túnel obligatorio de marcación remota la puerta de enlace de origen (LNS) inicia el túnel a un proveedor de servicio (LAC) (llamada remota) e instruye a dicho proveedor de servicio a que inicie una llamada al cliente PPP quien es el usuario remoto. Este modelo está destinado a los casos en los que el cliente PPP tiene un número de teléfono permanente con el proveedor de servicios. Se espera que el uso de este modelo sea en empresas con una presencia establecida en internet donde la empresa necesite a través de un enlace telefónico establecer una conexión con una oficina remota. Una conexión de múltiples saltos L2TP es una forma de
Página 17 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

redireccionar el tráfico L2TP por parte de diferentes LAC y LNS. Una conexión de múltiples saltos se establece utilizando una puerta de enlace L2TP de múltiples saltos. Se establece un túnel desde un cliente hasta la puerta de enlace L2TP de múltiples saltos y entonces se establece otro túnel entre la puerta de enlace L2TP y un LNS destino. El tráfico L2TP entre el cliente y el servidor es entonces redireccionado a cada uno a través de la puerta de enlace. Estructura del Paquete L2TP

Datos de Control y versión Banderas de control que indican la presencia de paquetes de control/datos y su tamaño, secuencia y campos de desplazamiento. Tamaño (opcional) Tamaño total del mensaje en bytes, solo está presente cuando la bandera de tamaño está presente. ID del Túnel Indica el identificador de la conexión de control. ID de sesión Indica el identificador de una sesión dentro de un túnel. Ns (opcional) Número de secuencia para estos datos o mensaje de control, que comienza en cero y se incrementa en uno para cada mensaje que es enviado. Solo está presente cuando la bandera de control está activada.

Página 18 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Nr (opcional) Número de secuencia para los datos que se esperan recibir. Nr se iguala al Ns del último mensaje recibido más uno. En mensajes de datos, se recibe Nr, y, de estar presente (indicado por el bit de Sesión), debe ser ignorado en cuanto se reciba. Tamaño del desplazamiento (opcional) Especifica el comienzo de los datos más allá de la cabecera L2TP. Los datos que están más allá del relleno del desplazamiento se encuentra indefinidos. Si el campo de desplazamiento está presente, la cabecera L2TP termina en el último byte del desplazamiento de relleno. Este campo existirá siempre que esté presente la bandera de desplazamiento. Desplazamiento de Relleno (opcional) De tamaño variable Datos De tamaño variable ( Tamaño máximo de los datos = Tamaño máximo del paquete UDP – Tamaño de la cabecera L2TP )
Nacido en el año 2001, OpenVPN entrega un enfoque diferente para la creación de redes privadas virtuales en diferentes sistemas operativos, por lo que se ha convertido en una solución multiplataforma que ha simplificado mucho la configuración de redes VPN dejando atrás los tiempos de otras soluciones difíciles de configurar como IPSec y haciéndola más accesible para gente inexperta en este tipo de tecnología. OpenVPN permite a los clientes autenticarse entre sí utilizando una llave secreta pre-compartida, certificados o usuario y contraseña. Cuando es utilizado en una configuración de múltiples clientes y un servidor, este permite que el servidor emita certificados de autenticación para cada uno de los clientes, utilizando una firma y autoridad certificadora. Utiliza extensivamente la librería de encriptación OpenSSL, así como los protocolos SSL y TLS. Está disponible para varias plataformas como: Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, y Windows 2000/XP/Vista. Contiene muchas características de seguridad y control. No está basado en redes VPN tipo web, y no es compatible con IPSec u otro paquete de redes VPN. El paquete
Página 19 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

OpenVPN

entero consiste en un binaro tanto para las conexiones con el servidor como para con el cliente, un archivo de configuración opcional y uno o más certificados dependiendo del método de autenticación utilizado. OpenVPN puede funcionar sobre UDP (método preferido y por defecto) o TCP. Realiza la multiplexión de todas las comunicaciones a través de un solo puerto TCP/UDP. Tiene la habilidad de trabajar sobre la mayoría de los servidores proxy (incluyendo aquellos que son HTTP) y también trabajando a través de NAT y sobrepasando paredes de fuego. La configuración del servidor tiene la capacidad de “empujar” (enviar) configuraciones específicas a todos o a cada cliente por separado. Entre las que pueden enviarse están: direcciones IP, comandos de enrutamiento y opciones de conexión variables. OpenVPN ofrece dos tipos de interfaces para establecer las redes a través del controlador “Universal TUN/TAP”. Puede crear un túnel de capa 3 (TUN), o un TAP de capa 2 basado en Ethernet por medio del cual es posible envíar cualquier tipo de tráfico Ethernet. Además, OpenVPN puede, de forma opcional, comprimir el flujo de datos, mejorando así el rendimiento de las conexiones. El uso por parte de OpenVPN de protocolos comúnes de red, (tales como TCP y UDP) lo hace una alternativa viable a IPSec en situaciones donde el proveedor de servicios bloquee ciertos protocolos de VPN de manera de obligar a sus clientes a que se suscriban a servicios “premium” más costosos para establecer redes privadas virtuales entre dos o más ubicaciones.

Página 20 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Modelo de Funcionamiento

Redes privadas virtuales con OpenVPN

Requerimientos para la construcción de una red privada virtual Para la puesta en funcionamiento de una red privada virtual, es necesario planificar los siguientes puntos antes de su implementación exitosa:

Número de clientes. Se refiere a la cantidad de usuarios que estarán utilizando el enlace de la red privada virtual, es especialmente importante para delimitar apropiadamente la asignación de direcciones dentro de la red privada virtual, los rangos que se asignarán y la forma en que serán dispuestos por cada nodo principal que conforme la red. Capacidad proyectada de la red VPN. Carga de datos máxima que
Página 21 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

podría estar soportando la red en un momento determinado.

Cifrado a utilizar. En redes privadas virtuales que involucran cifrado de datos, este requerimiento determina la fuerza con la que se encriptará la información, un cifrado más alto tiene una sobrecarga levemente mayor a cambio de una protección más alta de la información que circula a través de la VPN. En una red VPN con múltiples nodos, un cifrado muy alto puede causar un impacto en la velocidad del enlace, a menos de que se tenga suficiente ancho de banda, sin embargo, no es realmente útil un cifrado alto en redes VPN con gran número de usuarios ya que las probabilidades de que un atacante pueda descifrar datos útiles en un nivel de tráfico tan alto son muy bajas. Esquema de funcionamiento. Este punto de la planificación involucra la definición de los nodos principales que estarán participando en la red privada virtual. Las redes VPN poseen la particularidad de involucrar una arquitectura cliente/servidor en donde toda la comunicación inicial se hace hacia un punto central de la misma, y luego, de existir más de un cliente, se establecen enlaces directos entre ellos. Aunque algunas implementaciones propietarias son poco flexibles y evitan comunicación directa entre clientes sin que el tráfico sea enviado primero al servidor, lo que puede causar que la latencia y los tiempos de respuesta se incrementen. Implementación a utilizar. Esta es una consideración importante en la planificación ya que, en base a las capacidades del paquete VPN que se utilizará podremos saber en que escenarios de nuestra implementación podríamos conseguir obstáculos de implantación, por ejemplo, intentar utilizar IPSec detrás de una conexión NAT9

9 Siglas en inglés de Traducción de direcciones de red: (Network Address Translation) Página 22 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

TEMA 3. Seguridad en las VPN Para encriptar datos se usan contraseñas de encriptación. OpenVPN tiene dos modos considerados seguros, uno basado en claves estáticas pre-compartidas y otro en SSL/TLS usando certificados y claves RSA. Cuando ambos lados usan la misma clave para encriptar y desencriptar los datos, estamos usando el mecanismo conocido como “clave simétrica” y dicha clave debe ser instalada en todas las máquinas que tomarán parte en la conexión VPN. Si bien SSL/TLS + claves RSA es por lejos la opción más segura, las claves estáticas cuentan con la ventaja de la simplicidad. Veremos, a continuación, ese método y otros que aportan mayor seguridad y facilidad de distribución. Cifrado simétrico y de claves pre-compartidas Cualquiera que posea la clave de encriptación podrá desencriptar el tráfico, por lo que si un atacante la obtuviese, comprometería el tráfico completo de la organización, ya que tomaría parte como un integrante más de la VPN. Es por ello, que mecanismos como IPsec cambian las claves cada cierto período de tiempo, asociando a las mismas, períodos de tiempo de validez llamados lifetime/tiempo de vida. Una buena combinación de tiempo de vida y el largo de la clave asegurarán que un atacante no pueda desencriptar la clave a tiempo, haciendo que cuando finalmente la obtenga (porque lo hará), ya no le sirva por estar fuera de vigencia. IPSec utiliza su propio protocolo para intercambiar claves llamado IKE9 que ha sido desarrollado desde mediados de los noventa y aún no ha sido terminado. Cifrado asimétrico Tanto SSL como TLS utilizan una de las mejores tecnologías de encriptación para asegurar la identidad de los integrantes de la VPN. Cada integrante tiene dos
Página 23 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

claves, una pública y otra privada. La llave pública es distribuida y usada por cualquiera para encriptar los datos que serán enviados a la contraparte quien conoce la clave privada, la cual es la única que sirve para desencriptar los datos. El par de claves pública/privada es generado a partir de algoritmos matemáticos que aseguran que sólo con la clave privada es posible leer los datos originales. El día que alguien encuentre algún defecto a ese algoritmo, todos aquellos conectados a Internet estarán comprometidos en forma instantánea. Es de destacar que la clave privada debe permanecer secreta, mientras que la clave pública debe ser intercambiada para que se puedan recibir mensajes.

Enlace con librerías SSL/TLS Las bibliotecas SSL/TLS son parte del software OpenSSL que vienen instaladas en cualquier sistema moderno e implementan mecanismos de encriptación y autenticación basadas en certificados. Los certificados generalmente son emitidos por entidades de reconocida confiabilidad, aunque también se puede emitir por el usuario y usarlos en la propia VPN. Con un certificado firmado, el dueño del mismo es capaz de probar su identidad a todos aquellos que confíen en la autoridad certificadora que lo emitió.

Página 24 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

UNIDAD II. Casos prácticos de implementación
TEMA 1: Servidor OpenVPN Ventajas y Desventajas de OpenVPN OpenVPN provee seguridad, estabilidad y comprobados mecanismos de encriptación sin sufrir la complejidad de otras soluciones VPN como las de Ipsec. Ventajas OpenVPN ofrece ventajas que van más allá de cualquier otra solución, éstas son:

Posibilidad de implementar dos modos básicos en capa 2 o capa 3 con lo que se logran túneles capaces de enviar información en otros protocolos noIP como IPX o broadcast (NETBIOS).

Protección de los usuarios remotos. Una vez que OpenVPN ha establecido un túnel, el cortafuegos de la organización protegerá el equipo remoto aún cuando no es un equipo de la red local. Por otra parte, sólo un puerto de red podrá ser abierto hacia la red local por el remoto, asegurando protección en ambos sentidos.

Conexiones OpenVPN pueden ser realizadas a través de casi cualquier cortafuegos. Si se posee acceso a Internet y se puede acceder a sitios HTTPS, entonces un túnel OpenVPN debería funcionar sin ningún problema.

Soporte para proxy. Funciona a través de proxy y puede ser configurado para ejecutar como un servicio TCP o UDP y además como servidor (simplemente esperando conexiones entrantes) o como cliente (iniciando conexiones).

Sólo un puerto en el cortafuegos debe ser abierto para permitir conexiones, dado que desde OpenVPN 2.0 se permiten múltiples conexiones en el

Página 25 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

mismo puerto TCP o UDP.

Las interfaces virtuales (tun0, tun1, etc.) permiten la implementación de reglas de cortafuegos muy específicas.

Todos los conceptos de reglas, restricciones, reenvío y NAT pueden ser usados en túneles OpenVPN.

Alta flexibilidad y posibilidades de extensión mediante scripts. OpenVPN ofrece numerosos puntos para ejecutar scripts individuales durante su arranque.

Soporte transparente para IPs dinámicas. Se elimina la necesidad de usar direcciones IP estáticas en ambos lados del túnel.

Ningún problema con NAT. Tanto los clientes como el servidor pueden estar en la red usando únicamente direcciones IP privadas.

Instalación sencilla en cualquier plataforma. Tanto la instalación como su uso son increíblemente simples.

Diseño modular. Se basa en un excelente diseño modular con un alto grado de simplicidad tanto en seguridad como en red. Desventajas

OpenVPN presenta algunas desventajas, tales como:

No es compatible con IPsec, siendo que justamente IPsec es una de las tecnologías de implementación para redes privadas virtuales más popular.

• • •

Falta de masa crítica. Todavía existe poca gente que conoce cómo usar OpenVPN. No posee herramientas de interfaz gráfica , aunque esto para algunos pueda significar en realidad una “ventaja”.

Actualmente sólo se puede conectar a otros computadores. Pero esto está
Página 26 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

cambiando, dado que ya existen compañías desarrollando dispositivos con clientes OpenVPN integrados. Comparativa OpenVPN vs IPSec En la tabla que se presenta a continuación se encuentran las diferencias más llamativas entre OpenVPN e IPSec: OpenVPN
• • •

IPSec

No es compatible con Ipsec. Tecnología nueva crecimiento. y aún en

Ampliamente implementada. Tecnología conocida y probada. Muchas interfaces disponibles. gráficas

• • • • • •

Sin interfaces gráficas profesionales, aunque ya existen algunos proyectos prometedores. Tecnología sencilla. Interfaces de red y paquetes estandarizados. Ejecuta en el espacio del usuario y puede ser enjaulado. Tecnologías de encriptamiento estandarizadas. Facilidad, buena estructuración, tecnología modular y facilidad de configuración. Fácil de aprender. Utiliza sólo cortafuegos. un puerto del

Modificación compleja del stack IP Necesidad de modificaciones críticas al kernel. Necesidad de administrador. permisos de

• • • • •

Diferentes implementaciones de distintos proveedores pueden ser incompatibles entre sí. Configuración compleja tecnología compleja. Curva de aprendizaje pronunciada. y muy

• • •

• • •

Necesidad de uso de muchos puertos y protocolos en el cortafuegos. Problemas con direcciones dinámicas en ambos lados del túnel. Problemas de seguridad de las tecnologías IPsec.

Trabaja con servidores de nombre dinámicos como DynDNS o No-IP10 con reconexiones rápidas y transparentes.

10 DynDNS y No-IP son servicios de resolución de nombre gratuitos para la definición rápida de servicios de nombres calificados en redes IP públicas con direcciones de espacio dinámico. Página 27 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

• •

SSL/TLS como criptografía.

estándar

de

Sin problemas de funcionamiento con clientes tras redes con NAT hablitado.

Problemas de enrutamiento si ambos lados de túnel necesitan NAT.

Página 28 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

TEMA 2: Implementación de OpenVPN Instalación de servidor/cliente OpenVPN sobre Canaima GNU/Linux Para la instalación y puesta en funcionamiento de OpenVPN sobre Canaima GNU/Linux es necesario comenzar por instalar el paquete openvpn:

aptitude install openvpn

En Canaima GNU/Linux, y en las distribuciones basadas en Debian, el paquete openvpn instala también, en el directorio de documentación, unos scripts ayudantes ubicados en el directorio: /usr/share/doc/openvpn/examples/easyrsa/ para la creación de los certificados de servidor y clientes para la autenticación cifrada de la red VPN, aprovecharemos los mismos para la creación de nuestra VPN de ejemplo, copiándolos desde el directorio antes mencionado a un directorio de trabajo. cp -a /usr/share/doc/openvpn/easy-rsa /root A continuación, procedemos a entrar en el directorio recién copiado, donde encontraremos varios scripts de consola que nos facilitarán el proceso de creación de la autoridad certificadora y los certificados que necesitamos para la autenticación entre servidor y cliente, particularmente, aprovecharemos las últimas herramientas que están contenidas en el subdirectorio 2.0 mencionado directorio easy-rsa del ya

Página 29 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

cd /root/easy-rsa/2.0

Desde esta ubicación, procederemos a configurar las variables que necesitamos predefinir para la creación de nuestra autoridad certificadora y los respectivos certificados para servidor y clientes, este proceso se realiza editando el archivo vars cuya ubicación es el directorio donde ya nos encontramos

editor /root/easy-rsa/2.0/vars

El archivo vars contiene las variables de operación para los scripts de ayuda de creación de los certificados, a través de su edición, se definirán los valores por defecto que tendrán los certificados generados, los cuales establecerán la procedencia y parámetros de duración de los mismos; estos parámetros son utilizados por el sistema de seguridad de OpenVPN para la autenticación exitosa de los clientes que se conectarán dentro de la red. Este archivo al ser configurado con los valores deseados, se ejecutará en cualquier sesión de creación de certificados para establecer en ambiente los parámetros con los que deberán crearse los certificados que ya han sido definidos previamente. Dentro del archivo antes mencionado se encuentran una variedad de

Página 30 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

ajustes, de los cuales, nos interesa solo modificar los siguientes: KEY_SIZE (Valor por defecto 1024),

este la

parámetro potencias más alto en tiempo más

definirá se 2 como el de

la

fuerza

de

encriptación, sea,

recomienda parámetro, y en que servidor

colocar mientras más

tardará

generarlas ya

consecuencia, necesitarán

también el proceso de autenticación será largo, desencriptarse mensajes más complejos.

CA_EXPIRE (Valor por defecto 3650), indica

la cantidad en días en las que expirará la llave generada para la autoridad certificadora o CA.
KEY_EXPIRE (Valor por defecto 3650),

cantidad en días en las que expirarán los certificados llave generados para a partir la de la generada autoridad

certificadora. Se recomienda mantener este valor por debajo de la expiración de la llave de la autoridad certificadora.

KEY_COUNTRY (Valor por defecto US), código

de

dos

letras

mayúsculas

que

indica

el

país de procedencia de los certificados,
Página 31 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

este

código

se

rige

por

la

norma

ISO

316611. Dada la configuración por defecto de seguridad, es necesario que todos los certificados posean el mismo país de procedencia, inclusive si los clientes de la red privada virtual se encuentran en países diferentes.

KEY_PROVINCE (Valor por defecto CA), valor

que

indica

la

provincia,

estado

o

departamento del país de donde provienen los certificados, no se rige por ningún código letras establecido, mayúsculas de que el pudiendo colocar al este nombres completos, o bien, un valor de dos identifique valor de estado. En la configuración por defecto de seguridad OpenVPN, parámetro debe ser idéntico para todos los certificados.

KEY_CITY (Valor por defecto SanFrancisco),

aquí se indica la ciudad de procedencia de los certificados; nuevamente, es necesario que coincida por en los todos los certificados de ayuda, es generados scripts

importante recordar que el nombre de la
11 http://www.iso.org/iso/english_country_names_and_code_elements Página 32 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

ciudad debe ir sin espacios.

KEY_ORG (Valor por defecto Fort-Funston),

este parámetro se define el nombre de la organización que estará utilizando la red VPN, naturalmente, en todos este los parámetro certificados debe que coincidir

serán generados, no se recomienda utilizar espacios en el nombre.

KEY_EMAIL

(Valor

por

defecto

me@myhost.mydomain)

este valor indica la electrónico que se que se de contacto dirección

dirección utilizará será recomienda

de

correo en uso

como el

información los de la

plasmada

certificados,

correo electrónico del administrador de la red privada.
Para el caso de este ejemplo, definiremos los siguientes valores: KEY_SIZE=1024 (Cifrado de 1024 bits) CA_EXPIRE=3650 (Expiración a 10 años de la CA) KEY_EXPIRE=730 (Expiración a 2 años del
certificado)

KEY_COUNTRY="VE" (País de procedencia: Venezuela)

Página 33 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

KEY_PROVINCE="MI" (Estado de procedencia: Miranda) KEY_CITY="Caracas" (Ciudad de procedencia:
Caracas)

KEY_ORG="PruebasOpenVPN" (Nombre de la
organización: PruebasOpenVPN)

KEY_EMAIL="capacitacion@prueba.net.ve" (Correo
del administrador: capacitacion@prueba.net.ve)

A continuación, procedemos a crear nuestra infraestructura de certificados para el servidor y dos clientes utilizando los scripts de ayuda.

cd /root/easy-rsa/2.0/ ./vars

Al ejecutar vars, ya tendremos los parámetros almacenados para los demás scripts de ayuda, este script nos informa, que de ejecutar el script clean-all borrará cualesquiera certificados y llaves previamente generados, esto último solo se recomienda si está definiendo una CA para una red OpenVPN recién creada, al ser nuestro caso, ejecutamos también dicho script.

./clean-all

Procedemos luego a inicializar nuestra entidad certificadora, utilizando el

Página 34 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

script de ayuda: pkitool con el parámetro --initca (inicializar entidad certificadora).

./pkitool --initca

La herramienta pkitool procederá a generar la llave cifrada principal de la entidad certificadora, que nos será necesaria luego para llevarla a cada cliente. La salida del comando anterior con los valores definidos previamente en vars será la siguiente:

Using CA Common Name: PruebasOpenVPN CA Generating a 1024 bit RSA private key .++++++ ...........................++++++ writing new private key to 'ca.key' ----Al tener la llave de la entidad certificadora generada, procederemos a crear la llave principal y el certificado del servidor. Esta operación se realizada, utilizando nuevamente el script pkitool con de el parámetro con --server nombre

nombredelservidor nombredelservidor)

(crear

certificado

servidor

Página 35 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

./pkitool --server servidorvpn

Generating a 1024 bit RSA private key .++++++ ...........................++++++ writing new private key to 'servidorvpn.key' ----Using configuration from /root/easyrsa/2.0/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName stateOrProvinceName localityName :PRINTABLE:'Caracas' organizationName :PRINTABLE:'PruebasOpenVPN' commonName :PRINTABLE:'servidorvpn' :PRINTABLE:'VE' :PRINTABLE:'MI'

Página 36 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

emailAddress :IA5STRING:'capacitacion@pruebas.net.v e' Certificate is to be certified until May 7 20:10:28 2011 GMT (730 days)

Write out database with 1 new entries Data Base Updated Con el certificado del servidor generado, procedemos a crear la llave diffiehellman12, que permitirá al servidor enviar y recibir los datos de los certificados del cliente por un canal seguro aunque estos no hayan tenido contacto previo, una de las razones por las que OpenVPN es extremadamente flexible es que permite que los clientes puedan autenticarse rápidamente con datos cifrados a cualquier nivel de encriptación sin tener que comprometer la seguridad de la red intercambiando los parámetros de autenticación que se utilizan en el canal de comunicación, razón por la cual OpenVPN es considerado extremadamente seguro. La creación de la llave diffie-hellman se hace a través del script build-dh, ubicado entre los demás scripts de ayuda en el directorio easy-rsa/2.0

12 El protocolo diffie-hellman permite el intercambio secreto de llaves entre dos partes previamente desconocidas entre sí en un canal abierto sin comprometer la información enviada. Página 37 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Por último, procedemos a generar los certificados de cada uno de los clientes, nuevamente, mediante la utilización de pkitool

./pkitool cliente1 Generating a 1024 bit RSA private key ..............\....................... ...................................+++ +++ ................++++++ writing new private key to 'cliente1.key' ----Página 38 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Using configuration from /home/julio/easy-rsa/2.0/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName stateOrProvinceName localityName :PRINTABLE:'Caracas' organizationName :PRINTABLE:'PruebasOpenVPN' commonName :PRINTABLE:'cliente1' emailAddress :IA5STRING:'capacitacion@pruebas.net.v e' Certificate is to be certified until May 7 20:26:43 2011 GMT (730 days) :PRINTABLE:'VE' :PRINTABLE:'MI'

Write out database with 1 new entries Data Base Updated Y repetimos el proceso para el segundo cliente.
Página 39 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

./pkitool cliente2

Ya que poseemos la infraestructura de llaves y certificados creados para nuestra red VPN, los copiaremos a la carpeta /etc/openvpn/prueba, para luego configurar el servidor.

cp /root/easy-rsa/2.0/keys/ca.crt /etc/openvpn/prueba cp /root/easy-rsa/2.0/keys/servidorvpn.crt /etc/openvpn/prueba cp /root/easy-rsa/2.0/keys/servidorvpn.key /etc/openvpn/prueba cp /root/easy-rsa/2.0/keys/dh.key /etc/openvpn/prueba

Configuración de los nodos en una red con OpenVPN Al configurar un servidor OpenVPN, debemos tener claro que posee dos grandes modos de operación, uno de ellos es el modo router (enrutador), en donde el servidor OpenVPN funcionará en una subred privada separada de la red local principal de la organización y de sus clientes, permitiendo únicamente tráfico con el protocolo TCP/IP, por direcciones diferentes a las de la red local tanto del servidor como de los clientes. El otro modo, llamado bridge (puente), permite que OpenVPN funcione de forma transparente creando un puente entre la interfaz creada por él y alguna de las interfaces ethernet físicamente presentes en
Página 40 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

el computador donde este se está ejecutando, lo que permite tener dentro de un mismo rango de direcciones IP, nodos por VPN y clientes físicamente conectados a la red local del sitio, además, el modo de puente permite el envío de tráfico en protocolos diferentes al TCP/IP, posibilitando la comunicación segura con dispositivos de red en áreas geográficas dispersas que no utilizan este protocolo. La configuración más usual de OpenVPN implica el modo de enrutador, aunque en este ejemplo daremos repasaremos la configuración en cada uno de los modos antes señalados.

Configuración del servidor en modo enrutador Canaima GNU/Linux provee con la instalación del paquete openvpn, unos archivos de configuración de ejemplo que podemos aprovechar para guiarnos en la configuración de nuestro servidor, estos archivos se encuentran en el directorio /usr/share/doc/openvpn/examples/sample-config-files.

Aunque estos archivos de ejemplo pueden utilizarse para construir la configuración de un servidor o un cliente OpenVPN, recomendamos para una fácil lectura y procesamiento de los mismos, que se creen comenzando por un archivo en blanco, tomando solo los parámetros que necesitemos de estos ejemplos.

Procederemos a crear nuestra configuración de servidor OpenVPN en modo enrutador

Página 41 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

editor /etc/openvpn/servidor.conf

La configuración ideal para un servidor OpenVPN en modo enrutador se muestra a continuación, junto con una breve explicación de cada uno de los parámetros.

port 1194

Indica el puerto donde escuchará OpenVPN (el valor por defecto es 1194)
proto udp

Protocolo comunicación
dev tun

de

red

utilizado

en

la

Modo de operación: “tun” para modo router, “tap” para modo puente.
ca /etc/openvpn/prueba/ca.crt

Ruta

al

certificado

de

la

entidad

certificadora.
cert /etc/openvpn/prueba/servidorvpn.crt

Ruta al certificado del servidor
key /etc/openvpn/prueba/servidor.key

Ruta a la llave de cifrado del servidor

Página 42 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

dh /etc/openvpn/prueba/dh1024.pem

Ruta al archivo con los parámetros para el protocolo diffie-hellman
server 10.70.0.0 255.255.255.0

Declaración para indicar que esta instancia de OpenVPN es un servidor, que toma como variable la red privada virtual que estará operando en octetos completos para la subred y máscara de subred. (Es obligatorio que se indique la máscara de subred)
keepalive 10 120

Parámetro que consta de dos variables, la primera indica el tiempo en segundos que se espera para supervisar los clientes que están activos, y la segunda indica cuanto es el tiempo máximo a esperar para declarar al cliente como “desconectado” una vez que no se recibe más comunicación del mismo.
comp-lzo

Este parámetro de configuración habilita la compresión de los paquetes que transitan el túnel VPN, lo que permite obtener un incremento del rendimiento de la conexión.
user nobody

Usuario del sistema al que se pasaran los privilegios de operación del túnel cuando el
Página 43 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

servicio en caso de

OpenVPN una

esté de

ejecutándose. seguridad, la

(Utilizar al usuario “nobody” garantiza que, brecha escalación de privilegios no permita que se ejecuten acciones como el superusuario)
group nogroup

Grupo

del

sistema

al

que

se

pasaran

los

privilegios de operación del túnel cuando el servicio OpenVPN esté ejecutándose. (El uso del grupo “nogroup” garantiza que, en caso de una brecha de seguridad, la escalación de privilegios acciones sistema)
persist-key

no

permitirá un grupo

que

se

ejecuten del

con

privilegiado

Este parámetro evita que se vuelvan a leer los archivos de llave y certificados cuando el por servicio un OpenVPN de es recargado (no (Es los reiniciado) por un cambio de configuración o fallo útil conectividad. se utilizan especialmente cuando

parámetros: “user nobody” y “group nobody”, ya que si se obligase a releer los archivos de llave a este usuario/grupo el servicio no tendría privilegios de acceso y el servicio no podría volver a funcionar sin recargar completamente)
Página 44 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

persist-tun

Evita levanta

que el

la

interfaz sea

virtual recreada

donde cuando

se el

túnel

servicio OpenVPN es recargado.
status /var/log/openvpn-status.log

Parámetro que indica la ruta donde residirá el archivo de estado del servicio OpenVPN, este archivo es especialmente útil para determinar que nodos están conectados a la red privada virtual sin revisar el registro de actividades.
log /var/log/openvpn.log

Este parámetro indica donde, en el sistema de archivos residirá el registro de actividades del servicio OpenVPN.
verb 3

Parámetro del OpenVPN

que

indica de se desea

el

nivel

informativo servicio (Posibles

registro que

actividades

del

utilizar.

Valores: 0 = solo imprimir errores fatales, 1 a 4 = imprimir mensajes de uso regular con un nivel de prolijidad menor o mayor, 5 = todo lo anterior e información de lectura y escritura de paquetes al túnel, 6 a 11 = modo de detección de errores para detectar problemas graves en el servicio)

Página 45 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

mute 20

Parámetro

que

indica

el

número

máximo

de

mensajes de un mismo tipo a registrar en el registro de eventos de OpenVPN.
client-to-client

Esta opción habilita la comunicación directa entre clientes (No dentro debe de la red si privada desea virtual. establecer utilizarse de acceso

controles

granulares

por cliente en la red privada virtual)

El archivo de configuración se aproximaría a lo que se observará a continuación

Página 46 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Ya con la configuración del servidor ajustada y guardada, procedemos a inicializar el servicio OpenVPN en nuestro computador

invoke-rc.d openvpn start

Podemos servicio utilizando

controlar OpenVPN

instancias en

específicas

del al del

Canaima con

GNU/Linux,

como

parámetro invoke-rc.d

inicio/detención/recarga

servicio, el nombre de la configuración que estamos usando sin el sufijo “.conf”, en este caso, podemos utilizar el comando:

invoke-rc.d openvpn start servidor

Para verificar el funcionamiento correcto del servidor podemos auditar los registros o verificar que la interfaz de nombre tun(n) (donde n es un número de interfaz) está presente en nuestro sistema, este paso lo realizamos con el comando ifconfig

ifconfig tun0

tun0

Link encap:UNSPEC
Página 47 de 82

HW 00-00-00-

Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.70.0.1 Mask:255.255.255.255 UP POINT TO POINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 P-t-P:10.70.0.2

RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collissions:0 txqueuelen:100 RX bytes:0 (0.0 B) Podemos observar que el servidor TX bytes:0 (0.0 B) OpenVPN se encuentra en

funcionamiento y ha activado la interfaz tun0, a la cual le ha asignado la dirección 10.70.0.1 con puerta de enlace 10.70.0.2 (que será en el caso de un servidor en modo enrutador, la puerta de enlace por defecto tanto para el servidor como para los clientes).

Configuración del cliente en modo enrutador Con el servidor OpenVPN iniciado en modo enrutador, procedemos a copiar al cliente los certificados que necesitará para autenticarse con el servidor, instalando también el paquete openvpn en el cliente al cual debemos de configurar para que se conecte a nuestro servidor. Los archivos que deben copiarse a los clientes son los certificados de la CA, del cliente y la llave anteriormente generada para el cliente. (se recomienda que

Página 48 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

sea por un medio seguro) En este caso, los archivos pertinentes son:

ca.crt cliente1.crt cliente1.key Los cuales residen en el servidor, en el directorio /root/easy-

rsa/2.0/keys Luego, nos ocupa la configuración del cliente para que se conecte al servidor. En nuestro caso el servidor está ubicado en la dirección vpn.pruebas.net.ve; Por otro lado, la configuración del cliente tiene pequeñas variaciones de aquellas que están en el servidor, las cuales se explican a continuación, editando el archivo de configuración luego de copiar los archivos de certificado y las llaves a /etc/openvpn/pruebas en la máquina cliente.

editor /etc/openvpn/cliente.conf

client

Indica que esta instancia de OpenVPN será configurada como cliente.
remote vpn.pruebas.net.ve

Indica la dirección del servidor VPN (puede opcionalmente colocarse una dirección IP).
Página 49 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

port 1194

Puerto al que este cliente se conectará en el servidor.
proto udp

Protocolo de comunicación a utilizar.
dev tun

Ya

que

el

servidor debemos

está

en el

modo modo

de de

enrutador,

conservar

túnel para la VPN.
ca /etc/openvpn/pruebas/ca.crt cert /etc/openvpn/pruebas/cliente1.crt key /etc/openvpn/pruebas/cliente1.key keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun log /var/log/openvpn.log verb 3 mute 20

Como podemos observar, las directrices server, dh, client-to-client y
Página 50 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

status no están presentes en la configuración del cliente. Continuamos entonces, iniciando openvpn en nuestro cliente

invoke-rc.d openvpn start cliente

Deberemos entonces proceder a probar nuestra configuración, verificando que la interfaz tun(n) ha sido activada y que efectivamente tenemos conectividad con nuestro servidor VPN

ifconfig tun0

tun0

Link encap:UNSPEC

HW 00-00-00-

00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.70.0.6 Mask:255.255.255.255 UP POINT TO POINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 P-t-P:10.70.0.2

RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collissions:0 txqueuelen:100

Página 51 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

RX bytes:0 (0.0 B)

TX bytes:0 (0.0 B)

Efectivamente, poseemos una interfaz configurada como cliente del servidor OpenVPN, podemos hacer una prueba simple de conectividad con el comando ping:

ping 10.70.0.1

PING 10.70.0.1 (10.70.0.1) 56(84) bytes of data. 64 bytes from 10.70.0.1: icmp_seq=1 ttl=64 time=65.4 ms 64 bytes from 10.70.0.1: icmp_seq=2 ttl=64 time=69.6 ms

--- 10.70.0.1 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 65.403/67.513/69.623/2.110 ms

De esta manera, confirmamos que tenemos conectividad con nuestro servidor y hemos configurado adecuadamente la red privada virtual con OpenVPN.
Página 52 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Configuración del servidor en modo puente (bridge) Para que el funcionamiento del servidor OpenVPN en modo puente sea correcto, es necesaria la instalación del paquete bridge-utils en Canaima GNU/Linux.

aptitude install bridge-utils

Adicionalmente, debemos tener en cuenta cual es la interfaz ethernet que utilizaremos para crear el puente para el VPN, ya que es la interfaz a la que se añadirá el puente para que OpenVPN pueda unir clientes virtuales y físicos en la VPN. Para el caso de este ejemplo, utilizaremos la interfaz de red eth0, que posee la siguiente configuración: Dirección IP: 192.168.15.2 Máscara de Subred: 255.255.255.0 Por otro lado, es necesario que dentro de el rango de direcciones que uniremos en puente tenga suficientes direcciones libres para hacer espacio a los clientes de la red VPN que se conectaran. En este ejemplo, las direcciones desde la IP 192.168.15.200 hasta la 192.168.15.210 están libres para ser utilizadas. Antes de proceder con la configuración de el servidor OpenVPN, debemos ajustar los scripts de arranque y levantamiento del puente, podemos ajustar los archivos de ejemplo provistos con el paquete openvpn que residen en la carpeta /usr/share/doc/openvpn/examples/sample-scripts

• •

Página 53 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

cp /usr/share/doc/openvpn/examples/samplescripts/bridge-start /etc/init.d

cp /usr/share/doc/openvpn/examples/samplescripts/bridge-stop /etc/init.d Luego, ajustamos los parámetros en el archivo bridge-start, para que estén de acuerdo a nuestra configuración de red.

editor /etc/init.d/bridge-start Allí de la ajustaremos máscara los de parámetros subred y eth, eth_ip, de eth_netmask que el y

eth_broadcast para que coincidan con la interfaz de red a utilizar, la dirección IP misma, dirección solo difusión posee, archivo respectivamente; eth0. En lo pertinente a la configuración del servidor, se aplicarán los pasos antes descritos para la creación de los certificados y se procede a editar la configuración del servidor, la cual varía muy poco de la configuración en modo enrutador. Seguidamente, editaremos

/etc/init.d/bridge-stop si la interfaz de red que utilizamos es diferente a

Página 54 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

editor /etc/openvpn/servidorpuente.conf

port 1194 proto udp dev tap0

En este parámetro, definimos la interfaz que creará el puente y servirá de túnel para la red privada virtual.
ca /etc/openvpn/prueba/ca.crt cert /etc/openvpn/prueba/servidorvpn.crt key /etc/openvpn/prueba/servidor.key dh /etc/openvpn/prueba/dh1024.pem server-bridge 192.168.15.2 255.255.255.0

192.168.15.200 192.168.15.210

El parámetro “server” en el modo de operación de puente debe cambiar a “server-bridge” y contener como parámetros la dirección de red del adaptador a unir al puente, la máscara de subred de dicha interfaz y las direcciones IP de inicio y fin de los clientes VPN que serán parte de la red puenteada.
keepalive 10 120 comp-lzo

Página 55 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log verb 3 mute 20 client-to-client

El procedimiento correcto para la activación de OpenVPN en modo puente se muestra a continuación /etc/init.d/bridge-start invoke-rc.d openvpn start servidorpuente Para la desactivación del servicio debe destruirse el puente creado, lo cual haremos posterior a la detención del servicio OpenVPN, como se muestra a continuación: invoke-rc.d openvpn stop servidorpuente /etc/init.d/bridge-stop Para verificar que de hecho poseemos un puente configurado con OpenVPN podemos revisar los registros o verificar la existencia de una interfaz de puente adicional en la máquina, lo que se hace, nuevamente con el comando ifconfig
Página 56 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

ifconfig br0

Link encap:Ethernet Hwaddr 00:A0:CC:39:88:DC inet addr:192.168.15.2 Bcast:192.168.15.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4600 errors:0 dropped:0 overruns:0 frame:0 TX packets:381 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:289864 (283.0 KiB) TX bytes:37900 (37.0 KiB) Es importante recordar que la interfaz unida al puente (en esta caso eth0), delegará su configuración en la interfaz de puente ya que esta será la encargada de la comunicación transparente entre los clientes locales y aquellos que pertenecen a la VPN.

Configuración del cliente en modo puente (bridge) Esta configuración es idéntica a la configuración del cliente en modo de enrutamiento, la única diferencia es la de reemplazar el parámetro dev tun por dev tap para indicar que es un cliente de una red privada virtual en modo puente; Es de notar que en el cliente no se da la interfaz específica ya que el cliente no debe hacer ningún tipo de configuración de puente con una interfaz específica. Para la prueba de conectividad puede hacerse igualmente con el comando ping, tanto al servidor como a cualesquiera otros nodos que estén presentes en la red local del servidor.

Página 57 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Haciendo ping a la interfaz de puente creada en el servidor para probar el funcionamiento de la VPN

ping 192.168.15.2

PING 192.168.15.2 (192.168.15.2) 56(84) bytes of data. 64 bytes from 192.168.15.2: icmp_seq=1 ttl=64 time=65.4 ms 64 bytes from 192.168.15.2: icmp_seq=2 ttl=64 time=69.6 ms

--- 192.168.15.2 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1311ms rtt min/avg/max/mdev = 65.403/67.513/72.245/3.454 ms

Página 58 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

TEMA 3: Enrutamiento y control de tráfico En casi todos los casos de uso, se buscará enrutar de forma segura conexiones desde un cliente en una red no segura, hacia las redes privadas de una organización. En este tema se definen estos paradigmas de enrutamiento y la manera en que se deben configurar los servidores de VPN para garantizar un enrutamiento efectivo, seguro y protegido entre los dos extremos.

Definición de rutas Suponiendo que el PC A es un servidor VPN y el PC B un cliente de la misma que además se encuentra en otra red privada a la que deseamos acceder. Por lo tanto tienen 2 tarjetas de red: Una conectada a la red privada y otra a Internet. Asumiendo que se pueda hacer ping a través del túnel, el próximo paso es rutear la subred real a través del túnel. El objetivo es conectar de manera segura ambas redes privadas.

PC A: 192.168.1.0/24 PC B: 192.168.5.0/24

1. Se ejecuta en ambos equipos para habilitar el bit de reenvío: echo 1 > /proc/sys/net/ipv4/ip_forward

2. Se habilitan los paquetes de reenvío del dispositivo
Página 59 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

TUN a través del cortafuegos: iptables -A FORWARD -i tun(n) -j ACCEPT

3. En el PC A se crea la ruta estática para acceder a la red privada remota en PC B. Se utilizará IPROUTE2: ip route add 192.168.5.0/24 via 10.4.0.2

4. Posteriormente, en el PC B se crea la ruta estática para acceder a la red privada remota en PC A: ip route add 192.168.1.0/24 via 10.4.0.1

5. Ahora cualquier máquina en el segmento privado del PC A (192.168.1.0/24) puede conectarse a cualquier máquina en el segmento privado del PC B (192.168.5.0/24) a través del túnel seguro VPN. Lo mismo desde la sede B a la sede A.

Esta configuración avanzada de rutas específicas puede evitarse utilizando el modo puente en la configuración de OpenVPN.

Otra forma más sencilla de activar estos paradigmas de enrutamiento avanzado en el modo enrutador es siguiendo el siguiente procedimiento

Página 60 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

1. Editar la configuración del servidor VPN, en el PC A y agregar el parámetro

client-config-dir clientes

2. Crear el directorio clientes en la misma carpeta donde reside el archivo de configuración del servidor (usualmente /etc/openvpn):

cd /etc/openvpn mkdir -p clientes

3. Crear un archivo de texto vacio con el nombre común del cliente del cual deseamos reenvíar la ruta privada, digamos que el cliente se le creó un certificado con nombre cliente2

touch /etc/openvpn/clientes/cliente2

4. Posteriormente, dejamos que el servidor VPN en el PC A sepa que en el PC B existe la subred 192.168.5.0/24, esto, lo agregaremos a través de la declaración iroute en el archivo de texto específico del cliente que acabamos de configurar:

Página 61 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

echo

“iroute

192.168.5.0

255.255.255.0”

> /etc/openvpn/clientes/cliente2

5. Por último, hacemos que el servidor OpenVPN en el PC A anuncie a los clientes de la VPN tanto la ruta detrás de si mismo (192.168.1.0/24) y la que existe detrás del PC B (192.168.5.0/24) a través del túnel seguro VPN.

editor /etc/openvpn/servidor.conf

Agregar los parámetros: iroute 192.168.1.0 255.255.255.0 push “route 192.168.1.0 255.255.255.0” push “route 192.168.5.0 255.255.255.0”

6. Para finalizar, reiniciamos el servicio OpenVPN

invoke-rc.d openvpn restart servidor

OpenVPN se encargará, automáticamente, de enrutar el tráfico hacia las redes 192.168.1.0/24 y 192.168.5.0/24 desde los clientes que se conecten, incluyendo al mismo PC B.

Página 62 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Anexos

Ejercicio Propuesto N#1 Su unidad productiva es seleccionada para la implementación de una red privada virtual utilizando OpenVPN en un ente público llamado INEAG que mantiene tres (3) clientes en diferentes regiones geográficas del país. Se le encarga de la configuración y puesta en funcionamiento de dicha infraestructura de conectividad con estos clientes remotos que están funcionando con conexiones a Internet a través de ADSL.

Premisas del Ejercicio

El

servidor

principal

de

OpenVPN

se

encuentra

en

la

dirección

central.ineag.gob.ve, y su dirección IP es 200.23.30. esta dirección es
resoluble a través de DNS desde cualquier parte del mundo.

El cliente posee las siguientes VLAN's privadas del lado del servidor:

10.60.0.0/24, 192.168.50.0/24 y 192.168.40.0/24, las cuales no desea que
sean accesibles desde los clientes de la VPN.
• •

La red VPN operará en el rango 172.16.1.0/24. El cliente desea que todas las llaves y certificados tengan un cifrado de 2048 bits.

El cliente desea que todas las llaves y certificados expiren en seis (6) meses y que la autoridad certificadora tenga una vigencia de dos (2) años.

La sede principal del cliente está ubicada en la ciudad de Barquisimeto, Edo. Lara.

Todos los clientes deberán tener direcciones IP fijas asignadas a través de la
Página 63 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

VPN, sin importar la que se le asigne, deberá mantenerse en sucesivas reconexiones del cliente y debe pertenecer al rango en el que opera la VPN.

El cliente desea mantener un control granular sobre el tráfico de la VPN, por lo que requiere que toda la configuración se realice en modo de enrutador.

Solución del ejercicio Para el caso de este ejercicio, crearemos las llaves de certificados siguiendo los pasos descritos anteriormente en este manual para el servidor y los clientes, utilizando los siguientes valores: ( Nota: Recordemos que los certificados, la llave del certificado del cliente y el certificado principal de la autoridad certificadora debe ser copiado a cada cliente) KEY_SIZE=2048 (Cifrado de 2048 bits) CA_EXPIRE=730 (Expiración a 2 años de la CA) KEY_EXPIRE=180 (Expiración a 6 meses del
certificado y llaves)

KEY_COUNTRY="VE" (País de procedencia: Venezuela) KEY_PROVINCE="LA" (Estado de procedencia: Lara) KEY_CITY="Barquisimeto" (Ciudad de procedencia:
Barquisimeto)

KEY_ORG="INEAG" (Nombre de la organización:
Instituto nacinal de estudios de agricultura)

KEY_EMAIL="admini@ineag.gob.ve" (Correo del
administrador: admini@ineag.gob.ve)

Página 64 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Procederemos a crear nuestra configuración del servidor OpenVPN en modo enrutador

1.

En

el

equipo

que

funge

como

servidor,

instalaremos openvpn

aptitude install openvpn

2.

Editaremos la configuración del servidor

editor /etc/openvpn/servidorineag.conf

3.

Verificamos que la configuración del servidor

indique los siquientes parámetros

port 1194 proto udp dev tun ca /etc/openvpn/prueba/ca.crt cert /etc/openvpn/prueba/servidorvpn.crt key /etc/openvpn/prueba/servidor.key dh /etc/openvpn/prueba/dh1024.pem server 172.16.1.0 255.255.255.0

Página 65 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log log /var/log/openvpn.log verb 3 mute 20 client-to-client

4.

Deberemos agregar a la configuración del

servidor el parámetro “client-config-dir” , ya que es la forma en que asignaremos direcciones estáticas través de la VPN a los clientes que se conecten. Crearemos el directorio “clientes” en /etc/openvpn y luego volveremos a editar el archivo de configuración para agregar la siguiente línea

client-config-dir clientes

5.

Luego, dependiendo del CN (Nombre común)

que asignásemos en los certificados de cliente
Página 66 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

crearemos archivos de texto plano por cada uno dentro del directorio /etc/openvpn/clientes, que tendrán la dirección IP principal del cliente dentro de la VPN (estática) que deseamos colocar. Se ilustra a continuación, un ejemplo para un cliente dentro de esta red VPN cuyo nombre común es: carora y deseamos configurarle la dirección IP fija 172.31.1.103 dentro de la VPN.

echo

“ifconfig-push

172.31.1.103

172.31.1.2” > /etc/openvpn/clientes/carora
Nota: Repita este proceso con los nombres comunes de los certificados que creó para los clientes en el ámbito de este ejercicio.

Ya con la configuración del servidor ajustada y guardada, procedemos a inicializar el servicio OpenVPN en central.ineag.gob.ve

invoke-rc.d openvpn start

Configuración de los clientes Se explicará la configuración de un cliente dentro del ámbito de este ejercicio, La configuración de los clientes restantes puede ser idéntica, cambiando solamente la parte de la ubicación y/o nombres de los certificados y llaves

Página 67 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

pertenecientes al mismo.

1.

Instalamos

el

paquete

openvpn

en

el

cliente

aptitude install openvpn

2.

Editamos la configuración del cliente

editor /etc/openvpn/cliente.conf 3. Verificamos que la configuración del

cliente indique los siguientes parámetros

client remote central.ineag.gob.ve port 1194 proto udp dev tun ca /etc/openvpn/certificados/ca.crt cert /etc/openvpn/certificados/cliente1.crt key
(Nota:

/etc/openvpn/certificados/cliente1.key
Estos valores son los que probablemente querrá

cambiar dados los nombres de los archivos contentivos de las llaves y certificados)

Página 68 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

keepalive 10 120 comp-lzo user nobody group nogroup persist-key persist-tun log /var/log/openvpn.log verb 3 mute 20

Para finalizar con la configuración del cliente, iniciamos OpenVPN

invoke-rc.d openvpn start

Repetiremos esta configuración en los clientes restantes y verificaremos que se les asignaron adecuadamente las direcciones IP fijas que definimos para ellos en el servidor, en sus respectivos archivos de cliente bajo: /etc/openvpn/clientes. Podremos verificar el correcto funcionamiento de la VPN verificando que la interfaz tun0 se creó de forma apropiada en cada una de nuestras instancias, y podremos, como lo ejemplifica este documento, hacer pruebas de conectividad a través del uso de ping o bien, conectándonos a algún
Página 69 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

servicio en el servidor o si lo deseamos, en otro de los clientes que son parte de la solución de este ejercicio.

Página 70 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Ejercicio Propuesto N#2 Debido a un cambio de requerimientos, el INEAG desea que las redes privadas disponibles en el servidor por medio de VLAN's sean accesibles para los clientes de la red privada virtual. Modifique la configuración del servidor para que esto sea posible.

Página 71 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Referencias

International Standards for Business, Government and Society (2009), “English country names and code elements”. Disponible en: http://www.iso.org/iso/english_country_names_and_code_elements

Schneier Bruce (1998), “Cryptanalysis of Microsoft's Point-to-Point Tunneling Protocol (PPTP)”. Disponible en: http://www.schneier.com/paperpptp.html

Página 72 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Glosario
Authentication Header (AH): protege la carga útil IP y todos los campos de la cabecera de un datagrama IP excepto los campos mutantes, es decir, aquellos que pueden ser alterados en el tránsito, además de resguardar opcionalmente contra ataques de repetición utilizando la técnica de ventana deslizante y descartando paquetes viejos. ATM (Asynchronous Transfer Mode/Modo de Transferencia Asíncrona): es una tecnología de telecomunicación, desarrollada para hacer frente a la gran demanda de capacidad de transmisión para servicios y aplicaciones. BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon): es la implementación del estándar DNS de uso más habitual en la Internet, especialmente en los sistemas tipo Unix, en los cuales es un estándar de facto. BIND9: es una nueva versión de BIND. Fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC. BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux. Cache: es todo duplicado del una información original que se almacena en un lugar de acceso más rápido que el original. Canaima: es una distribución GNU/Linux Venezolana basada en Debian que surge como una solución para cubrir las necesidades ofimáticas de los usuarios finales de la Administración Pública Nacional (APN) y para dar cumplimiento al decreto presidencial Nro. 3.390 sobre el uso de Tecnologías Libres.

Página 73 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

Datagramas: es un fragmento de paquete que es enviado con la suficiente información como para que la red pueda simplemente encaminar el fragmento hacia el equipo terminal de datos receptor, de manera independiente a los fragmentos restantes. DHCP (Dynamic Host Configuration Protocol / Protocolo de

Configuración Dinámica de Servidores): permite asignar IPs de forma dinámica, e indica servidores de nombre de dominios y gateways desde un servidor a todos los clientes que se la pidan. Direcciones IP: es un número que identifica de manera lógica y jerárquica a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red o nivel 3 del modelo de referencia OSI. Distribución: es una recopilación de programas y ficheros (paquetes), organizados y preparados para su instalación en las diferentes arquitecturas de hardware disponibles en el mercado, las cuales se pueden obtener a través de Internet, o adquiriendo los CD de las mismas. DNS (Domain Name System): es un sistema de nombres que permite traducir de nombres de dominio a direcciones IP y viceversa. Dominio: nombre básico de un conjunto de dispositivos y computadores dentro de una red, los equipos o dispositivos que lo componen cada uno posee un nombre perteneciente a ese dominio, que lo hace más fácil de recordar en vez de utilizar direcciones numéricas para acceder a los mismos. ESP (Encapsulating Security Payload): este protocolo proporciona

autenticidad de origen, integridad y protección de confidencialidad de un paquete. ESP también soporta configuraciones de sólo cifrado y sólo autenticación. Frame Relay: consiste en una forma simplificada de tecnología de
Página 74 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

conmutación de paquetes que transmite una variedad de tamaños de tramas o marcos (“frames”) para datos, perfecto para la transmisión de grandes cantidades de datos. Esta técnica se utiliza para un servicio de transmisión de voz y datos a alta velocidad que permite la interconexión de redes de área local separadas geográficamente a un coste menor. FQDN (Fully Qualified Domain Name): es un nombre que incluye el nombre de la computadora y el nombre del dominio asociado a ese equipo. La longitud máxima permitida para un FQDN es 255 caracteres (bytes), con una restricción adicional a 63 bytes por etiqueta dentro de un nombre de dominio. Las etiquetas FQDN se restringen a un juego de caracteres limitado: letras A-Z de ASCII, los dígitos, y el carácter «-», y no distinguen mayúsculas de minúsculas. GPL (General Public License / Licencia Pública General): la Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General Public License o simplemente su acrónimo del inglés GNU GPL, es una licencia creada por la Free Software Foundation (Fundación del Software Libre) a mediados de los 80, y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Header (Cabecera): es la primera parte de un paquete de datos que contiene información sobre las características de este. HDLS (High bit rate Digital Suscriber Line / Línea Digital de Abonado de alta velocidad): es un sistema de transmisión de datos de alta velocidad que utiliza dos pares trenzados; obteniendo velocidades superiores al Megabit en ambos sentidos. HTML (HyperText Markup Language / Lenguaje de Marcas de

Hipertexto): es el lenguaje de marcado predominante para la construcción de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes.
Página 75 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

IETF (Internet Engineering Task Force/Grupo de Trabajo en Ingeniería de Internet): es una organización internacional abierta de normalización, que tiene como objetivos el contribuir a la ingeniería de Internet, actuando en diversas áreas, tales como transporte, encaminamiento, seguridad. Fue creada en EE.UU en 1986. IKE (Internet key exchange):es un protocolo usado para establecer una asociación de seguridad (SA) en el protocolo Ipsec. Supone una alternativa al intercambio manual de claves, y su objetivo es la negociación de una Asociación de Seguridad para IPSEC, permitiendo además especificar el tiempo de vida de la sesión IPSEC, autenticación dinámica de otras máquinas, entre otras. IP (Internet Protocol): el protocolo de comunicaciones IP permite que redes grandes y geográficamente diversas de computadoras, se comuniquen con otras rápida y económicamente a partir de una variedad de eslabones físicos. IPsec (Internet Protocol security): es un conjunto de protocolos cuya función es asegurar las comunicaciones sobre el Protocolo de Internet (IP), autenticado y/o cifrando cada paquete IP en un flujo de datos. IPsec incluye también protocolos para el establecimiento de claves de cifrado. IPv4: es la versión 4 del Protocolo IP (Internet Protocol). Esta fue la primera versión del protocolo que se implementó extensamente, y forma la base de Internet. IPv4 usa direcciones de 32 bits, limitándola a 2 32 = 4.294.967.296 direcciones únicas, muchas de las cuales están dedicadas a redes locales (LANs). IPv6: es una nueva versión de IP (Internet Protocol) y está destinado a sustituir a IPv4, cuyo límite en el número de direcciones de red admisibles está empezando a restringir el crecimiento de Internet y su uso; pero el nuevo estándar mejorará el servicio globalmente; por ejemplo, proporcionará a
Página 76 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

futuras celdas telefónicas y dispositivos móviles con sus direcciones propias y permanentes. IPX (Internetwork Packet Exchange / Intercambio de paquetes

interred): es un protocolo de comunicaciones NetWare que se utiliza para encaminar mensajes de un nodo a otro. Los paquetes IPX incluyen direcciones de redes y pueden enviarse de una red a otra. ISC BIND: el nombre completo original del servidor BIND9 desarrollado por la Internet Systems Consortium. LAN (Local Área Network): es la interconexión de varias computadoras y periféricos. Su extensión está limitada físicamente a un edificio o a un entorno de hasta 200 metros; su aplicación más extendida es la interconexión de computadoras personales y estaciones de trabajo en oficinas, fábricas, etc., para compartir recursos e intercambiar datos y aplicaciones. L2F (Layer 2 Forwarding): fue diseñado por Cisco para establecer túneles de tráfico desde usuarios remotos hasta sus sedes corporativas. La principal diferencia entre PPTP y L2F es que, como el establecimiento de túneles de L2F no depende de IP, es capaz de trabajar directamente con otros medios, tales como Frame Relay o ATM. L2F utiliza el protocolo PPP para la autenticación del usuario remoto, pero también implementa otros sistemas de autenticación como TACACS+ (Terminal Access Controller Access Control System ) y RADIUS (Remote Authentication Dial-In User Service). L2TP (Layer 2 Tunneling Protocol): fue creado para corregir las deficiencias entre los protocolos PPTP y L2F, para establecerse como un estándar aprobado por el IETF. L2TP utiliza PPP para proporcionar acceso telefónico, que puede ser dirigido a través de un túnel por Internet hasta un punto determinado. L2TP define su propio protocolo de establecimiento de túneles, basado en L2F.

Página 77 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

NAT (Network Address Translation/Traducción de Dirección de Red): es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes, que se asignan mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las direcciones utilizadas en los paquetes transportados. También es necesario editar los paquetes, para permitir la operación de protocolos que incluyen información de direcciones dentro de la conversación del protocolo. NETBIOS (Network Basic Input/Output System): es una especificación de interfaz para acceso a servicios de red, es decir, una capa de software desarrollado para enlazar un sistema operativo de red con hardware específico. Nombres de dominio: son direcciones nemotécnicas o alias que identifican un sitio de Internet. OpenVPN: ofrece conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente, resulta una muy buena opción en tecnologías Wi-Fi, y soporta una amplia configuración (como por ejemplo balanceo de cargas, entre otras). Está publicado bajo la licencia GPL, de software libre. OSI (Open Source Initiative): es una organización dedicada a la promoción del código abierto. Fue fundada en febrero de 1998 por Bruce Perens y Eric S. Raymond. Protocolos Criptográficos: también llamado protocolo criptográfico o

protocolo de cifrado, es un protocolo abstracto o concreto que realiza funciones relacionadas con la seguridad, aplicando métodos criptográficos. PPP (Point-to-point Protocol/Protocolo Punto a Punto) : permite

establecer una comunicación a nivel de enlace entre dos computadoras. Generalmente, se utiliza para establecer la conexión a Internet de un particular
Página 78 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

con su proveedor de acceso a través de un módem telefónico. Ocasionalmente también es utilizado sobre conexiones de banda ancha. PPTP (Point to Point Tunneling Protocol): es un protocolo de red creado por Microsoft que permite la realización de transferencias seguras desde clientes remotos a servidores emplazados en redes privadas, empleando para ello tanto líneas telefónicas conmutadas como Internet. RADIUS (Remote Authentication Dial-In User Service): es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. RSA: el sistema criptográfico con clave pública RSA es un algoritmo asimétrico que hace cifrado de bloques y utiliza una clave pública, la cual se distribuye en forma autenticada (preferentemente), y otra privada, la cual es guardada en secreto por su propietario. SGML (Standard Generalized Markup Language / Estándar de Lenguaje de Marcado Generalizado): consiste en un sistema para la organización y etiquetado de documentos. El lenguaje SGML sirve para especificar las reglas de etiquetado de documentos y no impone en sí ningún conjunto de etiquetas en especial. Sistema Operativo: es un software que administra y controla las actividades, y recursos de la computadora. Comprende todos aquellos paquetes que le permiten al computador funcionar como un conjunto de herramientas e intérpretes de comandos. SSL (Secure Sockets Layer/Protocolo de Capa de Conexión Segura): proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptográficos. SSL/TLS (Secure Sockets Layer/Protocolo de Capa de Conexión Segura y Transport Layer Security/Seguridad de la Capa de Transporte): son
Página 79 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet. Subdominio: es un subgrupo o sub-clasificación del nombre de dominio, el cual es definido con fines administrativos u organizativos, que podría considerarse como un dominio de segundo nivel. Normalmente es una serie de caracteres o palabra que se escriben antes del dominio. En Internet se podría decir que el subdominio se utiliza para referirse a una dirección web, que trabaja como un anexo (o sitio relacionado) de un dominio principal. SOA (Service Oriented Architecture / Arquitectura Orientada a

Servicios): es un software que administra y controla las actividades, y recursos de la computadora. Comprende todos aquellos paquetes que le permiten al computador funcionar como un conjunto de herramientas e intérpretes de comandos. SOAP (Simple Object Access Protocol): es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAPHeader (Cabeceras SOAP): es una clase especial de bajo nivel para pasar o devolver cabeceras SOAP. Es simplemente un contenedor de datos y no tiene métodos especiales aparte de su constructor. TACACS (Terminal Access Controller Access Control System/Sistema de Control de Acceso Mediante Control del Acceso desde Terminales): es un protocolo de autenticación remota que se usa para comunicarse con un servidor de autenticación comúnmente usado en redes Unix. TACACS permite a un servidor de acceso remoto comunicarse con un servidor de autenticación para determinar si el usuario tiene acceso a la red. TCP/IP (Transfer Control Protocol / Internet Protocol): conjunto de protocolos definidos por catedráticos
Página 80 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

en

el

proyecto

ARPANet

del

Departamento de Defensa de Estados Unidos, para la red universitaria Internet en los años setenta. Esta familia de protocolos es un estándar para el intercambio de comunicaciones entre computadores. TLD (Top Level Domain): son los nombres en lo alto de la jerarquía de los DNS. Aparecen en los nombres de dominio, como "net" en "www.example.net". Los administradores del "dominio de la raíz" o "zona de la raíz" ("root domain" or "root zone") controlan lo que los TLDs sean reconocidos por los DNS. Los TLDs comúnmente usados incluyen a .com, .net, .edu, .jp, .de, etc. TSIG (Transaction SIGnature): usa llaves o claves secretas compartidas y germinador de una sola vía para proveer un significado seguro criptograficado, para identificar cada punto final de una conexión así como el estar permitido a hacer o responder a la actualización DNS. TTL (Time To Live): es el tiempo que un paquete permanece activo en una red. Hay un numero TTL en cada header de paquete IP, y a medida que un paquete pasa por cada router o enrutador, lo reduce por 1 este número. Si el paquete llega a 0, los routers o enrutadores no seguirán reenviando el paquete. Tunneling: técnica que consiste en encapsular un protocolo de red sobre otro (protocolo de red encapsulador) creando un túnel dentro de una red de computadoras. UDP (User Datagram Protocol): es un protocolo del nivel de transporte basado en el intercambio de datagramas. Permite el envío de datagramas a través de la red, sin que se haya establecido previamente una conexión; ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. UNIX: es un sistema operativo portable, multitarea y multiusuario;

desarrollado, en principio, en 1969 por un grupo de empleados de los
Página 81 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve

laboratorios Bell de AT&T. VPN (Virtual Privete Networks/Red Privada Virtual): es una tecnología de red que permite una extensión de la red local sobre una red pública o no controlada, como por ejemplo Internet. WAN (Wide Area Networks/Red de Área Amplia): es un tipo de red de computadoras capaz de cubrir distancias desde unos 100km hasta unos 1000 km, dando el servicio a un país o un continente. XML (Extensible Markup Language / Lenguaje de Marcas Ampliable): es un metalenguaje extensible de etiquetas desarrollado por el Word Wide Web Consortium (W3C). Consiste en una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto, XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades.

Página 82 de 82
Av. Andrés Bello, Torre BFC, Piso 16, Municipio Libertador, Caracas – Venezuela Master: (+58 212) 597.45.90 – www.cnti.gob.ve