Upload
lamngoc
View
214
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
CAPITULO 1
1.INTRODUCCION A LAS VPN
1.1. Definición de VPN
Es el producto de la necesidad de buscar comunicaciones seguras
y de bajo costo. Para pequeñas y medianas empresas. Utilizando
recursos públicos como el Internet.
Para poder habilitar redes privadas distribuidas. Y poder comunicar
de forma segura cada uno de los nodos usando una red pública, se ve
la necesidad de evitar que los datos sean interceptados.
Con una Red Privada Virtual (VPN), los usuarios remotos, que
pertenecen a una red privada, pueden comunicarse de forma libre y
segura entre redes remotas a través de redes públicas.
Una VPN normalmente usa la red Internet como transporte para
establecer enlaces seguros, extendiendo las comunicaciones a
oficinas aisladas. Significativamente, decrece el costo de las
comunicaciones porque el acceso a Internet es generalmente local y
mucho más barato que las conexiones mediante Acceso Remoto a
Servidores.
VPN´S SOBRE SERVIDORES LINUX - 1 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
¿Por qué esta idea no ha sido tomada con anterioridad?
Posiblemente porque Internet no puede proporcionar la seguridad,
el ancho de banda, o la calidad del servicio que garantice la
asociación con redes privadas. Por ejemplo, Internet soporta sólo
TCP/IP, mientras la mayoría de las redes se acomodan a varios
protocolos, y de esta forma si se desea correr una red corporativa
bajo Internet se obtendrá un servicio inferior (pero con un menor
costo). Auque en la actualidad esto cambie drásticamente ya que el
avance de la tecnología y los constantes aumentos en los anchos de
banda lo haga más competitivas.
Las Redes Privadas Virtuales utilizan tecnología de túnel
(tunneling) para la transmisión de datos mediante un proceso de
encapsulación 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 explicaré con profundidad el funcionamiento del túnel.
VPN´S SOBRE SERVIDORES LINUX - 2 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Una de las principales ventajas de una VPN es la seguridad, los
paquetes viajan a través de infraestructuras públicas (Internet) en
forma encriptada y a través del túnel de manera que sea
prácticamente ilegible para quien intercepte estos paquetes. Esta
tecnología es muy útil para establecer redes que se extienden sobre
áreas geográficas extensas, por ejemplo diferentes ciudades y a
veces hasta países y continentes. Por ejemplo empresas que tienen
oficinas remotas en puntos distantes, la idea de implementar una VPN
haría reducir notablemente los costos de comunicación, dado que las
llamadas telefónicas (en caso de usar dial-up) serian locales(al
proveedor de Internet) o bien utilizar conexiones DSL, en tanto que de
otra manera habría que utilizar líneas dedicadas las cuales son muy
costosas o hacer tendidos de cables que serian mas costosos aún.
1.2. Funcionamiento
Una Red Privada Virtual (VPN) transporta de manera segura por
Internet por un túnel establecido entre dos puntos que negocian un
esquema de encriptación y autentificación para el transporte. Una
VPN permite el acceso remoto a servicios de red de forma
transparente y segura con el grado de conveniencia y seguridad que
los usuarios conectados elijan. Las VPN están implementadas con
firewalls, routers para lograr esa encriptación y autentificación.
Es una red privada que se extiende, mediante un proceso de
encapsulación y en su caso de encriptación, de los paquetes de datos
VPN´S SOBRE SERVIDORES LINUX - 3 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
a distintos puntos remotos mediante el uso de unas infraestructuras
públicas de transporte.
Los paquetes de datos de la red privada viajan por medio de un
"túnel" definido en la red pública. (ver figura siguiente)
Figura 1 Figura 2
En la figura anterior (figura 2) se muestra como viajan los datos
a través de una VPN ya que el servidor dedicado es del cual parten
los datos, llegando al firewall que hace la función de una pared para
engañar a los intrusos a la red, después los datos llegan a la nube de
Internet donde se genera un túnel dedicado únicamente para
nuestros datos para que estos con una velocidad garantizada, con un
ancho de banda también garantizado y lleguen a su vez al firewall
remoto y terminen en el servidor remoto.
Las VPN pueden enlazar las oficinas corporativas con los socios,
con usuarios móviles, con oficinas remotas mediante los protocolos
como Internet, IP, Ipsec, Frame Relay, ATM como lo muestra la figura
siguiente.
VPN´S SOBRE SERVIDORES LINUX - 4 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
1.3. Tipos de VPN
Las formas en que se pueden implementar las VPNs pueden ser
basadas en HARDWARE o a través de SOFTWARE, pero lo más
importante es el protocolo que se utilice para la implementación.
Las VPNs basadas en HARDWARE utilizan básicamente equipos
dedicados como por ejemplo los routers, son seguros y fáciles de
usar, ofreciendo gran rendimiento ya que todos los procesos están
VPN´S SOBRE SERVIDORES LINUX - 5 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
dedicados al funcionamiento de la red a diferencia de un sistema
operativo el cual utiliza muchos recursos del procesador para brindar
otros servicios, en síntesis, los equipos dedicados son de fácil
implementación y buen rendimiento, solo que las desventajas que
tienen son su alto costo y que poseen sistemas operativos propios y a
veces también protocolos que son PROPIETARIOS.
1.4. Herramientas de una VPN
VPN Gateway
Software
Firewall
Routers
Dispositivos con un software y hardware especial para proveer de
capacidad a la VPN.
Software: Esta sobre una plataforma PC o Workstation, el software
desempeña todas las funciones de la VPN.
1.5. Arquitecturas de una VPN
Hay varias posibilidades de conexiones VPN, esto será definido
según los requerimientos de la organización, por eso es aconsejable
hacer un buen estudio a fin de obtener datos como por ejemplo si lo
VPN´S SOBRE SERVIDORES LINUX - 6 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
que se desea enlazar son dos o más redes, o si solo se conectaran
usuarios remotos.
Las posibilidades son:
1.5.1. DE CLIENTE A SERVIDOR (Client to Server):
Un usuario remoto que solo necesita servicios o aplicaciones
que corren en el mismo servidor VPN.
1.5.2. DE CLIENTE A RED INTERNA(Client to LAN)
Un usuario remoto que utilizará servicios o aplicaciones que se
encuentran en uno o mas equipos dentro de la red interna.
1.5.3. DE RED INTERNA A RED INTERNA (LAN to LAN)
VPN´S SOBRE SERVIDORES LINUX - 7 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Esta forma supone la posibilidad de unir dos intranets a través de dos
enrutadores, el servidor VPN en una de las intranets y el cliente VPN
en la otra.
Aquí entran en juego el mantenimiento de tablas de ruteo y
enmascaramiento.
1.6. Requerimientos Para El Armado De Una VPN
Para el correcto armado de una VPN, es necesario cumplir con una
serie de elementos y conceptos que a continuación se detallan:
Tener una conexión a Internet: ya sea por conexión IP dedicada,
ADSL o dial-up.
Servidor VPN: básicamente es una PC conectada a Internet
esperando por conexiones de usuarios VPN y si estos cumplen con el
proceso de autenticación, el servidor aceptara la conexión y dará
acceso a los recursos de la red interna.
Cliente VPN: este puede ser un usuario remoto o un enrutador de
otra LAN, tal como se especifica en la sección (Arquitecturas
VPN’S).
VPN´S SOBRE SERVIDORES LINUX - 8 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Asegurarse que la VPN sea capaz de:
Encapsular los datos.
Autentificar usuarios.
Encriptar los datos.
Asignar direcciones IP de manera estática y/o dinámica.
1.7. Tecnologías para armar una VPN.
Existen diferentes tecnologías para armar VPNs:
DLSW: Data Link Switching(SNA over IP)
IPX for Novell Netware over IP
GRE: Generic Routing Encapsulation
ATMP: Ascend Tunnel Management Protocol
IPSEC: Internet Protocol Security Tunnel Mode
PPTP: Point to Point Tunneling Protocol
L2TP: Layer To Tunneling Protocol
Entre los más usados y con mejor rendimiento estarían Ipsec y
PPTP, aunque a este último se le conocen fallas de seguridad.
A continuación se detallan su funcionamiento:
IPSEC (Internet Protocol Secure):
VPN´S SOBRE SERVIDORES LINUX - 9 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Es un protocolo de seguridad creado para establecer
comunicaciones que proporcionen confidencialidad e integridad de los
paquetes que se transmiten a través de Internet. IPsec puede utilizar
dos métodos para brindar seguridad, ESP (Encapsulating Security
Payload) o AH (Authentication Header). La diferencia entre ESP y AH
es que el primero cifra los paquetes con algoritmos de cifrado
definidos y los autentica, en tanto que AH solo los autentica. AH firma
digitalmente los paquetes asegurándose la identidad del emisor y del
receptor.
Ipsec tiene dos tipos de funcionamiento, uno es el modo
transporte en el cual la encriptación se produce de extremo a
extremo, por lo que todas las maquinas de la red deben soportar
Ipsec, y el otro es el modo túnel, en el cual la encriptación se produce
solo entre los routers de cada red.
Esta última forma sería la mas ordenada de organizar una red
VPN basada en Ipsec. Existen diferentes productos para implementar
VPN con Ipsec en GNU/Linux, pero sin dudas el más utilizado es el
Freswan (http://www.freeswan.org).
PPTP (Point to Point Tunneling Protocol):
Este es uno de los protocolos más populares y fue originalmente
diseñado para permitir el transporte (de modo encapsulado) de
protocolos diferentes al TCP/IP a través de Internet. Fue desarrollado
por el foro PPTP, el cual esta formado por las siguientes empresas:
VPN´S SOBRE SERVIDORES LINUX - 10 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Ascend Communications, Microsoft Corporations, 3 Com, E.C.I.
Telematics y U.S. Robotics(ahora 3 Com).
Básicamente, PPTP lo que hace es encapsular los paquetes del
protocolo punto a punto PPP(Point to Point Protocol) que a su vez ya
vienen encriptados en un paso previo para poder enviarlos a través
de la red. El proceso de encriptación es gestionado por PPP y luego es
recibido por PPTP, este último utiliza una conexión TCP llamada
conexión de control para crear el túnel y una versión modificada de la
Encapsulación de Enrutamiento Genérico (GRE, Generic Routing
encapsulation) para enviar los datos en formato de datagramas IP,
que serian paquetes PPP encapsulados, desde el cliente hasta el
servidor y viceversa.
El proceso de autenticación de PPTP utiliza los mismos métodos
que usa PPP al momento de establecer una conexión, como por
ejemplo PAP (Password Authenticaction Protocol) y CHAP (Challenge-
Handshake Authentication Protocol). El método de encriptación que
usa PPTP es el Microsoft Point to Point Encryption, MPPE, y solo es
posible su utilización cuando se emplea CHAP (o MS-CHAP en los NT)
como medio de autenticación.
MPPE trabaja con claves de encriptación de 40 o 128 bits, la clave de
40 bits es la que cumple con todos los estándares, en cambio la de
128 bits esta diseñada para su uso en Norte América. Cliente y
servidor deben emplear la misma codificación, si un servidor requiere
de más seguridad de la que soporta el cliente, entonces el servidor
rechaza la conexión.
VPN´S SOBRE SERVIDORES LINUX - 11 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
NOTA:
Es posible establecer conexiones mediante túneles sin
encriptación, es decir, realizar solamente la Encapsulación, pero esto
no esta considerado que sea una VPN ya que los datos viajan de
forma insegura a través de la red.
1.8. Algoritmos de Seguridad en VPN
1.8.1. Algoritmos De Cifrado Y Autenticación
¿Qué es la criptografía?
A medida que el campo de la criptografía ha ido avanzando, las
líneas divisorias de lo que es o no criptografía se han vuelto borrosas.
Hoy en día la criptografía puede considerarse como el estudio de las
técnicas y aplicaciones que dependen de la existencia de problemas
difíciles. El criptoanálisis es el estudio de cómo comprometer
(saltarse) los mecanismos criptográficos, y la criptología (del griego,
kryptós lógos, que significa palabra oculta) es la disciplina que
combina la criptografía y el criptoanálisis. Para la mayoría de las
personas, la criptografía hace referencia a mantener las
comunicaciones privadas. El cifrado es la transformación de los datos
a una forma que sea casi imposible de leer por alguien que no tenga
el conocimiento adecuado (la clave). Su propósito es asegurar la
privacidad manteniendo la información oculta de cualquiera que no
sea el destinatario, incluso de aquellos que tengan acceso a los datos
VPN´S SOBRE SERVIDORES LINUX - 12 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
cifrados. Descifrar es la acción opuesta a cifrar, y consiste en la
transformación de los datos cifrados a una forma inteligible. El cifrado
y el descifrado generalmente requieren del uso de algún tipo de
información secreta, conocida como clave. Algunos mecanismos de
cifrado usan la misma clave tanto para cifrar como para descifrar,
mientras que otros usan diferentes claves. Hoy en día la criptografía
es más que cifrar y descifrar. La autenticación es una parte
fundamental de la privacidad.
¿Qué es la criptografía de clave secreta?
La criptografía de clave secreta es conocida a veces como
criptografía simétrica. Es la forma más tradicional de criptografía, en
la cuál una única clave se usa tanto para cifrar como para descifrar el
mensaje. La criptografía de clave secreta no sólo trata el cifrado, sino
también la autenticación. Una de esas técnicas es la llamada códigos
de autenticación de mensajes (MAC). El principal problema de los
criptosistemas de clave secreta es conseguir que el remitente y el
destinatario se pongan de acuerdo en la clave secreta que se usará
sin que nadie más la descubra. Esto requiere un método mediante el
cuál ambas partes puedan comunicarse sin miedo a ser espiados. Sin
embargo, la ventaja de la criptografía de clave secreta es que es
generalmente más rápida que la criptografía de clave pública.
¿Qué es la criptografía de clave pública?
VPN´S SOBRE SERVIDORES LINUX - 13 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Para solventar el problema de la gestión de las claves en la
criptografía de clave secreta, W. Diffie y M. Hellman crearon en 1976
el concepto de criptografía de clave pública. Los criptosistemas de
clave pública tienen dos usos principales, el cifrado y las firmas
digitales. En estos sistemas, cada persona recibe un par de claves,
una llamada clave pública y la otra llamada clave privada. La clave
pública es publicada, mientras que la privada se mantiene en secreto.
La necesidad del remitente y el destinatario de compartir información
secreta desaparece, pues todas las comunicaciones requieren
únicamente las claves públicas, y nunca se transmite o comparte la
clave privada.
Cualquiera puede mandar un mensaje simplemente usando la
información pública, pero el mensaje sólo puede descifrarse con la
clave privada, que está únicamente en posesión del destinatario. En
un criptosistema de clave pública, la clave privada está siempre
asociada matemáticamente a la clave pública. Por lo tanto, es posible
realizar un ataque al sistema de clave pública deduciendo la clave
privada de la pública. Típicamente, la defensa contra esto es
conseguir que el problema de deducir la clave privada requiera la
factorización de un número muy grande, algo computacionalmente
intratable. Esta es la idea que hay detrás del criptosistema RSA de
clave pública.
¿Qué es Diffie-Hellman?
VPN´S SOBRE SERVIDORES LINUX - 14 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
El protocolo de acuerdo de claves Diffie-Hellman (también
conocido como acuerdo de clave exponencial) fue desarrollado por
Diffie y Hellman en 1976 y publicado en el sensacional documento
"New Directions in Cryptography." El protocolo permite a dos usuarios
intercambiar una clave secreta sobre un canal inseguro sin la
necesidad de secretos previos. El protocolo tiene dos parámetros de
sistema p y g. Ambos son públicos y pueden ser usados por todos los
usuarios de un sistema. El parámetro p es un número primo y el
parámetro g (normalmente llamado generador) es un entero menor
que p con la siguiente propiedad: para cada número n entre 1 y p-1,
inclusive, hay una potencia k de g tal que n = gk mod p. Supongamos
que Alicia y José quieren acordar una clave secreta compartida
usando el protocolo de acuerdo Diffie-Hellman. Procederían de la
siguiente manera: Primero, Alicia genera un valor aleatorio privado a
y José genera un valor aleatorio privado b. Tanto a como b son
escogidos de entre los enteros. Entonces deben derivar sus valores
públicos usando los parámetros p y g y sus valores privados. El valor
público de Alicia es ga mod p y el de José es gb mod p. Ahora deben
intercambiar sus valores públicos y, finalmente, Alicia computa gab
= (gb)a mod p, y José computa gba = (ga)b mod p. Debido a que gab
= gba = k, Alicia y José ahora tienen una clave secreta compartida k.
La seguridad del protocolo depende del problema del logaritmo
discreto. Asume que el cálculo de la clave compartida k = gab mod p
es inasequible computacionalmente dados los valores públicos ga
VPN´S SOBRE SERVIDORES LINUX - 15 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
mod p y gb mod p cuando el número primo p es suficientemente
grande.
¿Qué son SHA y SHA-1?
El Secure Hash Algorithm (SHA), el algoritmo especificado en el
estándar de dispersión segura o Secure Hash Standard (SHS, FIPS
180), fue desarrollado por NIST. SHA-1 es una revisión de SHA que fue
publicada en 1994 y que corregía un error no publicado de SHA. Su
diseño es muy similar a de la familia de algoritmos de dispersión MD4
desarrollada por Rivest. SHA-1 está también explicado en el estándar
ANSI X9.30. El algoritmo toma un mensaje de menos de 264 bits de
longitud y produce un mensaje resumido de 160 bits. El algoritmo es
ligeramente más lento que MD5, pero la mayor longitud del resumen
(en inglés, digest) resultante lo hace más seguro ante ataques de
fuerza bruta. SHA es parte del proyecto Capstone.
¿Qué son MD2, MD4 y MD5?
MD2, MD4 y MD5 son algoritmos de resumen de mensajes
desarrollados por Rivest. Su propósito son las aplicaciones de firma
digital en las cuales un mensaje muy grande tiene que ser
"comprimido" de manera segura antes de asignársele una clave
privada. Estos tres algoritmos toman un mensaje de longitud
arbitraria y producen un mensaje resumido de 128 bits. Pese a que
VPN´S SOBRE SERVIDORES LINUX - 16 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
las estructuras de estos algoritmos son considerablemente parecidas,
el diseño de MD2 es bastante diferente del de MD4 y MD5. MD2 fue
optimizado para máquinas de 8 bits, mientras que MD4 y MD5 está
enfocado a máquinas de 32 bits. La descripción y el código fuente de
estos algoritmos pueden encontrarse en Internet en los RFCs 1319-
1321.
MD2 fue desarrollado por Rivest en 1989. El mensaje es primero
rellenado de modo que su longitud sea divisible por 16. Una
verificación de 16 bytes es añadida luego al mensaje y el valor de
dispersión es computado sobre el mensaje resultante. Rogier and
Chauvaud han encontrado que pueden ocurrir colisiones si se omite el
cálculo de la verificación. Este es el único resultado criptoanalítico
conocido de MD2.
MD4 fue desarrollado por Rivest en 1990. El mensaje es
rellenado primero para asegurarse que su tamaño más 64 sea
divisible por 512. Una representación binaria de 64 bits de la longitud
original del mensaje es concatenada entonces al mensaje. El mensaje
es procesado en bloques de 512 bits según la estructura iterativa de
Damgard/Merkle y cada bloque es procesado en tres ocasiones
diferentes. Ataques a MD4 basados en la omisión de la primera o la
tercera ronda fueron rápidamente desarrollados por Den Boer,
Bosselaers y otros. Dobbertin ha demostrado como pueden ocurrir
colisiones en MD4 en menos de un minuto en un PC típico. En un
VPN´S SOBRE SERVIDORES LINUX - 17 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
trabajo reciente, Dobbertin (Fast Software Encryption, 1998) ha
demostrado que una versión reducida de MD4 en la cual la tercera
ronda de compresión no se lleve a cabo pero el resto se deje igual es
reversible. Por lo tanto, claramente MD4 puede considerarse roto.
MD5 fue desarrollado por Rivest en 1991. Es básicamente un
MD4 con cinturón de seguridad y, pese a ser ligeramente más lento
que MD4, es mucho más seguro. El algoritmo consiste en cuatro
rondas de compresión diferentes, con leves variaciones de diseño
respecto de MD4. El tamaño del mensaje comprimido, así como los
requerimientos de rellenado, son los mismos. Den Boer y Bosselaers
han encontrado pseudocolisiones en MD5. Un trabajo más reciente de
Dobbertin ha extendido las técnicas usadas tan eficientemente en el
análisis de MD4 para hallar colisiones en las funciones de compresión
de MD5.
Van Oorschot y Wiener han trabajado en la búsqueda por fuerza-bruta
de colisiones en las funciones de dispersión y estiman que una
máquina diseñada específicamente para la búsqueda de colisiones
(con un coste de 10 millones de dólares en 1994) tardaría una media
de 24 días en encontrar una colisión. Las técnicas generales pueden
aplicarse también a otras funciones de dispersión.
1.8.2. Filtrado De Paquetes entornos Linux
VPN´S SOBRE SERVIDORES LINUX - 18 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Si tenemos un firewall en el servidor VPN, deberemos agregar
algunas reglas de ip tables para permitir que se establezca el túnel,
los puertos que nos interesan son el 1723 y el 47.
Reglas de entrada:
# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
# iptables -A INPUT -p 47 -j ACCEPT
Reglas de salida:
# iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT
# iptables -A OUTPUT -p 47 -j ACCEPT
Ahora solo resta por levantar el demonio pptpd del siguiente modo:
#/etc/init.d/pptpd.init start
o directamente
# pptpd
El servidor PPTPD se pondrá automáticamente en background
escuchando por el puerto TCP 1723 en espera de conexiones
entrantes.
CAPITULO 2
2.CARACTERÍSTICAS DE VPN
VPN´S SOBRE SERVIDORES LINUX - 19 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
2.1. Descripción de VPN
Una Red Privada Virtual (VPN) consiste en dos máquinas (una en
cada "extremo" de la conexión) y una ruta o "túnel" que se crea
dinámicamente en una red pública o privada. Para asegurar la
privacidad de esta conexión los datos transmitidos entre ambos
ordenadores son encriptados por el Point-to-Point Protocol, también
conocido como PPP, un protocolo de acceso remoto, y posteriormente
enrutados o encaminados sobre una conexión previa (también
remota, LAN o WAN) por un dispositivo PPTP.
Una Red Privada Virtual es una forma de compartir y transmitir
información entre un círculo cerrado de usuarios que están situados
en diferentes localizaciones geográficas. Es una red de datos de gran
seguridad que permite la transmisión de información confidencial
entre la empresa y sus sucursales, socios, proveedores,
distribuidores, empleados y clientes, utilizando Internet como medio
de transmisión. Aunque Internet es una red pública y abierta, la
transmisión de los datos se realiza a través de la creación de túneles
virtuales, asegurando la confidencialidad e integridad de los datos
transmitidos.
VPN´S SOBRE SERVIDORES LINUX - 20 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Así, las VPN constituyen una estupenda combinación entre la
seguridad y garantía que ofrecen las costosas redes privadas y el
gran alcance, lo asequible y lo escalable del acceso a través de
Internet. Esta combinación hace de las Redes Privadas Virtuales o
VPNs una infraestructura confiable y de bajo costo que satisface las
necesidades de comunicación de cualquier organización.
Las VPNs permiten:
La administración y ampliación de la red corporativa al mejor
costo-beneficio.
La facilidad y seguridad para los usuarios remotos de
conectarse a las redes corporativas.
Los requisitos indispensables para esta interconectividad
son:
VPN´S SOBRE SERVIDORES LINUX - 21 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Políticas de seguridad.
Requerimiento de aplicaciones en tiempo real.
Compartir datos, aplicaciones y recursos.
Servidor de acceso y autentificación.
Aplicación de autentificación.
2.2. Protocolos de VPN
Han sido implementados varios protocolos de red para el uso de
las VPN. Estos protocolos intentan cerrar todos los “hoyos” de
seguridad inherentes en VPN. Estos protocolos continúan compitiendo
por la aceptación, ya que ninguno de ellos ha sido más admitido que
otro.
Estos protocolos son los siguientes:
Point-to-Point Tunneling Protocol (PPTP): PPTP es una
especificación de protocolo desarrollada por varias compañías.
Normalmente, se asocia PPTP con Microsoft, ya que Windows
incluye soporte para este protocolo. Los primeros inicios de
PPTP para Windows contenían características de seguridad
demasiado débiles para usos serios. Por eso, Microsoft continúa
mejorando el soporte PPTP. La mejor característica de PPTP
radica en su habilidad para soportar protocolos no IP. Sin
embargo, el principal inconveniente de PPTP es su fallo a elegir
una única encriptación y autentificación estándar: dos
VPN´S SOBRE SERVIDORES LINUX - 22 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
productos que acceden con la especificación PPTP pueden llegar
a ser completamente incompatibles simplemente porque la
encriptación de los datos sea diferente.
Layer Two Tunneling Protocol (L2TP): El principal competidor de
PPTP en soluciones VPN fue L2F, desarrollado por Cisco. Con el
fin de mejorar L2F, se combinaron las mejores características
de PPTP y L2F para crear un nuevo estándar llamado L2TP. L2TP
existe en el nivel de enlace del modelo OSI. L2TP, al igual que
PPTP soporta clientes no IP, pero también da problemas al
definir una encriptación estándar.
Internet Protocol Security (IPsec): IPsec es en realidad una
colección de múltiples protocolos relacionados. Puede ser usado
como una solución completa de protocolo VPN o simplemente
como un esquema de encriptación para L2TP o PPTP. IPsec
existe en el nivel de red en OSI, para extender IP para el
propósito de soportar servicios más seguros basados en
Internet.
SOCKS Networks Security Protocol: El sistema SOCKS
proporciona otra alternativa a los protocolos de VPN. SOCKS se
aloja en el nivel de sesión de OSI. Como SOCKS trabaja en un
nivel OSI más alto que los protocolos anteriores, permite a los
administradores limitar el tráfico VPN.
2.3. Clientes / Servidores en VPN
VPN´S SOBRE SERVIDORES LINUX - 23 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Un Servidor VPN normalmente es un componente hardware,
aunque también lo puede ser software. Puede actuar como un
gateway en una red o en un único computador. Debe estar siempre
conectado y esperando a que clientes VPN se conecten a él. El
software para el Servidor VPN es bastante frecuente. Sistemas como
Windows 2000 Server permiten alojar un Servidor VPN. El hardware
de los Servidores VPN es bastante costoso.
Un Cliente VPN es en la mayoría de los casos un componente
software, aunque puede ser también un componente hardware. Un
cliente realiza una llamada al servidor y se conecta. Entonces la
computadora cliente podrá comunicarse con el Servidor VPN, ya que
ellos se encuentran en la misma red virtual. El software para un
cliente VPN es bastante común. Cuando se carga en la computadora
este software permite crear un túnel seguro VPN a través de Internet
para poder comunicarse con el Servidor VPN.
Un Router basado en Servidores VPN tiene una velocidad de 600Kbps
debido a sus microprocesadores.
VPN´S SOBRE SERVIDORES LINUX - 24 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
CAPITULO 3
3. CONCEPTOS Y APLICACIONES DE SEGURIDAD EN
VPN
3.1. Como Funciona La Encriptación
Las redes privadas virtuales garantizan la privacidad y la
confidencialidad de la información haciendo uso de la encripción. En
un muy breve resumen, encripción es una técnica que codifica la
información de un modo que hace difícil o imposible su lectura, y la
decodifica de modo que pueda ser leída nuevamente. A la
información codificada se la llama cipher-text y a la información sin
codificar, clear-text. Cuando en una VPN se transmite información de
un punto a otro, el Gateway de la VPN del punto de origen encripta la
información en cipher-text antes de enviarla. En el otro punto, el
VPN´S SOBRE SERVIDORES LINUX - 25 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Gateway receptor desencripta la información, es decir se vuelve
clear-text, y luego la envía a la LAN.
Un algoritmo de encripción es una técnica reproducible de
cifrado y descifrado de información que puede ser realizada por
personas o computadoras. Un ejemplo sencillo de un algoritmo de
encripción sería reemplazar cada letra en una oración por la letra que
le sigue inmediatamente a ésta en el alfabeto, obteniendo el cipher-
text. Para leer la oración original, simplementa reemplazaríamos cada
letra del cipher-text por la letra que la precede en el alfabeto. En el
pasado (y en algunas implementaciones actuales de baja calidad), la
encripción permanecía segura manteniendo el algoritmo como un
secreto. De este modo, no se podía leer un mensaje encriptado ya
que se desconocía cómo había sido creado. El principal problema es
que una vez que el algoritmo ha sido descubierto, se tiene acceso a
toda la información que haya sido encriptada con el mismo. Peor aún,
dado que la técnica de encripción es un secreto, resulta imposible
determinar cuán buena es su calidad ya que muy poca gente puede
probarla.
Actualmente, los mejores métodos de encripción son públicos de
modo tal que todo el mundo sepa cómo funcionan. De hecho, se sabe
VPN´S SOBRE SERVIDORES LINUX - 26 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
exactamente cómo es encriptada la información. Estos métodos están
disponibles para cualquiera y están muy probados.
3.2. Que es y como funciona una clave
Ahora, dado que el método no es secreto, se evita que alguien
acceda a la información mediante el uso de keys (claves). Una clave
es un código secreto utilizado por el algoritmo de encripción para
crear una versión única de cipher-text. Esta clave podría compararse
con la combinación utilizada en una caja fuerte.
De este modo, la seguridad no depende de que el algoritmo de
encripción sea un secreto. Actualmente, la mayoría de los estándares
de seguridad de Internet (como DES y 3DES) toman esta postura de
exponer su algoritmo ante cualquiera para que sea examinado y
usado, brindando seguridad a través de la generación de claves
únicas y con alta dificultad de ser conocidas. El nivel de seguridad
generalmente depende en buena parte del largo de la clave (key
lenght).
VPN´S SOBRE SERVIDORES LINUX - 27 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
3.3. Key Lenght
Utilizando algoritmos de encripción conocidos, la seguridad
depende del largo de la clave. Una clave de 8 bits implica 28
combinaciones, mientras que una clave de 16 bits implica 216 (65536)
combinaciones posibles.
Con una clave de 16 bits, alguien podría realizar 65536 intentos antes
de adivinar la clave que brinda acceso al cipher-text. Para una
persona esto sería bastante difícil, pero para una computadora no
sería un gran desafío y no tomaría demasiado tiempo recorrer todas
las posibilidades.
Key lenght(bits) Combinaciones posibles
8 25616 65.53656 72.057.594.037.927.900112 5.192.296.858.534.830.000.000.000.000.000.000
168374.144.419.156.711.000.000.000.000.000.000.000.000.000.000.000.000
DES, Triple-Pass DES y 3DES
DES (Data Encryption Standard) es un algoritmo comúnmente
usado y ampliamente probado. El sistema DES usa claves de 56 bits
para encriptar datos en bloques de 64 bits. La clave de 56 bits brinda
256 combinaciones posibles. Esto implica que una persona valiéndose
VPN´S SOBRE SERVIDORES LINUX - 28 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
de una PC para adivinar la clave, tendría que recorrer durante
alrededor de 20 años las distintas combinaciones. Por otro lado, si
imaginamos una gigantesca organización con millones de
computadoras recorriendo en paralelo las distintas posibilidades,
encontrar la clave podría reducirse a minutos. Por esto, DES puede
ser seguro frente a atacantes casuales, pero no frente a una
organización de amplios recursos realizando un ataque dirigido.
Triple-Pass DES es un sistema DES que incrementa la seguridad
encriptando la información varias veces. Los datos son encriptados
utilizando una clave de 56 bits. El cipher-text resultante es
desencriptado utilizando una segunda clave de 56 bits. Esto da como
resultado un clear-text que nada tiene que ver con lo que
originalmente fue encriptado. Finalmente, los datos son nuevamente
encriptados utilizando la primer clave:
VPN´S SOBRE SERVIDORES LINUX - 29 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
A esta técnica de encriptar, desencriptar y volver a encriptar se
la conoce como EDE. Incrementa efectivamente la clave de 56 bits a
112 bits.
3DES es un algoritmo de encripción que provee una seguridad aún
mayor que triple-pass DES. Con 3DES, los datos son encriptados,
desencriptados y vueltos a encriptar (EDE), pero con tres claves
distintas. Esto resulta en una clave de 168 bits.
Generar claves seguras es sólo una parte de la ecuación. Para
garantizar una seguridad continua, lo deseable es que las claves
cambien constantemente cada breves periodos de tiempo. Del mismo
modo en que los algoritmos que basan su seguridad en mantenerse
secretos, sucede con las claves. Si se logra adivinar una clave, se
tiene acceso a toda la información encriptada con ella. Por este
VPN´S SOBRE SERVIDORES LINUX - 30 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
motivo, en una buena implementación nuevas claves son generadas
cada vez que un túnel VPN es establecido, y las claves son
regeneradas cada cierto tiempo, generalmente cada dos horas.
3.3.1. Claves Simétricas Y Asimétricas
Cuando la misma clave es utilizada para encriptar y
desencriptar la información, esta es denominada simétrica. Esto
requiere que los puntos comunicados a través de la VPN posean la
misma clave. Otra técnica utilizada permite que la información sea
encriptada con una clave, pero desencriptada con otra. La
información encriptada con una clave no puede ser desencriptada con
la misma y viceversa. Dos claves son requeridas, una para encriptar y
otra para desencriptar, y estas no pueden ser intercambiadas. Estos
pares de claves son denominadas claves asimétricas.
Con las claves asimétricas, a una clave se la denomina clave
pública y a la otra clave privada. La clave pública en general no se
mantiene en secreto. Si A desea enviarle un mensaje a B de modo tal
VPN´S SOBRE SERVIDORES LINUX - 31 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
que nadie más pueda verlo, entonces A encripta el mensaje usando la
clave pública de B. B es el único capaz de desencriptar el mensaje,
utilizando su clave privada. En otro ejemplo, si A envía un mensaje a
B y desea que B pueda corroborar que efectivamente el mensaje
proviene de A y no está falsificado, entonces A puede encriptar el
mensaje utilizando su clave privada, y B puede desencriptar el
mensaje con la clave pública de A. Si de este modo B logra
desencriptar el mensaje correctamente, entonces el mensaje tiene
que haber provenido de A.
Las claves asimétricas suelen ser muy largas - por ej. 1024 o 2048
bits -. El procesamiento de encripción requiere bastante potencia
computacional y toma mucho tiempo. Por esto, las claves asimétricas
son utilizadas para eventos que no ocurren frecuentemente, como
establecer un túnel VPN. Las claves simétricas suelen ser mucho mas
cortas - por ej. 56, 112 o 168 bits-, por lo que el procesamiento de
encripción utilizando claves simétricas es considerablemente mas
rápido que con las asimétricas. Las claves simétricas se utilizan para
transacciones de alta frecuencia, especialmente para la encripción de
datos transmitidos sobre una VPN.
3.4. Autentificación
La tecnología de encripción garantiza la privacidad de la información
al atravesar Internet. La tecnología de autenticación garantiza:
VPN´S SOBRE SERVIDORES LINUX - 32 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
1. La identidad de los participantes de la VPN (los gateways y
clientes son quienes dicen ser)
2. La integridad de la información recibida (no ha sido alterada en
el camino)
Existen diversos modos de autenticación, siendo el mas común el uso
de usuario y contraseña. El problema con este método en particular
es que es un tanto inseguro: una de sus debilidades es que los
usuarios deben elegir contraseñas que puedan recordar fácilmente.
Esto significa que pueden ser adivinadas.
Una de las tecnologías mas utilizadas es la de certificados
digitales, lo que permite autenticar e identificar tanto a personas
como a sistemas sin el uso de usuarios y contraseñas. Un certificado
digital es un registro que incluye varios datos, como el nombre de
una persona, su dirección, su clave pública, y fechas de expiración del
certificado que indican cuando éste deja de ser válido. En una VPN,
los certificados digitales se utilizan para identificar a quien (persona o
sistema) intenta conectarse a la VPN, y como medio de distribución
de claves públicas.
VPN´S SOBRE SERVIDORES LINUX - 33 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Para evitar la falsificación, los certificados digitales se basan en
la firma digital. La firma digital garantiza que la información recibida
es auténtica y no ha sido alterada en modo alguno. La creación de
una firma digital es un procedimiento de dos pasos. Primero, el
mensaje transmitido es procesado por un algoritmo de encripción
particular: la función de hash, que transforma un mensaje de largo
arbitrario en un número único de longitud fija. Este número creado
por la función hash es llamado el digest del mensaje. Si se cambia en
cualquier forma el mensaje original, el digest de este cambia
también. Las funciones de hash son muy conocidas, como SHA
(Secure Hash Algorithm) y MD5(Message Digest 5). El segundo paso
para crear la firma digital, es encriptar el digest del mensaje
utilizando la clave privada. Esto da como resultado la firma digital.
Para garantizar la autenticidad de un mensaje, se crea una firma
digital para el mismo y se incluye en el. El recipiente comprueba la
autenticidad mediante:
VPN´S SOBRE SERVIDORES LINUX - 34 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
1. La desencripción de la firma digital utilizando la clave pública
del remitente (esto genera el digest del mensaje original)
2. Cálculo del digest del mensaje utilizando la función de hash
(esto genera un nuevo digest del mensaje basado en los datos
recibidos)
3. Comparación de resultados
Si los resultados son idénticos, entonces el mensaje es auténtico y no
ha sido alterado. Un mensaje que incluye una firma digital es un
mensaje firmado.
Entonces, un certificado digital es un tipo especial de mensaje
firmado que asocia a una persona, organización o computadora con
una clave pública. Una entidad certificadora, llamada CA (Certificate
Authority), acepta claves públicas con una prueba de identidad y crea
certificados digitales dejándolos disponibles para otras personas. La
entidad certificadora es un organismo confiable por ambas partes, el
cual declara que efectivamente una clave pública pertenece a una
persona, organización o sistema. Esta entidad puede utilizar
protocolos de directorio como X.500 o LDAP para brindar sus
servicios, o puede estar implementada haciendo uso de protocolos
propietarios.
PKI (Public Key Infrastructure: Infraestructura de claves públicas) es
una serie de servicios de seguridad para administrar claves,
certificados digitales y políticas de seguridad. Las PKIs están
diseñadas para dar soporte a grupos abiertos, a fin de manejar
interacciones entre personas y sistemas que no se conocen
VPN´S SOBRE SERVIDORES LINUX - 35 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
previamente. Por ejemplo, en un sistema de compras a través de
Internet. En particular, las PKIs posibilitan la coordinación entre
múltiples CAs, dado que distintas personas o sistemas puede poseer
certificados emitidos por distintas CAs.
3.5. Encapsulamiento
Encriptación, claves, certificados y firmas digitales son las tecnologías
de seguridad que garantizan la privacidad en una VPN. Ahora,
generalmente, el envío de información en una VPN se realiza entre
direcciones privadas. Es decir, entre direcciones no routeables vía
Internet.
Veamos este ejemplo. En la oficina A la maquina con dirección
"a" puede comunicarse con "c" al enviar paquetes con encabezados
VPN´S SOBRE SERVIDORES LINUX - 36 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
que digan dirección-origen: a, dirección-destino: b. Esto funciona
perfectamente dentro de la LAN.
El problema se presenta cuando la máquina "a" de la oficina A quiere
enviar información a la máquina "z" en la oficina B. Como ambas
direcciones son privadas, no hay modo de routear paquetes a través
de Internet, que es la red pública que une a ambas oficinas. Entonces,
para realizar esta conexión, se requiere encapsulamiento.
El gateway de la oficina A, con dirección C, sabe que las direcciones
privadas "x", "y" y "z" se encuentran en la oficina B; y también sabe
que el gateway de la oficina B tiene dirección T. Entonces, cuando "a"
envía un paquete a "z", el gateway de la oficina A lo recibe y prepara
para su envío. El paquete inicial que dice dirección-origen:a,
dirección-destino: b, es encriptado y puesto dentro de un segundo
paquete que dice dirección-origen: C, dirección-destino: T. Como
estas direcciones son routeables en Internet, este paquete es enviado
a la oficina B, en donde el gateway de esta oficina extrae el primer
paquete y lo envía a la LAN.
Este proceso de poner un paquete dentro de otro es denominado
encapsulamiento, y es la base del tunneling.
APLICACIONES
3.6. Paquete F-Secure Para Windows.
3.6.1. Características De F-Secure
VPN´S SOBRE SERVIDORES LINUX - 37 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Las características principales son las siguientes:
Fácil de instalar: Requiere muy pocos parámetros de instalación
para el Administrador.
Fácil de configurar: Posee un editor de red gráfico que permite
configurar la totalidad de la red VPN desde una simple estación
de trabajo.
Seguro: Usa una extensa variedad de algoritmos de
encriptación, tales como DES, Blowfish, RSA, etc.
Basado en una tecnología ampliamente testeada y usada: Está
basado en la tecnología SSH, la cual es utilizada incluso por la
NASA.
Disponible a nivel global, con una fuerte encriptación: Se puede
enviar el software encriptado a todo el mundo, sin ningún
compromiso.
3.6.2. Beneficios De F-Secure
Los beneficios de F-Secure son los siguientes:
Cualquier PC con ciertos requerimientos mínimos puede utilizar
el software de F-Secure VPN.
VPN´S SOBRE SERVIDORES LINUX - 38 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
La red VPN es dinámicamente ampliable de modo que nuevas
LANs se pueden añadir sin demasiada configuración.
Se pueden usar conexiones a Internet de bajo coste para formar
la VPN. Tradicionalmente, las redes privadas virtuales seguras
han estado construyéndose usando líneas alquiladas muy caras.
Automáticamente se encriptan y protegen contra alteraciones,
todas las conexiones F-Secure VPN.
F-Secure VPN se integra con cualquiera de las firewalls
existentes.
F-Secure VPN soporta conexiones Extranet seguras.
3.7. Encriptación MPPE Gnu/Linux
En todo momento asumo que trabajamos como usuario root.
Instale los fuentes del kernel para su posterior compilación, es
aconsejable bajarse la ultima versión estable del kernel en
http://www.kernel.org o bien, si su distribución es Debian puede
instalarlo mediante apt. Al momento de escribir este documento se
uso la versión 2.4.20. También hay que conseguir el source del patch
para MPPE para poder aplicárselo al kernel. Si no desea recompilar el
kernel, hay imágenes precompiladas que ya poseen el soporte para
MPPE, debe buscar la versión que mas se adecue a la arquitectura de
su equipo.
VPN´S SOBRE SERVIDORES LINUX - 39 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Obtenemos los fuentes del kernel y herramientas para la
compilación y lo preparamos para la compilación (al modo Debian) :
# apt-get install kernel-package gcc bin86 bzip2 kernel-source-
2.4.20
#cd /usr/src
#bzip2 -d kernel-source-2.4.20.tar.bz2
#tar -xvf kernel-source-2.4.20.tar.bz2
Siempre es conveniente, para evitar errores en la compilación, hacer
un enlace simbólico llamado linux al directorio que contiene los
sources.
#ln -s kernel-source-2.4.20 linux
#cd linux
#make-kpkg clean
# cp /boot/config-2.4.20 ./.config
Ahora le aplicaremos el patch para soporte MPPE:
# cd /usr/src
# wget http://quozl.netrek.org/pptp/ppp-
2.4.2_cvs_20021120.tar.gz
# tar -xfz ppp-2.4.2_cvs_20021120.tar.gz
# cd ppp-2.4.2_cvs_20021120/linux/mppe
# chmod +x mppeinstall.sh
# ./mppeinstall.sh /usr/src/kernel-source-2.4.20
Editamos el archivo /usr/src/kernel-source-2.4.20/.config y buscamos
la línea que hace referencia al PPP y la dejamos de la siguiente
VPN´S SOBRE SERVIDORES LINUX - 40 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
manera, CONFIG_PPP=m , luego buscamos otra línea que hace
referencia al MPPE y quedaría así,
CONFIG_PPP_MPPE=m.
El próximo paso es compilar el kernel e instalarlo:
# make-kpkg –append_to_version -mppe –initrd kernel-image
Este proceso puede tomar unos cuantos minutos, depende la
maquina en la que se este compilando.
# dpkg -i kernel-image-2.4.20-mppe_10.00.Custom_i386.deb
Ahora solo resta reiniciar el equipo con el nuevo kernel(recuerde
configurar su gestor de arranque). Una vez reiniciado, asegúrese que
esta corriendo el nuevo kernel:
#uname -r
Si el kernel es el correcto, entonces vamos a testear el soporte para
MPPE:
#modprobe ppp_mppe
Aparecera un mensaje pero será solo de advertencia, no impedirá que
trabaje bien.
CAPITULO 4
VPN´S SOBRE SERVIDORES LINUX - 41 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
4. VPN DINÁMICAS
4.1. Conceptos de las VPN Dinámicas
Internet no fue diseñada, originalmente, para el ámbito de los
negocios. Carece de la tecnología necesaria para la seguridad en las
transacciones y comunicaciones que se producen en los negocios.
Entonces, ¿Cómo establecer y mantener la confianza en un entorno el
cual fue diseñado desde el comienzo para permitir un acceso libre a
la información?, es decir, ¿Cómo conseguir seguridad en una intranet
sin chocar con los principios básicos de Internet sobre la flexibilidad,
interoperatibilidad y facilidad de uso?. La respuesta apropiada se
encuentra en la utilización de VPNs Dinámicas. A diferencia de una
VPN tradicional, una VPN Dinámica proporciona, además de un alto
nivel de seguridad a ambos extremos, una flexibilidad necesaria para
acoplarse dinámicamente a la información que necesitan los distintos
grupos de usuarios. Las VPNs Dinámicas pueden ofrecer esta
flexibilidad ya que están basadas en una única arquitectura. Además,
una VPN Dinámica proporciona más recursos y servicios a una
Intranet, para hacer mayor uso de los recursos de la información.
Alguna de las características que se proporciona son las siguientes:
VPN´S SOBRE SERVIDORES LINUX - 42 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Proporciona una seguridad importante para la empresa.
Se ajusta dinámicamente al colectivo dispar de usuarios.
Permite la posibilidad de intercambio de información en
diversos formatos.
El ajuste que hace para cada usuario lo consigue gracias a los
diferentes navegadores, aplicaciones, sistemas operativos,
etc...
Permite a los usuarios unirse a distintos grupos, así como a los
administradores asignar identidades en un entorno simple pero
controlado.
Mantiene la integridad total, independientemente del volumen
administrativo, cambios en la tecnología o complejidad del
sistema de información corporativo.
4.2. Funcionamiento de las VPN Dinámicas
Las VPNs Dinámicas constan de una plataforma de seguridad de
red y un conjunto de aplicaciones para usar en la plataforma de
seguridad.
VPN´S SOBRE SERVIDORES LINUX - 43 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Siguiendo los pasos ilustrados en la figura, un usuario realiza
una petición de información a un servidor, por ejemplo, pulsando con
su ratón en un hipervínculo. Los pasos seguidos se pueden describir
en los siguientes puntos:
Un usuario solicita información usando una aplicación tal como
un navegador de Internet, desde un ordenador de sobremesa:
El intercambio de información comienza cuando un usuario
envía información a otro usuario o solicita información al
servidor. En el supuesto de que un usuario haya accedido a un
hipervínculo desde dentro de algún documento Web, dicho
hipervínculo será seguro y solamente podrá ser accedido por
usuarios autorizados.
La aplicación envía y asegura el mensaje: Cuando un cliente y
un servidor detectan que se necesita seguridad para transmitir
la petición y para ver el nuevo documento, ellos se
VPN´S SOBRE SERVIDORES LINUX - 44 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
interconectan en un mutuo protocolo de autentificación. Este
paso verifica la identidad de ambas partes antes de llevar a
cabo cualquier acción. Una vez que se produce la
autentificación se asegura el mensaje encriptándolo.
Adicionalmente, se puede atribuir un certificado o firma
electrónica al usuario.
El mensaje se transmite a través de Internet: Para que la
petición alcance el servidor debe dejar la LAN y viajar a través
de Internet, lo cual le permitirá alcanzar el servidor en algún
punto de la misma. Durante este viaje, puede darse el caso de
que atraviese uno o más firewalls antes de alcanzar su objetivo.
Una vez atravesado el firewall, la petición circula a lo largo del
pasillo Internet hasta alcanzar el destino.
El mensaje recibido debe pasar controles de seguridad: El
mensaje se transfiere al servidor. El servidor conoce la
identidad del usuario cliente cuando recibe la petición.
Durante la petición, se verifican los derechos de acceso de los
usuarios: En una VPN dinámica, el sistema debe poder restringir
que usuarios pueden y no pueden acceder a la misma. El
servidor debe determinar si el usuario tiene derechos para
realizar la petición de información. Esto lo hace usando
mecanismos de control, alojados en el Servidor de Control de
Acceso. De este modo, incluso si un usuario presenta un
certificado válido, puede ser que se le deniegue el acceso
basándose en otros criterios.
VPN´S SOBRE SERVIDORES LINUX - 45 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
La petición de información es devuelta por Internet,
previamente asegurada: El servidor de información encripta la
información y opcionalmente la certifica. Las claves
establecidas durante los pasos de
autentificación mutua se usan para encriptar y desencriptar el
mensaje. De esta forma, un usuario tiene su documento
asegurado.
VPN´S SOBRE SERVIDORES LINUX - 46 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
CAPITULO 5
5.CONFIGURAR UNA VPN BAJO LINUX
Esta sección del documento pretende ayudarlo a configurar un
servidor VPN bajo GNU/Linux y a establecer una conexión desde un
cliente windows de manera simple.
Para este ejemplo de configuración me basare en el protocolo PPTP
utilizando la distribución Debian SID, es decir una estructura CLIENT
TO LAN.
Para la gestión de Redes Privadas Virtuales con PPTP bajo GNU/Linux
existen diferentes herramientas, obviamente libres, pero sin duda el
mas usado es el PPTPD (Point to Point Tunneling Protocol Daemon
http://www.poptop.org) que oficia de servidor VPN y puede ser
accesado tanto por clientes que corran windows como tambien
GNU/Linux.
En tanto que para los clientes GNU/Linux, el programa a usar es el
pptp-linux, que sirve para acceder a servidores VPN corriendo
GNU/Linux , Windows NT o 2000 Server.
Los pasos a tratar son:
VPN´S SOBRE SERVIDORES LINUX - 47 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Soporte del kernel para encriptación MPPE.
Configurar PPP para encriptación con MPPE.
Configuración del daemon PPTPD.
Administración de usuarios.
Filtrado de paquetes (básico).
Conexión de clientes.
5.1. Configuracion Del Kernel Con Soporte MPPE.
En todo momento asumo que trabajamos como usuario root.
Instale los fuentes del kernel para su posterior compilación, es
aconsejable bajarse la ultima versión estable del kernel en
http://www.kernel.org o bien, si su distribución es Debian puede
instalarlo mediante apt. Al momento de escribir este documento se
uso la versión 2.4.20. También hay que conseguir el source del patch
para MPPE para poder aplicárselo al kernel.
Si no desea recompilar el kernel, hay imágenes precompiladas que ya
poseen el soporte para MPPE, debe buscar la versión que mas se
adecue a la arquitectura de su equipo.
Obtenemos los fuentes del kernel y herramientas para la compilación
y lo preparamos para la compilación (al modo Debian) :
# apt-get install kernel-package gcc bin86 bzip2 kernel-source-2.4.20
VPN´S SOBRE SERVIDORES LINUX - 48 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________#cd /usr/src
#bzip2 -d kernel-source-2.4.20.tar.bz2
#tar -xvf kernel-source-2.4.20.tar.bz2
Siempre es conveniente, para evitar errores en la compilación, hacer
un enlace simbólico llamado linux al directorio que contiene los
sources.
#ln -s kernel-source-2.4.20 linux
#cd linux
#make-kpkg clean
# cp /boot/config-2.4.20 ./.config
Ahora le aplicaremos el patch para soporte MPPE:
# cd /usr/src
# wget http://quozl.netrek.org/pptp/ppp-2.4.2_cvs_20021120.tar.gz
# tar -xfz ppp-2.4.2_cvs_20021120.tar.gz
# cd ppp-2.4.2_cvs_20021120/linux/mppe
# chmod +x mppeinstall.sh
# ./mppeinstall.sh /usr/src/kernel-source-2.4.20
Editamos el archivo /usr/src/kernel-source-2.4.20/.config y buscamos
la línea que hace referencia al PPP y la dejamos de la siguiente
manera, CONFIG_PPP=m , luego
buscamos otra línea que hace referencia al MPPE y quedaría así,
CONFIG_PPP_MPPE=m.
VPN´S SOBRE SERVIDORES LINUX - 49 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________El próximo paso es compilar el kernel e instalarlo:
# make-kpkg –append_to_version -mppe –initrd kernel-image
Este proceso puede tomar unos cuantos minutos, depende la
maquina en la que se este compilando.
# dpkg -i kernel-image-2.4.20-mppe_10.00.Custom_i386.deb
Ahora solo resta reiniciar el equipo con el nuevo kernel(recuerde
configurar su gestor de arranque).
Una vez reiniciado, asegúrese que esta corriendo el nuevo kernel:
#uname -r
Si el kernel es el correcto, entonces vamos a testear el soporte para
MPPE:
#modprobe ppp_mppe
Aparecera un mensaje pero será solo de advertencia, no impedirá que
trabaje bien.
5.2. Configuracion De Pppd Con Soporte MPPE.
Compilamos el nuevo pppd:
# cd /usr/src/ppp-2.4.2_cvs_20021120/linux/mppe
# make
Luego salvamos el pppd actual por si hay que volver atrás, para eso
solo lo renombramos,
VPN´S SOBRE SERVIDORES LINUX - 50 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________y usamos el comando dpkg-divert el cual elimina la versión de pppd
instalada por Debian,
pero guardando los atributos en el archivo copiado.
# cp /usr/sbin/pppd /usr/sbin/pppd.debian
# dpkg-divert –divert /usr/sbin/pppd.debian /usr/sbin/pppd
# cp pppd/pppd /usr/sbin/pppd
5.3. Configurando El Servidor Vpn (PPTPD).
Descargar la ultima versión de los fuentes de PPTPD (al momento
de escribir estedocumento es pptpd-1.4-b2.tar.gz). Descompactar y
compilar del siguiente modo:
# tar -xvzf pptpd-1.4-b2.tar.gz
# cd poptop-1.1.4
# ./configure --prefix=/usr/sbin
# make
# make check
# make install
Copiar el archivo pptpd.init (ubicado en el directorio de la
compilacion) a
/etc/init.d (en Red Hat seria /etc/rc.d/init.d) y darle permisos de
ejecución:
VPN´S SOBRE SERVIDORES LINUX - 51 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________# chmod 755 pptpd.init
Luego hacer el link al runlevel adecuado:
#cd /etc/rc2.d/ (en debian el runlevel 2 es modo multiuser)
#ln -s ../init.d/pptpd.init S97vpn
Editar el archivo pptpd.init y cambiar la linea 23
"daemon /usr/sbin/pptpd" por "/usr/sbin/pptpd -d"
Editar el /etc/pptpd.conf y dejarlo de la siguiente manera
debug #Esta línea puede ser removida una vez que la vpn esta
funcionando
option /etc/ppp/options.pptp
localip 192.168.1.1
remoteip 192.168.1.10-50
localip: IP que tendrá el servidor vpn (IP del tunel), esto puede ser un
rango, por lo cual asignara(en el servidor) una IP por cada túnel que
se genere. A veces para mejor control es mejor que el server tenga la
misma IP siempre.
remoteip: rango de IPs que se asignan a los usuarios que se
conecten, en caso de proveer una sola IP, permitirá un cliente por
vez, pero todos los clientes obtendrán esa misma IP. Es importante
tener en cuenta la cantidad de conexiones que se van a permitir,
porque si se requiere asignar direcciones IP estáticas a usuarios (esto
VPN´S SOBRE SERVIDORES LINUX - 52 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________se hace en el /etc/chap-secrets) las IPs deberán estar contempladas
en el rango.
Ahora deberemos editar el archivo /etc/ppp/options.pptp que debería
tener como mínimo las siguientes opciones:
lock
debug
+chap
+chapms
+chapms-v2
mppe-40
mppe-128
mppe-stateless
proxyarp
y con esto quedaría configurado el servidos PPTPD, ahora pasemos a
dar de alta los usuarios VPN.
5.4. Configurando Usuarios VPN.
La configuración de usuarios se hace en el archivo /etc/ppp/chap-
secrets, no es necesario que el usuario que se conecte por VPN tenga
que ser usuario del sistema:
VPN´S SOBRE SERVIDORES LINUX - 53 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________La primer columna corresponde a el nombre de usuario(para
autenticar dominios de windows, poner el nombre de dominio mas
dos barras invertidas antes del usuario) En la segunda columna va el
nombre del servidor (puede ir solamente un asterico asumiendo que
es el mismo donde esta corriendo el pptp)
En la tercer columna va el password
En la cuarta columna va la IP, en caso de asignar estáticamente una a
un usuario, de lo contrario, con un asterisco (*) el servidor le dará a
ese usuario una IP arbitraria que va a estar comprendida en el rango
que especifico en /etc/pptpd.conf ).
Ejemplo de /etc/ppp/chap-secrets:
juan * bostero *
pedro * de3th58 192.168.1.22
alberto * 123456 192.168.1.23
Para autenticar una maquina windows:
Ej: dominio\\pedro * d3th58 192.168.1.22
Habrá tantos usuarios en el chap-secrets como conexiones se
permitan realizar(no se pueden loguear dos usuarios al mismo
tiempo) , recordemos también que en este archivo se encuentran los
nombres de usuario y password de NUESTRO acceso a internet ;).
5.5. Filtrado De Paquetes.
VPN´S SOBRE SERVIDORES LINUX - 54 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Si tenemos un firewall en el servidor VPN, deberemos agregar algunas
reglas de iptables para permitir que se establezca el túnel, los puertos
que nos interesan son el 1723 y el 47.
Reglas de entrada:
# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
# iptables -A INPUT -p 47 -j ACCEPT
Reglas de salida:
# iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT
# iptables -A OUTPUT -p 47 -j ACCEPT
Ahora solo resta por levantar el demonio pptpd del siguiente modo:
#/etc/init.d/pptpd.init start
o directamente
# pptpd
El servidor PPTPD se pondrá automáticamente en background
escuchando por el puerto TCP 1723 en espera de conexiones
entrantes.
5.6. Configurando Clientes Vpn.
Configuración de clientes bajo windows:
VPN´S SOBRE SERVIDORES LINUX - 55 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________1- Primero deberemos dar soporte a windows para establecer
conexiones vpn.
Desde las propiedades de red, agregar dispositivo(o adaptador) para
redes privadas virtuales.
2- Ir a Panel de Control > Configuración de Acceso Telefónico a redes.
Crear un nuevo perfil de conexión utilizando el dispositivo con soporte
para vpn, estableciendo el nombre o numero IP del servidor vpn,
nombre de usuario que hemos establecido en el /etc/chap-secrets del
equipo servidor y la misma password.
3- Luego de creada la conexión, entramos a Propiedades y le decimos
(tildando las opciones) que queremos cifrado de datos y contraseña
cifrada. Llegados a este punto, ya se puede establecer la conexión
cliente<->servidor, conectando
como si lo hiciéramos a un isp normal.
Bueno, espero que tengan suerte con esta configuración que es algo
básica, cualquier consulta pueden hacerla a
IPSec
IPSec es el estándar de facto para garantizar la seguridad y
autenticidad de las comunicaciones privadas a través de redes
VPN´S SOBRE SERVIDORES LINUX - 56 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________públicas basadas en IP, y se basa en estándares desarrolados por la
IETF. Si bien la incorporación de IPSec es opcional en
implementaciones de IPv4, debe estar presente en las
implementaciones de IPv6, por lo que puede asumirse que IPSec será
utilizado en forma creciente. IPSec es realmente flexible y muy
escalable, y si bien las implementaciones suelen ser bastantes
complejas, una vez superada ésta se obtiene una notable estabilidad.
IPSec provee encripción y autenticación al nivel de IP en la pila de
protocolos de red, por lo que protege todo tipo de tráfico transportado
sobre IP y puede ser utilizado en routers, firewalls, servidores de
aplicaciones e incluso desktops y laptops.
Se utilizan tres protocolos:
AH(Authentication Header)
ESP(Encapsulating Security Payload)
IKE(Internet Key Exchange)
El protocolo IKE prepara las conexiones IPSec (ESP o AH) tras negociar
ciertos parámetros (algoritmos a utilizar, claves, etc). Esto se realiza
intercambiando paquetes en el puerto 500/UDP entre ambos
gateways. IKE se encuentra definido en RFC2409.
AH brinda un servicio de autenticación a nivel de paquetes. Esta
autenticación se brinda en forma separada a la encripción agregando
un header de autenticación (AH) entre el header IP y el resto. Los
VPN´S SOBRE SERVIDORES LINUX - 57 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________detalles pueden encontrarse en RFC2402. Los datos de autenticación
del header dependen tanto de una clave simétrica como de cada byte
de los datos que son autenticados. La técnica utilizada es HMAC
(RFC2104). Los algoritmos involucrados son SHA y MD5. AH utiliza el
protocolo 51.
El protocolo ESP brinda encripción y autenticación de paquetes.
Puede usarse con o sin AH.
La autenticación se realiza en forma similar a AH. Los algoritmos de
encripción pueden variar de acuerdo a la implementación (los RFCs
requieren únicamente DES y encripción nula). FreeS/WAN, la
implementación de IPSec para Linux utiliza 3DES actualmente,
aunque existen patches para agregar soporte de otros, como AES
(Rijndael), Blowfish y CAST. Pese al requerimiento de DES, FreeS/WAN
no lo implementa, ya que como anteriormente se dijo es inseguro.
ESP utiliza el protocolo 50.
Modos De Conexiones IPSEC
Pueden realizarse conexiones IPSec de dos modos diferentes: modo
de transporte y modo de túnel.
VPN´S SOBRE SERVIDORES LINUX - 58 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________El modo de transporte es una conexión de host a host y sólo involucra
dos máquinas. Cada equipo realiza su propio procesamiento de IPSec
y routea paquetes en forma acorde (algunos via IPSec).
El modo de túnel es una conexión entre gateways, los cuales proveen
túneles para ser utilizados por máquinas clientes detrás de cada
gateway. Las máquinas clientes no realizan ningún procesamiento de
IPSec, tan sólo routean a los gateways.
5.7. Configuración Del IPSEC
IPSec puede operar de dos maneras diferentes:
1. Modo túnel (del inglés, Tunnel mode). El propósito de este modo es
establecer una comunicación segura entre dos redes remotas sobre
un canal inseguro. Por ejemplo:
IPSec en modo túnel entre las dos puertas de enlace A y B
2. Modo transporte (del inglés, Transport mode). El propósito de este
modo es establecer una comunicación segura punto a punto, entre
dos hosts y sobre un canal inseguro. Por ejemplo:
VPN´S SOBRE SERVIDORES LINUX - 59 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
IPSec en modo transporte entre un host cliente y uno servidor
Normalmente las VPNs se configuran en modo túnel.
IPsec funciona a partir de dos bases de datos:
1. SPD (Security Policy Database, en inglés Base de datos de políticas
de seguridad). Estas políticas le dicen a IPSec cuando debe o no
debe actuar sobre un paquete IP.
2. SAD (Security Association Database, en inglés Base de datos de
asociaciones de seguridad). Estas asociaciones le dicen a IPSec cómo
debe crear el canal entre las dos máquinas. Una SP o política de
seguridad (del inglés, Security Policy) está formada, básicamente, por
lo siguientes aspectos:
Rango de direcciones de origen. Si la dirección de origen del
paquete está dentro de este rango, entonces...
Rango de direcciones de destino. Si la dirección de destino del
paquete está dentro de este rango, entonces...
Protocolo de alto nivel. Si el protocolo del paquete es tcp, udp,
icmp, cualquiera, entonces...
VPN´S SOBRE SERVIDORES LINUX - 60 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Política que se aplicará. Que consta de la dirección del canal a
crear (entrada o salida) y la acción a tomar (discard, none o
ipsec).
En el caso de aplicarse la política ipsec sobre el paquete, deberán
especificarse los siguientes datos:
Protocolo IPSec a usar: ah, esp o ipcomp.
Modo IPSec que se usará (túnel o transporte). En el caso de
túnel se deberán especificar las direcciones IPs de inicio y fin
del mismo.
Nivel IPSec:
o default: nivel estándar.
o use: usar una asociación de seguridad (SA) sólo si está
disponible, o darle al paquete el tratamiento habitual en
su defecto.
o require: el uso de la asociación de seguridad es
obligatorio para que se envíe el paquete.
Nota: si no hay una asociación de seguridad disponible, el kernel
solicita una negociación de asociación de seguridad al demonio IKE
(racoon).
Una asociación de seguridad (SA) está formada principalmente por los
siguientes aspectos:
Dirección IP de origen.
VPN´S SOBRE SERVIDORES LINUX - 61 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Dirección IP de destino.
Protocolo IPSec que debe usarse: ah, esp o ipcomp.
Índice numérico (SPI, del inglés Security Parameter Index).
Modo del protocolo: tunnel, transport o any (cualquiera de los
dos).
Algoritmos:
o Autenticación y la clave
o Cifrado y la clave
o Cifrado y autenticación con las claves
o Compresión
Nota: las asociaciones de seguridad (SA) sólo pueden usarse si están
asociadas con una política, y esta asociación sólo puede establecerse
si existe una política cuyas reglas tengan los mismos parámetros que
la asociación de seguridad (SA). Aún así, puede haber una política de
seguridad (SP) funcional sin una asociación de seguridad (SA) en uno
de los dos casos siguientes:
1. Cuando la política de seguridad (SP) tiene el tipo none o discard y
no haya ninguna asociación de seguridad (SA) que usar, pues IPSec
no será aplicado.
2. Cuando la asociación de seguridad (SA) sea creada dinámicamente
por el demonio IKE (racoon).
VPN´S SOBRE SERVIDORES LINUX - 62 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
5.8. Instalación Y Configuración De La VPN
Antes de seguir deberemos asegurarnos de que tenemos un
kernel 2.6 instalado y funcionando. Si es así, los siguientes paquetes
deberían
estar ya instalados:
cramfsprogs: Tools for CramFs (Compressed ROM File System)
dash: The Debian Almquist Shell
initrd-tools: tools to create initrd image for prepackaged Linux
kernel
module-init-tools: tools for managing Linux kernel modules
A continuación se listan las opciones específicas del kernel que son
necesarias para la VPN. Estas opciones activarán sus dependencias
pero, de todos modos, se considera que el usuario ya tiene un kernel
2.6 con iptables funcionando.
Cryptographic options
MD5 digest algorithm
SHA1 digest algorithm
DES and Triple DES EDE cipher algorithms
Blowfish cipher algorithm
AES cipher algorithms (i586)
Deflate compression algorithm
VPN´S SOBRE SERVIDORES LINUX - 63 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
CRC32c CRC algorithm
Device Drivers: Networking support: Networking options
PF_KEY sockets
IP: AH transformation
IP: ESP transformation
IP: IPComp transformation
IP: tunnel transformation
IPsec user configuration interface
Device Drivers: Networking support: Networking options: Network
packet filtering (replaces ipchains): IP: Netfilter Configuration
IP tables support (required for filtering/masq/NAT)
AH/ESP match support
Packet filtering
MASQUERADE target support
En el fichero /usr/src/linux/.config serían las siguientes opciones:
# Networking options
# Networking optionsCONFIG_NET_KEY=yCONFIG_INET_AH=yCONFIG_INET_ESP=yCONFIG_INET_IPCOMP=yCONFIG_INET_TUNNEL=y# IP: Netfilter ConfigurationCONFIG_IP_NF_IPTABLESCONFIG_XFRM_USERCONFIG_IP_NF_MATCH_AH_ESPCONFIG_IP_NF_FILTERCONFIG_IP_NF_TARGET_MASQUERADE# Cryptographic options
VPN´S SOBRE SERVIDORES LINUX - 64 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________CONFIG_CRYPTO=yCONFIG_CRYPTO_HMAC=yCONFIG_CRYPTO_MD5=yCONFIG_CRYPTO_SHA1=yCONFIG_CRYPTO_DES=yCONFIG_CRYPTO_BLOWFISH=yCONFIG_CRYPTO_AES_586=yCONFIG_CRYPTO_DEFLATE=yCONFIG_CRYPTO_CRC32C=y
Si, tras finalizar de leer el artículo, estamos seguros de que sólo
vamos a usar un algoritmo de cifrado, por ejemplo Blowfish y no DES
o AES, entonces obviamente el segundo no será necesario. De todos
modos, el autor recomienda seleccionar todas las opciones para que
cuando queramos cambiar de algoritmo no tengamos que recompilar
el kernel y reiniciar la máquina.
Los paquetes necesarios para instalar y configurar una VPN con KAME
IPSec sobre kernel 2.6 son los siguientes:
ipsec-tools: IPsec tools for Linux
racoon: IPsec IKE keying daemon
iproute: Professional tools to control the networking in Linux
kernels
iptables: Linux kernel 2.4+ iptables administration tools
Nota: durante la instalación del paquete racoon elegiremos el método
de configuración directo.
Asimismo, se recomienda la instalación de los siguientes paquetes:
dnsutils: Clients provided with BIND
VPN´S SOBRE SERVIDORES LINUX - 65 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
tcpdump: A powerful tool for network monitoring and data
acquisition
ntpdate: The ntpdate client for setting system time from NTP
servers
Por lo tanto, como root, ejecutaremos:
apt-get install ipsec-tools racoon iproute iptables dnsutils tcpdump
ntpdate
Con el kernel 2.4 de Linux(7) y FreeS/WAN(8), la asociación del tráfico
cifrado y las zonas se hacía fácil gracias a la presencia de
pseudointerfaces con nombres del estilo ipsecn (p.e. ipsec0). El
tráfico cifrado saliente era enviado a través de un dispositivo ipsecn
mientras que el tráfico cifrado entrante llegaba desde un dispositivo
ipsecn. La implementación introducida en el kernel 2.6(9) prescinde
de estas pseudointerfaces. El tráfico saliente que va a ser cifrado y el
tráfico entrante que debe ser descifrado deben compararse con las
políticas en la SPD (del inglés, Security Policty Database) o de la SA
(del inglés, Security Association) apropiada.
5.8.1. Configuración de una VPN en Modo Túnel
Supongamos que nos interesa que las máquinas de la subred
local 192.168.0.0/24 sean capaces de comunicarse con los de la
subred local 192.168.1.0/24. Ambas redes locales acceden a internet
VPN´S SOBRE SERVIDORES LINUX - 66 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________mediante sendas puertas de enlace 192.168.0.1 y 192.168.1.1,
respectivamente. Las puertas de enlace tienen IPs públicas
213.96.80.51 y 80.36.214.182, respectivamente. En ambos gateways
existen dos interfaces de red, una conectada a la LAN y otra a la
WAN. La interfaz conectada a la red local es eth0 y la interfaz
conectada al router es eth1 en ambos casos. Entonces, la topología
de red es la siguiente:
Red A <-> Red B
Para conseguir esto necesitamos hacer dos cosas:
1. Abrir el cortafuegos de modo que se permita establecer un túnel
IPSec (permitir los protocolos ESP y AH y el puerto UDP 500)
2. Permitir el tráfico a través del túnel.
Para permitir el tráfico por el túnel, empezaremos configurando las
políticas de seguridad. Para gestionar dichas políticas, Debian cuenta
con un demonio llamado setkey, manejable mediante el script
/etc/init.d/setkey, el cuál ejecuta las sentencias que se encuentren en
el
fichero /etc/ipsec-tools.conf tras haber borrado las políticas que estén
cargadas actualmente. Para una conexión de este tipo necesitaremos
VPN´S SOBRE SERVIDORES LINUX - 67 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________ocho entradas en el fichero /etc/ipsec-tools.conf del gateway A
(192.168.0.1):spdadd 192.168.1.0/24 192.168.0.0/24 any -P in ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 192.168.1.0/24 213.96.80.51/32 any -P in ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 80.36.214.182/32 213.96.80.51/32 any -P in ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 80.36.214.182/32 192.168.0.0/24 any -P in ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 192.168.0.0/24 192.168.1.0/24 any -P out ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;spdadd 192.168.0.0/24 80.36.214.182/32 any -P out ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;spdadd 213.96.80.51/32 192.168.1.0/24 any -P out ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;spdadd 213.96.80.51/32 80.36.214.182/32 any -P out ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;
El formato de la instrucción spdadd es el siguiente (de man
racoon.conf):
spdadd [-46n] src_range dst_range upperspec policy
Las cuatro primeras entradas configuran la política para el túnel de
entrada, mientras que las cuatro últimas las del túnel de salida. El
comando spdadd añade políticas a la base de datos de políticas de
seguridad. Respectivamente, las cuatro primeras sentencias
establecen que:
El tráfico entrante desde la subred 192.168.1.0/24 hacia la
subred 192.168.0.0/24 será cifrado por IPSec usando el
protocolo ESP en modo túnel, usando las direcciones de inicio y
fin 80.36.214.182 y 213.96.80.51, respectivamente, y la
asociación de seguridad será obligatoria o no se mandará el
paquete.
El tráfico entrante desde la subred 192.168.1.0/24 hacia el host
213.96.80.51 será cifrado por IPSec usando el protocolo ESP en
modo túnel, usando las direcciones de inicio y fin 80.36.214.182
VPN´S SOBRE SERVIDORES LINUX - 68 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
y 213.96.80.51, respectivamente, y la asociación de seguridad
será obligatoria o no se mandará el paquete.
El tráfico entrante desde el host 80.36.214.182 hacia el host
213.96.80.51 será cifrado por IPSec usando el protocolo ESP en
modo túnel, usando las direcciones de inicio y fin 80.36.214.182
y 213.96.80.51, respectivamente, y la asociación de seguridad
será obligatoria o no se mandará el paquete.
El tráfico entrante desde el host 80.36.214.182 hacia la subred
192.168.0.0/24 será cifrado por IPSec usando el protocolo ESP
en modo túnel, usando las direcciones de inicio y fin
80.36.214.182 y 213.96.80.51, respectivamente, y la asociación
de seguridad será obligatoria o no se mandará el paquete. Y las
cuatro siguientes líneas establecen el canal de salida de
manera análoga:
El tráfico saliente desde la subred 192.168.0.0/24 hacia la
subred 192.168.1.0/24 será cifrado por IPSec usando el
protocolo ESP en modo túnel, usando las direcciones de inicio y
fin 80.36.214.182 y 213.96.80.51, respectivamente, y la
asociación de seguridad será obligatoria o no se mandará el
paquete.
El tráfico saliente desde la subred 192.168.0.0/24 hacia el host
80.36.214.182 será cifrado por IPSec usando el protocolo ESP
VPN´S SOBRE SERVIDORES LINUX - 69 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
en modo túnel, usando las direcciones de inicio y fin
80.36.214.182 y 213.96.80.51, respectivamente, y la asociación
de seguridad será obligatoria o no se mandará el paquete.
El tráfico saliente desde el host 213.96.80.51 hacia la subred
192.168.1.0/24 será cifrado por IPSec usando el protocolo ESP
en modo túnel, usando las direcciones de inicio y fin
80.36.214.182 y 213.96.80.51, respectivamente, y la asociación
de seguridad será obligatoria o no se mandará el paquete.
El tráfico saliente desde el host 213.96.80.51 hacia el host
80.36.214.182 será cifrado por IPSec usando el protocolo ESP
en modo túnel, usando las direcciones de inicio y fin
80.36.214.182 y 213.96.80.51, respectivamente, y la asociación
de seguridad será obligatoria o no se mandará el paquete.
En el gateway B, 192.168.1.1, configuraremos el mismo fichero
/etc/ipsec-tools.conf pero intercambiando las entradas y las salidas
(en las cuatro primeras entradas sustituiremos in por out y en las
cuatro siguientes viceversa). El fichero resultante será el siguiente:spdadd 192.168.1.0/24 192.168.0.0/24 any -P out ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 192.168.1.0/24 213.96.80.51/32 any -P out ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 80.36.214.182/32 213.96.80.51/32 any -P out ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 80.36.214.182/32 192.168.0.0/24 any -P out ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;spdadd 192.168.0.0/24 192.168.1.0/24 any -P in ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;spdadd 192.168.0.0/24 80.36.214.182/32 any -P in ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;spdadd 213.96.80.51/32 192.168.1.0/24 any -P in ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;spdadd 213.96.80.51/32 80.36.214.182/32 any -P in ipsec esp/tunnel/213.96.80.51-80.36.214.182/require;
El siguiente paso es configurar el demonio IKE Racoon. Empezaremos
por configurar la clave compartida entre hosts, editando el fichero
VPN´S SOBRE SERVIDORES LINUX - 70 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________/etc/racoon/psk.txt en ambos gateways, de modo que quede como el
siguiente:
213.96.80.51 shared_key
80.36.214.182 shared_key
Donde shared_key es una cadena de veinte caracteres ASCII
aleatorios que podemos generar con el siguiente comando:
$ dd if=/dev/random count=20 bs=1 | xxd -ps
Nota: el comando xxd es parte del paquete vim.
Nota: shared_key debe tener el mismo valor en ambas líneas.
El siguiente paso es configurar el fichero de configuración del
demonio ISAKMP Racoon con las direcciones de ambos extremos del
túnel y las asociaciones de seguridad. Racoon negocia las
asociaciones de seguridad por si mismo (SA de ISAKMP o SA de fase
1) y para el IPSec del kernel (SA de IPSec o SA de fase 2). El fichero
está formado por una secuencia de directivas y sentencias. Cada
directiva se compone de una etiqueta y las sentencias están
enmarcadas entre llaves '{' y '}'. Las líneas que empiezan con '#' son
comentarios. En la puerta de enlace A, 192.168.0.1, el fichero
/etc/racoon/racoon.conf quedaría tal que éste:
VPN´S SOBRE SERVIDORES LINUX - 71 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________path pre_shared_key "/etc/racoon/psk.txt"; log notify;listen{isakmp 213.96.80.51;strict_address;}remote 80.36.214.182{exchange_mode main;send_cr off;send_cert off;proposal {encryption_algorithm blowfish;hash_algorithm sha1;authentication_method pre_shared_key;dh_group 2;}}sainfo address 192.168.0.0/24 any address 192.168.1.0/24 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}sainfo address 213.96.80.51/32 any address 192.168.1.0/24 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}sainfo address 213.96.80.51/32 any address 80.36.214.182/32 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}sainfo address 192.168.0.0/24 any address 80.36.214.182/32 any{pfs_group 2;encryption_algorithm blowfish;
VPN´S SOBRE SERVIDORES LINUX - 72 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}A continuación se explica el propósito de las directivas y sentencias
más relevantes de las usadas en el fichero de configuración anterior.
De ámbito general destacan estas dos directivas:
path pre_shared_key: especifica el fichero que contiene las
claves pre-compartidas para los diversos identificadores.
log: define el nivel de log, que puede ser notify, debug o
debug2. Por defecto se usa notify. Es importante tener en
cuenta que, si se usa un nivel de logging demasiado elevado en
una máquina lenta, pueden producirse timeouts durante la
negociación.
De la directiva listen destacan las siguientes sentencias:
listen: si no se especifica esta directiva, racoon escuchará en
todas las direcciones disponibles.
isakmp: el formato es isakmp address [[port]]. Si se especifica
esta sentencia dentro de la directiva listen, racoon escuchará
únicamente en la dirección especificada. El puerto por defecto
es el 500, definido por la IANA(10). Pueden establecerse varias
sentencias isakmp.
strict_address: esta sentencia hace necesario que todas las
direcciones para ISAKMP estén asociadadas con alguna interfaz
de red.
VPN´S SOBRE SERVIDORES LINUX - 73 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
De la directiva remote destacan las siguientes sentencias:
remote: la directiva remote va seguida de una dirección o la palabra
clave anonymous, según el formato remote (address | anonymous)
[[port]], y especifica los parámetros para la fase 1 de IKE para cada
nodo remoto. El puerto por defecto es el 500. Si se especifica
anonymous, las sentencias se aplicarán a todos los nodos a los que
no se les apliquen otras sentencias remote específicas.
exchange_mode: esta sentencia puede tener tres valores diferentes,
main, aggressive y base, y define el modo de intercambio para la fase
1 cuando racoon es quien la inicia. También indica el modo de
intercambio aceptado cuando racoon responde. Puede especificarse
más de un modo, separados por comas. Todos los modos serán
aceptados, pero el primero es el que se usará cuando racoon sea el
iniciador de la negociación.
send_cr y send_cert: si no se desea mandar una petición de
certificado, debe ponerse a off, pues el valor por defecto es on. Lo
cambiamos a off debido a que usamos una clave compartida y no
certificados para establecer el túnel.
VPN´S SOBRE SERVIDORES LINUX - 74 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________encryption_algorithm: especifica los algoritmos de cifrado que se
usarán en la fase 1. Esta sentencia es de obligatoria especificación.
Los algoritmos pueden ser des, 3des, blowfish o cast128.
hash_algorithm: define el algoritmo de dispersión (del inglés, hash)
que se usará durante la negociación de la fase 1. La definición de esta
sentencia es obligatoria. El algoritmo puede ser md5 o sha1.
authentication_method: define el método de autenticación usado
en la negociación de la fase 1 y es una sentencia que debe definirse
obligatoriamente. Pueden darse los valores pre_shared_key, rsasig,
gssapi_krb, hybrid_rsa_server o hybrid_rsa_client.
dh_group: define el grupo que se usará para las exponenciaciones
Diffie-Hellman. La definición de esta sentencia es obligatoria y puede
coger uno de los valores modp768, modp1024, modp1536,
modp2048, modp3072, modp4096, modp6144 o modp8192.
Alternativamente, pueden definirse los grupos DH como 1, 2, 5, 14,
15, 16, 17 o 18. Si se quiere usar el modo aggressive debe
especificarse el mismo grupo DH en todas las propuestas.
De la directiva sainfo se usan las siguientes sentencias:
sainfo: sigue el formato sainfo (source_id destination_id |
anonymous) [from idtype [string]] y define los parámetros para la
fase 2 de IKE (establecimiento de las asociaciones de seguridad de
IPSec). source_id y destination_id se construyen según el formato.
VPN´S SOBRE SERVIDORES LINUX - 75 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________address address [/ prefix] [[port]] ul_proto.
pfs_group: define el grupo que se usará para las exponenciaciones
Diffie-Hellman. La definición de esta sentencia es obligatoria y puede
coger uno de los valores modp768, modp1024, modp1536,
modp2048, modp3072, modp4096, modp6144 o modp8192.
Alternativamente, pueden definirse los grupos DH como 1, 2, 5, 14,
15, 16, 17 o 18.
encryption_algorithm: especifica los algoritmos de cifrado que se
usarán en la fase 2. Puede tomar los valores des, 3des, des_iv64,
des_iv32, rc5, rc4, idea, 3idea, cast128, blowfish, null_enc, twofish o
rijndael (usado con ESP).
authentication_algorithm: define el algoritmo de autenticación
usado en la negociación de la fase 2 y puede tomar los valores des,
3des, des_iv64, des_iv32, hmac_md5, hmac_sha1, non_auth (usado
con autenticación ESP y AH).
compression_algorithm: define el algoritmo de compresión usado y
puede puede tomar únicamente el valor deflate (usado con IPComp).
Por lo tanto, mediante las cuatro directivas sainfo que se configuran
en este fichero /etc/racoon/racoon.conf del gateway A, definimos
VPN´S SOBRE SERVIDORES LINUX - 76 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________cuatro asociaciones de seguridad para las conexiones salientes que
se establecerán desde este host. Respectivamente:
Las conexiones de la subred 192.168.0.0/24 a la subred
192.168.1.0/24.
Las conexiones del host 213.96.80.51 (gateway A) a la subred
192.168.1.0/24.
Las conexiones del host 213.96.80.51 (gateway A) al host
80.36.214.182 (gateway B).
Las conexiones de la subred 192.168.0.0/24 al host
80.36.214.182 (gateway B).
El fichero /etc/racoon/racoon.conf del gateway B
(192.168.1.1/80.36.214.182) será muy parecido al anterior. Tan sólo
debemos intercambiar las direcciones IP de las directivas remote y
listen y modificar apropiadamente las directivas sainfo para que las
direcciones IP sean las de origen de la subred 192.168.1.0/24 y el
host 80.36.214.182 y las de destino las de la subred 192.168.0.0/24 y
la del host 213.96.80.51. El fichero resultante sería el siguiente:
path pre_shared_key "/etc/racoon/psk.txt";log notify;listen{isakmp 80.36.214.182;strict_address;}remote 213.96.80.51
VPN´S SOBRE SERVIDORES LINUX - 77 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________{exchange_mode main;send_cr off;send_cert off;proposal {encryption_algorithm blowfish;hash_algorithm sha1;authentication_method pre_shared_key;dh_group 2;}}sainfo address 192.168.1.0/24 any address 192.168.0.0/24 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}sainfo address 80.36.214.182/32 any address 192.168.0.0/24 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}sainfo address 80.36.214.182/32 any address 213.96.80.51/32 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}sainfo address 192.168.1.0/24 any address 213.96.80.51/32 any{pfs_group 2;encryption_algorithm blowfish;authentication_algorithm hmac_sha1, hmac_md5;compression_algorithm deflate;}Antes de activar la VPN añadiremos opciones a la llamada al demonio
racoon para que el log se haga en un fichero aparte y no en el syslog.
VPN´S SOBRE SERVIDORES LINUX - 78 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________Para ello modificaremos el script /etc/init.d/racoon en ambos
gateways y modificaremos el valor de la variable RACOON_ARGS
en la línea 27, tal que:
RACOON_ARGS="-l /var/log/racoon.log"
De este modo podremos consultar el log en un fichero específico,
/var/log/racoon.log y no se nos mezclará con el log del sistema. Tras
la configuración de estos ficheros reinciaremos los demonios en
ambos gateways:
/etc/init.d/setkey restart
/etc/init.d/racoon restart
En los logs deberían verse unas líneas tal que las siguientes:
$ tail -f /var/log/racoon.log | colorize
2005-05-27 16:34:15: INFO: @(#)ipsec-tools 0.5.2 (http://ipsec-tools.sourceforge.net)2005-05-27 16:34:15: INFO: @(#)This product linked OpenSSL 0.9.7e 25 Oct 2004 (http://www.openssl.org/)2005-05-27 16:34:15: INFO: 80.36.214.182[500] used as isakmp port (fd=6)2005-05-27 16:34:15: INFO: 80.36.214.182[500] used for NAT-T
Nota: la dirección IP 80.36.214.182 será 213.96.80.51 dependiendo
de en cuál de los dos gateways miremos el log.
VPN´S SOBRE SERVIDORES LINUX - 79 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________Nota: colorize es un programa que colorea las líneas, especialmente
pensado para facilitar la lectura de logs de la manera que se está
haciendo en el caso arriba expuesto. Forma parte del paquete
colorize en Debian. Una vez hecho esto, la VPN propiamente dicha
aún no sé ha establecido, sino que lo hará (se negociarán las fases 1
y 2) cuando se efectúe la primera comunicación, por ejemplo un ping
entre hosts. Una vez hecho esto podremos ver las líneas en el log
donde se confirma que se ha establecido el túnel:
$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=108.7 ms
$ tail -f /var/log/racoon.log | colorize
2005-05-27 16:35:30: INFO: respond new phase 1 negotiation: 80.36.214.182[500]<=>213.96.80.51[500]2005-05-27 16:35:30: INFO: begin Identity Protection mode.2005-05-27 16:35:30: INFO: received Vendor ID: DPD2005-05-27 16:35:31: INFO: ISAKMP-SA established 80.36.214.182[500]-213.96.80.51[500] spi:cd02576d8b543669:71462f0526dab6212005-05-27 16:35:32: INFO: respond new phase 2 negotiation: 80.36.214.182[0]<=>213.96.80.51[0]2005-05-27 16:35:32: INFO: IPsec-SA established: ESP/Tunnel 213.96.80.51->80.36.214.182 spi=54491525(0x33f7985)2005-05-27 16:35:32: INFO: IPsec-SA established: ESP/Tunnel 80.36.214.182->213.96.80.51 spi=212724624(0xcadeb90)
VPN´S SOBRE SERVIDORES LINUX - 80 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________Nota: la respuesta inicial al ping tardará unos segundos pues el túnel
de la VPN debe establecerse primero.
Finalmente, nos interesará establecer unas reglas en los cortafuegos
de ambos gateways, de modo que el túnel ser permita únicamente
entre esos dos hosts. Para ello podemos usar las siguientes reglas,
que podemos incluir en las que ya tengamos:
IPTABLES=/sbin/iptablesINT_IFACE=eth0EXT_IFACE=eth1LOCAL_SUBNET=192.168.0.0/24REMOTE_SUBNET=192.168.1.0/24VPN_SRC=213.96.80.51VPN_DST=80.36.214.182
# Enable packet forwarding
echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirectsecho 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcastsecho 1 > /proc/sys/net/ipv4/ip_forwardecho 0 > /proc/sys/net/ipv4/ip_dynaddrecho 0 > /proc/sys/net/ipv4/conf/all/rp_filterecho 0 > /proc/sys/net/ipv4/conf/all/accept_source_routeecho 0 > /proc/sys/net/ipv4/conf/all/log_martiansecho 0 > /proc/sys/net/ipv4/icmp_echo_ignore_allecho 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
VPN´S SOBRE SERVIDORES LINUX - 81 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________${IPTABLES} --table nat --append POSTROUTING --source ${LOCAL_SUBNET} \--destination ! ${REMOTE_SUBNET} --out-interface ${EXT_IFACE} \--jump MASQUERADE${IPTABLES} --append INPUT --in-interface ${EXT_IFACE} --proto udp \--sport isakmp --dport isakmp --source ${VPN_DST} \--destination ${VPN_SRC} --jump ACCEPT${IPTABLES} --append INPUT --in-interface ${EXT_IFACE} --proto tcp \--sport isakmp --dport isakmp --source ${VPN_DST} \--destination ${VPN_SRC} --jump ACCEPT${IPTABLES} --append INPUT --in-interface ${EXT_IFACE} --proto ah \--source ${VPN_DST} --destination ${VPN_SRC} --jump ACCEPT${IPTABLES} --append INPUT --in-interface ${EXT_IFACE} --proto esp \--source ${VPN_DST} --destination ${VPN_SRC} --jump ACCEPT${IPTABLES} --append OUTPUT --out-interface ${EXT_IFACE} --proto udp \--sport isakmp --dport isakmp --source ${VPN_SRC} \--destination ${VPN_DST} --jump ACCEPT${IPTABLES} --append OUTPUT --out-interface ${EXT_IFACE} --proto tcp \--sport isakmp --dport isakmp --source ${VPN_SRC} \--destination ${VPN_DST} --jump ACCEPT${IPTABLES} --append OUTPUT --out-interface ${EXT_IFACE} --proto ah \--source ${VPN_SRC} --destination ${VPN_DST} --jump ACCEPT${IPTABLES} --append OUTPUT --out-interface ${EXT_IFACE} --proto esp \--source ${VPN_SRC} --destination ${VPN_DST} --jump ACCEPT
Nota: el parámetro del kernel /proc/sys/net/ipv4/conf/all/rp_filter
bloquea el spoofing o engaño de direcciones IP y, debido a que ahora
está deshabilitado, la comprobación deberán hacerla las propias
reglas de iptables. Asimismo, estas reglas deberán aparecer debajo
de las arriba escritas.
VPN´S SOBRE SERVIDORES LINUX - 82 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Nota: la cabecera IP de un paquete ESP no puede ser modificada por
NAT (del inglés, Network Address Translation), por lo que no es
posible combinar NAT con un canal IPSec (al menos directamente,
pero existe NATT para ese propósito). Es decir, no debe haber NAT
entre los dos gateways.
5.9. Diferentes soluciones
Hay muchos productos que aplican IPsec, entre los que se
encuentran PGPnet y Windows 2000. La mayoría de los firewalls
comerciales cuentan con módulos para VPN, Linux nos ofrece
diversas soluciones para aplicar VPN e intercomunicar dispositivos en
la red que manejan IPsec. Algunos de estos productos pueden ser:
Freeswan
CIPE
VPND
...
VPN´S SOBRE SERVIDORES LINUX - 83 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
De las distintas herramientas que podemos emplear vemos el caso
de vpnd. En el siguiente apartado se muestra brevemente como crear
una Red Privada Virtual usando GNU/Linux y vpnd.
5.10. GNU/Linux y VPN
Vpnd es muy fácil de instalar y configurar. En este caso ha sido
montado con Debian GNU/Linux aunque en principio no debería
suponer ningún problema hacerlo funcionar con otra distribución.
Vpnd permite crear enlaces seguros sobre TCP/IP, con claves de hasta
512 bits con algoritmo de encriptación BLOWFLISH, montando una
interface serie virtual que proporciona la posibilidad de enrutar tráfico
IP entre dos subredes. Los pasos que se deberán realizar son:
Para empezar, se deberá tener soporte SLIP en el núcleo.
Después de configurar el núcleo, hay que compilarlo y probar
que funciona correctamente, podemos pasar a instalar el
paquete vpnd con ‘apt-get install vpnd’.
Una vez instalado es necesario crear una clave de sesión con
‘vpnd –m /etc/vpnd/vpnd.key’. Esta clave debe ser la misma en
los dos extremos de la VPN, por lo que se tendrá que pasar la
VPN´S SOBRE SERVIDORES LINUX - 84 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
clave por un medio seguro al otro equipo. Después de esto sólo
queda configurar los dos extremos de la VPN y cómo se
comunicarán a través de TCP siguiendo la estructura
Cliente/Servidor (uno actuará de cliente y el otro de servidor de
la VPN).
A continuación, mostramos el contenido de los ficheros
vpnd.conf de configuración para el servidor y para el cliente:
1 Fichero /etc/vpn/vpnd.conf de configuración en el Servidor: 2 mode server 3 # Dirección IP y puerto del servidor 4 server a.b.c.d 2001 5 # Dirección IP y puerto del cliente 6 client w.x.y.z 2001 7 # Dirección IP privada del servidor 8 local a.b.c.d 9 # Dirección IP privada del cliente 10 remote w.x.y.z 11 # Opciones generales 12 autoroute 13 Keepalive 10 14 noanswer 3 15 keyfile /etc/vpnd/vpnd.key 16 pidfile /var/run/vpnd.pid 17 keyttl 120 18 randomdev /dev/urandom 19 mtu 1600 20 Fichero /etc/vpn/vpnd.conf de configuración en el cliente: 21 mode client
VPN´S SOBRE SERVIDORES LINUX - 85 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________22 # Dirección IP y puerto del cliente 23 client w.x.y.z 2001 24 # Dirección IP y puerto del servidor 25 server a.b.c.d 2001 26 # Dirección IP privada del cliente 27 local w.x.y.z 28 # Dirección IP privada del servidor 29 remote a.b.c.d 30 # Opciones generales 31 autoroute 32 Keepalive 10 33 noanswer 3 34 keyfile /etc/vpnd/vpnd.key 35 pidfile /var/run/vpnd.pid 36 keyttl 120 37 randomdev /dev/urandom
mtu 1600
Una vez hechas estas modificaciones ya podemos levantar la
VPN iniciando los demonios con ‘/etc/init.d/vpnd start’. Para
comprobar que todo ha funcionado de forma correcta podemos
hacer pings a nuestra IP privada y a la IP del otro extremo y ver
con ‘ifconfig –a’ que tenemos una interfaz nueva como la
siguiente:
sl0 Link encap:VJ Serial Line IP inet addr:10.0.0.1 P-t-P:10.0.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1600
Metric:1
VPN´S SOBRE SERVIDORES LINUX - 86 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
RX packets:0 errors:0 dropped:0 overruns:0 frame:0 Compressed:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Collisions:0 compressed:0 txqueuelen:10 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
5.11. Similitudes y diferencias en Windows y
Linux.
Dentro de las diferencias mas notorias que puede haber entre
estos dos sistemas operativos, es sin duda alguna la interoperatividad
con el usuario. Windows es un sistema operativo muy amigable de
fácil manejo, en donde para instalar un programa basta con dar un
clik en el icono de setup y listo, cosa que no sucede con Linux.
Hoy en día Linux nos presenta una gran variedad de sistemas
operativos libres como: Fedora Mandriva, Devian RedHat, Ubuntu,
etc, etc, coda uno con sus propias versiones, estos sistemas
operativos alternativos gratuitos son en sus nuevas versiones muy
buenos, confiables, pero aun no son muy fàciles de manipular e
instalar programas, y configurarlos, ya que es necesario tener
conocimientos profundos, en ciertas áreas como programación,
comandos Linux etc. Yo diría que mas bien son sistemas orientados a
los profesionales en el área de sistemas ya que al ser complejos y
robustos a la ves, para implementar servidores seas de Datos, Web,
VPN´S SOBRE SERVIDORES LINUX - 87 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________Correo, hace de esta una herramienta muy útil para el ingeniero de
sistemas, el mismo hecho de ser gratis. Lo convierte en un alternativa
para las empresas pequeñas, que no puedan pagarse una licencia de
SO y de aplicaciones como Office.
En cuanto a las aplicaciones para una VPN Linux nos presenta
grandes alternativas como FreesWAN usando IPSEC o OpenVPN
usando PPTP, lo difícil pero no imposible es la configuración hay que
tener paciencia, buenas ganas y pensar que nos va ha resultar bien.
En Windows la cosa es muy fácil para cliente VPN hemos
instalado The GreenBow VPN Client usando IPSEC o lo que es lo
mismo IP seguro. Bueno la instalación es como en todas las
aplicaciones doble click y listo un poco de dificultad hay en el
momento de configurar los parámetros pero todo es cuestión de
seleccionar y listo, sin tener que entrar en archivos especiales
compilar y ejecutar ciertas líneas, o desde el root ejecutar ciertos
comandos, no aquí es sencillo.
Similitudes:
Entorno grafico de millones de colores.
GUI amigable con el usuario.
Diferencias:
Windows es de fácil manejo, Linux tiene sus complicaciones.
VPN´S SOBRE SERVIDORES LINUX - 88 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Instalar un programa en Windows es mucho mas fácil que en
Linux.
Windows presenta gran variedad de aplicaciones, es por eso
que es mas difundido en el mundo, el medico, el arquitecto, el
ingeniero civil, el profesor de escuela, siempre van a optar por
un sistema operativo que sea fácil y amigable.
Linux es mas robusto estable y seguro que Windows, levantar
Servidores de Correo, Web. Es mucho mejor en esta plataforma
que en Windows.
Se podría decir que Linux es un SO orientado a profesionales en
el área de Sistemas pero que poco a poco va ganando mas
adeptos inexpertos en el mundo.
Linux tiene sus propias aplicaciones incluidas en el paquete de
instalación razón por la que es muy grande hablamos de un
DVD o de 5 CD-ROM (en el caso de Fedora Core 5).
Y lo mas importante es que Linux es un SO gratuito.
VPN´S SOBRE SERVIDORES LINUX - 89 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
CAPITULO 6
6. CONFIGURAR UNA VPN BAJO WINDOWS
6.1. Necesidades
Se necesita lo siguiente para instalar una VPN:
VPN´S SOBRE SERVIDORES LINUX - 90 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Una conexión a Internet rápida para el servidor local de NT y
para los PC remotos.
Una IP ADDRESS estática para el servidor NT.
Un proxy que se ejecuta en el servidor NT, para evitar que la
gente desautorizada tenga acceso al sistema.
Una IP ADDRESS para cada recurso que será compartido:
Recursos, como una impresora, a los que deseamos poder tener
acceso a través de Internet necesitan tener su propia IP.
Adaptador virtual de la red instalado en el PC remoto o cliente.
6.2. Pasos de la configuración del Cliente
VPN
Deberemos seguir los siguientes pasos:
1 Hacer una lista de todas las IP internas que contendrán recursos
que serán accedidos a través de Internet.
2 Instalar y ejecutar el proxy.
3 En el servidor del NT, configurar los ficheros del usuario de NT
para permitir que cada usuario pueda llamar y conectar al Servidor de
VPN´S SOBRE SERVIDORES LINUX - 91 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________NT. Hay que garantizar a cada usuario que tendrá acceso al sistema
con su permiso de VPN de marca en el servidor NT.
Después de esto, habrá que instalar el adaptador privado de la red en
el PC cliente. Indicamos a continuación los pasos a realiza
1º) INSTALAR EL ADAPTADOR PRIVADO VIRTUAL DE LA RED EN
EL PC CLIENTE:
1 En el Escritorio del PC hacer click en el icono del Entorno de
Red:
Pulsar con el botón derecho y seleccionar las Propiedades:
Entonces, se abrirá el Diálogo de Red:
VPN´S SOBRE SERVIDORES LINUX - 92 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Verificar que el adaptador de redes privadas virtuales está instalado. Si no, hacer click en Agregar. El diálogo Seleccionar Nuevo Componente de la Red se abrirá:
Seleccionar el adaptador de la lista y hacer click en Agregar:
VPN´S SOBRE SERVIDORES LINUX - 93 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Cuando el Diálogo Seleccionar el Adaptador se abre seleccionar Microsoft de la lista de los fabricantes, ya que la explicación es sobre un adaptador fabricado por Microsoft:
Seleccionar el adaptador de redes privadas de la lista de los adaptadores de la red, y hacer click en OK:
VPN´S SOBRE SERVIDORES LINUX - 94 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
2º) INSTALAR LA CONEXIÓN A LA LAN:
Acceder al Acceso Remoto a Redes:
VPN´S SOBRE SERVIDORES LINUX - 95 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Pulsar doble click en el icono de Nueva Conexión. Después, en el selector de lista de dispositivos, haga click en la flecha y seleccione el adaptador de VPN:
Se abre el nuevo Diálogo de la Conexión y espera a que introducir la dirección IP del Servidor VPN al que se conectará:
VPN´S SOBRE SERVIDORES LINUX - 96 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
De esta forma, se crea la nueva conexión:
3º) CONECTAR CON EL SERVIDOR DEL NT: Acceder al Acceso Remoto a Redes:
VPN´S SOBRE SERVIDORES LINUX - 97 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Pulsar doble click en el icono para la conexión de VPN:
VPN´S SOBRE SERVIDORES LINUX - 98 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Por último, simplemente deberá introducir el login y el password y ya quedará conectado con el servidor.
6.3. Pasos de la configuración del Servidor
VPN
Deberemos seguir los siguientes pasos:
1º) Configuración de PPTP.
PPTP debe activarse en el Servidor RAS (Remote Access Server) y en los Clientes que vayan a utilizarlo. Para ello, seguimos los siguientes pasos:
Utilice la herramienta Red del Panel de control, sitúese en la ficha Protocolos y pulse Agregar:
VPN´S SOBRE SERVIDORES LINUX - 99 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Escoja Point to Point Tunneling Protocol. Una vez copiados
los archivos, aparece el cuadro de diálogo Configuración de
PPTP. El campo Número de redes privadas virtuales indica el
número de conexiones PPTP admitidas. En el ejemplo se
establecen dos VPN:
A continuación se inicia la herramienta de configuración RAS. Debe añadir los puertos virtuales que darán servicio a las
VPN´S SOBRE SERVIDORES LINUX - 100 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
redes privadas virtuales que desee establecer. Pulse Agregar para acceder al diálogo Agregar dispositivo RAS:
El ejemplo muestra dos puertos virtuales que corresponden al valor especificado en el paso 2. Seleccione una entrada (por ejemplo VPN1 RASPPTPM) y pulse Aceptar.
Seleccione cada entrada del diálogo Instalación de Acceso remoto y pulse configurar para acceder al diálogo Configurar uso del puerto. Seleccione una de las opciones disponibles: Sólo para hacer llamadas, Sólo para recibir llamadas o hacer y recibir llamadas.
Repita los pasos anteriores para cada dispositivo virtual que desee añadir.
Pulse Continuar después de añadir todos los dispositivos virtuales. Pulse Cerrar cuando vuelva a la ficha Protocolos. Reinicie la computadora.
2º) ACTIVAR EL FILTRO PPTP:
VPN´S SOBRE SERVIDORES LINUX - 101 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
Seleccione la ficha Protocolos de la herramienta Red.
Seleccione Protocolo TCP/IP y pulse el botón Propiedades. Sitúese en la ficha Dirección IP. Seleccione el adaptador de red sobre el que desee aplicar el
filtro. Pulse el botón Avanzadas. Marque la casilla Activar filtro PPTP. Repita los pasos anteriores para cada interfaz que deba utilizar
el filtro PPTP. Reinicie la computadora para activar los cambios.
3º) SUPERVISIÓN DEL SOPORTE DE SERVIDOR PPTP:
Es posible supervisar los puertos PPTP utilizando la herramienta Administrador de Acceso remoto. Seleccione la orden Puertos de comunicaciones del menú Servidor. Sólo aparecen los puertos configurados para recibir llamadas.
4º) ACTIVAR EL SOPORTE PPTP EN LOS CLIENTES:
VPN´S SOBRE SERVIDORES LINUX - 102 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________Cuando un cliente llama a Internet, el procedimiento para establecer un túnel PPTP consta de dos pasos:
El cliente establece una conexión de acceso telefónico a Internet a través de un proveedor de acceso.
El cliente establece una conexión PPTP con el servidor RAS.
Cuando un cliente se conecta directamente a Internet, no es necesario establecer una conexión de acceso telefónico. Sin embargo, el procedimiento para iniciar la conexión PPTP con el servidor RAS es idéntico. Para establecer una conexión PPTP es necesario crear una entrada especial en la guía telefónica. Esta entrada se distingue por dos características:
El campo Marcar utilizando contiene uno de los dispositivos virtuales VPN añadidos a la configuración RAS al instalar PPTP. Esta lista sólo muestra los VPN configurados para hacer llamadas.
El campo Presentación preliminar de número de teléfono contiene el nombre DNS o la dirección IP del servidor PPTP.
VPN´S SOBRE SERVIDORES LINUX - 103 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
La creación de una conexión a PPTP conlleva dos pasos: Abra la aplicación Acceso telefónico a redes y utilice la entrada
de la guía telefónica que le permite acceder a su proveedor de acceso a Internet a través de un número de teléfono y un módem.
Una vez establecida la conexión, utilice la entrada de la guía telefónica que le conecta al túnel PPTP mediante un nombre DNS o una dirección IP.
Si el cliente está conectado directamente a Internet, sólo es necesario utilizar la entrada del túnel PPTP.
VPN´S SOBRE SERVIDORES LINUX - 104 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
CAPITULO 7
7.ANEXOS MONOGRAFICOS
7.1. Bibliografía
Adam Sherman Online: Linux 2.6 IPsec VPNs(11)
How to easily build a VPN with KAME IPSec (Kernel 2.6)(12)
Debian IPsec Micro-Howto(13)
IPSEC using Linux Kernel 2.6(14)
RSA Laboratories Crypto FAQ(15)
http://www.kame.net/
http://www.kernel.org/
http://ipsec-tools.sourceforge.net/
http://www.kame.net/racoon/
http://www.debian.org/
http://www.netfilter.org/
http://www.kernel.org/pub/linux/kernel/v2.4/
VPN´S SOBRE SERVIDORES LINUX - 105 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
http://www.freeswan.org/
http://www.kernel.org/pub/linux/kernel/v2.6/
http://www.iana.org/
http://www.sherman.ca/archives/2004/11/21/linux-26-ipsec-
vpns/
http://users.cjb.net/ipsec/index.en_us.html
http://www.fukt.bth.se/~teddy/debian-ipsec
http://shorewall.net/IPSEC-2.6.html
http://www.rsasecurity.com/rsalabs/node.asp?id=2153
VPN´S SOBRE SERVIDORES LINUX - 106 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
7.2. Conclusiones
El alto coste que significa la implementación de una red o la
infraestructura para la creación de una red WAN de largo alcance. Ha
obligado a las pequeñas y medianas empresas a optar por soluciones
informáticas reales como son las redes virtuales privadas (VPN’S) que
en esta oportunidad se han levantado o ejecutado desde plataformas
linux, FEDORA CORE 5 específicamente. Dando así una solución real
de bajo costo de gran confiabilidad. Ya no es necesario alquilar una
línea dedicada de alto coste o comprar euipos como routers antenas o
tender cable, para poder enlazarme de una sucursal a otra. Sea en la
misma ciudad o fuera de ella. Lo único que necesitaría sería una línea
telefónica, tener acceso a Internet si es banda ancha, usando MODEM
ADSL mucho mejor, y tener conocimientos profundos de plataformas
como Linux que cada día va tomando mas fuerza e imponiéndose ya
en instituciones educativas como entornos alternativos.
Es nuestro futuro en realidad, ya que somos nosotros como
profesionales quienes estamos obligados a difundir y proponer este
VPN´S SOBRE SERVIDORES LINUX - 107 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________tipo de soluciones informáticas en nuetro medio, sea inastituciones
educativas o nuestros lugares de trabajo. Claro que esto conlleva
grandes responsabilidades y grandes conocimientos.
VPN´S SOBRE SERVIDORES LINUX - 108 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
7.3. Recomendaciones
Entornos alternativos como Linux y sus aplicaciones que casi en su
totalidad son gratuitas o libres. Son el futuro del desarrollo en nuestro
medio, en el área de sistemas. Ya que hoy en día la piratería esta en
sus niveles más altos, y cada vez es más alarmante la falta de apoyo
en el sentido jurídico hacia la propiedad intelectual. Pero gracias a
los sistemas operativos Linux, que necesitan de gente especializada
para ciertos tipos de configuraciones, que son complejas y que no
todos pueden hacer. Es aquí donde entramos nosotros como
profesionales del área a brindar ese servicio profesional de calidad, es
por eso que cada día debemos aprender un poco mas de estos
sistemas, es una obligación, si queremos progresar como
profesionales en nuestra área.
En Brasil hace unos años recientemente, en el gobierno de Ignacio
Lula Da Silva las instituciones del estado, adoptaron como sistema
operativo a Linux, ahorrándose millones de dólares en licencia. Estos
son los ejemplos, que desde el estado deben ser tomados, para hacer
país. Y también la creación de centros de desarrollo de software libre
VPN´S SOBRE SERVIDORES LINUX - 109 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________creados y financiados por el estado, en cada una de las facultades de
Sistemas de todas las universidades del país desarrollando software
dirigido hacia las instituciones educativas estatales como escuelas y
colegios. Empresas estatales como PETROECUADOR, instituciones
estatales como INEC, minas transportes, etc. ect. Hay capacidad lo
que no hay es apoyo gubernamental.
En definitiva, optar por Linux como entorno operativo para montar
una VPN es la mejor solución, debido la gran cantidad de entornos
Linux que existe en el mercado nos ha sido imposible escoger la
mejor para este tipo particular de aplicación. Nosotros hemos optado
por Fedora Core 5, quizá no sea la mejor opción, pero para nuestro
estudio nos ha resultado excelente.
Ahora en cuanto a las aplicaciones, tanto de cliente como la de
servidor VPN usamos y recomendamos dos:
Si se va a levantar con IPSEC, hacerlo con FreesWAN o si se va a
levantar con PPTP hacerlo con OpenVPN.
En cuanto a Windows se recomienda una aplicación que soporte
IPSEC en nuestro caso usamos The GreenBow VPN Client. Facil de
instalar y configurar.
VPN´S SOBRE SERVIDORES LINUX - 110 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________
7.4. Glosario de Términos
Túnel.- tecnología utilizada en las VPN sinónimo de encapsulado para
proteger los datos en la red pública
Servidor VPN: Es una pc conectada a Internet esperando por
conexiones de usuarios VPN y si estos cumplen con el proceso de
autenticación, el servidor aceptara la conexión y dará acceso a los
recursos de la red interna.
Cliente VPN: este puede ser un usuario remoto o un enrutador de
otra LAN.
DLSW: Data Link Switching(SNA over IP)
IPX: for Novell Netware over IP
GRE: Generic Routing Encapsulation
ATMP: Ascend Tunnel Management Protocol
VPN´S SOBRE SERVIDORES LINUX - 111 -
UNIVERSIDAD CATÓLICA DE CUENCA ______________________________________________________________________IPSEC: Internet Protocol Security Tunnel Mode
PPTP: Point to Point Tunneling Protocol
L2TP: Layer To Tunneling Protocol
ESP: Encapsulating Security Payload
AH .- Authentication Header.
GRE.- Generic Routing encapsulation.
PAP.- Password Authenticaction Protocol.
CHAP.-Challenge-Handshake Authentication Protocol.
MPPE .- Microsoft Point to Point Encryption.
VPN´S SOBRE SERVIDORES LINUX - 112 -