2008
´Índice general
1. Introducción 5
1 .1 .2. Observaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1 .4.1 . Económico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1 .4.2. Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1 .4.3. Transparencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1 . Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1 .1 . EspeciĮcaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1 .2. Conceptos involucrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3. Conexión a Internet 22
3.1 .1 . PlaniĮcacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.7.1 . Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7.3. Cableado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.8. Conclusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.5. Resultado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5. Conclusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.1 . Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
´INDICE GENERAL 3
5.8. Conclusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.6. Conclusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.1 . Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.4. Conclusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
´INDICE GENERAL 4
8.2.3. VTun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.2.4. cIPe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.2.5. tinc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.3.1 . Escenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.3.2. Relevamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.3.4. Recomendaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Cap´ıtulo 1
Introducci´on
Las redes privadas virtuales o VPN1 , se est´an usando de forma masiva tanto por grandes
empresas
como por PyMEs2 , con la Įnalidad de conectar entre las sucursales de manera econ´omica y
segura. En
este cap´ıtulo se va a deĮnir el concepto y las caracter´ısticas m´as sobresalientes de una VPN.
Tambi´en se van a desarrollar situaciones de ejemplo en las que conviene utilizar VPN y en cuales
se
Una VPN no tiene un t´ermino sencillo para auto deĮnirse, dado que involucra tres palabras con
signiĮcado propio que, en conjunto, pueden resumir lo que es una red privada virtual. Por lo tanto,
para
responder esta pregunta ser´ıa conveniente analizar cada t´ermino por separado como lo hacen en
[1 ] .
El primero de ellos es el t´ermino red. Por ejemplo una red de computadoras interconectadas de
alguna
forma entre s´ı, permite el tr´aĮco de datos entre las terminales conectadas. Es decir, cuando se
env´ıa
un mensa je de correo electr´onico, o cualquier otro tipo de datos desde una computadora a un
destino
determinado, se pretende que solo el destinatario reciba lo enviado; sobre todo si los datos tienen
gran
importancia para la empresa, negocio o instituci´on. Esto en deĮnitiva es posible, porque los
equipos est´an
sistemas y consultores de seguridad, ya que es dif´ıcil encontrar un entorno seguro al cien por
ciento, y
todas las personas que se conectan a Internet , pretenden no ser espiadas por ning´un tercero. Por
ejemplo,
al enviar un mensa je de correo electr´onico, se pretende que la ´unica persona que lo lea sea el
destinatario
elegido. En las VPN el tr´aĮco de datos via ja cifrado3 , por lo que se puede suponer la privacidad
de la
El t´ermino virtual se reĮere a la abstracci´on de la red f´ısicamente conectada que pueden ͞ver͟
los
usuarios como si de una sola red virtual se tratara. En este caso como las VPN se implementan
sobre la
pila de protocolos TCP/IP (Internet Protocol Suite) , pero los datos se abstraen de manera que los
datos
VPN en bruto no son compatibles con TCP/IP, entonces se puede decir que una red VPN forma una
red
De esta manera se obtiene una red (computadoras interconectadas) privada (datos cifrados) y
virtual
(como si de una red cercana se tratara) . Todo esto es a pesar de que las redes puedan estar a
kil´ometros
de distancias.
Las VPN fueron diseȂnadas para brindar autenticaci´on, integridad y conĮdencialidad a los datos
Autenticaci´on: Se sabe qui´en est´a del otro lado como destino (puede ser un host o incluso una
red) .
Integridad: Intenci´on de que los datos no lleguen alterados. Para esto se utilizan funciones de
hash.
ConĮdencialidad: Se pretende que los datos sean interpretados solo por el verdadero destino, y
no por quienes (accidentalmente o no) hayan interceptado la informaci´on. Para esto se utilizan
algoritmos de encriptaci´on como DES (Data Encryption Standard) o Triple DES (Triple Data
Encryption Standard) .
Para establecer conexiones entre las m´aquinas de una red, se requieren elementos de hardware y
software. Por ejemplo, en una LAN 4 , se necesitan, adem´as de las computadoras: switches,
cables, routers,
etc. El t´ermino Virtual indica, como se ha mencionado anteriormente, que la red privada
propiamente
dicha se establece sobre la infraestructura de otra red; si se sigue el mismo ejemplo de la LAN, una
VPN
puede establecerse sobre ella, es decir, utilizando sus componentes tanto de hardware como de
software.
Un esquema generalizado de lo que se quiere lograr con esta comunicaci´on a nivel usuario
dom´estico, se
1 .1 .2. Observaciones
Uno de los motivos por lo que se ha extendido la utilizaci´on de VPN en las empresas es la facilidad
de poner en pr´actica una soluci´on estable, segura y en relativamente poco tiempo. Por esta
raz´on es que
prestaciones) establecer enlaces de tipo VPN entre los extremos, siempre que ambos est´en
conectado a
Internet .
Con respecto a las desventa jas en materia de seguridad tanto en una l´ınea dedicada como en una
VPN,
las fallas puede provenir no solo de las imperfecciones de la implementaci´on, sino de la
interacci´on humana
en el enlace, tanto en una como en otra. Por ejemplo, una l´ınea dedicada puede parecer m´as
segura por
tener un ´unico enlace punto a punto, pero tambi´en pueden ocurrir cortes de los cables a
prop´osito
perdiendo la conexi´on entre ambos extremos. En las VPN, un usuario malicioso puede interceptar
las claves durante el proceso de autenticaci´on y luego hacerse pasar por el extremo de conĮanza,
y
Por otro lado, existe el problema de los clientes m´oviles, ya que si pierden su equipo, todos los
datos
de enlace con la VPN quedan vulnerables y a disposici´on del nuevo poseedor del equipo. De esta
manera
Las VPN adem´as de tener muchas venta jas frente a otras alternativas, tambi´en tienen sus
desventajas
y a veces su implementaci´on no es la mejor elecci´on, e incluso ser´ıa perjudicial optar por ellas.
Se deben analizar cu´ales son los puntos a favor y en contra que poseen. Las venta jas son las
siguientes:
usuarios y encriptaci´on de datos. Depende de cu´an seguras sean las claves y de la complej idad
de
Una VPN reduce costos y son sencillas de usar Al utilizar un VPN no se invierte en infraestruc-
tura de red f´ısica (si se utiliza Internet, por ejemplo) , esto representa un ahorro de varios miles
de
d´olares en la conexi´on de puntos muy distantes.
Facilita la comunicaci´on entre dos usuarios en lugares distantes Un usuario en Par´ıs conectado
a una VPN de Canad´a, puede ver los recursos de la red a la que se conecta como si se encontrara
en la misma red local, es decir, las VPN son transparentes a los usuarios Įnales.
Tiempo de respuesta no garantizado Si bien los hosts de una VPN creen que se encuentran en una
misma red local, el tiempo de respuesta depende de la red sobre la que se estableci´o la
conexi´on;
en el caso de Internet, y en los horarios pico de uso, el tiempo de respuesta puede ser muy
superior
ConĮabilidad del enlace Una VPN, se establece sobre la infraestructura de otra red, por ejemplo
Internet ; esto hace que nuestra conexi´on dependa de la estabilidad de los nodos involucrados en
las rutas que comunican nuestros hosts. Por ende, puede perderse la conexi´on, cuando los puntos
intermedios se caen.
Seguridad Si bien los protocolos que se utilizan para el establecimiento de las VPN son muy
seguros,
tienen sus puntos d´ebiles; si un usuario mal intencionado los encuentra podr´ıa llegar a violar la
privacidad de la comunicaci´on.
Las topolog´ıas de las VPN se derivan unas de otras e incluso pueden estar combinadas. Las tres
m´as
Es el modo de conexi´on m´as b´asico. Involucra ´unicamente a dos hosts: uno act´ua como
servidor y el
Por un lado se puede pensar que esta topolog´ıa es innecesaria, ya que est´a incluida en las otras
topolog´ıas que se describen a continuaci´on; pero por otra parte, esta topolog´ıa, al igual que las
otras,
sigue siendo una soluci´on v´alida. Por ejemplo en una empresa que posee dos redes conectadas a
trav´es de
Internet ; que no se traĮcan datos cr´ıticos entre ambas, pero que cada cierto tiempo se debe
sincronizar
informaci´on de valor entre dos servidores, uno en cada red. Para esta situaci´on es conveniente
establecer
un enlace VPN temporal de tipo host a host . Pero si no se tomara alguna medida de seguridad
para
realizar este traba jo, se estar´ıa exponiendo los servidores a ser espiados por cualquiera que sea
capaz de
interceptar los datos. Por otro lado, conĮgurar una VPN red a red ser´ıa demasiado complejo para
este Įn,
debido a que el tr´aĮco en general no tiene importancia y solo se requiere un tiempo corto para
transmitir
de un servidor a otro, por lo tanto, la mejor soluci´on para estos casos es una VPN Host a Host que
se
En empresas de cualquier tamaȂno, casi siempre existen usuarios m´oviles, es decir, empleados
que salen
de las oĮcinas (o que traba jan desde su casa) , pero que necesitan estar conectados a la red de la
compaȂn´ıa.
Igual que para el caso anterior, se sabe que no es una buena idea permitir el acceso a cualquier
usuario
La implementaci´on de una VPN Host a Red es una soluci´on segura para este tipo de situaciones,
ya que posee la venta ja de que todo el tr´aĮco que circula a trav´es de ella est´a encriptado; otro
punto a favor de las VPN, es que el host remoto percibir´a como si se encontrara dentro de la red
local, pudiendo
utilizar las direcciones IP privadas de la misma para interactuar con cualquier host de la red,
impresora
o dispositivo compartido de la red.
Cuando se requiere asegurar el tr´aĮco a trav´es de Internet entre dos redes locales distantes, por
ejemplo
entre una sucursal y la casa central de una empresa, una VPN Red a Red es una soluci´on
disponible. La
La conexi´on se establece entre los servidores VPN de cada red, dichos servidores son los que
negocian
todos los par´ametros asociados a la VPN, haci´endose totalmente transparente a los hosts
internos de
cada una; tanto es as´ı, que no es necesario reemplazar el software instalado en los equipos, ni
conĮgurar
de manera especial (esta transparencia vale tambi´en para las otras topolog´ıas) .
En casi toda red de computadoras, existe un Įrewall; esto es un equipo (dedicado o no) , cuya
tarea
es bloquear o permitir el tr´aĮco de paquetes desde o hacia Internet, u otra red vecina.
Es importante que el Įrewall de la red ͞sepa͟ reconocer el tr´aĮco VPN de los dem´as, ya que un
error en la conĮguraci´on del mismo, puede dar lugar a que personas mal intencionadas ingresen a
la red
privada.
Vale aclarar que es necesario un servidor VPN solo en los casos de implementaci´on de topolog´ıas
red a
red, o host a red. Para las VPN host a host, deber´an crearse reglas expl´ıcitas en el Įrewall que
controlen
el tr´aĮco de las conexiones, pero la funci´on de servidor la cumple uno de los dos hosts
involucrados en la
Para el traba jo en conjunto de una VPN con el Įrewall, se han encontrado tres maneras de
interactuar:
Esta opci´on consta de un solo equipo en el cual conviven el Įrewall y servidor VPN, es decir, por
este
pasa el tr´aĮco directo a Internet (sin encriptaci´on) , y el de las conexiones VPN (con cifrado) . Este
equipo
debe tener dos tarjetas de red, una conectada a la red local, y la otra hacia Internet (u otra subred)
,
´el.
Se pueden crear reglas con el Įrewall, que se apliquen solo al tr´aĮco de la VPN, con las mismas
Se tiene solo un punto que controla toda la seguridad de la red; se debe tener la certeza que est´a
bien
conĮgurado, ya que cualquier falla puede dejar una puerta abierta a personas mal intencionadas.
El tr´aĮco normal de Internet y el de VPN competir´an por los recursos del equipo, por lo que es
Ciertos Įrewalls no reconocen otros protocolos que no sean los de la suite TCP/IP. Cuando se
implemente la VPN es necesario nuevos protocolos, por ejemplo GRE (Generic Routing
Encapsulation) ,
por las diĮcultades que presenta, o porque se ha adquirido alg´un producto comercial sin
posibilidades de
ampliar servicios) , puede que esta sea una buena opci´on para no tener que cambiar todos los
equipos.
Con respecto al ruteo, cada host dirige su tr´aĮco; si es directo a Internet pasa a trav´es del
Įrewall, si
es a una conexi´on VPN, pasa a trav´es del servidor VPN. No conviene la conĮguraci´on de rutas
est´aticas
en los hosts cuando estos son numerosos (o hay posibilidad de que lo sean) , ya que es un traba jo
tedioso
Las posibilidades m´as simples son, establecer en el Įrewall las rutas hacia el servidor VPN, de
modo
que cualquier paquete VPN que llegue al Įrewall, este lo redirigir´a al lugar correcto; tambi´en es
posible
conectar un router entre el Įrewall y el servidor VPN, de modo que todos los paquetes se dirijan al
router
y este los env´ıe al sitio correcto. Un esquema ilustrativo de esta situaci´on, puede verse en la
Figura 1 .6.
Con cualquiera de estas dos posibilidades, en los hosts basta conĮgurar la puerta de enlace
Con este esquema los Ňujos de paquetes de las VPN no compiten por recursos del mismo equipo
Se obtiene mayor escalabilidad, ya que si se requiere agregar m´as servidores VPN para repartir la
carga de las conexiones, solo se deben conectar en paralelo con los equipos ya instalados.
Las desventa jas de este m´etodo de conexi´on pueden ser las siguientes:
Ahora existen dos puntos conectados al router de salida, por lo que aumenta la carga en cuanto al
mantenimiento e inspecci´on de seguridad. Ahora se tienen que controlar dos o mas equipos.
Se pueden centralizar las entradas y salidas a Internet solamente a trav´es del Įrewall, para ganar
Įrewall. Esto ´ultimo puede hacerse con un cable cruzado para evitar el retardo normal de un
switch. Esto
Respecto al ruteo, se debe hacer lo mismo que para el servidor VPN en paralelo con el Firewall. Las
Se tiene solo un punto de Ňujo de paquetes desde y hacia la red local, por lo que se simpliĮca el
mantenimiento.
Las restricciones del tr´aĮco VPN est´an ubicadas ´unicamente en el servidor VPN.
Se gana en seguridad para la VPN, ya que el servidor no est´a conectado directamente a Internet.
Todo el tr´aĮco VPN debe pasar por el Įrewall, lo que introduce cierta latencia en las
comunicaciones.
El Įrewall debe soportar protocolos distintos a los de la suite TCP/IP, ya que los paquetes VPN
circulan encapsulados con, por ejemplo, el protocolo GRE, en una VPN PPTP.
En esta secci´on se tienen en cuenta aspectos que llevan a tomar la importante decisi´on de
implementar
o no un VPN en la empresa.
Resulta imprescindible tener en cuenta el aspecto econ´omico, ya que cuanto menos costosa la
implementaci´on, m´as viable resulta el proyecto. Tambi´en se tienen en cuenta los aspectos de
seguridad,
ya que siempre es necesario transmitir datos conĮdenciales que requieren especial cuidado para
que no
caigan en manos no autorizadas.
Finalmente se debe tener en cuenta que la implementaci´on de una VPN no deber´ıa cambiar la
infraestructura de la empresa, ni elmodo de traba jar de los usuarios. Por eso es necesario que la
instalaci´on
1 .4.1 . Econ´omico
Una VPN es el modo barato de conectar dos redes (que pueden estar distantes) y de forma segura.
Suponiendo que una empresa quiera unir sus oĮcinas de Argentina y EspaȂna, en una sola ͞Gran
Red͟ , unas
l´ıneas alquiladas o un enlace satelital supondr´ıan varios miles de d´olares tanto para la
implementaci´on,
como para el mantenimiento de los mismos; algo muchas veces dif´ıcil de justiĮcar, y afrontar para
las
empresas.
La conĮguraci´on de una VPN, ser´ıa la soluci´on m´as econ´omica en este caso, ya que el gasto es
1 .4.2. Seguridad
Si bien es cierto que datos conĮdenciales de nuestra empresa pueden estar via jando, en el caso
de una
VPN, a trav´es de la red p´ublica, estos son cifrados en el origen con algoritmos muy complejos, de
modo
Una VPN permite asegurar de una sola vez distintos protocolos: HTTP, POP3, SMB, etc. Lo cual
representa una gran venta ja en tiempo y dinero, ante la idea de asegurar cada protocolo por
separado.
Vale aclarar que las VPN, no aseguran todo el tr´aĮco hacia Internet, sino solo el que Ňuye a
trav´es
de ella.
1 .4.3. Transparencia
La implementaci´on de una nueva tecnolog´ıa, trae como consecuencia, una gran resistencia por
parte
No es este el caso de las VPN, ya que es transparente a los usuarios. Continuando con el ejemplo
visto
anteriormente, al unir las oĮcinas de Argentina y EspaȂna, los empleados percibir´an como si se
encontraran
se est´a utilizando.
En esta secci´on se van a plantear las diferentes tecnolog´ıas que en un tiempo fueron
competidores
directos de las VPN, aunque mucho antes de que ´estas existieran, eran las ´unicas opciones para
asegurar
Por ´ultimo se listar´an los casos en que la implementaci´on de una VPN se considera una buena
opci´on
Las VPN se pueden comparan con tecnolog´ıas RAS (Remote Access Service) y con las l´ıneas
dedicadas.
La primera permit´ıa a las personas traba jar desde su hogar y conectarse a la empresa por
m´odem mediante
marcado telef´onico por tonos. Esta tecnolog´ıa presentaba un problema de seguridad, que
permit´ıa la
conexi´on a cualquier persona que conociera el n´umero telef´onico del sistema, que luego fue
resuelto
mediante el sistema de re-llamada. Otra limitaci´on de este sistema es su velocidad, que rondaba
los
54 Kbps, y adem´as, por cada conexi´on se requer´ıa de un m´odem receptor. Por esta raz´on es
que su
implementaci´on resultaba muy costosa cuando se deb´ıa conectar un gran n´umero de clientes.
Las l´ıneas dedicadas pueden resultar recomendables en algunas aplicaciones. Por ejemplo si se
tiene
una base de datos que replica datos regularmente y que adem´as se realizan consultas
constantemente
y actualizaciones de forma intensiva, entonces se requiere del mayor ancho de banda posible, lo
cual se
consigue con l´ıneas dedicadas o con tecnolog´ıas MPLS (Multiprotocol Label Switching) .
red de alta velocidad, con una m´axima seguridad y calidad. Esta conexi´on se realiza a trav´es de
circuitos
permite alcanzar la velocidad convenida, que va de los 64 Kbps hasta los 2 Mbps, dependiendo del
carrier.
Esta tecnolog´ıa soporta cualquier aplicaci´on que requiera alto grado de conectividad tipo malla o
tr´aĮco de datos tipo r´afaga, con caracter´ısticas de ba jo retardo y calidad de servicio incluida. En
este
apartado, cabe aclarar, que mediante la conexi´on a Internet no se consigue calidad de servicio
como lo
permiten las l´ıneas dedicadas.
Otra de las tecnolog´ıas que utilizan los ISP para interconectar sitios de una empresa, es la
recientemente mencionada MPLS , que dispone (seg´un el plan de contrato) de velocidades hasta
1 Gbps.
Adem´as el servicio se encuentra subdividido de acuerdo a lo cr´ıtico que sea la transmisi´on, tanto
para
aplicaciones en tiempo real, de misi´on cr´ıtica o est´andar. Por su parte, esta tecnolog´ıa es un
poco m´as
econ´omica que las l´ıneas dedicadas, pero a´un as´ı mucho m´as costosa que una soluci´on VPN
propuesta en
Una desventa ja importante de las l´ıneas dedicadas, es su elevado costo. Una instalaci´on
completa por
aȂno puede llegar a valer unos 40000 d´olares; sin contar los costos de mantenimiento. En
deĮnitiva, este es
un gasto casi imposible de afrontar por una empresa mediana o en crecimiento, por lo que esta
soluci´on
De esta manera, se han dado los cr´editos a la implementaci´on de una VPN con software libre,
que
permite la transmisi´on de datos de manera segura (como el caso de Frame Relay o MPLS) y a ba
jo costo.
Por ejemplo, el primer aȂno de implementaci´on y funcionamiento de una VPN puede llegar a
costar unos
6000 d´olares, que incluye un enlace punto a punto, soporte a clientes m´oviles y mantenimiento
mensual
moderado (ver m´as detalles en 8.3.5) , limit´andose los aȂnos siguientes solamente a costos
administrativos.
Adem´as no ser´ıa necesario invertir en otras l´ıneas dedicadas (en caso de querer unir otras redes)
, ni en
migraciones o en escalabilidad.
A pesar de ello, las grandes empresas optan generalmente por soluciones heterog´eneas, donde
en
algunas aplicaciones y sectores se pueden implementar VPN con software libre, mientras que en
otras
´areas m´as cr´ıticas, se utilizan soluciones comerciales como l´ıneas dedicadas, MPLS o VPN con
hardware
propietario.
Para que las VPN funcionen bien dependen de muchos factores, no solo de la elecci´on del mejor
cifrado
Para planiĮcar se debe involucrar a toda la gente que tenga que ver con el funcionamiento del
sistema
y con los servicios que ya se estaban utilizando. Por eso se requiere una buena comunicaci´on
entre las
personas que traba jen implementando la VPN y adem´as se debe asegurar que los
administradores de
Adem´as se debe tener documentada la red completa, y cualquier cambio que se realice para la
implementaci´on de la VPN, debe ser tambi´en documentado. El diseȂno es un aspecto clave antes
de
de claves, los m´etodos de cifrado utilizados, la pol´ıtica de seguridad del Įrewall, entre otros.
1 .5.3. Administraci´on de claves
las empresas. Por ejemplo se deben tener en cuenta las claves que utiliza un usuario m´ovil, ya
que si su
port´atil es robada, dichas claves deber´ıan ser revocadas inmediatamente, para no comprometer
a toda la
red de la empresa.
En algunos casos se utilizan m´as de una clave, y hasta se generan claves cada cierto tiempo, de
manera
que si una clave es comprometida, autom´aticamente se negocie otra distinta. De esta manera se
evitan
algunos problemas de seguridad, pero para esto, se debe tener una planiĮcaci´on rigurosa en
cuanto a los
Por otro lado, para asegurar la conĮdencialidad y autenticaci´on se deben generar las claves
las claves no se han generado de forma que sean seguras y no f´acilmente discernibles. En este
caso se
En ambos extremos de una VPN se necesitan claves para cifrar y descifrar, que deben ser
transmitidas
entre los sitios de forma segura. Se pueden hacer manualmente o mediante mecanismos de
privacidad como
PGP (Pretty Good Privacy) . Si la VPN utiliza clave p´ublica, se requieren dos pares de claves, por lo
que
se necesitar´ıa de un tercero de conĮanza para generar las claves. Este tercero puede no resultar
un medio
Įable para conĮar la VPN, por lo que dicha parte debe tambi´en tener una buena pol´ıtica de
seguridad
para evitar estos problemas de conĮanza.
En algunos casos, utilizar un VPN puede resultar la mejor opci´on, mientras que en otros ser´ıa una
p´erdida de tiempo y dinero. En el siguiente listado se resume en qu´e casos el uso de una VPN es
la mejor
opci´on:
Hacer que todos los host parecieran estar en una misma red, aunque se encuentren a kil´ometros
de
distancia.
Si se cuenta con usuarios m´oviles que requieren tener acceso transparente a la red de la empresa.
CAP´ITULO 1 . INTRODUCCI´ON 15
Estos casos que requieren de una VPN, hacen que una empresa separada f´ısicamente, pueda
tener
una infraestructura de red segura, pero sin perder interacci´on con los clientes y usuarios m´oviles.
En este
caso, una VPN puede asegurar todos los servicios que se utilicen en la empresa.
Por otro lado, si lo que se requiere es solamente asegurar ciertos protocolos o servicios entre un
par
de hosts, la implementaci´on de una VPN requerir´ıa un gran esfuerzo para un problema simple.
Por eso
para asegurar dos hosts basta con utilizar software de tunelado de un puerto a otro a trav´es de
un canal
Cap´ıtulo 2
Realizaci´on del proyecto
En este cap´ıtulo se describen los ob jetivos y los pasos a seguir durante la investigaci´on,
documentaci´on
Adem´as se especiĮca el alcance del proyecto, tanto en la pr´actica como en los fundamentos
te´oricos
2.1 . Ob jetivos
DeĮnir una VPN (Virtual Private Network, o Red Privada Virtual en castellano) , los tipos de
teniendo en cuenta el equilibrio entre los costos y beneĮcios en contraste a las alternativas
comerciales.
Detallar los m´etodos actuales de conexi´on a Internet para empresas que pretendan tener su
portal
comercial siempre disponible en l´ınea, junto a otros servicios dentro de la red local.
Redactar los aspectos te´oricos y pr´acticos de las conĮguraciones VPN para concretar una
Tener en cuenta que el diseȂno e implementaci´on de las soluciones sean acordes a los
est´andares
Requerir que elmodo de conexi´on sea transparente al sistema operativo de las terminales de
usuarios,
por m´as que los servidores traba jen con sistemas diferentes.
2.1 .1 . EspeciĮcaciones
Se estudian las diversas topolog´ıas de comunicaci´on utilizando t´ecnicas de VPN, que permiten el
esto se utilizan herramientas de software libre como OpenVPN, ISAKMP (Internet Security
Association
and Key Management Protocol) , PoPtoP, entre otros, que permiten la comunicaci´on entre dos
puntos
Security) , PPTP (Point to Point Tunneling Protocol) , etc. Adem´as las pruebas desde el lado del
usuario
La conexi´on a Internet se realiza de tal manera que permita facilidad en el registro de conexiones,
recursos y hasta en posibles problemas de seguridad. Para esto se utilizan Modem ADSL que se
conectan
al proveedor y a su vez el servidor OpenBSD que provee acceso a los clientes de la red local. Este
de seguridad y de ofrecer servicios adicionales como correo electr´onico con SendMail, DNS con
Bind,
DHCP con DHCP Server, Firewall con PF, repositorio de control de versiones con Subversion,
terminal
remota con OpenSSH, entre otros servicios. Por otro lado, para obtener un dominio Įjo con
direcciones
IP din´amicas se utilizan servicios como ZoneEdit , para automatizar los cambios de direcciones IP
del
proveedor manteniendo el nombre de dominio Įjo y as´ı no se pierdan los enlaces VPN que
dependen del
dominio.
software se reĮere, se tiene un gasto nulo; esto representa una gran venta ja si se lo compara con
soluciones
comerciales, las cuales van de los cientos a los miles de d´olares (en hardware, software y soportes
t´ecnico) .
Por otro lado, al utilizar una VPN ba jo la infraestructura de Internet, no se invierte dinero en
l´ıneas
empresas e instituciones. La investigaci´on de las soluciones con software libre, van desde la
instalaci´on
del sistema operativo servidor hasta las pruebas de velocidad, seguridad y estabilidad de la red,
pasando
por la conĮguraci´on de conexi´on de banda ancha, conĮguraci´on del Firewall y de las aplicaciones
extras
Las materias relacionadas con el tema de esta tesis se podr´ıan resumir de la siguiente manera:
Sistemas Operativos
Seguridad y encriptaci´on
La Figura 2.1 muestra de forma generalizada el proceso que se lleva a cabo para la realizaci´on de
esta tesis. Para comenzar, se hicieron propuestas de los temas que se pod´ıan incluir e investigar.
Luego
se evaluaban si se pod´ıan realizar y Įnalmente quedaban como propuestas v´alidas para incluirlas
en el
proyecto.
determinados Įnes.
Finalmente se documentan todos los detalles de las pruebas realizadas, teniendo en cuenta la
redacci´on
utilizada para referirse al lector. Para la presentaci´on del informe se utiliza el formato est´andar
PDF junto
El alcance del proyecto se deĮne de acuerdo a las necesidades que surgen y a medida que se va
avanzando en el tema. De esta manera, se comienza con casos sencillos, evaluando el rendimiento
y la
terminando por esquemas tan complejos como seguros y ´optimos para entornos de gran cantidad
de
conexiones simult´aneas1 .
Adem´as se tienen en cuenta aspectos como la conĮguraci´on de la conexi´on a Internet de las
redes
locales, que m´as tarde establecen un enlace VPN entre las mismas simulando una gran red
separadas por
la nube de Internet .
Para no entrar en demasiados detalles de los protocolo utilizados (dado que alguno de ellos puede
llegar
a ser tan complejo como el mismo IPSec (Internet Protocol Security) ) , se realizan breves
descripciones
de los mismos, tales como su origen, funcionamiento, venta jas y desventa jas, entre otros
fundamentos.
No se describen detalles como los elementos de las tramas (n´umeros de bits) o el traba jo que se
realiza
a ba jo nivel (o nivel del kernel) , sino que se rescatan los puntos importantes que pueden ser
manejados
por el administrador de la VPN o de la red en el espacio de usuario.
Otra limitaci´on del proyecto, que se encuentra fuera del alcance t´ecnico propio, es el ancho de
banda
servicio)2 . Adem´as, las pruebas que se realizan, generalmente son efectuadas en rangos horarios
de ba jo
En cuanto a las pruebas realizadas, las limitaciones se basan en la cantidad de servicios que
puedan
ser instalados en los sistemas y probados por ambos extremos de la VPN, tales como sistemas de
voz
sobre IP (utilizando Asterisk) , servicios de m´usica o radio en vivo (Icecast) , servicios Web para
todas las
redes conectadas a la VPN, entre otros. Otra limitaci´on es la diĮcultad que presentan algunos
servicios
para su conĮguraci´on y puesta en marcha, ya sea porque no estan totalmente adaptados para
funcionar
relacionados con la calidad de los dispositivos utilizados, o que no cumplen con lo especiĮcado por
el
fabricante, como el caso del modem Aztech DSL600EW (Ap´endice A.2.1) . Esto se debe al
reducido costo
El uso de dispositivos dedicados (ca jas negras) para establecer redes privadas virtuales, tiene un
costo
elevado y es justiĮcable en entornos empresariales con gran cantidad de usuarios y conexiones.
El l´ımite econ´omico se reĮere a la diĮcultad en adquirir tanto hardware como software pre
conĮgurados
para establecer una VPN con lam´ınima intervenci´on del administrador. Se consideran tambi´en
los equipos
servidores y terminales que se pueden utilizar para simular conexiones m´ultiples, y todo lo que
hace a la infraestructura de conexi´on a Internet en el hogar, como la implementaci´on en
m´aquinas virtuales antes
sino que se tratan de hogares de familia en los que se disponen generalmente de equipos
modestos, no de
supercomputadoras ni grandes servidores, sino simplemente equipos que se pueden adquirir por
precios
muy ba jos. Los equipos utilizados se describen con m´as detalles en el Ap´endice A.
En esta secci´on se van a tratar los sistemas operativos utilizados para las conexiones y pruebas,
adem´as
La elecci´on de OpenBSD como sistema principal para proveer acceso a Internet no se basa en un
an´alisis riguroso de costo y rendimiento, sino m´as bien en la posibilidad de utilizar un sistema
gratuito,
Existen muchas variantes de sistemas BSD , cada una orientada a determinado tipo de usuarios y
funcionalidades. Por ejemplo FreeBSD esta m´as orientado a usuarios de escritorio como intenta
ser
FreeBSD
La idea de FreeBSD es producir un sistema operativo utilizable para cualquier prop´osito, como
Ubuntu,
Tuquito, Fedora, SuSE, es decir, un sistema de prop´ositos generales. Se intenta que sea f´acil de
usar y
OpenBSD
OpenBSD esta orientado a la seguridad m´as que nada. Las pol´ıticas de seguridad son muy
estrictas
en el desarrollo, ya que cada c´odigo que incluyen son auditados exaustivamente para corregir la
mayor
NetBSD
NetBSD esta diseȂnado como sistema operativo que puede ser distribuido gratuitamente a
profesionales,
entusiastas e investigadores, para que lo usen como quieran. El ob jetivo principal de este sistema
es la
El proyecto OpenBSD es un sistema operativo libre tipo Unix, multiplataforma, basado en 4.4BSD .
A continuaci´on se exponen algunas razones por las que OpenBSD es un sistema operativo de gran
utilidad para la realizaci´on de este proyecto:
Es reconocido por profesionales de la seguridad inform´atica como el sistema operativo tipo UNIX
m´as seguro; esto es el resultado de una intensa e interminable auditor´ıa de seguridad sobre el
c´odigo
fuente.
Es un sistema operativo con todas las funcionalidades de UNIX que se puede adquirir de forma
gratuita.
Estas son las caracter´ısticas Įlos´oĮcas del sistemas; las caracter´ısticas pr´acticas se dejaron de
lado
porque en el transcurso de esta tesis se van a describir detalladamente los puntos s´olidos del
sistema.
Si se usa como servidor, no instalar el entorno gr´aĮco y mucho menos los grandes paquetes de
KDE
o Gnome
Si se van a realizar pruebas, primero se debe intentarlo con una m´aquina virtual
solamente se va a indicar que Linux en s´ı, se reĮere al kernel o n´ucleo del sistema que es el que
se encarga
de la intercomunicaci´on entre el hardware del equipo y los programas de usuarios. Pero para que
Linux sea
un sistema operativo completo (con las herramientas necesarias para su administraci´on) se debe
hacer uso
de muchas aplicaciones que permitan su administraci´on y uso. Por esta raz´on, ha habido una
controversia
Aqu´ı se va a hacer referencia a Linux como si fuera todo el sistema operativo, pero si se requiere
indicar
En cuanto a las distribuciones de Linux, hay una gran cantidad para casi todos los prop´ositos
espec´ıĮcos y de prop´osito general. Las m´as conocidas son Fedora, OpenSuSE, Ubuntu, Debian,
Gentoo, entre otras.
Las empresas que traba jan con software libre idearon un modelo de negocios totalmente
diferente al
que se conoc´ıa hasta el momento, y es el de los servicios. En algunos casos, el producto se vende
a un
precio determinado (como RedHat o SuSE) , mientras que en otros casos, las ganancias para las
empresas
Para la realizaci´on de esta tesis se han utilizado distribuciones armadas de Linux, como Ubuntu
Server,
que es una versi´on orientada a servidores desarrollada por la empresa Canonical Ltd. , que
encabeza el
desarrollo de una de las distribuciones m´as utilizadas por su simplicidad y facilidad de uso.
Ubuntu Server en comparaci´on con la versi´on de escritorio del mismo fabricante, se caracteriza
por la
falta de entorno gr´aĮco, la optimizaci´on del sistema, la seguridad en los servicios, entre otros
aspectos.
procesos que hacen buena la experiencia del usuario, pero son totalmente in´utiles en servidores.
agregarlos durante la instalaci´on del sistema. Por ejemplo, los servicios que pueden agregarse en
la
instalaci´on son OpenSSH, para permitir el acceso remoto por SSH (Secure SHell) , servidor Web,
Samba
La utilizaci´on de Linux ͞Ubuntu Server͟ como servidor VPN, es m´as por cuestiones pr´acticas que
t´ecnicas, ya que hoy en d´ıa casi cualquier distribuci´on de Linux cuenta con las mismas
caracter´ısticas y posibilidades de expansi´on. Vale aclarar que algunas distribuciones vienen mejor
preparadas que otras
En particular, Ubuntu Server ha sido modiĮcado para que funcione como servidor, consumiendo
pocos
recursos (solamente los necesarios) , optimizando la seguridad del sistema y servicios como DNS ,
correo
Microsoft tanto para uso de escritorio como para servidores. La primera versi´on fue liberada en el
aȂno
1985 y a partir de entonces se realizaron gran cantidad de modiĮcaciones en el n´ucleo y otros
componentes
como las implementaciones y soporte a dispositivos de red, impresoras, entre otros perif´ericos.
En la realizaci´on de esta tesis, se han utilizado dos versiones de Windows, XP y Vista. Ambas solo
cumpl´ıan el papel de entornos de escritorio y en algunos casos se han utilizado las herramientas
que
Cap´ıtulo 3
Conexi´on a Internet
como era de esperar, las VPN se mueven por esos ´ambitos inseguros, creando canales de datos
que solo
pueden entender los extremos autorizados y asegurando la informaci´on. Es por eso que para la
realizaci´on
de esta tesis es importante contar con una buena conexi´on a Internet, aunque sea con el perĮl de
servidor
En este cap´ıtulo se dar´an a conocer los detalles de la conexi´on a Internet de los equipos
utilizados para
las pruebas que requieran una conexi´on real para probar una VPN. En este caso se utilizar´a el
sistema
Tambi´en se detallar´an los par´ametros de conĮguraci´on del Įrewall y algunos aspectos a tener
en cuenta
(sea Įja o m´ovil) , dejando de lado la conexi´on a Internet que en la mayor´ıa de los casos, se
trataban de
Con la llegada de la banda ancha y el abaratamiento del hardware, las familias pod´ıan contar con
m´as
de una computadora personal, ya que vender la vieja PC , luego de comprar un equipo m´as
potente, no
generaba m´as ganancias de las que se podr´ıa aprovechar conect´andola en red y compartiendo la
costosa
banda ancha que hab´ıa en aquella ´epoca. Pero a´un as´ı, no se dispon´ıa de una PC libre para que
realizara
Luego con la disminuci´on de precios de la banda ancha y de las PC , los usuarios hogareȂnos ya
pod´ıan
contar con pequeȂnas redes dom´esticas en las que compartir documentos, m´usica, fotos y hasta
la conexi´on
a Internet por banda ancha, no resultaba muy costoso. Adem´as, se pod´ıa disponer de la PC m´as
vieja
como ͞servidor͟ de Internet . Por eso es que, compartir la conexi´on, ya no necesitaba depender
de la PC
principal (o la m´as ͞grande͟ o nueva) sino que se comenzaba a pensar en una pol´ıtica m´as
inteligente
para ofrecer servicio continuado y seguro a toda la familia. Esto es ni m´as ni menos que utilizar
una PC
de recursos moderados para que ofrezca servicios a toda la red interna con todas las venta jas que
supone
A continuaci´on se detallan los pasos que se siguieron para dejar a punto el servidor OpenBSD de
cada
red. Como se ver´a m´as adelante, este cumple funciones de servidor DHCP, DNS, Firewall,
Conexi´on a
Al ser las nuestras redes de no m´as de cinco hosts, podemos darnos el lujo de poner todos los
servicios
en un solo ordenador. Pero en una empresa mediana, esto es irrealizable, ya que son necesarios
servidores
Servidor DHCP,
El orden de estos pasos es cronol´ogico, pero en algunos casos, el punto siguiente no depende del
anterior.
Ambas redes utilizan el protocolo TCP/IP para la comunicaci´on entre sus respectivos hosts, con IP
versi´on 4 (IPv4) ; los rangos de direcciones ip privadas utilizados en las redes locales son: para la
red 1
192.168.1 .0, y para la red 2 192.168.0.0; la m´ascara de red en ambos casos es la misma:
255.255.255.0.
En las dos redes hay solo una puerta de enlace a la red p´ublica; dicha puerta establece una
conexi´on
PPPoE con el Proveedor de Servicios de Internet (o ISP) . A trav´es de ellas se traĮcan todos los
paquetes
entre la red p´ublica y cada una de las redes locales, y es por donde Ňuir´an los paquetes que
pertenezcan
a la conexi´on VPN.
Cada una de las redes cuenta con un Įrewall a la entrada, que en el caso de la red donde se
encuentra
el host que har´a las veces de servidor VPN, dicho Įrewall deber´a ser conĮgurado
apropiadamente, como
3.1 .
El primer elemento (desde la derecha) de la Įgura 3.1 es una PC con direcci´on IP 192.168.0.35
que ha sido asignada por el segundo elemento (la puerta de enlace OpenBSD con direcci´on
192.168.0.1)
previamente conĮgurado por el administrador del sistema para brindar servicios de DHCP sobre la
interfaz
de red correspondiente. El siguiente elemento es el Įrewall, este se encarga de Įltrar el tr´aĮco no
deseado
que quiera ingresar a nuestra red local. Por ´ultimo, el Modem ADSL realiza la conversi´on de
interfaz que
utiliza el servidor (Ethernet) hacia la l´ınea telef´onica que previamente detecta el enlace con el
proveedor
y obtiene un enlace WAN a trav´es de la boca tipo RJ11 est´andar de las l´ıneas de tel´efono.
Suponiendo que se tiene instalado correctamente OpenBSD en el equipo servidor, solo resta
conĮgurar
Luego de conectar la placa de red libre a la interfaz ethernet del modem ADSL, se tiene que
conĮgurar
el archivo /etc/hostname. if, donde ͞if͟ se reemplaza por la interfaz de red. Por ejemplo al
ejecutar el
las cuales, la primera se conecta al switch y tiene asignada una direcci´on IP (192.168.0.1) ; la
segunda
interfaz (ne1) esta conectada directamente al modem ADSL. La ´ultima no esta conectada, pero
podr´ıa
solamente:
up
De esta manera se inicia la placa de red para ser utilizada con el Modem ADSL.
(PPPoE) . B´asicamente, lo que hace este protocolo, implementar la capa IP sobre el protocolo PPP,
que
esta forma, transmitir paquetes IP por una conexi´on serial punto a punto establecida por dos
puertos
ethernet .
lleva todos los par´ametros necesarios para la comunicaci´on, incluyendo el nombre de usuario y
contraseȂna,
por lo que es muy recomendable que solamente pueda ser le´ıdo por el administrador (root) . Un
ejemplo
Si al ejecutar sudo ppp -ddial proveedor obtenemos la salida mostrada en el listado de arriba,
signiĮca
que se ha creado la interfaz tun0 pero no que se haya conectado a´un. Para comprobar la
conexi´on, se
puede ver en los procesos del sistema con el comando ͞px ax͟ y localizar que los siguientes dos
procesos
aparezcan:
1 de f aul t :
4 prove edo r :
5 s e t redial 1 5 0
6 s e t re c onne c t 1 5 1 0000
8 s e t s pe ed sync
10 deny ac f c omp
11 enable lqr
12 s e t lqrpe ri od 5
13 s e t dial
14 s e t login
15 s e t t ime out 0
por el proveedor es 190.137.64.32. En la ´ultima l´ınea del archivo ppp.conf vemos que luego de
establecer
la conexi´on con el proveedor, se agreg´o la ruta por defecto a la direcci´on del gateway del
proveedor:
Si en este momento se intenta obtener respuesta de alg´un dominio (por ejemplo con el comando
͞ping
instala con un servidor de DNS preconĮgurado y casi listo para usar con direcciones de Internet, se
lo
puede iniciar con el comando ͞named͟ y editar el archivo /etc/resolv.conf como se indica en el
listado
2.
3 name s e rve r 1 9 2 . 1 6 8 . 0 . 1
4 name s e rve r 2 00 . 45 . 1 9 1 . 3 5
La primera l´ınea (lookup) especiĮca d´onde buscar para resolver nombres. En este caso, busca
primero
en el archivo /etc/hosts y si no lo encuentra all´ı, utiliza el servidor DNS local y luego el remoto. A
veces
es buena pr´actica agregar el DNS del proveedor por si a´un no se ha ejecutado o conĮgurado Bind
en el
sistema.
Luego de esto, es posible acceder a Internet desde el servidor, pero a´un los dem´as equipos de la
red
no pueden hacerlo.
Para permitir el acceso a Internet de los dem´as equipos de la red, a trav´es del servidor OpenBSD ,
se deben habilitar algunos par´ametros del kernel; esto se hace con el archivo ͞/etc/sysctl.conf͟ .
Algunas
2#
6#
10 net . ine t 6 . ip6 . f o rwarding =1 # 1= Pe rmi t f o rwardi ng ( rout ing ) of I Pv6 packe t s
11 # ne t . ine t 6 . ip6 . mf o rwarding =1 # 1 = Pe rmi t f o rwarding ( rout ing ) of I Pv6
12 # ne t . ine t 6 . ip6 . mul t i pat h =1 # 1 = Enable I Pv6 mul t i pat h rout ing
is s low )
Tal como se muestra en el listado anterior, las l´ıneas descomentadas (las que no tienen el
s´ımbolo #)
son las que lee el kernel para habilitar (si tiene un 1) o deshabilitar (si tiene un 0) al inicio del
sistema.
Luego se debe activar el Įrewall Packet Filter del OpenBSD , en el archivo ͞/etc/rc.conf͟ para que
se ejecute en el inicio del sistema. Tambi´en se pueden habilitar otros servicios ´utiles tal como
Bind. Una
S´olo resta conĮgurar el PF para que realice las operaciones de NAT (traducci´on de direcciones de
red) , esto, para que los equipos de la red local puedan acceder a Internet con la IP p´ublica
asignada por
implementaci´on del Įrewall, se comenz´o el desarrollo de un nuevo software para que realizara
las mismas y
otras funciones m´as que el anterior. A esta implementaci´on se la ha denominado Packet Filter
(abreviado
como PF) .
del tr´aĮco entrante y saliente del sistema. Adem´as realiza funciones de Įltrado del tr´aĮco
TCP/IP, NAT,
1 # ! / bin/ sh -
2#
11 i ps e c = YES # I Ps e c
͞/etc/pf.conf͟ , donde se conĮguraron las directivas del Įrewall, entre otras cosas. Este archivo es
le´ıdo y
se carga en orden secuencial, de modo que existe dependencia entre las reglas. Dicho archivo
consta de
1 . Macros: son las variables deĮnidas por el usuario que pueden contener direcciones IP, nombres
de
2. Tablas: es una estructura que se usa para deĮnir un conjunto de direcciones IP y puertos.
defragmentaci´on.
redireccionamiento de paquetes.
7. Reglas de Įltrado: permite el Įltrado selectivo o el bloqueo de paquetes seg´un van pasando
por
y apertura de puertos y protocolos, ya que si la l´ınea que bloquea los puertos se encuentra
despu´es de la
l´ınea que abre un conjunto de puertos determinados, PF entender´a que la sentencia posterior es
la que
vale y anula la anterior, provocando un funcionamiento diferente al esperado (se supone abrir los
puertos
deĮnidos) . Por esto, a excepci´on de los macros y tablas, el archivo debe mantener el orden de los
pasos
anteriores. Tambi´en se puede obviar alg´un punto para una aplicaci´on espec´ıĮca.
Anchors
Una de tantas otras caracter´ısticas que posee este Įrewall, es un concepto que se denomina
anchor.
Un anchor es un contenedor dentro del cual se pueden agregar y quitar reglas de Įltrado on the
Ňy,
es decir, en tiempo de ejecuci´on. Con ellos, Se puede por ejemplo, agregar un conjunto de
restricciones
Packet Filter da la posibilidad de anidar anchors, pudiendo luego ser invocados con la misma
notaci´on
que se utiliza en el Įlesystem de unix: separando los nombres de los anchors (de mayor a menor
nivel) con una barra ͚/͛ .
Si se encuentra que un paquete corresponde con una regla que est´a marcada con la opci´on quik,
dentro
de un anchor, no se contin´ua con las reglas subsiguientes, sino que se termina la evaluaci´on.
Ahora un ejemplo de conĮguraci´on de Packet Filter para dejar salir a Internet a los equipos de una
1 # I nt e r f ac e s de red
5 # Po l i t i cas
6 s et block - po li cy re t urn
7 s et l ogint e r f ac e $ e xt _ i f
9 # No rmal i zac i on
10 s crub in all
11
14
15 # Reglas de f i l t rado
16 blo ck all
19
23
27
28 # Re s ponde a I CMP
La interfaz interna (int if) no es m´as que la placa de red que ha detectado el sistema durante el
arranque y est´a conectada a la red local. En este caso se le ha asignado el nombre ͞rl0͟ ; este
var´ıa de
acuerdo al tipo de placa que se utilice (por ejemplo, para placas NE2000 o compatibles, se le
asigna el
dispositivo ͞ne0͟ , ͞ne1͟ y as´ı sucesivamente) .
Una vez cargados, estos par´ametros de conĮguraci´on permiten la navegaci´on libre por Internet,
con
todos los puertos del servidor bloqueados. Para recargar las directivas del PF, ejecutamos lo
siguiente:
pfctl -f /etc/pf.conf.
El Įrewall crea una interfaz para monitorear su funcionamiento, se la puede ver con el comando
ifconĮg:
Por ejemplo, para monitorear los mensa jes que env´ıa PF ejecutamos el comando ͞tcpdump -i
pŇog0͟ .
Para dar acceso a Internet a una pequeȂna red local hogareȂna, se utiliza un equipo con funciones
de
Para conocer detalles de los hosts, v´ease el Ap´endice A. El equipo servidor de uno de los
extremos
de la conexi´on, funciona ba jo OpenBSD y tiene instaladas tres placas de red; una de ellas se
conecta a
la interfaz Ethernet del Modem/Router ADSL. Esta ´ultima, y la interfaz WAN de dicho router
est´an
conĮguradas como bridge; la otra se conecta con el Switch. Y la tercera se reserva para conĮgurar
zonas
DMZ 1 .
El Firewall tambi´en realiza funciones de NAT (Network Address Translation) , necesario para
compartir el acceso a Internet con todos los hosts de la red local; el servidor tambi´en brinda
servicios
de Įltrado para determinados puertos, direcciones IP y MAC , para evitar el uso del Įrewall
cuando se
En este caso, como se trata de una red hogareȂna, se permite el libre acceso hacia Internet, pero
para
En la Įgura 3.3 se pueden ver con m´as detalles de los elementos que participan en la conexi´on a
Internet, y tambi´en los dos PCs que comparten el acceso. Las mismas est´an conectadas a un
switch que
En la Įgura 3.3, puede verse un esquema detallado de una de nuestras redes locales, conectada a
En esta secci´on se detallar´an los pasos necesarios para realizar una conexi´on a Internet
automatizada;
con todos los servicios que se brindar´an sin necesidad de interacci´on con el terminal del servidor.
Es
conexi´on a Internet.
Para que no sea necesario acceder al servidor cada vez que se quiera conectar a Internet, sino que,
con solo encender el equipo se efect´ue dicha conexi´on de forma autom´atica, se deben crear y/o
modiĮcar
En primer lugar el archivo ͞/etc/rc. local͟ contiene los scripts que se ejecutan en el arranque del
sistema, despu´es de los servicios como Bind, DHCP, etc. En el listado de ConĮguraci´on 6 se puede
ver una
secci´on que permite la conexi´on a Internet mediante la ejecuci´on del comando ͞ppp -ddial
proveedor͟ y en
el que espera unos segundos antes de ejecutar el comando que comprueba si la conexi´on se ha
establecido
o no.
Lo que hace el script 6 es llamar al comando ppp para que se conecte con ͞proveedor͟ deĮnido en
/etc/ppp/ppp.conf y esperar unos segundos (sleep) por diez veces, hasta que otro script (adsl-
status)
3 f or i in 1 0 9 8 7 6 5 4 3 2 1 0 ; do
4 s l e ep 3
7 break
8fi
9 done
devuelva verdadero, es decir que devuelva la direcci´on IP asignada por el proveedor. A este
´ultimo script
1 # ! / bin/ sh
7 e xi t 1
8 e ls e
10 e xi t 0
11 f i
De esta manera, cada vez que arranque el sistema, se iniciar´an los servicios por defecto (como
SSH,
Inetd, etc. ) , junto a los servicios que se han indicado manualmente para que se iniciaran como
Packet
͞/etc/rc. local͟ , por eso se debe que tener especial cuidado al editar el archivo, sino pueden
ocurrir errores
al inicio y si no se monitorea el arranque para ver los mensa jes del sistema, ser´ıa dif´ıcil conocer
el error
que se produzca. Por eso es recomendable al principio monitorear todos los mensa jes de
arranque del
sistema.
En primer lugar es necesario tener un dominio registrado en , cuyos pasos se pueden resumir
como
sigue:
1 . Registrar persona,
2. Registrar entidad,
3. Registrar dominio.
El tr´amite a veces es un poco largo, pero lo m´as importante a la hora de registrar el dominio, es
ya
que se deben agregar como servidores DNS a los que provee el servicio de DNS gratuito para
asociar la
Zoneedit ,
DnsExit,
Entre otros.
El que se va a utilizar para esta tesis es Zoneedit, que es gratuito y permite asociar hasta 5
dominios
sin costo. Luego del registro, se debe indicar nombre de dominio inicial, y a continuaci´on se
obtiene los
Para actualizar el dominio a la direcci´on IP que asigna el proveedor existen varios m´etodos que
se
pueden utilizar con Linux u OpenBSD . Los m´as sencillos son usando la l´ınea de comandos, con los
# lynx - s ourc e - aut h = us e rname : pas s word ͛ ht t p : / / dynami c . zone e di t . com/ aut h /
dynami c . ht ml ? ho s t = www .
mydomai n . com ͛
Como OpenBSD no viene con wget de serie y para no instalar ning´un programa adicional, es
mejor
usar Lynx (que por cierto, no es mucho problema) . A ejecutar alg´un comando anterior, se
deber´ıa obtener
servidor.
Como se quiere automatizar todo el proceso, lo mejor es instalar el paquete ddclient mediante el
la conĮguraci´on se tiene que modiĮcar, con los datos de la cuenta en Zoneedit, el archivo
ddclient. conf
8 ##
10 ##
Ahora es necesario ejecutar ddclient y probar su funcionamiento. Los par´ametros que utiliza son
muy
a una cuenta de correo local, se deber´ıa ejecutar ddclient con los siguientes argumentos:
De otra manera, con solo ejecutar ͞ddclient͟ sin argumentos, se deber´ıa ver un proceso similar a
este:
8776 C0- I 2: 49. 43 perl: ddclient - sleeping for 280 seconds (perl)
Como se hab´ıa indicado en el archivo de conĮguraci´on, ddclient se ejecuta (en busca de cambios
en
la direcci´on IP) cada 300 segundos. Adem´as para saber que el dominio se ha actualizado, ddclient
env´ıa
SUCCESS: updating nombrededominio. com. ar: IP address set to 190. 226. 158. 2
regards,
Si ocurre alg´un error, tambi´en se notiĮca por correo. Adem´as OpenBSD env´ıa informaci´on
diaria del
estado del sistema, si se han modiĮcado archivos de conĮguraciones, el promedio de uso del
equipo, y
otra informaci´on con respecto al uso del disco r´ıgido y sus particiones. Por esta raz´on es
importante tener
En cuanto a ddclient, se lo puede agregar al archivo /etc/rc. local para que inicie
autom´aticamente
con el sistema, pero antes se debe tener en cuenta de estar conectado a Internet, por eso se lo
ejecuta
El inter´es de tener un dominio asociado a la direcci´on IP que es asignada por el proveedor, puede
provenir de que se quiera alo jar un servidor Web, por ejemplo, para poder acceder a ´el desde
otro sitio
f´ısico. Tambi´en puede resultar importante para establecer una conexi´on por SSH para realizar
tareas
administrativas.
En el caso de las VPN, para establecer una conexi´on entre dos redes a trav´es de Internet, el
hecho
de tener un nombre de dominio asociado a nuestra direcci´on IP resulta ´util, ya que para
establecer la
conexi´on debemos conocer dicha direcci´on. Asociar un nombre a una direcci´on IP resulta
tambi´en muy
econ´omico para las empresas que no puedan afrontar los costos de una soluci´on VPN comercial
ni de
direcciones IP Įjas; pero a su vez es peligroso, debido a que se corre el riesgo de perder la
conexi´on,
y que permite la conexi´on de los clientes a Internet a trav´es de la puerta de enlace del mismo.
pueda conectar a Internet desde un terminal. Por esto, hay que conĮgurar a los clientes para que
tengan
direcci´on IP Įja y que pertenezcan a la red del servidor (por ejemplo a la red 192.168.0.0) .
Adem´as su
puerta de enlace debe apuntar a la direcci´on IP de servidor y los DNS pueden ser del servidor local
(si
Si se tienen varios equipos terminales, con diferentes sistemas operativos, la mejor soluci´on es
conĮgurar un servidor DHCP en el servidor, para evitar asignar direcciones IP manualmente a cada
computadora. En BSD el cliente de DHCP se denomina dhclient y se puede conĮgurar para iniciar
en el
arranque. En Linux y Windows tambi´en se tiene por defecto un cliente DHCP, por lo que en la
mayor´ıa de los casos no se requiere ninguna conĮguraci´on manual.
terminales clientes (equipos de la red local) . Esta funcionalidad permite ahorrar mucho tiempo y
esfuerzo
en lo que ser´ıa conĮgurar manualmente direcciones IP y Gateway en cada equipo nuevo que se
una a la
red.
Para que el servicio se inicie durante el arranque del sistema, se tiene que cambiar el par´ametro
͞NO͟
por lo siguiente:
dhcpd_flags=" "
Luego se tiene que editar la conĮguraci´on del servidor DHCP donde se indica el rango de
direcciones
IP y los servidores de nombre (DNS) que se les va a transmitir utilizar a los usuarios. El primer
archivo
de ConĮguraci´on 9.
5 subne t 1 9 2 . 1 6 8 . 0 . 0 ne t mas k 2 5 5 . 2 5 5 . 2 5 5 . 0 {
6 opt i on rout e rs 1 9 2 . 1 68 . 0 . 1 ;
8 range 1 9 2 . 1 6 8 . 0 . 32 1 9 2 . 1 6 8 . 0 . 1 2 7 ;
9}
10
11 }
El otro archivo de conĮguraci´on es donde se indica la interfaz por la que ͞entrar´an͟ los cliente a
solicitar la informaci´on de la red. Este archivo es ͞/etc/dhcpd. interfaces͟ y por ejemplo puede
contener
rl0
De esta manera se tiene conĮgurado un servidor DHCP para que acepte conexiones a trav´es de la
red
local (interfaz rl0) y asigne un rango de direcciones IP que van de 192.168.0.32 a 192.168.0.127, lo
cual
permite a 95 clientes simult´aneamente. Los clientes solo deben saber que tienen que buscar un
servidor
DHCP.
Ahora que se tiene un sistema robusto, seguro y muy Ňexible en cuanto a la conĮguraci´on del
mismo,
Para listar los servicios que se est´an ejecutando en el sistema se utiliza el comando ͞ps ax͟ , que
puede generar una salida como la siguiente:
En el listado anterior se pueden ver los servicios que se han conĮgurado para iniciar junto a los
argumentos con que se ejecutan. Tambi´en se pueden ver otros servicios como los dos servidores
de
un servicio determinado. En muchos casos es conveniente desactivar estos servicios para no abrir
puerto
innecesarios, ya que los servicios b´asicos que ofrece (como ftp, Įnger, ident, pop3, daytime, entre
otros)
traba jan en texto claro, en el que por ejemplo el servicio POP3 que utiliza autenticaci´on para
funcionar,
env´ıa los datos de usuarios sin encriptar, de manera que con un simple sniīer de paquetes se
pueden
Si por otro motivo se requiere utilizar alguno de estos servicios, los datos de los mismos se
encuentran
en /etc/inetd.conf y para habilitarlos basta con quitar el comentario de una l´ınea o comentarla
para
deshabilitar el servicio.
Por otro lado, las conexiones de terminales se pueden limitar a solamente una terminal virtual, de
manera que se libera memoria innecesaria (para administrar el sistema, pocas veces se puede
llegar a usar
Para mejorar la seguridad del sistema, se puede quitar la contraseȂna del usuario root para evitar
cualquier intrusi´on o intento de hacking a esta cuenta. Para esto, se debe suponer que un usuario
normal pueda tener permisos de ejecuci´on del comando ͞sudo͟ para poder realizar las
operaciones de
administraci´on del sistema. Para agregar un usuario al grupo wheel (para poder ejecutar ͞sudo͟ )
, es
Y luego quitar la contraseȂna de root , eliminando la cadena de texto extraȂno del archivo master.
passwd
De esta manera, nadie va a poder ingresar como root. Pero a pesar de que esto puede suponer
una
mejora para la seguridad del sistema, por otro lado se debe tener en cuenta que el usuario del
sistema
con permisos en el grupo wheel, no puede tener una contraseȂna d´ebil, ya que puede ser
descifrada y
utilizada como si del usuario root se tratara (ya que en la conĮguraci´on de visudo se ha
especiĮcado
que el usuario que pertenezca a wheel pueda ejecutar cualquier comando como administrador) .
Otra
manera de asegurar el sistema ser´ıa especiĮcar que los usuarios wheel solo tengan permiso de
administrar
3.7.1 . Servidor
El servidor debe ser una m´aquina medianamente potente y en buen funcionamiento. Debe tener
su
mantener estas caracter´ısticas, ya que el equipo debe estar encendido siempre, por lo que la
refrigeraci´on
es punto clave para mantener un buen servicio y funcionamiento del servidor, adem´as de alargar
la
usabilidad del mismo. Si no se dispone de un PC para el servidor, hoy en d´ıa existe la posibilidad
de
comprar equipos de marca muy econ´omicos, con respecto a la utilidad que se le dar´a.
El modem ADSL y Switch son componentes que hay que elegirlos en ca jas cerradas, ya que no se
pueden ͞fabricar͟ , pero se deben tener muy en cuenta de la calidad de lo que se adquiere.
En cuanto al modem ADSL, debe contar con una interfaz Ethernet para conectar la placa de red
del servidor, que en general son m´as costoso que los modem con solo puerto USB . El precio de
estos
dispositivos no superan los 200 pesos, cumpliendo la ´unica funci´on de ͞bridge͟ entre la interfaz
Ethernet
y la l´ınea telef´onica.
El switch tambi´en es un elemento muy com´un usado en redes de cualquier tamaȂno y se pueden
3.7.3. Cableado
velocidad de conexi´on es adecuada, basta con una simple transmisi´on de archivos entre las
terminales. Si
se trata de una red a 100 Mbps, la velocidad te´orica a alcanzar deber´ıa ser de 12,5MB/s, aunque
si se
Hoy en d´ıa, como todos los switch soportan las normas de cableado 568-B (normal) y 568-A
(cruzado) ,
lo m´as conveniente es armar directamente cables cruzados, por si alguna vez deja de funcionar el
switch
La categor´ıa del cable a utilizar tambi´en es importante, y actualmente es f´acil conseguir Cat-5e a
3.8. Conclusi´on
crecimiento de una empresa. Por esta raz´on es que se ha dedicado todo un cap´ıtulo a la
conĮguraci´on de
la misma.
Si bien se podr´ıan haber planteado alternativas para la conexi´on a Internet , se considera que la
mejor soluci´on es dedicar un equipo completo que realizara tal funci´on, ya que permite la
Ňexibilidad
Adem´as los ba jos requisitos de los equipos hacen muy econ´omica su adquisici´on, ya que no
requiere
potencia en gr´aĮcos, ni grandes cantidades de espacio de almacenamiento. Pero lo m´as
importante y a
veces costoso se reĮere al mantenimiento de los equipos, ya que si se mantiene la conexi´on las 24
horas
al d´ıa, el equipo levanta temperatura, y puede daȂnar los componentes. Por eso la importancia de
tener
En cuanto a los sistemas operativos que pueden instalarse en los equipos, se cuenta con una gran
variedad (entre Linux, BSD , Solaris, etc.) , pero se ha elegido OpenBSD en particular por su elevada
seguridad y ba jos requerimientos para un funcionamiento Ňuido. Tambi´en tiene una gran
cantidad de
informaci´on en Internet para resolver los distintos problemas que se vayan presentando.
Cap´ıtulo 4
PPTP es un protocolo diseȂnado para establecer comunicaciones seguras entre dos terminales,
que
luego se terminaron usando para establecer una VPN de tipo host a host (o en algunos casos, host
a red) .
En este cap´ıtulo se describir´a brevemente el protocolo junto a sus venta jas y desventa jas de
uso.
Linux y OpenBSD) , teniendo en cuenta que el usuario se encuentra en una red local, por lo que se
mostrar´an los detalles de conĮguraci´on del Įrewall y los par´ametros necesarios para establecer
una VPN
con PPTP.
El protocolo PPTP (Point to Point Tunneling Protocol) ha sido desarrollado por Microsoft , U.S .
Robotics, Ascend Communications, 3Com/Primary Access, ECI Telematics conocidas
colectivamente
como PPTP Forum, para implementar redes privadas virtuales y asegurar conexiones punto a
punto.
PPTP se utiliza de manera m´as espec´ıĮca para crear sesiones VPN para usuarios m´oviles en
conĮguraciones host a red o host a host . La integraci´on que tiene PPTP conWindows es nativa,
pero con
otros sistemas operativos, se utilizan portes o adaptaciones que siguen las especiĮcaciones del
protocolo.
El ´unico motivo por el que se requiere de una implementaci´on del protocolo para sistemas Linux
o
BSD, es para dar soporte a la gran cantidad usuarios m´oviles que utilizanWindows, ya que para
establecer
una conexi´on host a host con el mismo sistema operativo, el proceso de conĮguraci´on no resulta
para
nada complicado.
PPTP utiliza para establecer conexiones VPN seguras. Primero, realiza el encapsulado de los
paquetes
de datos dentro de paquetes PPP. Luego se encapsulan estos paquetes usando el protocolo GRE
(Generic
Adem´as de los paquetes GRE, que comprimen los datos PPTP reales, se utiliza un segundo canal
de
control para la conexi´on. Esta es una conexi´on TCP (Transmission Control Protocol) sencilla desde
el
cliente al puerto 1723 del servidor. Se la utiliza para enviar informaci´on de seȂnalizaci´on y para
comprobar
Por otro lado, PPTP no especiĮca qu´e algoritmos de cifrado o autenticaci´on utilizar, sino que esta
tarea queda para la sesi´on PPP subyacente.
Para permitir autenticaci´on y cifrado en la sesi´on PPTP, se han tenido que aȂnadir unos cuantos
el cifrado real de los paquetes. Utiliza el cifrado de Ňujo RC4 para cifrar los datos con una clave de
40
a 128 bits. La clave de cifrado utilizada para el cifrado deriva parcialmente de la contraseȂna del
usuario
mediante el algoritmo LAN Manager o el algoritmo NT. Las claves de sesi´on utilizadas para el
cifrado se
En esta secci´on se mostrar´a c´omo conĮgurar un servidor VPN en Windows Vista, de la manera
m´as
simple posible, que permite varias conexiones entrantes mediante autenticaci´on por nombre de
usuario y
contraseȂna.
Como no se trata de un servidor dedicado, sino m´as bien de una estaci´on de traba jo que se
conĮgura
para aceptar conexiones de otros clientes, la puesta a punto de lamisma puede estar al alcance de
cualquier
usuario de oĮcina. Esto podr´ıa considerarse una falla de seguridad, ya que al permitir conexiones
entrantes
a jenas a la red interna sin considerar una pol´ıtica de seguridad adecuada, puede suceder que la
conexi´on
permitida no sea quien dice ser (es decir, sea un hacker con malas intenciones) .
Para solventar este problema, se realizar´an retoques en la conĮguraci´on del Įrewall de la red,
para
permitir conexiones entrantes solamente a los equipos supervisados y autorizados para dicha
funci´on.
Para comunicar dos equipos utilizando el protocolo PPTP se realiza una conexi´on de tipo host a
host,
Una VPN host a host (o punto a punto) involucra ´unicamente a dos equipos, donde uno act´ua
como servidor y el otro como cliente. Estos pueden estar ubicados en puntos muy distantes o en
subredes distintas. Solamente si se puede establecer una ruta de comunicaci´on entre ambos
terminales,
Este tipo de conexiones, en apariencia tan limitadas, encuentran su Įn pr´actico cuando dos
servidores
de una empresa necesitan sincronizar datos conĮdenciales, y deben hacerlo a trav´es de redes de
acceso
p´ublico donde se corre el riesgo de que los datos sean interceptados por destinos no deseados.
De esta
manera, los datos via jan seguros a trav´es de un medio hostil. Un esquema simpliĮcado de este
tipo de
TCP como para UDP, y adem´as de permitir paquetes que utilicen el protocolo GRE, tanto a la
entrada
2 rdr pas s on $ e xt _ i f pro t o t cp f rom any to any port ppt p -> $ s e rve r_ vpn
3 rdr pas s on $ e xt _ i f pro t o gre f rom any to any -> $ s e rve r_vpn
7 f lags S / FSRA ke e p s t at e
Estas directivas requieren pequeȂnas modiĮcaciones en el Packet Filter, tal como se muestra en el
C´odigo 10. Luego de agregar estas l´ıneas, se debe volver a recargar PF con pfctl -f /etc/pf.conf.
La conĮguraci´on de un servidor VPN en Windows Vista resulta m´as sencilla cuando se trata de
una
comunicaci´on simple de tipo host a host. En primer lugar lo que se crea es una conexi´on
entrante, que
Para que esta comunicaci´on pueda establecerse, hay que conĮgurar el Įrewall del equipo, ya que
hoy
en d´ıa todas las computadoras personales disponen de alg´un antivirus con Įrewall incorporado
con el Įn
de evitar el ingreso de intrusos que pongan en peligro los datos personales, que desde el punto de
vista del
usuario son m´as importantes que los fallos del sistema (que puede solucionarse en la mayor´ıa de
los casos
con una simple reinstalaci´on) , pero como administrador de una red local, en la que no solo se
considera
importante la p´erdida de datos de un usuario, sino tambi´en de la seguridad del sistema y de toda
la red,
al establecerse una comunicaci´on VPN se la realiza con el Įrewall activado y conĮgurado para
bloquear
todas las conexiones entrantes y evitar que clientes poco precavidos pongan en riesgo la seguridad
de
toda la red.
que se utiliza en las conexiones punto a punto entre equipos con sistemas de Microsoft. Luego,
entra
de encriptaci´on, de protocolos que se van a utilizar y del m´etodo que se env´ıa la contraseȂna.
Una vez
establecidos estos par´ametros, el sistema le asigna una direcci´on IP (puede ser cualquier
direcci´on IP
privada v´alida, siempre que no interĮera con los rangos ya seleccionados) al cliente,
estableciendo la
En Windows Vista el asistente para crear una conexi´on entrante resulta sencillo e intuitivo de
usar,
ya que las opciones por defecto son en general la mejor elecci´on. Al abrir la ventana de
administraci´on
La elecci´on de un usuario para que se conecte con el equipo servidor puede ser muy cr´ıtica a la
hora
de mantener la seguridad del sistema (y por qu´e no, de toda la red) , ya que dar a alguien
privilegios
4.2) . En este caso, se crea un usuario espec´ıĮco para la conexi´on VPN, al cual se le asignan los
permisos
necesarios para las acciones m´ınimas en la red (como copiar archivos del servidor) .
le habilitar´a a los usuarios que se conecten a la VPN, seleccionando por defecto las opciones de
TCP
(Transmission Control Protocol)/IPv4 (Internet Protocol versi´on 4) , de compartir archivos e
impresoras
y de calidad de servicio. Pero para que funcionen estos servicios se debe conĮgurar el Įrewall local
para
Como ´ultima opci´on del asistente, se pueden conĮgurar las direcciones IP que se les dar´ıan a los
usuarios, permitiendo asignar direcciones que pertenezcan a otra red y as´ı diferenciar la red local
de la
red VPN. En la Figura 4.3 se puede ver que el total de conexiones es de 5 usuarios, pero uno de
ellos
representa el servidor de VPN, que establece un puente virtual entre el sistema local y la nueva
interfaz
Si se escribiera un grupo de direcciones IP que pertenecen a una subred diferente (por ejemplo:
ruteo para exista una comunicaci´on entre la red actual y la creada para la VPN.
Por otro lado es importante seȂnalar, que a la primera conexi´on entrante, el sistema crea una
nueva
entrada en la tabla de ruteo que dirige el tr´aĮco de la VPN hacia la puerta de enlace (servidor de
Internet)
para todos los paquetes que no pertenezcan a la red local o a la red creada para la VPN. Es decir
que
adem´as de crear una conexi´on segura entre dos enlaces, tambi´en se puede acceder a Internet
sin temer
que los mismos miembros de la red registren los paquetes y descubran informaci´on personal del
usuario.
Figura 4.3: Direcciones IP habilitadas para asignar a los usuarios.
El proceso de conĮguraci´on del cliente es sencillo y contiene pocos elementos para conĮgurar, ya
que
solo realiza la conexi´on al servidor y es ´este quien negocia los par´ametros establecidos
necesarios. En
Para conectar al servidor de VPN, se debe crear en el cliente una nueva conexi´on. Como Microsoft
diseȂna la mayor´ıa de sus sistemas operativos para que sus usuarios Įnales no necesiten
conocimientos
profundos sobre los mismos, las opciones que se muestran a medida que avanza el asistente de
es decir, si para establecer la ruta entre el cliente y el servidor de la VPN, es necesario tener una
conexi´on
Luego se debe especiĮcar el nombre de dominio o la direcci´on IP del servidor VPN. Esto implica
que
el cliente siempre que quiera conectarse a la VPN deber´a conocer la IP del servidor. Por lo que,
dicha
direcci´on, no debe ser variable, o en su defecto debe existir un nombre de dominio que pueda
seguir los
Terminado el asistente, se puede ver que dentro de ͞Conexiones de red͟ que se ha creado una
nueva
conexi´on, que es la que se utiliza para conectar al servidor de la red privada virtual.
4.2.5. Resultado
Establecida la conexi´on VPN, ambos hosts tendr´an la impresi´on de que est´an en una misma
subred
privada (distinta a la que cada uno de ellos est´a conectado realmente) ; adem´as, los datos
transmitidos
Authentication Protocol) v2; y el algoritmo de cifrado para los mensa jes es MPPE (Microsoft Point-
Con la popularidad de Windows y su protocolo PPTP para establecer enlaces punto a punto
seguros,
era necesario integrar otros sistemas operativos para permitir este tipo de conexiones, ya que la
mayor´ıa
De esta manera, se ha iniciado el desarrollo de un clon del protocolo de c´odigo fuente abierto en
conjunto con Microsoft para permitir la integraci´on de equipos Windows con cualquier otro
sistema
operativo mediante un enlace seguro y compatible con el original PPTP. Este desarrollo se ha
denominado
PoPToP 1 .
com´un y asegurado por PPTP. Entre las caracter´ısticas t´ecnicas que tiene PoPToP se pueden
listar las
siguientes:
Autenticaci´on y encriptaci´on compatible con Microsoft (MSCHAPv2, MPPE 40 - 128 bit RC4
encryption) .
En Linux (Ubuntu Server 8.04) se han realizado las pruebas de conexi´on e interacci´on con
sistemas
...
el rango de direcciones IP que puede aceptar (que limita tambi´en la cantidad de clientes que
pueden
Los archivos necesarios para conĮgurar PoPToP correctamente son los siguientes:
1 . /etc/pptpd. conf
2. /etc/ppp/pptpd-options. conf
3. /etc/ppp/chap-secrets
El primer archivo es el utilizado por PoPToP para lanzar el daemon PPTPD , adem´as de las
direcciones
IP del servidor y las que se asignan a los clientes. En la ConĮguraci´on 11 se puede ver un ejemplo
b´asico
de funcionamiento.
2 de bug
3 logwt mp
4 lo cali p 1 9 2 . 1 68 . 2 . 1
5 remo t e i p 1 9 2 . 1 68 . 2 . 2 - 9
En la primera l´ınea se debe indicar el archivo secundario de conĮguraci´on del daemon PPTPD ,
que en
de los clientes para PPP, ya que por defecto se encuentra habilitada para las otras interfaces
(como
pts/0 o tty1) y es bastante ´util para saber en qu´e horarios se conectaron, por cuanto tiempo y
cuando se
Finalmente las ´ultimas dos l´ıneas indican la direcci´on IP del servidor y el rango de direcciones
que se
les asignan a los clientes respectivamente. Si se supera este rango, no se aceptan m´as conexiones,
por lo
1 name ppt pd
3 re f use - pap
4 re f use - chap
5 re f use - ms chap
6 require - ms chap - v2
7 require - mppe - 1 28
8 ms - dns 1 9 2 . 1 6 8 . 0 . 1
9 pro xyarp
10 lock
11 no bs dc omp
env´ıa la contraseȂna del cliente utilizando el algoritmo LAN Manager que es muy d´ebil y luego un
hash
Windows NT que depend´ıa de la primera. Por lo tanto se podr´ıa quebrar el algoritmo f´acilmente
con la
herramienta L0phtcrack2 .
El ´ultimo archivo es un simple archivo de texto que deber´ıa tener permisos limitados solo para el
propietario (0600) , ya que contiene el nombre de usuario y contraseȂna de los clientes. Adem´as
se incluyen
las direcciones IP de los hosts desde los que pueden efectuar la conexi´on, que pueden ser
sustituidas por
un asterisco para indicar que el usuario puede conectarse desde cualquier equipo.
Para establecer la conexi´on con el servidor PPTP, se utiliza la misma conĮguraci´on descripta
entre los que se encuentra el env´ıo de las claves del usuario, y Įnalmente se acepta o rechaza la
conexi´on.
En este caso se establecen las direcciones IP local (del servidor) y la asignada a la nueva conexi´on.
Tambien se puede ver que se utiliza una encriptaci´on MPPE (Microsoft Point-to-Point Encryption)
de
2http://es.wikipedia.org/wiki/L0phtCrack
Los dispositivos que crea cada conexi´on remota PPTP, se denominan por defecto pppX, donde X
es
un n´umero que se incrementa por cada conexi´on, comenzando en cero. Por ejemplo la siguiente
salida se
c o l l i s i ons : 0 t xque ue l en : 3
En la salida anterior se puede observar que se han establecido dos conexiones remotas y que se
encuentran activas en ese instante. El primer campo de ͞inet addr͟ corresponde a la direcci´on IP
del
servidor, mientras que ͞P-t-P͟ reĮere a la direcci´on IP asignada a la conexi´on entrante. Luego se
utiliza
1 9 2 . 1 6 8 . 2 . 2 * 2 5 5 . 2 5 5 . 2 5 5 . 2 5 5 UH 0 0 0 ppp0
1 9 2 . 1 6 8 . 0 . 0 * 2 5 5 . 2 5 5 . 2 5 5 . 0 U 0 0 0 e t h1
de f aul t 1 9 2 . 1 6 8 . 0 . 1 0 . 0 . 0 . 0 UG 1 00 0 0 e th1
De lo anterior se puede observar que hay solamente una conexi´on activa (en ppp0) donde se ha
establecido la direcci´on IP 192. 168. 2. 2 al equipo remoto. Pero se ha especiĮcado que no cambie
el ruteo
͞default gateway͟ , por lo que se mantiene el servidor anterior ( es decir, la IP 192. 168. 0. 1 como
pasarela
predeterminada) .
Para evaluar la comunicaci´on se realizaron varios experimentos, aunque para poder comprobar el
simult´aneas de las que no se dispone, por lo que se realizar´an las evaluaciones con una sola
conexi´on activa.
La distancia entre los hosts no supera los 5 saltos (obtenidos mediante el comando tracert) .
Adem´as
el horario en el que se realizan dichas pruebas tiene gran inŇuencia en el rendimiento, por lo que
se ha
Una de las aplicaciones utilizadas para la conexi´on a un escritorio remoto y tener control total del
equipo es UltraVNC.
por AT&T para la gesti´on de escritorio remotos. Por su parte microsoft ha desarrollado su propio
sistema
de administraci´on de escritorio remoto, pero para estas pruebas, se ha utilizado UltraVNC , que es
software
libre y sirve para el mismo prop´osito. VNC utiliza el protocolo RFB (Remote Framebuīer) para
traer la
interfaz gr´aĮca del servidor al cliente, de manera que se visualice en pantalla lo que esta viendo el
otro.
UltraVNC tiene dos modos de ejecuci´on, el modo cliente y el modo servidor. En el modo servidor
se
establece una contraseȂna de tipo pre compartida, que es necesaria para establecer la conexi´on.
Adem´as,
en el servidor se deĮnen los par´ametros tales como interfaz de ͞escucha͟ , puertos, posibilidad de
usar
el navegador mediante el plugin de Java, entre otras opciones m´as. El cliente, por su parte solo
permite
elegir la velocidad de conexi´on (adem´as de la direcci´on IP) . Cuanto mayor es la velocidad de
conexi´on,
En la Figura 4.7 se muestra una sesi´on de UltraVNC a una velocidad de conexi´on media (unos 20
Kbytes por segundo) , por lo que no se obtienen todas las caracter´ısticas gr´aĮcas ni los colores
para una
imagen n´ıtida. Esto se debe a dos factores, uno es el ancho de banda de la conexi´on a Internet
establecida
por el proveedor de servicios (para la subida de datos que es de 256 Kbps) , y la otra por el mismo
retardo
Para la transferencia de archivos usando los sistemas Windows como se han descripto
anteriormente,
se procede de la manera tradicional, como si de una red local se tratara, es decir, compartiendo
archivos
mediante el protocolo SMB de Microsoft. La Figura 4.8 muestra la tasa de transferencia medida en
Bytes
Para realizar el registro de conexiones y veriĮcar que el tr´aĮco de informaci´on se realiza de forma
segura, se recurre a herramientas que monitorean el tr´aĮco de datos de una interfaz de red
determinada.
En el servidor y cliente se ha utilizado el software Wireshark antes y despu´es de establecer la
conexi´on
Tambi´en se puede observar que si no se utilizara PPTP para transferir la informaci´on, y en alguno
de los casos se env´ıa texto plano, el programa Wireshark mostrar´ıa el texto tal cual, aunque sea
una
contraseȂna o n´umero de tarjeta de cr´edito. Por esto la importancia de utilizar PPTP a la hora de
enviar
4.5. Conclusi´on
PPTP es un protocolo que lleva muchos aȂnos funcionando en sistemas Windows, y debido a la
gran
cantidad de usuarios que realizaron pruebas de seguridad y rendimiento, han terminado por
decantar
poco a poco su utilizaci´on en entornos de producci´on. A´un as´ı, se sigue utilizando en gran
medida para
conexiones simples de tipo host a red (entre equipos hogareȂnos principalmente) , y hasta ha sido
portado
Esto reŇeja que, a pesar de todos los problemas de seguridad que ten´ıa el protocolo en la primera
versi´on (que han sido solucionados parcialmente en la segunda versi´on) , todav´ıa existe una gran
cantidad
de usuarios m´oviles que se conectan a la red corporativa por PPTP mediante servidoresWindows,
Linux,
Por esta raz´on es que el protocolo deb´ıa ser probado y conĮgurado para ambos sistemas,
concluyendo
200. 45. 35. 51 192. 168. 0. 35 TCP scanstat-1 > pptp [SYN] Seq=0 Win=65535 Len=0 MSS=1440
192. 168. 0. 35 200. 45. 35. 51 TCP pptp > scanstat-1 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0
MSS=1460
200. 45. 35. 51 192. 168. 0. 35 PPP LCP Configuration Rej ect
192. 168. 0. 35 200. 45. 35. 51 PPP CHAP Challenge (NAME=͛ NIPPUR͛ , VALUE=0x515E1AE701 . . . )
200. 45. 35. 51 192. 168. 0. 35 PPP CHAP Response (NAME=͛ remoto͛ , VALUE=0xDFA67872B6F . . .
)
192. 168. 0. 35 200. 45. 35. 51 TCP pptp > scanstat-1 [ACK] Seq=213 Ack=373 Win=64584 Len=0
...
que lo m´as dif´ıcil de esta implementaci´on ha sido la conĮguraci´on del Įrewall de la red local y
del
La pol´ıtica de seguridad para los usuarios m´oviles es hoy en d´ıa un tema de gran importancia, ya
que se debe evitar que al extraviar el equipo personal, la red corporativa se vea comprometida.
Esto se
que se auto conecten al servidor de la empresa. A´un as´ı, este es un apartado importante para
tener en
Finalmente se puede recalcar que PPTP se va a seguir usando por mucho tiempo m´as, debido
al soporte que existe en varias plataformas y a la gran cantidad de usuarios que tiene, como se ha
mencionado anteriormente. Adem´as, los equipos port´atil vienen con sistemas Windows que
tienen por
defecto implementado el protocolo PPTP, lo hacen ideal para las empresas con empleados que via
jan con
200. 45. 153. 14 192. 168. 0. 35 TCP pptp > 62944 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0
MSS=1440
192. 168. 0. 35 200. 45. 153. 14 TCP 62944 > pptp [ACK] Seq=1 Ack=1 Win=64800 Len=0
200. 45. 153. 14 192. 168. 0. 35 TCP pptp > 62944 [ACK] Seq=189 Ack=349 Win=65187 Len=0
...
Cap´ıtulo 5
En este cap´ıtulo se describir´a un modo de establecer una VPN entre dos redes distantes de forma
segura. Para esto se utiliza el protocolo PPP y la herramienta SSH, de las cuales se dar´an una
breve
introducci´on te´orica.
Adem´as se detallar´an los procesos de creaci´on y distribuci´on de las claves utilizadas para
ingresar en
El protocolo PPP (Point to Point Protocol) permite establecer una comunicaci´on a nivel de enlace
ancha (como PPPoE o PPPoA) . Adem´as del simple transporte de datos, PPP facilita dos funciones
importantes:
Autenticaci´on. Generalmente mediante una clave de acceso (que en nuestro caso no ser´a
necesario) .
Asignaci´on din´amica de IP. Los proveedores de acceso cuentan con un n´umero limitado de
direcciones IP y cuentan con m´as clientes que direcciones. Naturalmente, no todos los clientes
se conectan al mismo tiempo. As´ı, es posible asignar una direcci´on IP a cada cliente en el
momento
en que se conectan al proveedor. La direcci´on IP se conserva hasta que termina la conexi´on por
PPP soporta, entre otros, los tipos de autenticaci´on PAP y CHAP. La primera, es la m´as insegura,
ya
que env´ıa nuestro usuario y contraseȂna en texto claro a trav´es de la red; la segunda encripta
estos datos,
Una gran desventa ja de este protocolo, es que no proporciona cifrado de datos, por lo que todo el
Ňujo de informaci´on de una conexi´on PPP es enviada en claro, de modo que si alguien est´a
capturando
los paquetes transmitidos, puede leer toda la carga que se env´ıa y recibe, teniendo acceso a
nuestra
informaci´on privada.
SSH (Secure SHell) o int ´erprete de comandos seguro es el nombre de un protocolo y el programa
que lo implementa. Sirve para acceder a m´aquinas remotas a trav´es de una red. Permite manejar
por
Adem´as de la conexi´on a otras m´aquinas, SSH permite copiar datos de forma segura (tanto
archivos
sueltos como simular sesiones FTP cifradas) , gestionar claves RSA para no escribir claves al
conectar a
las m´aquinas y pasar los datos de cualquier otra aplicaci´on por un canal seguro tunelizado
mediante SSH.
La primera versi´on del protocolo y el programa eran libres, pero su licencia fue cambiando y
debido a que -seg´un sus desarrolladores (los mismos que desarrollaron OpenBSD) - es m´as
segura que la
original.
5.2.1 . Seguridad
SSH traba ja de forma similar a como se hace con telnet . La diferencia principal es que SSH usa
t´ecnicas de cifrado que hacen que la informaci´on que via ja por el medio de comunicaci´on vaya
de manera
redes locales involucradas tengan la impresi´on de que est´an unidas simplemente por un router,
mientras
que en realidad, puede que se encuentren a kil´ometros de distancia. La Figura 5.1 muestra las dos
redes,
En cada una de las subredes hay un solo punto de entrada/salida a Internet , donde se implementa
el
Įrewall. Detr´as de este se encuentra toda la red local, y el Servidor VPN, que puede deĮnir sus
propias
Todo el Ňujo de datos que se dirige a Internet, va directo por la puerta de enlace; los paquetes que
pertenecen a la conexi´on VPN, se dirigen primero al servidor VPN, para luego salir por la puerta
de
enlace.
En la realidad, para este modo de establecer una VPN, no se utiliza ning´un protocolo espec´ıĮco
para
redes privadas virtuales. A lo que se denomina servidor VPN, y cliente VPN ʹen este casoʹ, en
realidad
ser´ıan el servidor SSH y el cliente SSH, ya que este es el protocolo que establece la conexi´on
entre ambos
puntos.
Los servidores VPN se implementan sobre GNU/Linux Ubuntu Server 8.04. Para saber m´as
detalles
sobre las redes que se utilizaron para las pruebas, v´ease el Ap´endice A.
5.4. Funcionamiento
El servidor VPN (ubicado en la red casa.lan) , espera conexiones SSH en un p uerto distinto al 22 ʹ
que
es el est´andar para este protocoloʹ, tomado para evitar que se mezclen los paquetes SSH de las
Shells
est´andar, con los de las conexiones VPN; esto, a Įnes de un mayor control sobre qui´en se
conecta a la
red local.
Debido a que este servidor se encuentra detr´as del Įrewall/puerta de enlace, se debe hacer una
redirecci´on hacia dicho servidor, de todos los paquetes que quieran entrar o salir por el puerto en
el que
Por su parte, el cliente (ubicado en la red red.lan) que desea efectuar una conexi´on VPN, debe
utilizar
En la puerta de enlace de la red cliente, no es necesario hacer ning´un cambio adicional (a nivel de
Cuando se establece la conexi´on, en ambos servidores se crea una nueva interfaz, por ejemplo
ppp0,
a trav´es de la cual se env´ıa y recibe el Ňujo de datos de la red contraria. A esta interfaz se asocia
una
direcci´on IP ; para esto se ha elegido 192. 168. 254. 1 para el servidor, 192. 168. 254. 2 para el
cliente. La
m´ascara de subred de estas direcciones es 255. 255. 255. 255 , por lo que pueden crearse cuantos
pares de
Vale aclarar, que las denominaciones cliente y servidor VPN, cobran sentido solo para el
establecimiento de la conexi´on, ya que solo el cliente puede solicitarlo. Cuando la conexi´on est´a
establecida, los datos pueden requerirse indistintamente de una red, como de la otra; no existe
jerarqu´ıa entre ellos.
El establecimiento de las rutas, luego de la conexi´on, es importante para que las redes puedan
traĮcar datos entre ellas; de otro modo, por m´as que la conexi´on est´e establecida, no podr´an
compartir
informaci´on.
Hay m´as de una forma de deĮnir las rutas entre las redes, pero no todas permiten que la VPN sea
en los hosts internos no tengan que agregar o quitar nada para que la conexi´on VPN funcione, por
lo
tanto, se establecen las rutas solo en el servidor VPN y en la puerta de enlace. Esta situaci´on se ve
Suponiendo que la puerta de enlace predeterminada en casa.lan tiene la direcci´on 192. 168. 1. 2 y
el Servidor VPN 192. 168. 1. 3. Del otro lado, en red.lan, el gateway por defecto tiene la direcci´on
192. 168. 0. 1 y el servidor VPN 192. 168. 0. 2 .
De esta manera se pretende que los hosts de las redes se vean entre s´ı, es decir, que cuando el
nodo
192. 168. 0. 20 quiera conectarse con 192. 168. 1. 7 (aunque est´en en redes diferentes) pueda
hacerlo sin
modiĮcaci´on alguna de sus rutas. Por esto, se debe establecer en la puerta de enlace de casa.lan
que
cuando llegue un paquete dirigido a la red 192. 168. 0. 0/24 lo env´ıe al servidor VPN local, ya que
este
La puerta de enlace enviar´a al servidor VPN todos los paquetes que tienen como destino la red
contraria, por lo tanto, se debe especiĮcar por d´onde deber´an llegar a la misma. Cuando se ha
establecido
la conexi´on VPN, se ha creado en cada servidor, una nueva interfaz llamada ppp0, asociada a una
direcci´on
IP. Esta interfaz es la que comunica una red con la otra a trav´es del t´unel SSH, y en la red casa.lan
tiene
la direcci´on 192. 168. 254. 1 . Con la siguiente l´ınea todos los paquetes que llegue al servidor con
destino
la red 192. 168. 0. 0/24 se enviar´an por la interfaz ppp0 a dicha red.
# rout e add - ne t 1 9 2 . 1 6 8 . 0 . 0 / 24 gw 1 9 2 . 1 68 . 2 5 4 . 1
Ahora en red.lan, se debe hacer lo mismo, es decir, en el gateway por defecto se agrega la
direcci´on
# rout e add 1 9 2 . 1 6 8 . 1 . 0/ 2 4 1 9 2 . 1 68 . 0 . 2
# rout e add - ne t 1 9 2 . 1 6 8 . 1 . 0 / 24 gw 1 9 2 . 1 68 . 2 5 4 . 2
N´otese que la sintaxis del comando ͞route͟ var´ıa entre las puertas de enlace y en los servidores
VPN,
esto se debe a que poseen sistemas operativos distintos: OpenBSD y GNU/Linux respectivamente.
En
cada caso, ver la p´agina del manual para m´as informaci´on [4] .
Si se tiene una VPN establecida entre el cliente y el servidor mencionados anteriormente, y ahora
el
host 192. 168. 0. 20 de la red red.lan desea probar si el host 192. 168. 1. 7 se encuentra activo, se
ejecuta
el comando ping 192. 168. 1. 7, que env´ıa paquetes ICMP Echo Request al destino especiĮcado, y
este ´ultimo responder´a con paquetes ICMP Echo Replay para notiĮcar al origen positivamente.
El host 192. 168. 0. 20 tiene conĮgurado en su tabla de ruteo solamente el gateway por defecto,
por
lo que al ejecutar el comando ping 192. 168. 1. 7 y no encontrar en la tabla una ruta directa hacia
la red
192. 168. 1. 0/24 (o a dicho host) , env´ıa los paquetes por la ruta predeterminada.
Esta ruta predeterminada es la puerta de enlace al mundo exterior, la que deber´a conocer el
camino
hacia la red 192. 168. 1. 0/24, y que no es precisamente enviando los paquetes a trav´es de
Internet ʹya
que son direcciones de una red privada ʹ, sino envi´andolos al servidor VPN. Por lo tanto, el
gateway por
Cuando los paquetes ICMP Echo Request enviados por el host 192. 168. 0. 20 llegan al servidor
VPN
de la red, este conoce el camino hacia la otra red: a trav´es de la interfaz ppp0 mencionada
anteriormente,
cabeceras PPP (que son de nivel de enlace de datos) , donde se encuentra la direcci´on IP destino
(asociada
Estas tramas PPP son encapsuladas en paquetes SSH, cuya direcci´on origen es el servidor VPN (la
destino.
Cuando los paquetes llegan a la puerta de enlace de la red destino, este los env´ıa al servidor VPN
Para que la VPN sea realmente transparente a los usuarios Įnales de cada red, el encaminamiento
es
un punto muy importante. En la Figura 5.2 se muestra el diagrama de red que los hosts percibir´an
luego
El esquema de direcciones de red.lan es 192. 168. 0. 0/24 y el de casa.lan es 192. 168. 1. 0/24; a
partir
de la Figura 5.2, si el usuario 192. 168. 0. 20 ejecuta el comando ping 192. 168. 1. 7 ʹy los caminos
en el router est´an bien conĮgurados ʹ, el host 192. 168. 0. 20 deber´ıa recibir la respuesta de sus
ICMP ECHO
Es importante ser cauteloso a la hora de conĮgurar un servicio que se brindar´a hacia afuera, ya
que
no hay que dejar huecos o puertas traseras que puedan ser utilizadas para introducirse en el
sistema local,
La venta ja de utilizar como servidor VPN un sistema derivado de Unix ʹGNU/Linux en este caso ʹ
es
que son muy Ňexibles en lo que se reĮere a conĮguraci´on de seguridad, y est´an (desde su
concepci´on)
dotados de varias capas de seguridad, y preparados para funcionar como verdaderos servidores.
En esta secci´on se describir´a c´omo poner a punto el servidor VPN, con un grado de seguridad
m´as
elevado.
Como se ha mencionado anteriormente, el servidor VPN escuchar´a las conexiones SSH que
ingresen
por el puerto 9876. Pero debido a que dicho servidor se encuentra detr´as del Įrewall, esta
escucha se
limita a la red local. Para que se pueda escuchar incluso las conexiones que provengan desde
internet , se
Esto se logra agregando una l´ınea en el archivo de conĮguraci´on del Įrewall, como se muestra en
la
ConĮguraci´on 13.
1 rdr pas s on $ e xt _ i f pro t o t cp f rom any to any port 9876 -> $ s e rve r_ vpn
comando:
$ sudo pf c t l - f / e t c / pf . conf
Para que se accione cada vez que se inicia el equipo, se debe agregar la siguiente l´ınea en el
archivo
/etc/sysctl. conf :
Cuando el cliente VPN2 intenta establecer la conexi´on, debe conectarse a trav´es de SSH al
servidor
VPN y levantar el demonio PPPD ; para estos Įnes es que se crea un nuevo usuario del lado del
servidor.
$ sudo addus e r -- home / home / s s hvpn -- i ngroup s shvpn -- di sabl ed - l ogin s shvpn
N´otese que ambas l´ıneas comienzan con sudo, este comando se utiliza para que un usuario que
no posee
privilegios de administrador, pero si permiso para ejecutar comandos que requieren estos
privilegios, a
trav´es de este programa, pueda hacerlo. Por ejemplo, los comandos addgroup y adduser solo
pueden ser
ejecutados por el usuario administrador, y por quienes hayan sido autorizados para hacerlo a
trav´es del
La segunda l´ınea aȂnade nuestro usuario. Este tendr´a como directorio de traba jo /home/sshvpn
; como
grupo sshvpn ; no podr´a ser accedido directamente como una cuenta local, por lo que no
poseer´a password
El nuevo usuario del servidor, debe ser capaz de levantar el demonio pppd, a Įnes de establecer la
conexi´on. Como los demonios solo pueden ser ejecutados por el administrador, se deben dar
permiso a
nuestro usuario para que lo haga a trav´es del programa sudo, sin darle permisos de superusuario.
Para
modiĮcar la conĮguraci´on del sudo, debe editarse el archivo /etc/sudoers (m´as detalles en [4] ) ,
con el
Luego el usuario sshvpn ya tiene permisos para ejecutar el demonio pppd, y sin necesidad de
introducir
por s´ı misma, con la menor (o nula) intervenci´on posible de una persona. En Linux, el demonio
pppd
Cabe aclarar que el hecho de que sshvpn tenga la posibilidad de levantar un demonio sin ser
la conĮguraciones.
En este se deben generar un par de claves a sim´etricas RSA (v´ease Secci´on 5.6.2) , la clave
privada
permanece en el cliente, y la clave p´ublica la debemos llevar al servidor VPN. Supongamos que
nuestra
Ahora debemos permitir las conexiones a trav´es de SSH para el usuario sshvpn, de la siguiente
forma:
# cd / home / s s hvpn
# mkdi r . s sh /
# cd . s sh/
El archivo /home/sshvpn/.ssh/authorized keys contiene todas las claves p´ublicas de los distintos
clientes que est´an permitidos ingresar al sistema como este usuario. Luego de esto, el cliente
podr´a ingresar
SSH y la VPN. Por lo tanto se ejecutar´a otro demonio SSH, conĮgurado para que escuche en un
puerto
espec´ıĮco, y para que solo sean aceptados los que desean establecer una VPN.
N´otese que esta es una de las capas de seguridad. Se esta denegando el acceso por el puerto
determinado
a los usuarios que no tienen permisos para establecer una conexi´on VPN.
no se pretende modiĮcar las opciones del demonio que escucha por el puerto 22, no se modiĮca
ese
2 Port 9876
3 Pro t o c o l 2
5 Ho s t Key / e t c / s sh / s s h_ ho s t _ rs a_ ke y
6 Ho s t Key / e t c / s sh / s s h_ ho s t _ ds a_ ke y
10
14
15 # Loggi ng
17 LogLeve l I NFO
18
19 # Aut hent i c at i o n :
20 Lo gi nGrac e Ti me 1 20
21 Pe rmi t Ro o t L ogi n no
22 S t ri c t Mo de s yes
23
24 RS AAut he nt i cat i on ye s
26
27 Al l o wUs e rs s s hvpn
28
30 I gno reRho s t s ye s
36
37 X1 1 Fo rwardi ng no
38 X1 1 D i s p layO f f s e t 1 0
39 Pri nt Mo t d no
41 TCPKe e pAl i ve ye s
42
Lo m´as importante que se puede destacar de 1 , son las primeras opciones en la que el archivo
PID
del demonio ser´a /var/run/sshvpn. pid. El puerto en el que escuchar´a es el 9876 y el protocolo
SSH
utilizado es la versi´on 2.
Tambi´en es importante notar la opci´on AllowUsers sshvpn. Esto permite que solo pueda ingresar
por
Todas las dem´as opciones son restricciones de seguridad para evitar ingresos no deseados; a
estas se
En esta secci´on se detallan los pasos necesarios para conĮgurar el extremo cliente de una
conexi´on
PPP y SSH. Lo par´ametros van desde la creaci´on del usuario ´unico permitido para conectarse con
el
servidor, hasta la deĮnici´on de los alias de red, pasando por la generaci´on de claves RSA y una
muestra
de la conexi´on realizada.
En el cliente VPN tambi´en se crea un usuario que ser´a el encargado de establecer la conexi´on
VPN
con el servidor, y a efectos de simplicidad, este usuario tendr´a el mismo nombre que el usuario
creado en
el servidor.
Antes de crear el usuario, se crea un grupo con el mismo nombre de la siguiente manera:
$ sudo addgr oup s s hvpn
Esto es similar a lo que se hace en el servidor (Secci´on 5.5.3) . La diferencia es que aqu´ı es
necesario
acceder al usuario sshvpn, por lo que se omite la opci´on --disable-login en la creaci´on del usuario.
Con el comando passwd sshvpn se establece una contraseȂna para poder ingresar como usuario
sshvpn.
servidor la clave p´ublica para poder acceder a ´el sin necesidad de contraseȂna. Esto se hace de la
siguiente
forma:
# su - s s hvpn
# mkdi r . s sh /
# cd . s sh/
Primero se debe cambiar al usuario sshvpn (con el comando ͞su - sshvpn͟ ) ; luego en el directorio
. ssh
se generan las claves con el comando ssh-keygen. Los archivos generados son id rsa (la clave
privada que
se guarda en el cliente) e id rsa. pub (la clave p´ublica que se env´ıa al servidor, v´ease Secci´on
5.5.5) . Para
En el cliente tambi´en es necesario que el usuario sshvpn pueda levantar el demonio pppd, para
que se
La conexi´on al servidor se efect´ua desde el cliente con una simple l´ınea ejecutada como el nuevo
sudo /usr/sbin/pppd updetach noauth pty "sudo -u sshvpn ssh -p 9876 -t -t servidor \
sudo /usr/sbin/pppd noauth 192. 168. 254. 1: 192. 168. 254. 2"
Como sshvpn debe ejecutar el demonio pppd a trav´es del comando sudo, se ejecuta dicho
demonio
updetach : Desvincula a pppd de la terminal donde se lo ejecuta, para que pueda seguir us´andose
dicha terminal.
noauth : Como en este caso la autenticaci´on est´a a cargo del protocolo SSH, no se necesita
autenticar
Luego se ejecuta el pppd local, antes de proceder a conectarse. Debido a que el primer pppd se
ejecuta
con sudo, el comando ssh dentro de pty ͞. . .͟ , tambi´en se ejecutar´ıa con permisos del usuario
raiz, y por
lo tanto buscar´ıa el archivo authorized keys en el directorio . ssh/ del directorio de root.
Como se requiere que busque el directorio de sshvpn, lo que se hace es ejecutar el ssh como
sshvpn
mediante el comando: sudo -u sshvpn.
-t -t: Obliga al otro extremo alo jar en una tty (terminal del sistema) al comando que se ejecuta.
trav´es de ssh. Lo que hace es levantar el demonio pppd en el servidor, con la opci´on noauth, y
Con el ob jeto de simpliĮcar un poco las cosas para el cliente, ssh permite crear aliases para
distintas
conexiones; esto es, asociar a un nombre f´acil de recordar, un nombre de dominio, puerto,
usuario, etc´etera.
El archivo que permite esto es . ssh/config del directorio personal de sshvpn, cuyo contenido se
2#
3 # UN ALI AS para la VPN s sh+ ppp con el domini o ni c o las f o rmo s o . com . ar
4 Ho s t vpn_ s shppp
6 Us er s shvpn
7 Port 9876
A partir de ahora, cuando se escriba ssh vpn sshppp, se establecer´a una conexi´on SSH con el
dominio
nicolasformoso.com.ar, por el puerto 9876 y con el usuario sshvpn. En este archivo pueden
deĮnirse tantos
En esta secci´on se mostrar´an consejos simples que hacen a la conexi´on VPN un poco m´as
segura,
ya sea restringiendo el acceso al servidor SSH, como limitando el uso de ciertos comandos que no
son
Como no se pretende que el usuario sshvpn tenga acceso al servidor a trav´es de una shell, sino
que
solo pueda establecer la conexi´on VPN, se agrega antes de la clave p´ublica lo siguiente:
command="sudo /usr/sbin/pppd noauth 192. 168. 254. 1: 192. 168. 254. 2"
De estamanera cuando sshvpn intente ingresar por el puerto 9876, lo ´unico que podr´a hacer es
ejecutar
pppd.
$ sudo / usr / sbi n / pppd upde t ach noaut h pt y " sudo -u s shvpn ssh vpn_ s s hppp "
Donde vpn sshppp es el nombre del alias creado para la VPN en cuesti´on.
VPN, restringir el uso de una clave p´ublica para esa direcci´on IP anteponiendo a la clave, es una
buena
Para que no se pueda ingresar al servidor X, ni utilizar Agent Forwarding, se agrega a la clave:
no-X11-forwarding, no-agent-forwarding
-X11-forwarding, no-agent-forwarding
Existen otras opciones que tambi´en se pueden agregar en el archivo authorized keys que pueden
obtenerse de [4] ; todas ellas deben ir separadas por una coma entre s´ı, y por un espacio en
blanco de la
clave.
Luego que se haya aȂnadido a las opciones del archivo authorized keys , se muestra en la
ConĮguraci´on
2.
5.8. Conclusi´on
Para establecer una red privada virtual utilizando el conjunto de protocolos PPP y SSH, se tiene
que
contar con una conĮguraci´on muy bien detallada, porque sino se pueden generar agujeros de
seguridad
Esta tecnolog´ıa se la utiliza para la topolog´ıa red a red de una VPN, y a pesar de que se puede
conĮgurar para m´ultiples clientes, su complej idad puede llegar a ser tan alta que se tendr´ıa que
buscar
alternativas. Por esta raz´on es que se realizan conexiones punto a punto, en donde un servidor y
cliente,
cuentan con sus propias redes privadas. La idea es conectar dichas redes utilizando protocolos
muy seguros
y probados.
de estos servicios para luego juntarlos y tener una infraestructura de red segura y estable. La
diĮcultad
de su conĮguraci´on y el tener en cuenta los detalles de seguridad en cuanto a las conexiones SSH
y el
puerto a utilizar, hacen que sea una opci´on algo complicada de llevar a la pr´actica.
Pero a´un as´ı, con las rutas conĮguradas y los numerosos archivos involucrados, se puede tener
un
enlace red a red altamente seguro y en un tiempo razonable si ya se tiene experiencia previa.
Cap´ıtulo 6
est´andar para su utilizaci´on con redes privadas virtuales. Adem´as se han portado
implementaciones de
IPSec para casi todos los sistemas operativos, tales como OpenSWAN para Linux y KAME para los
sistemas BSD .
En este cap´ıtulo se describir´an los conceptos te´oricos de IPSec, los m´etodos de autenticaci´on y
adem´as
IPSec (Internet Protocol Security) es una extensi´on al protocolo IP que proporciona seguridad a IP
y a los protocolos de capas superiores. Fue desarrollado para el est´andar IPv6 (Internet Protocol
versi´on
6) y despu´es fue portado a IPv4 (Internet Protocol versi´on 4) . La arquitectura IPsec se describe
en las
RFC 24011 -2412, y se pueden conseguir copias traducidas al castellano de gran candidad de RFC
en [11 ] .
El conjunto de protocolos de IPSec opera en la capa de red (capa 3 del modelo OSI) y aȂnade
protecci´on
a los paquetes IP. La Įgura 6.1 tomada de [13 ] , muestra una lista de protocolos y sus capas con
respecto
al modelo TCP/IP.
Los protocolos que emplea IPSec comunmente son AH (Authentication Header) y ESP
(Encapsulating
Security Payload) , que en conjunto sirven para asegurar autenticaci´on, integridad, protecci´on
contra
las siguientes:
as siguientes:
comunicaci´on.
Protecci´on contra la repetici´on. Evita que un atacante pueda guardar paquetes cifrados y luego
repetir los mismos sin ser detectado; obteniendo as´ı, acceso al tr´aĮco encriptado.
ConĮdencialidad. Oculta la informaci´on que se esta transmitiendo con cifrado mediante claves
Estas caracter´ısticas se pueden obtener combinando ambos protocolos (ESP y/o AH) dependiendo
del nivel de seguridad que se requiere para la transferencia de datos. Por ejemplo, si se utiliza solo
AH se
obtienen las tres primeras caracter´ısticas pero no ofrece conĮdencialidad. En cambio ESP puede
proveer
1http://www.rfc-es.org/rfc/rfc2401-es.txt
Figura 6.1 : En este esquema se puede ver claramente el puesto en la pila que opera IPSec.
Otro protocolo que puede emplear IPSec para el transporte de informaci´on es IPCOMP (IP
Payload
Compression Protocol) , que permite comprimir los datos que se van a transferir para aprovechar
el
ancho de banda de la conexi´on. Vemos entonces que se pueden deĮnir diferentes modos para
transmitir
informaci´on utilizando uno o varios de los protocolos mencionados, cada uno con sus venta jas y
desventa jas:
Solo AH: Autenticaci´on avanzada, integridad y antirrepetici´on.
Tal como se puede presentir, cuanto m´as tecnolog´ıas se utilizan, se obtiene una mejora de la
seguridad
en el tr´aĮco de informaci´on, pero esto lleva a una alta utilizaci´on de procesamiento para las
tareas de
cifrado y compresi´on principalmente. Por esta raz´on no siempre es conveniente utilizar todas las
opciones
Como se ha mencionado anteriormente, IPSec esta basado en varios protocolos. Estos se pueden
dividir en dos grupos seg´un su funci´on: los relacionados con la gesti´on de claves y los
relacionados con la
manipulaci´on de los datos. La parte de gesti´on de claves esta comprendida por IKE que esta
basado
ISAKMP
AH (Authentication Header)
Por otro lado, los protocolos de manipulaci´on de paquetes utilizan las SA para agregar
caracter´ısticas
IPSec puede utilizar dos modos de transferencia, por lo que puede crear paquetes en dos formatos
emplea el protocolo IPsec. En modo transporte IPsec s´olo maneja la carga del datagrama IP,
insert´andose
la cabecera IPsec entre la cabecera IP y la cabecera del protocolo de capa superior. La Įgura 6.2
muestra
y la cabecera IP original.
En el modo t´unel, IPSec trata al paquete entero como un bloque de datos, en el que aȂnade una
nueva
cabecera y protege los datos haciendo que formen parte de la informaci´on ´util cifrada del
paquete nuevo.
En la pr´actica se utiliza generalmente el modo transporte para las conexiones de host a host,
mientras
que si se tratan de puertas de enlaces (conexi´on red a red) es conveniente utilizar el modo t´unel.
que es la autenticaci´on de los participantes y el intercambio de claves sim´etricas. Para lograr este
cometido
crea las SA (Security Association) y rellena la SAD (Security Associations Database) . Adem´as este
Security Association and Key Management Protocol) , SKEME (Secure Key Exchange Mechanism) y
Oakley (Oakley Key Determination Protocol) para intercambiar y gestionar claves y SA.
IKE
en espacio de usuario, y no en el sistema operativo. Este funciona sobre UDP y emplea el puerto
500 para
su comunicaci´on.
IKE ha sido desarrollado para ofrecer protecci´on ante atacantes que pretendan repetir, eliminar o
cambiar mensa jes. Adem´as soporta PFS (Perfect Fordward Secrecy) . Sin esta caracter´ıstica, si
una clave
esta comprometida, las otras claves y SA pueden resultar afectadas tambi´en, por lo tanto, todos
los datos
cifrados con esa clave. Por eso es recomendable activar esta opci´on.
El protocolo IKE funciona en dos fases. La Fase I establece una SA de ISAKMP con el prop´osito de
crear un canal seguro para proteger las siguientes negociaciones. En esta fase las negociaciones
tienen
lugar con menos frecuencia (una vez a la hora o quiz´as una vez al d´ıa) que en la Fase II (una vez
cada
En la Fase II, se deben negociar las SA de IPSec utilizadas para proteger el tr´aĮco IP. Todo los
digitales.
La autenticaci´on mediante PSK (Pre-Shared Key) utiliza una clave compartida que deben tener
todas las partes que intervienen en el proceso de autenticaci´on. Este m´etodo tiene problemas de
seguridad
y escalabilidad, ya que el transporte de claves en texto claro a los servidores que estan
distanciados
f´ısicamente, hacen que la seguridad dependa de terceros (correo electr´onico, correo tradicional,
mensa jer´ıa,
etc.) . Si la clave cae en manos inapropiadas, la seguridad del sistema puede estar muy
comprometida, por
m´as que se utilicen los mejores m´etodos de encriptaci´on y cifrado de datos, ya que el atacante
simular´ıa
ser un nodo de conĮanza. Por otro lado, si se disponen de numerosos nodos y se mantiene un plan
de
cambio de claves de forma regular, distribuir las claves por tantos servidores, tiene un costo
agregado en
El uso de Įrmas digitales (RSS o RSA) permite Įrmar los datos con la clave privada, que luego es
veriĮcada mediante la clave p´ublica del par. De esta manera se veriĮca la identidad de quien
solicita la
certiĮcados digitales sabiendo que se puede conĮar en un tercero para que asocie la identidad del
par con
su clave p´ublica. Se considera este m´etodo mejor que el de intercambio directo de claves
p´ublicas.
Fundamentos de la Fase I
El protocolo IKE realiza varias operaciones importantes, como la de negociar los par´ametros y
equipos mediante los algoritmos negociados. Por ´ultimo se establece un secreto compartido
basado en la
informaci´on intercambiada. De esta manera se consigue un canal seguro al Įnalizar la Fase I. Los
modos
Modo principal.
Modo agresivo.
Modo base.
En el se intercambian seis datagramas UDP, y si los host A y B son los que dicen ser, el primer
mensa je hace una propuesta y ofrece una lista de protocolos alternativos para que B elija. En el
segundo
mensa je, B devuelve los protocolos que quiere utilizar junto con otra informaci´on.
En los siguientes mensa jes, los hosts intercambian material clave y establecen las claves
compartidas, y
mensa jes.
En el se transmiten tres datagramas UDP, por lo que hacen falta menos paquetes para establecer
una
SA de ISAKMP en la Fase I que en el Modo principal. Entre las venta jas de este modo se
encuentran:
Posibilidad de asociar identidad (no solo direcci´on IP) con una clave precompartida espec´ıĮca o
con
El inconveniente de este modo es que realiza c´alculos que consumen recursos del sistema
inmediatamente, en respuesta al primer mensa je. Esto signiĮca que un atacante puede enviar una
cantidad
considerable de propuestas con direcciones IP falsas, lo que podr´ıa afectar al rendimiento del
sistema y
conducir a una denegaci´on de servicio. Adem´as cabe seȂnalar que el grupo de traba jo de IPSec
esta
Por ´ultimo, el fue desarrollado para sacar partido a las venta jas del modo agresivo y subsanar
sus desventa jas. En este modo se envian cuatro datagramas UDP. Adem´as, este modo propone el
Sin embargo, el modo base no trata todos los problemas del modo agresivo, por ejemplo, a menos
que
se utilice cifrado de clave p´ublica, la identidad de las partes comunicantes no esta protegida. Esto
es as´ı,
porque las claves compartidas se calculan despu´es de que los hosts hayan intercambiado y
veriĮcado su
informaci´on de identidad.
Fundamentos de la Fase II
Luego de haber Įnalizado las negociaciones en la Fase I, los hosts deben compartir una SA de
ISAKMP
El protocolo de negociaci´on de esta fase se denomina (QM) , que consta de tres mensa jes y
permite
negociar una o m´as SA de IPSec. Cualquier host puede iniciar las negociaciones, pero despu´es
todos los
involucrados compartir´an las SA de IPSec negociada y las almacenar´an en sus respectivas SAD
(Security
Associations Database) .
En el modo r´apido, ambas partes tienen que negociar una combinaci´on de uno o m´as
protocolos, que
son enviados como propuestas (al igual que la Fase I) , por cada SA de IPSec. Por ejemplo se
pueden usar
estas combinaciones:
ESP-3DES-MD5
ESP-3DES-SHA-PFS
AH-3DES-MD5-PFS
AH-3DES-SHA-PFS
Grupo DH.
Informaci´on de claves.
De esta manera queda establecido el intercambio de claves una vez concluida la Fase II. Lo que
sigue
El procesamiento de paquetes entrantes y salientes en IPSec pueden variar poco y son casi
sim´etricos.
1 . Para saber qu´e hacer con el paquete saliente, se comprueba su SPD (Security Policy Database)
3. Ahora el m´odulo IPSec determina qu´e par´ametros utilizar para proteger el paquete, deĮnidos
en
4. Luego se obtiene la SPD con la informaci´on necesaria para realizar la operaci´on adecuada con
el
paquete.
Una de las razones por las que no se obtiene primero la SPD es porque el paquete IP puede tener
una
cabecera cifrada, y que esta contenga informaci´on como n´umero de puerto, el cual resulte
necesario para
Antes de iniciar una transferencia de datos entre dos hosts en una red, se requiere de un paso
previo
que se llama autenticaci´on. El host solicitado por un determinado servicio, pide al solicitante, que
se
identiĮque, que demuestre que est´a autorizado para establecer dicha transferencia.
IPSec provee autenticaci´on mutua, es decir, que no es solo el host solicitante el que se identiĮca,
sino
tambi´en el solicitado. Esto esto ayuda a incrementar el nivel de seguridad de nuestras VPNs.
hacerlo. En esta secci´on se explicar´a en que consisten algunos de ellos, y se analizar´an las venta
jas y
es el m´as simple de todos. Consiste en una clave (o llave) secreta conocida ´unicamente por los
hosts que
desean establecer la conexi´on VPN. La clave consta de una consecuci´on de caracteres, como por
ejemplo
͞estaeslaclavesecreta͟ .
Cuando dos hosts concuerdan autenticar utilizando este m´etodo, transmiten al otro la clave para
comprobar que sea lamisma en ambos. Para hacer esto de forma segura, se utiliza ʹen generalʹel
protocolo
Diĸe-Hellman 3 de [6 ] .
3El protocolo Diĸe-Hellman permite el intercambio secreto de claves entre dos partes que no han
tenido contacto previo,
ejemplo, en la casa central de una empresa se instala un servidor VPN que utiliza IPSec y utiliza
PSK
los extremos opuestos del servidor, que se encuentran en las sucursales de dicha empresa. Al
momento
de conĮgurar el ISAKMP (manejador de claves) de la casa central, ha realizado una PSK que tiene
que
llevar a las sucursales de manera segura; de modo tal que ning´un intruso pueda obtenerlas, y
establecer
El modo m´as seguro para transportarlas, es que este empleado se traslade f´ısicamente hasta las
sucursales y las conĮgure ´el mismo. Cuando las distancias son muy grandes, esto se hace
imposible, por
lo que hay que volver a conĮar en la tecnolog´ıa. Utilizar una conexi´on segura (encriptada) puede
ser una
opci´on; por ejemplo puede conĮgurar las sucursales a trav´es de una sesi´on SSH (Secure SHell) ,
enviarlas
De esta manera surge una desventa ja, que es si alguien llegara a conocer la PSK, los datos ʹe
incluso la
integridad de la empresa ʹcorre peligro; por lo que es conveniente que no se la conf´ıe a cualquier
persona,
Con el ob jeto de comprender los certiĮcados X. 509, previamente se ver´an algunos conceptos
necesarios
CertiĮcados Digitales
Existen varios formatos para certiĮcados digitales, pero los m´as com´unmente empleados se rigen
por
de serie, fecha de expiraci´on, una copia de la clave p´ublica del titular del certiĮcado (utilizada
para la
veriĮcaci´on de su Įrma digital) y la Įrma digital de la autoridad emisora del certiĮcado de forma
que el
quienes interact´uen con el propietario del certiĮcado, el valor del mismo es pr´acticamente nulo.
Para que
los certiĮcados emitidos por una entidad sean Įables los emisores deben acreditarse. Ver m´as en
[7] .
Autoridad de CertiĮcaci´on
emitir y revocar los certiĮcados digitales, para lo cual se emplea la criptograf´ıa de clave p´ublica.
Para este caso no se requiere de los servicios de una CA externa, se puede Įrmar por uno mismo
los certiĮcados, ya que no se necesita reconocimiento p´ublico para este traba jo; e incluso a la
hora de
implementar una VPN en una empresa, se puede tener su propia autoridad de certiĮcaci´on.
El est´andar X.509
X.509 ʹen su versi´on 3 ʹes un formato est´andar, internacionalmente aceptado, para certiĮcados
que puede ser utilizada para una mejor identiĮcaci´on de la organizaci´on en las operaciones.
El primer campo ʹluego de la validez ʹes el subject (sujeto) , que contiene los datos que identiĮcan
al sujeto titular. Estos datos est´an expresados en notaci´on DN (Distinguished Name) , donde un
DN se
compone a su vez de diversos campos, siendo los m´as frecuentes los siguientes; CN (Common
Name) , OU
el DN, es el siguiente:
CN=nicolasformoso.com.ar
O=Proyecto Final
1 * Ce rt i f i cado
2 o Ve rs i ´on
3 o N ´ume ro de s eri e
4 o I D de l al go ri t mo
5 o Emi s or
6 o Val i de z
7 + No ant e s de ( f e cha )
8 + No de s pu´e s de ( f e cha )
9 o Suj e t o
12 + Clave p ´ubl i ca de l s uj e t o
16 + . . .
OU=VPN
C=AR
Adem´as del nombre del sujeto titular (sub ject) , el certiĮcado tambi´en contiene datos asociados
al
La versi´on X.509.v3 tambi´en permite utilizar campos opcionales (nombres alternativos, usos
Luego el certiĮcado contiene la clave p´ublica, que consta de dos campos, el que muestra el
algoritmo
Por ´ultimo, la CA ha aȂnadido la secuencia de campos que identiĮcan la Įrma de los campos
previos.
Esta secuencia contiene tres atributos, el algoritmo de Įrma utilizado, el hash de la Įrma, y la
propia
Nuevamente, como en VPN usando PPP sobre SSH (Cap´ıtulo 5) la topolog´ıa seleccionada para la
mismo hardware que el Firewall, es decir, se encuentran en el mismo equipo; esto reŇeja una
venta ja,
dado que pueden crearse reglas para el tr´aĮco VPN con las mismas herramientas que para el
resto del
tr´aĮco de la red; aunque tambi´en se tienen algunas desventa jas desventa jas (Secci´on 1 .3) .
La topolog´ıa red a red, permite que las redes involucradas en la conexi´on, tengan la impresi´on
de
que se encuentran unidas solamente por un router; pero en realidad pueden estar separadas por
grandes
distancias. Las dos redes conectadas a trav´es de Internet y la conexi´on virtual privada establecida
entre
El Servidor VPN se ha implementado en el Firewall. Dicho equipo funciona tambi´en como default
gateway (en castellano, puerta de enlace predeterminada) , que es la ´unica puerta de
entrada/salida de
datos a Internet. Esto ayuda a que la auditor´ıa de seguridad sea sencilla, ya que la misma se
reduce a un
El sistema operativo de dicho servidor es OpenBSD , que tiene la cualidad de ser sumamente
estable y
optimizado en cuestiones de seguridad. V´ease la Secci´on 2.3 para m´as detalles de los sistemas
utilizados.
Finalmente, el protocolo que utilizar´a el Servidor VPN es IPSec, ya descrito anteriormente en este
mismo cap´ıtulo. El intercambio de claves ser´a autom´atico, por lo que se requerir´a para el
mismo, el protocolo IKE, que utiliza ISAKMP/Oakley.
Gracias a la transparencia de este tipo de VPN, los ´unicos nodos que necesitan ser conĮgurados
son
los que establecen la conexi´on. El resto de los nodos ʹen ambas redes ʹsolo deben tener
conĮgurado como
puerta de enlace predeterminada al Servidor VPN; esto es as´ı, ya que dicho servidor se
implementa en el
Como los nodos que establecen la VPN tienen el mismo Sistema Operativo ʹOpenBSDʹy los
mismos
demonios, las conĮguraciones son similares. Por lo tanto, todo lo que se encuentra explicado en el
resto
de esta secci´on, es v´alido para ambos nodos, caso contrario se har´an notar las diferencias.
A diferencia de GNU/Linux, OpenBSD maneja los m´odulos del kernel a trav´es de un comando
llamado
sysctl, que permite agregar, modiĮcar y eliminar ciertos par´ametros del kernel. En una consola, y
con
privilegios de superusuario se deben escribir los siguientes comandos para habilitar las opciones
de IPSec:
Con las l´ıneas anteriores el kernel habilita los par´ametros especiĮcados, pero si el servidor se
apagara
por alguna raz´on, habr´ıa que escribirlas de nuevo. Para evitar esta incomodidad, se las deben
especiĮcar
en un archivo que las cargar´a autom´aticamente durante el arranque. Este es /etc/sysctl. conf ,
que
En general, /etc/sysctl. conf ya posee las l´ıneas 1 , 2, 3 y 4 de 15 (y otras m´as) pero se encuentran
comentadas, por lo que habr´a que quitar el caracter numeral (#) . El siguiente listado detalla cada
l´ınea
del archivo en cuesti´on:
1 . net.inet.ip.forwarding=1 : Como se esta traba jando en una puerta de enlace, esta l´ınea esta
habilitada. La misma permite que los hosts internos de la red puedan acceder a Internet.
Para poder inspeccionar el tr´aĮco VPN que pasa por nuestro Servidor, se requiere levantar una
interfaz
llamada encX, donde X se reemplaza por un n´umero entero. Para levantar la interfaz se ejecuta
ifconĮg
enc0 up ; pero para que se levante cada vez que se encienda el equipo, se edita y guarda el archivo
La funcionalidad de esta interfaz, viene dada por el hecho de que permite leer los datos antes de
ser
encriptados, de los paquetes IPSec que se env´ıan; as´ı como permite leer los datos de los
paquetes IPSec
Cada una de las redes est´a protegida por el Įrewall propio de OpenBSD . Por lo tanto, es
necesario
habilitar los puertos y permitir el tr´aĮco de los protocolos utilizados por IPSec, de lo contrario el
Packet
Filter no lo dejar´a salir, y descartar´a los paquetes. Para comprender mejor el funcionamiento
v´ease la
Secci´on 3.3.
Luego se crea un anchor, que ser´a el que contenga todas las reglas necesarias para establecer
VPN.
La venta ja de los anchors es que se pueden recargar las reglas contenidas en ellos, sin tener que
recargar
Para crear un anchor llamado vpn isakmpd, simplemente se agrega al archivo /etc/pf. conf , la
l´ınea:
anchor vpn_isakmpd
Luego se deben recargar las reglas del PF con el comando pfctl -f /etc/pf. conf . Luego, para ver
si el anchor se ha creado satisfactoriamente, se ejecuta pfctl -s rules ; esto devuelve todas las
reglas
# pf c t l - s rul e s
pas s in on t un0 ine t pro t o t cp f rom any t o ( t un0 ) port = www f lags S / SA ke ep s t at e
pas s in on t un0 ine t pro t o t cp f rom any t o ( t un0 ) port = aut h f lags S / SA ke ep s t at e
Dicho sea de paso, esta es la salida original del comando, de uno de los servidores durante las
pruebas.
La regla necesaria es anchor ͚ ͚ vpn isakmpd all" ; esto quiere decir, que el Įrewall tambi´en leer´a
todas
Naturalmente, en el anchor reci´en creado, no hay reglas deĮnidas. Por esto se crea un archivo
nuevo
que contiene las reglas necesarias para cargar en el anchor; el archivo es: /etc/pf. conf. isakmpd,
cuyo
contenido se puede ver en la ConĮguraci´on 16, que esta ubicado en una de las puertas de enlace
(m´as
1 # I nt e r f ac e s
4 # Variabl e s
16
19
24
27 pas s in on $ e xt _ i f pro t o udp f rom $GUS _DN port = 500 t o $ LO CAL_ DN port = 500
28 pas s out on $ e xt _ i f pro t o udp f rom $ LO CAL_ DN port = 500 to $GUS _DN port = 500
2 9 #$
B´asicamente lo que se hace, con estas reglas de Įrewall, es permitir el Ňujo de paquetes entre las
puertas de enlace de las respectivas redes. Al momento de cargarse estas l´ıneas en el Įrewall, se
resuelven
los nombres de dominios y se los reemplaza por la direcci´on IP correspondiente; por lo que si en
alg´un
momento el ISP cambia la IP asignada anteriormente, es necesario volver a recargar las reglas. Por
el contrario, en una empresa que posee direcciones IP p´ublicas est´aticas (o Įjas) , no tienen el
mismo
problema.
Se utiliza la interfaz enc0 para transmitir el tr´aĮco encapsulado, por lo que se permite el tr´aĮco a
trav´es de ella, desde y hacia el par remoto. Tambi´en se da paso al Ňujo de paquetes encriptados
con
s t at e
s t at e
$
6.4.4. ConĮguraci´on de isakmpd
este caso se ha optado por el modo autom´atico, debido a que, la conĮguraci´on es m´as sencilla y
resuelve
problemas del intercambio manual de claves, como los ͞ataques por repetici´on de paquetes͟ .
Toda la conĮguraci´on de este demonio se guarda por defecto en un archivo llamado isakmpd.
conf , en
el directorio /etc/isakmpd. Adem´as de dicha conĮguraci´on, existen otros archivos que tambi´en
se tienen
Este archivo se divide en secciones, cuyos nombres se encuentran encerrados entre corchetes. Por
ejemplo, [General] es la primera secci´on; en ella se deĮnen par´ametros globales para todas las
conexiones
que se puedan deĮnir a continuaci´on. La opci´on Listen-on=, permite especiĮcar una lista
separadas por
comas de las direcciones IP locales y/o interfaces de red, a trav´es de las cuales se establecer´an
las VPN.
respectivas fases. En la primera se deĮne el par´ametro 190. 225. 230. 254=, que es una direcci´on
IP
p´ublica con la cual se va a conectar; a la derecha del s´ımbolo igual, se deĮne el nombre de la
secci´on que
tiene los par´ametros para lograr establecer la conexi´on con el equipo remoto. En la segunda
secci´on, el
par´ametro Connections=, es el que deĮne una lista de posibles secciones a utilizar para establecer
las SA
de IPSec.
que se utilizar´an para la fase 1 para establecer la conexi´on con dicho host . Lo par´ametros que
merecen
ser destacados son Configuration= que contiene el nombre de la secci´on donde se deĮnen el
modo, que
puede ser Principal (ID PROT) o agresivo (AGRESSIVE) , y los algoritmos de encriptaci´on y Hash
que se
utilizar´an (en este caso, 3DES y SHA respectivamente) . El nombre de esta secci´on es Default-
main-mode.
El siguiente par´ametro a ser destacado es Authentication=; este se utiliza solo cuando el m´etodo
de
autenticaci´on es mediante clave PSK (Pre-Shared Key) , y lo que se especiĮca al lado es dicha
clave. Este
par´ametro debe ser el mismo en los dos nodos que desean establecer la conexi´on
de las SA; en el que se tiene ISAKMP-peer=, donde se especiĮca la secci´on que contiene los
par´ametros
para la fase 1 de la conexi´on, luego Configuration=, que contiene la secci´on donde encuentran
los
par´ametros para establecer la fase 2, en el modo (QUICK MODE) , y por ´ultimo las Suites=, que
son
una lista de conjuntos de protocolos utilizados para la protecci´on del tr´aĮco IP (en este caso, se
utilizan
ESP+3DES+SHA) .
En las secciones Local-ID= y Remote-ID= se deĮnen los nombres de las secciones que contienen las
Los certiĮcados digitales, para que funcionen, deben ser Įrmados por una entidad llamada
Autoridad
1 [ Gene ral ]
2 Li s t en - On= t un0
4 [ Phas e 1 ]
7 [ Phas e 2 ]
11 Phas e = 1
12 Addre s s = 1 9 0 . 2 2 5 . 2 30 . 2 5 4
15
22
25 Ne t work = 1 9 2 . 1 68 . 0 . 0
26 Ne t mas k = 2 5 5 . 2 5 5 . 2 5 5 . 0
27
30 Ne t work = 1 9 2 . 1 68 . 1 . 0
31 Ne t mas k = 2 5 5 . 2 5 5 . 2 5 5 . 0
32
36
y es v´alido. Para evitar la incomodidad y la demora de estas terceras partes, se crear´a una
autoridad
de certiĮcaci´on propia, que consiste ´unicamente en crear una clave privada con la cual se
Įrmar´an los
En la siguiente salida por pantalla de la terminal, se puede ver la l´ınea necesaria para hacer este
traba jo:
4La CA, no necesariamente debe ser uno de los equipos involucrados en la conexi´on, sino que
puede ser cualquier otro
HO S T_CA #
El siguiente paso, es la creaci´on de las solicitudes de Įrma de certiĮcados (los CSR, CertiĮcate
Signing
Request) :
HO ST_VPN1 # o pens s l req - new - key / e t c / i sakmpd / pri vat e / l o cal . key \
What you are about t o ent er is what i s cal l e d a D i s t i ngui s hed Name or a DN .
-----
HO ST_VPN1 #
El paso anterior debe realizarse en los dos hosts que pretendan conectarse en la VPN. Este
devuelve el
CSR para el respectivo host en el archivo private/gustavocortez. com. ar. csr. Luego, las CSR deben
HO S T_CA # env CERTFQ DN = gus t avo c o r t e z . com . ar opens s l x509 - req - days 365 - in gus
t avo c o rt e z . c om . ar . csr -
out \
> gus t avo c o rt e z . com . ar . crt - CA / e t c / s s l / ca . crt - CAke y / e t c / s sl / pri vat e / ca .
key \
S i gnat ure ok
s ub j e c t =/ C= AR/ ST= TUC / L= SMT / O = Proye c t o Final / OU= VPN_ I PS e c / CN = gus t avo c
or t e z . com . ar / e mai lAddre s s =
vpn@gus t avo c o r t e z . c om . ar
Ge t t i ng CA Privat e Key
Ent er pas s phras e f or / e t c / s s l / pri vat e / ca . key : < pas s phras e >
HO S T_CA #
llevados hacia el respectivo host, y deben ser ubicados en el directorio /etc/isakmpd/cert ; la ruta
al
a los hosts el archivo donde se encuentra la Įrma, es decir, /etc/ssl/ca. crt , que en los hosts debe
guardarse en /etc/isakmpd/ca.
Ya est´an dispuestos los certiĮcados en cada host, ahora se debe modiĮcar el archivo isakmpd.
conf ,
para que funcionen. En la ConĮguraci´on 5 se muestra un ejemplo de dicho archivo para que
funcione con
certiĮcados X.509.
Se muestran ´unicamente las secciones que requieren modiĮcaci´on o se agregan, todas las
dem´as quedan
Las ´unicas modiĮcaciones necesarias para que funcionen estos certiĮcados, son las que se ven en
las
secciones [peer-gustavo] y [Default-main-mode]. En la primera se agrega el par´ametro ID=, que
deĮne
una secci´on de la que se obtiene el FQDN local. Este sirve para encontrar el respectivo certiĮcado;
en
mediante PSK y el segundo especiĮca que se debe buscar un certiĮcado (RSA Signature) .
La secci´on [X509-certiĮcates] deĮne los directorios donde se ubicar´an las claves y los certiĮcados,
si
2 Phas e = 1
3 Addre s s = 1 90 . 1 37 . 64 . 3 1
5 I D = ni c olas - phas e 1 - id
8 ID - t ype = FQDN
10
14
18
21
22 [ X509 - c e rt i f i c at e s ]
23 CA - di re c t o ry = / e t c / i sakmpd / ca/
24 Cert - di re c t o ry = / e t c / i s akmpd / c e rt s /
Una diferencia entre los dos archivos isakmpd. conf ʹque no tiene que ver con el modo de
autenticaci´on
Este archivo es mucho m´as corto que el anterior, pero tambi´en es necesario, por que ayuda a
deĮnir
la pol´ıtica para la autenticaci´on, el m´etodo, y otras condiciones para agregar seguridad a la VPN
con
IPSec.
1 Keyno t e - ve rs i on : 2
Authorizer:, siempre llevar´a el par´ametro ͞POLICY͟ , que indica que no hay delegaci´on de
autenticaci´on.
Conditions: permite agregar condiciones tanto para los protocolos utilizados en la encriptaci´on,
hashing, como para las direcciones de los nodos remotos. En el manual se muestra una lista
interminable
Lecensees: es el que se usar´a para indicar c´omo ser´a la autenticaci´on. Si esta ausente, esta se
har´a mediante PSK (especiĮcada en el archivo isakmpd. conf ) ; si est´a presente, se puede indicar
una
PSK, una CA para certiĮcados X.509, o ambas cosas. Por ejemplo, para indicar una PSK, esta l´ınea
de la CA, para admitir los certiĮcados Įrmados por la misma. Esta identiĮcaci´on se obtiene de la
siguiente
forma:
$ cd / e t c / i s akmpd
Para activar las conexiones, lo ´unico necesario es hacer correr el demonio; con permisos de
superusuario
Para ver las rutas creadas por IPSec, en la consola se ejecuta el siguiente comando:
$ ne t s t at - rn - f encap
Rout i ng t abl e s
Encap :
1 9 2 . 1 68 . 1 / 2 4 0 1 9 2 . 1 6 8 . 0/ 24 0 0 1 9 0 . 3 0 . 8 8 . 1 84/ es p / us e / in
La salida del comando netstat son las rutas creadas entre las redes que establecen la conexi´on, a
trav´es de la interfaz enc0 . Para poder usarlas, hay que crear (en ambas redes) una ruta de la
familia inet;
con esto se deĮne la interfaz de entrada/salida de los paquetes encapsulados, que en este caso,
ser´a la
Cuando se establece la conexi´on con IPSec se crean asociaciones de seguridad (SA) y pol´ıticas de
seguridad. Para ver las bases de datos correspondientes (SAD y SPD) se utiliza el comando ipsecctl
,
$ sudo i ps e c c t l -s all
FLOWS :
f l ow e sp in f rom 1 9 2 . 1 6 8 . 1 . 0 / 24 to 1 9 2 . 1 6 8 . 0 . 0 / 24 pe er 1 9 0 . 30 . 88 . 1 84 s rc id
1 9 0 . 3 0 . 8 2 . 2 5 1 / 32 ds t i d
1 9 0 . 3 0 . 8 8 . 1 84/ 3 2 t ype us e
f l ow e sp out f rom 1 9 2 . 1 68 . 0 . 0/ 2 4 t o 1 9 2 . 1 6 8 . 1 . 0/ 2 4 pe er 1 9 0 . 30 . 8 8 . 1 84 s rc
i d 1 9 0 . 30 . 82 . 2 5 1 / 3 2 ds t id
SAD :
VeriĮcaci´on de la conexi´on
Por ´ultimo, para ver si hay contacto entre los hosts internos de las redes, se pueden realizar unas
# ping - c 2 1 9 2 . 1 68 . 0 . 3 2
PI NG 1 9 2 . 1 6 8 . 0 . 32 ( 1 9 2 . 1 6 8 . 0 . 3 2 ) : 56 data byt e s
- - - 1 9 2 . 1 6 8 . 0 . 3 2 ping s t at i s t i c s -- -
# s sh 1 9 2 . 1 68 . 0 . 3 2
C on el comando ping se comprueba si hay respuesta desde la direcci´on 192. 168. 0. 32 ; por lo
que se
puede ver en la salida anterior, es que s´ı hay respuesta. Seguidamente se puede intentar
establecer una
conexi´on SSH con dicho host (cuyo puerto 22 est´a cerrado a prop´osito) .
Al mismo tiempo de realizadas estas pruebas, en el servidor VPN del lado del host testeado, se
estaba
ejecutando un sniīer de paquetes (tcpdump) sobre la interfaz enc0; la salida que se obtuvo es la
siguiente:
reque s t ( encap )
( encap )
reque s t ( encap )
( encap )
3 1 348 9 5 5 3 6 : 3 1 348 9 5 5 3 6 ( 0 ) win 1 6384 < ms s 1460 , nop , nop , sackOK , nop , ws cal e
0 , nop , nop , t i me s t amp
^C
6 packe t s re c e i ved by f i l t e r
Se pueden observar los paquetes ICMP hacia y desde la direcci´on 192. 168. 0. 32 . Luego se ve el
intento
Al Įnal de cada l´ınea en la salida del sniīer (que detalla un paquete) dice (encap), lo que sifniĮca
que
el tr´aĮco est´a encapsulado con IPSec.
En esta secci´on se van a detallar las aplicaciones utilizadas para comprobar que la comunicaci´on
se
ha establecido correctamente y que la informaci´on llega a todos los puntos de la red interna.
Tambi´en se
software especializado.
Una manera de ver si llegan los paquetes a destino o simplemente si atraviesan el Įrewall, es
utilizar
La siguiente salida por pantalla muestra el tr´aĮco de paquetes que llegan de un host remoto, que
han
reque s t ( encap )
( encap )
1 1 : 3 9 : 1 9 . 88 5 3 1 5 ( aut hent i c , c o nf i dent i al ) : SPI 0 xc f c 4e e 73 : 1 9 2 . 1 6 8 . 1 . 2 > 1
9 2 . 1 6 8 . 0 . 3 2 : i cmp : e cho
reque s t ( encap )
( encap )
3 1 348 9 5 5 3 6 : 3 1 348 9 5 5 3 6 ( 0 ) win 1 6384 < ms s 1460 , nop , nop , sackOK , nop , ws cal e
0 , nop , nop , t i me s t amp
^C
6 packe t s re c e i ved by f i l t e r
De esta manera se ha comprobado que por la interfaz enc0 via jan los datos encapsulados desde
una
red a la otra.
Para comprobar el recorrido de los paquetes transmitidos por la red se ha utilizado traceroute en
los sistemas BSD y Linux, y tracert en Windows. La siguiente salida en pantalla desde un equipo
con
Windows (cliente DHCP) que se le ha asignado la direcci´on IP 192.168.0.35, efect´ua la traza hasta
un
equipo de otra red, a trav´es de la VPN, cuya direcci´on de destino es 192.168.1 .3.
s obre un m´aximo de 30 s al t o s :
2 70 ms 42 ms 39 ms 1 9 2 . 1 6 8 . 1 . 2
3 38 ms 39 ms 39 ms PONCHO [1 9 2 . 1 6 8 . 1 . 3 ]
Traza c ompl e t a .
Se puede observar del listado anterior que el paquete primero llega a la puerta de enlace
predeterminada del sistema local (es decir, 192.168.0.1) , y luego el servidor que previamente ha
establecido
las rutas para interconectar las redes mediante la VPN, reenv´ıa este paquete a la puerta de enlace
remota
(del otro extremo de la VPN) de direcci´on IP 192.168.1 .2, que a su vez reenv´ıa el paquete al
equipo
destino que pertenece a su red. En el siguiente listado se puede ver la operaci´on invertida.
2 38 ms 1 50 ms 77 ms 1 9 2 . 1 6 8 . 0 . 1
3 352 ms 1 94 ms 361 ms 1 9 2 . 1 6 8 . 0 . 3 2
Traza c ompl e t a .
En esta situaci´on, el equipo con direcci´on IP 192.168.1 .3 realiza la traza de paquetes hacia un
equipo
de otra red, pasando por la VPN, y Įnalmente llegando a destino (de IP 192.168.0.32) .
de subida del enlace. El proveedor actual (ISP) permite una subida de 256 Kbps, por lo que se
aproxima
a casi 30 Kbytes por segundos te´orico. En la Figura 6.5 se puede observar que la transferencia
ronda los
24 Kbytes por segundo; esto resulta aceptable para las condiciones en que se realiza la
transmisi´on, es
decir, el retardo de las puertas de enlace, la franja horaria, distancia, entre otras condiciones.
Adem´as se tiene en cuenta que la transferencia se realiza mediante el protocolo SMB (Server
Message
Block) que utiliza Windows para la transferencia de archivo mediante el explorador de archivos, y
que
este no es el m´etodo m´as r´apido para transferir archivos. A´un as´ı, los resultados mediante FTP
(File
escritorio remoto de un equipo de cada red, separada por la VPN. La Figura 6.6 muestra la
velocidad de
remoto se hac´ıa cada vez m´as ͞pesado͟ a medida que se acercaba a la franja horaria pico en
cuanto a
herramientas que por lo general tienen un costo bastante elevado. Por esta raz´on es que para
estas pruebas
Nessus traba ja en modo cliente y servidor, donde el primero genera el informe y muestra al
usuario
En la Figura 6.7 se puede ver que el consumo de recursos que utiliza el servidor Nessus para
comprobar
las vulnerabilidades de los sistemas, es excesivamente elevado, llegando a consumir casi el 99 por
ciento
tal punto que requiere, en la mayor´ıa de los casos, utilizar la memoria de intercambio Swap.
6.6. Conclusi´on
El uso de IPSec para establecer una VPN presenta un gran desaf´ıo para los administradores de
sistemas. Esto se debe a la diĮcultad propia de la tecnolog´ıa que muchas veces pueden llegar a
hacer
tomar decisiones incorrectas. Como se menciona en [1 ] , seg´un los cript´ografos, la complej idad
es un
enemigo de la seguridad.
Por esta raz´on, es necesario establecer una buena pol´ıtica de seguridad previa a la conĮguraci´on
y
puesta en funcionamiento de IPSec. Esto implica que si la seguridad del sistema esta
comprometida,
impuesta por los administradores del sistema, IPSec solamente ofrece los mecanismos para
asegurarlo.
Įltrar detalles o a pasar por alto normativas que estan fuera del alcance de IPSec.
Por otro lado, si se realiza una buena combinaci´on de protocolos y m´etodos de autentiĮcaci´on
cuidadosamente distribuidos, IPSec puede llegar a ser la mejor soluci´on para mantener enlaces
seguros
Adem´as se puede decir que IPSec se encuentra dentro de los protocolos y sistemas m´as seguros
que puedan utilizarse para establecer una VPN red a red entre dos o m´as enlaces. Pero como se
ha
de seguridad y de las directivas de un buen Įrewall protegiendo el equipo y las redes involucradas.
Finalmente el grupo de desarrollo de IPSec esta considerando disminuir la complej idad del mismo,
eliminando algunos componentes tales como el modo transporte, el modo agresivo e incluso el
protocolo
AH. Esto se realiza con el ob jetivo de simpliĮcar la tarea de los administradores y para que no sea
Cap´ıtulo 7
OpenVPN es una implementaci´on de una VPN de c´odigo abierto, utilizado para crear t´uneles
encriptados entre hosts. Se pueden establecer enlaces directos entre los equipos involucrados, a
pesar
que est´en detr´as de un Įrewall, utilizando NAT. Fue inicialmente escrito por James Yonan y
publicado
ba jo licencia GPL.
y de transferencia de archivos.
7.1 . Introducci´on
OpenVPN permite autenticar los pares utilizando claves pre compartidas, certiĮcados o nombre de
usuario y contraseȂna. Un servidor que acepta m´ultiples clientes, puede autenticar a cada cliente
utilizando
OpenVPN incorpora OpenSSL como librer´ıa de encriptaci´on. No es compatible con IPSec (Internet
Protocol Security) y con ninguna otra soluci´on VPN expuesta en este traba jo. Los paquetes de
instalaci´on
Seg´un [10] esta soluci´on se ha ideado para simpliĮcar la conĮguraci´on de VPN dejando atr´as los
OpenVPN utiliza OpenSSL para proveer de encriptaci´on a los datos. Este paquete realiza todo el
Authentication Code) para agregar otra capa de seguridad a la conexi´on. Tambi´en se puede
utilizar
Existen tres m´etodos de autenticaci´on para conectar entre las partes, mediante el uso de claves
pre
OpenVPN puede traba jar sobre UDP (lo hace por defecto) o TCP. Multiplexando las
comunicaciones
sobre un simple puerto TCP o UDP. Puede funcionar a trav´es de servidores proxy y NAT
atravesando
Įrewalls.
El m´eto do de conexi´on se realiza via las interfaces TUN/TAP, donde la primera esta basada en
t´unel
El puerto que utiliza OpenVPN de forma oĮcial es el 1194. Adem´as el uso de protocolos de red
comunes
(TCP/UDP) hacen una buena alternativa a IPSec en situaciones donde el ISP bloquee protocolos
VPN
espec´ıĮcos con la Įnalidad de suscribir a los clientes a soluciones costosas para beneĮcio propio.
IPSec OpenVPN
El Cuadro 7.1 es una comparativa entre OpenVPN e IPSec. La mayor venta ja del primero respecto
Para encriptar datos se usan contraseȂnas o claves de encriptaci´on. OpenVPN tiene dos modos
considerados seguros, uno basado en claves est´aticas pre compartidas y otro en SSL/TLS usando
Cuando ambos lados usan la misma clave para encriptar y desencriptar los datos, se esta usando el
mecanismo conocido como ͞clave sim´etrica͟ y dicha clave debe ser instalada en todos los equipos
que
Si bien las claves asim´etricas RSA son la opci´on m´as segura, las claves est´aticas cuentan con la
venta ja
Siempre quien posea la clave puede desencriptar el tr´aĮco de paquetes, por lo que si esta resulta
Es por ello que los mecanismos que utiliza IPSec cambian las claves cada cierto per´ıodo de tiempo
SSL/TLS usa una de las mejores tecnolog´ıas de encriptaci´on para asegurar la identidad de los
integrantes de la VPN. Cada integrante tiene dos claves, una p´ublica y otra privada.
La p´ublica es distribuida y usada por cualquiera para encriptar los datos que ser´an enviados a la
contraparte quien conoce la clave privada, que es la ´unica que sirve para desencriptar los datos. El
par
de claves p´ublica y privada, se generan a partir de algoritmos matem´aticos que aseguran que
solo con la
Las bibliotecas SSL/TLS son parte del sofware OpenSSL, que viene instalado por defecto en
autenticaci´on basados en certiĮcados. Los certiĮcados generalmente son emitidos por entidades
de reconocida conĮabilidad aunque tambi´en se pueden emitir unos propios (ver Secci´on 6.2.2
para m´as
detalles) y usarlos en la VPN. Con un certiĮcado Įrmado, el dueȂno del mismo es capaz de probar
su
complej idad de otras soluciones VPN como IPsec, por ejemplo. Adem´as ofrece ventajas que van
m´as
Posibilidad de implementar dos modos b´asicos en capa 2 o capa 3 con lo que se logran t´uneles
capaces de enviar informaci´on en otros procolos no-IP como IPX o broadcast (NETBIOS) .
Protecci´on de los usuarios remotos. Una vez que OpenVPN ha establecido un t´unel el Įrewall de
la
Las conexiones con OpenVPN pueden ser realizadas a trav´es de casi cualquier Įrewall. Si se posee
acceso a Internet y se puede acceder a sitios HTTPS , entonces un t´unel OpenVPN deber´ıa
funcionar
Soporte para proxy. Funciona a trav´es de proxy y puede ser conĮgurado para ejecutar como un
servicio TCP o UDP y adem´as como servidor (simplemente esperando conexiones entrantes) o
Solo un puerto en el Įrewall debe ser abierto para permitir conexiones, dado que desde OpenVPN
espec´ıĮcas.
Todos los conceptos de reglas, restricciones y reenv´ıo pueden ser utilizados con t´uneles
OpenVPN.
Soporte transparente para IPs din´amicas. Se elimina la necesidad de usar direcciones IP est´aticas
Ning´un problema con NAT. Tanto los clientes como el servidor pueden estar en la red usando
Instalaci´on sencilla en cualquier plataforma. Tanto la instalaci´on como su uso son simples.
DiseȂno modular. Se basa en un buen diseȂno modular con un alto grado de simplicidad tanto en
Se puede tomar como una desventaja que no es IPSec-compatible siendo que justamente IPSec es
el
est´andar para soluciones VPN. Adem´as existe a´un poca gente que conoce c´omo usar OpenVPN.
No posee
computadoras, pero ya se est´an desarrollando soluciones de este tipo, que separan las
conexiones VPN
de los hosts.
A pesar de que existe una versi´on de OpenVPN para sistemas Windows, incluso con una interfaz
gr´aĮca que simpliĮca un poco las cosas, en esta secci´on se explicar´an los pasos para la
conĮguraci´on ba jo
generaci´on de claves para el servidor y los clientes. Finalmente se detallar´an los archivos de
conĮguraci´on
Para tener todos los componentes necesarios para conĮgurar OpenVPN, se deben instalar los
siguientes
OpenSSL.
OpenVPN.
Existen dos formas de conseguir seguridad en una VPN con OpenVPN, uno basado en SSL/TLS
mediante certiĮcados y claves RSA y otro en mediante claves est´aticas pre compartidas.
Se utilizar´a OpenSSL para contruir los certiĮcados y claves RSA. Adem´as, se crear´a un certiĮcado
raiz propio, por lo que la SA (Security Association) ser´a el mismo servidor local. Los pasos para
crearlos
Para empezar, OpenVPN cuenta con varias herramientas y scripts que permiten cumplir con los
primeros tres pasos, pero antes se deben crear los directorios y copiar los archivos de ejemplo y
scripts.
gus t avo @was a : ~ $ sudo mkdi r / e t c / ope nvpn
gus t avo @was a : / e t c / o penvpn$ sudo cp / usr / share / doc / openvpn / e xampl e s / easy -
rsa / 2 . 0/ / e t c / openvpn /
Luego editar el archivo ͞vars͟ solo cambiando las opciones siguientes que aparecen en la
ConĮguraci´on
17.
5 e xport KEY_EMAI L =" gus t avo @ s upe rhi j i t us . red . lan "
Luego se debe obtener permiso de superusuario y ejecutar el script (o establecer los permisos
adecuados
Ahora se intenta crear la clave Diĸe-Hellman con el script ͞build-dh͟ lo cual tardar´a varios
minutos:
. . . . . . . . . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . . . ++* ++* ++ *
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +++ ++
. . . . . . . . . . ++++++
-----
What you are about t o ent er is what i s cal l e d a D i s t i ngui s hed Name or a DN .
-----
ca.key
dh1024.pem
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ++++++
. . . ++++++
-----
What you are about t o ent er is what i s cal l e d a D i s t i ngui s hed Name or a DN .
-----
S i gnat ure ok
Sign t he c e r t i f i c at e ? [y/ n ] : y
El par´ametro que importa es el Common Name, dado que el mismo ser´a utilizado en la
conĮguraci´on
openvpn-server.crt
openvpn-server.csr
openvpn-server.key
. . . . . . . . . ++++++
. . . ++++++
-----
What you are about t o ent er is what i s cal l e d a D i s t i ngui s hed Name or a DN .
-----
S i gnat ure ok
The Sub j ec t ͛ s Di s t i ngui s hed Name i s as f o l l ows
Sign t he c e r t i f i c at e ? [y/ n ] : y
openvpn-client.crt
openvpn-client.csr
openvpn-client.key
Ahora queda determinar qu´e archivos quedan en el servidor y cuales deben ser enviados a los
clientes.
Para realizar la conĮguraci´on del servidor, se debe crear un archivo llamado ͞server.conf͟ en el
mismo
directorio que se ha traba jado para generar las claves, cuyo contenido puede ser el de la
ConĮguraci´on
18.
1 port 1 1 94
2 pro t o udp
3 dev tun
4 ca keys / ca . crt
8 s e rver 1 0 . 8 . 0 . 0 2 5 5 . 2 5 5 . 2 5 5 . 0
10 ke e pal i ve 1 0 1 20
11 comp - lzo
12 pers i s t - key
13 pers i s t - tun
14 verb 3
la ConĮguraci´on 19.
Para dejar pasar el tr´aĮco de datos de OpenVPN, se debe habilitar el paso por las nuevas
interfaces
que se crean al iniciar el servidor y recibir una conexi´on de alg´un cliente. En este caso se van a
crear
interfaces tunX, donde X representa el n´umero de la interfaz o nueva conexi´on de un cliente. Los
siguientes
comandos permiten que iptables deje circular la informaci´on que pase por estas interfaces:
Solo queda iniciar los servicios correspondientes en el servidor y el cliente, para establecer las
Supongamos el caso, que tenemos dos clientes, en el servidor deber´ıamos ver dos t´uneles
parecidos a
1 c li ent
2 dev tun
3 pro t o udp
4 remo t e 1 0 . 8 . 0 . 1 1 1 94
5 res olv - re t ry inf ini t e
6 nobind
7 pers i s t - key
8 pers i s t - tun
9 ca keys / ca . crt
12 comp - lzo
13 verb 3
t un0 Link encap : UNSPEC HWaddr 00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
c o l l i s i ons : 0 t xque ue l en : 1 00
RX byt e s : 0 ( 0 . 0 B ) TX byt e s : 0 ( 0 . 0 B )
t un1 Link encap : UNSPEC HWaddr 00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00
c o l l i s i ons : 0 t xque ue l en : 1 00
RX byt e s : 0 ( 0 . 0 B ) TX byt e s : 0 ( 0 . 0 B )
Existe una versi´on compilada para Windows de OpenVPN, tanto el servidor como el cliente. Pero
adem´as, se cuenta con una versi´on con interfaz gr´aĮca que provee al usuario de un ´ıcono de
conexi´on al
A trav´es de esta herramienta es posible conectar con la red remota simplemente haciendo clic en
puede ser conĮgurada por uno mismo) y la fecha y hora que se ha realizado la conexi´on.
De la misma manera que en la conĮguraci´on del cliente en la Secci´on 7.2.4, cada usuario requiere
un m´ınimo de conĮguraci´on, que por cierto, se pueden extraer los ejemplos que provee el
paquete de
instalaci´on.
Los archivos de ejemplo tanto para cliente como para servidor llevan la extensi´on .ovpn y se los
obtiene
del directorio ͞conĮg-examples͟ . El contenido del archivo de conĮguraci´on del cliente puede
contener el
Como se indica en la ConĮguraci´on 20, se utilizan certiĮcados para conectar al servidor, que
deben
1 c li ent
2 dev tun
3 pro t o udp
4 remo t e 1 9 2 . 1 6 8 . 0 . 2 1 1 94
6 nobind
7 pers i s t - key
8 pers i s t - tun
9 ca ca . crt
12 comp - lzo
13 verb 3
Por lo tanto, los archivos que deben copiarse al directorio de conĮguraci´on son los siguientes:
ca.crt
openvpn-client1 .key
openvpn-client1 .crt
Luego, al realizar la conexi´on, el cliente muestra un registro de los pasos que realiza desde el
Aunque el registro 3 muestra solo una parte de la salida en la interfaz gr´aĮca del cliente, se puede
ver
Para poder hacer pruebas de ͞ping͟ entre el equipo remoto y el servidor OpenVPN junto a la red
local, es necesario establecer las rutas correspondientes en el Įrewall, es decir en el equipo con
OpenBSD .
Wed Oct 29 14: 39: 33 2008 OpenVPN 2. 0. 9 Win32-MinGW [SSL] [LZO] built on Oct 1 2006
Wed Oct 29 14: 39: 33 2008 Control Channel MTU parms [ L: 1542 D: 138 EF: 38 EB: 0 ET: 0 EL: 0 ]
Wed Oct 29 14: 39: 33 2008 Data Channel MTU parms [ L: 1542 D: 1450 EF: 42 EB: 135 ET: 0 EL: 0
AF: 3/1 ]
Wed Oct 29 14: 39: 33 2008 Local Options hash (VER=V4) : ͛ 41690919͛
Wed Oct 29 14: 39: 33 2008 Expected Remote Options hash (VER=V4) : ͛ 530fdded͛
Wed Oct 29 14: 39: 33 2008 UDPv4 link remote: 190. 30. 82. 251: 1194
Wed Oct 29 14: 39: 33 2008 TLS: Initial packet from 190. 30. 82. 251: 1194, sid=f0f3ce6e b77f8414
Wed Oct 29 14: 39: 34 2008 Data Channel Encrypt: Cipher ͛ BF-CBC͛ initialized with 128 bit key
Wed Oct 29 14: 39: 34 2008 Data Channel Encrypt: Using 160 bit message hash ͛ SHA1͛ for HMAC
authentication
Wed Oct 29 14: 39: 34 2008 Data Channel Decrypt: Cipher ͛ BF-CBC͛ initialized with 128 bit key
Wed Oct 29 14: 39: 34 2008 Data Channel Decrypt: Using 160 bit message hash ͛ SHA1͛ for HMAC
authentication
Wed Oct 29 14: 39: 34 2008 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA,
1024 bit RSA
Wed Oct 29 14: 39: 34 2008 [Cissu_CA] Peer Connection Initiated with 190. 30. 82. 251: 1194
Wed Oct 29 14: 39: 35 2008 SENT CONTROL [Cissu_CA] : ͛ PUSH_REQUEST͛ (status=1)
Wed Oct 29 14: 39: 35 2008 PUSH: Received control message: ͛ PUSH_REPLY, route 192. 168. 0. 0
255. 255. 255. 0,
route 192. 168. 2. 1, topology net30, ping 10, ping-restart 120, ifconfig 192. 168. 2. 6 192. 168. 2.
5͛
...
De esta manera se agrega una nueva entrada a la tabla de ruteo que se puede ver a continuaci´on:
En una terminal de Windows tambi´en se puede ver que el cliente m´ovil alcanza la red local a la
cual
se ha conectado mediante el servidor OpenVPN. En la Figura 7.3 se puede ver una captura de
pantalla
que muestra el comando ͞ipconĮg͟ con la direcci´on IP asignada (junto a la direcci´on local) , y el
comando
Puede verse entonces, que el equipo remoto no solo puede alcanzar al servidor OpenVPN que
asigna
la direcci´on a la red 192.168.2.0 sino que tambi´en puede acceder a la red 192.168.0.0 mediante
un simple
ruteo.
Esta normativa de asignar direcciones de red diferentes sirve para distinguir a los usuarios
remotos
de los usuarios de la red local, pero a´un as´ı permitiendo a los primeros, el acceso a todo o parte
de la red
de la empresa.
Para las pruebas de transferencia se ha utilizado el protocolo SMB (Server Message Block) ,
mediante
el monta je de una unidad virtual del servidor con el contenido compartido del equipo remoto.
Luego se
copia un archivo de m´usica al directorio personal del servidor como se muestra en la Figura 7.4,
en el que
se muestra la ubicaci´on de origen, destino y velocidad de transferencia.
El cliente m´ovil puede utilizar todos los servicios de la red local como si de un usuario de la misma
se tratara.
7.4. Conclusi´on
OpenVPN es un producto de software diseȂnado y desarrollado para simpliĮcar los problemas que
se tienen con protocolos complejos como IPSec. Esto hace que se convierta en una soluci´on
alternativa
desarrollo.
Otra venta ja, es que OpenVPN se convirti´o en una alternativa a PPTP (Point to Point Tunneling
Protocol) , ya que permite la conexi´on de usuarios m´oviles utilizando el software cliente que
adem´as esta
disponible para cualquier sistema operativo, y salvando los problemas de seguridad de PPTP (Ver
m´as
Finalmente se puede decir que OpenVPN presenta una muy buena alternativa de f´acil
administraci´on
IPSec, la simplicidad de uso ha impulsado que este desarrollo de libre distribuci´on vaya
adquiriendo cada
vez m´as adeptos.
Cap´ıtulo 8
Alternativas y costos de
implementaci´on
Ning´un paquete de software que se ha visto a lo largo de este informe puede afrontar todos los
problemas y requisitos posibles que se pueden encontrar al implementar una red privada virtual.
En este
Adem´as se plantear´an los criterios que se utilizan al evaluar la mejor soluci´on VPN para una
determinada empresa, junto a los costos de instalaci´on y mantenimiento del sistema. Esto puede
variar
con el pa´ıs, regi´on, tamaȂno de la empresa, alcance de la VPN, seguridad requerida, entre
muchos otros
factores que intervienen en cada caso. Tambi´en se evaluar´an las diferentes soluciones en cuanto
a costos
Dentro de la amplia gama de posibilidades que existen para implementar seguridad en las redes
utilizando VPNs, existen por supuesto, las soluciones comerciales de hardware propietario.
VPNC 1 , es el Consorcio VPN. Un grupo de fabricantes que analiza y certiĮca los productos VPN
Este consorcio ha sido de gran ayuda para la cooperaci´on entre las empresas, y para que dichos
productos
En las siguientes secciones se describir´an brevemente los equipos que ofrecen soluciones VPN de
las
empresas m´as importantes en cuanto a redes y seguridad.
Es un servidor VPN que ofrece acceso a la red corporativa tanto a usuarios m´oviles, oĮcinas
remotas,
seguridad a la red.
admitidas, que van desde 10 hasta 10.000. Por supuesto que el costo de los equipos, tambi´en
crece con el
Por ejemplo, la licencia para un equipo que admite veinticinco conexiones VPN (modelo ASA5500-
Es un dispositivo separado del computador, que funciona con todos los sistemas operativos, ya
que
no interĮere con el procesamiento del ordenador. Se utiliza para comunicar a los clientes VPN con
la red
corporativa de su empresa. Este equipo est´a preparado para conectar desde estaciones de traba
jo, hasta
Linksys RV082
Ruteador con conexi´on a Internet compartida de alta Įabilidad y conmutador de ocho puertos
para negocios pequeȂnos; Consta de puertos de Internet duales para el equilibrio de carga y
conexiones
redundantes. Conecta de forma segura hasta cincuenta usuarios (de QuickVPN) remotos o
itinerantes a
la red de su oĮcina mediante una VPN. Soporta tambi´en cinco conexiones PPTP.
Un equipo similar al anterior. Posee 4 puertos LAN y 2WAN para balanceo de carga. Tiene
capacidad
para soportar hasta cien t´uneles VPN; soporta protocolos IPSec/PPTP/L2TP. Posee Įrewall, entre
otras
caracter´ısticas.
Actualmente existen varias soluciones alternativas a las escritas en este informe y a las soluciones
comerciales de grandes empresas. En esta secci´on se har´an menci´on de dichas soluciones que
pueden ser
gratuitas o de libre distribuci´on, pero no est´andar en el mundo de las redes privadas virtuales.
En cuanto a las aplicaciones gratuitas que existen para establecer una VPN entre dos puntos, la
m´as
conocida por los amantes de los juegos en red, es LogMeInHamachi. Otra soluci´on que se puede
encontrar,
Finalmente se pueden rescatar algunos proyectos de c´odigo abierto que intentan implementar
una
Hamachi es un servicio de VPN basado en paquetes UDP que se instala cada equipo (funciona en
Windows, MacOSX y Linux) y permite la conexi´on r´apida y segura de los mismos de manera que
parezcan
De las caracter´ısticas que tiene, la que m´as se destaca es su facilidad de uso. Nada m´as crear una
red
e invitar a otros equipos (mediante contraseȂna) a unirse, o directamente ingresar en una red
previamente
creada por alg´un otro usuario. Por su parte, la lista oĮcial de caracter´ısticas son las siguientes:
Funcionamiento
En el momento de instalar el software, se crea una interfaz de red virtual en el sistema, que va a
realizar el tunelado de la informaci´on que se env´ıe por la VPN (o a trav´es del software en este
caso) .
Cada cliente establece una conexi´on de control con el cluster servidor, en el que realiza una
secuencia
si se encuentra tras un Įrewall o servidor NAT. El paso de sincronizaci´on se realiza para ver los
clientes
Cuando se conectan o desconectan clientes, el servidor emite instrucciones a los otros nodos de la
red
para que inicien o detengan t´uneles con el cliente. Cuando se establecen t´uneles entre los nodos,
Hamachi
utiliza una t´ecnica de NAT transversal asistido por servidor, similar a ͞UDP hole punching͟
(perforadora
de agujeros UDP) .
Hamachi asigna a cada cliente una direcci´on IP de la red 5.0.0.0/8, que al autenticarse por
primera
vez se le asigna una direcci´on ´unica y luego se la asociada con la clave de cifrado p´ublica del
cliente.
Utilidad
administraci´on remota. De esta manera, cada usuario que se conecte mediante el cliente, puede
crear una
nueva red, para jugar partidas en l´ınea con juegos que solamente funcionan en redes LAN. La
Figura 8.1
muestra la interfaz de usuario para crear una nueva red. La interfaz para conectarse a una red
existente
es similar
La utilizaci´on de contraseȂna solamente se usa para evitar conexiones no deseadas, de manera
que se
puede distribuir la contraseȂna (como si de una clave p´ublica se tratara) entre los usuarios de
conĮanza
Este software que se distribuye de forma gratuita para usos no comerciales, permite la conexi´on a
Se puede considerar DESKTRA como un software VNC (Virtual Network Computing) , pero diĮere
La desventa ja de este sistema es que solamente funciona en equipos conWindows y que adem´as
deben
instalarse dos paquetes de software, el cliente en un extremo y el servidor en otro. Esto puede
resultar
poco pr´actico, ya que si se quiere conectar a un escritorio remoto, la mejor soluci´on est´andar es
utilizar
VNC .
8.2.3. VTun
VTun o t´unel virtual es una soluci´on VPN escrita por Maxim Krasnyansky, que utiliza interfaces de
t´uneles en los que los datos se cifran al entrar en el t´unel y se descifran al salir por el t´unel del
otro
extremo.
encaminar dichos paquetes encapsulados de una extremo a otro del t´unel. Cada extremo tiene
informaci´on
sobre el otro, como la direcci´on de red legible y la red que esta detr´as. De esta manera, si un
paquete
llega con destino a la red que se encuentra del otro lado del t´unel, se lo encamina por la interfaz
del t´unel
local.
Funcionamiento
VTun utiliza el driver TUN/TAP como punto de acceso l´ogico al t´unel. De esta manera, los
paquetes
encaminados al driver creado, en realidad via jan al otro extremo del t´unel. La siguiente salida en
pantalla
muestra la denominaci´on de la interfaz que crea el sistema para realizar este tipo de conexiones:
t un0 : f lags =8051 < UP , PO I NTO PO I NT , RUNNI NG , MULTI CAST > mt u 1 492
En el ejemplo anterior se puede ver que la interfaz utilizada recibe la direcci´on IP local y del
router,
que se utiliza al establecer una conexi´on con el proveedor de acceso a Internet . Esto no
representa una
y recepci´on de las conexiones de los t´uneles, adem´as del mantenimiento de cualquier t´unel
establecido.
Puede traba jar en modo servidor o cliente, seg´un sea su conĮguraci´on. Si se lo conĮgura en
modo servidor,
este espera conexiones entrantes de los clientes y enviar´a los par´ametros de t´unel conĮgurados
de vuelta
al cliente. Si en cambio se lo conĮgura en modo cliente, el daemon intentar´a iniciar una conexi´on
de t´unel
M´etodos de cifrado
En cualquier implementaci´on de VPN, es importante que tener presente tanto el cifrado como la
autenticaci´on de los datos para asegurar el m´aximo nivel de seguridad e integridad de dichos
datos.
VTun utiliza OpenSSL para implementar el cifrado y la autenticaci´on, aunque para el cifrado
espec´ıĮcamente se utiliza el algoritmo BlowĮsh (desarrollado por Bruce Schneier) , diseȂnado
para ser
muy r´apido y eĮciente. Esto lo hace ideal para VTun, porque los paquetes deben cifrarse y
descifrarse
BlowĮsh es un algoritmo sim´etrico, lo que signiĮca que utiliza la misma clave para cifrar y para
Para la protecci´on de la integridad, VTun utiliza md5 para crear una dispersi´on de clave de 128
bits
2. El servidor realiza un desaf´ıo que consiste en cifrar algunos datos aleatorios con la clave secreta
que
3. El cliente lo recibe y descifra con la clave secreta, calcula una dispersi´on de los datos aleatorios
y
se la env´ıa al servidor.
4. El servidor recibe estos datos y los compara con un hash de los datos enviados originalmente. Si
T´uneles soportados
VTun soporta cuatro diferentes tipos de t´uneles, que dependen del tipo de VPN que se quiera
Los t´uneles pueden utilizar TCP o UDP para el transporte. Si se utiliza TCP se tiene m´as
sobrecarga de
conexi´on, pero garantiza la entrega de datos. Esto se puede solucionar aȂnadiendo alg´un tipo de
compresi´on.
Por otra parte, si se utiliza UDP se tienen t´uneles m´as r´apido que con TCP y utilizan menos ancho
Ňujo, por lo que los paquetes VPN deber´ıan implementar estas caracter´ısticas sobre UDP.
Los t´uneles IP transportan s´olo tr´aĮco IP, y se los puede utilizar para establecer conexiones red a
red y host a red. En cambio los t´uneles ethernet se utilizan para crear t´uneles que transportan
tramas
ethernet, de manera que no solo pueden enviar paquetes IP, sino cualquier otro protocolo que se
ejecute
de forma nativa sobre ethernet, como IPX. Los t´uneles IP utilizan la interfaz TUN, mientras los
t´uneles
Los t´uneles en serie utilizan PPP (Point to Point Protocol) o SLIP para ofrecer conexi´on PPP virtual
de un extremo del t´unel al otro. En este modo no es necesario utilizar el soporte TUN/TAP del
kernel,
Los t´uneles pipe son una especie de implementaci´on similar al pipe de los sistemas Unix, que se
utilizan
sin necesidad de levantar una interfaz de red, y pueden ser ´utiles para transportar archivos
directamente
Finalmente se puede decir que VTun es una buena soluci´on para establecer r´apidamente una
VPN
red a red o host a red, con poca utilizaci´on de recursos del sistema y adem´as compatible con
varias
plataformas (Linux, OpenBSD , Solaris, etc. ) . Sin embargo, a pesar de estar basado en varios
est´andares,
VTun no es compatible con los dem´as protocolos de t´unel, que se debe a la forma en que el
cliente y el
cIPe consta de un m´odulo del kernel y una utilidad de administraci´on a nivel de usuario como
daemon
(ciped) .
El m´odulo del kernel realiza varias operaciones relacionadas con la manipulaci´on de los paquetes
IP,
de red virtual que se puede conĮgurar y rutear de la misma manera que los dem´as dispositivos.
La utilidad a nivel de usuario sirve para realizar el intercambio de claves y conĮgurar el paquete
cIPe.
Este soporta dos cifrados sim´etricos, BlowĮsh e IDEA, y adem´as se puede encapsular IP sobre IP o
como
Entre las desventa jas de cIPe se encuentra su ba jo nivel de utilizaci´on debido a su complej idad
de
uso y conĮguraci´on, adem´as que solo implementa dos algoritmos sim´etricos, uno de ellos
patentado. Por
de seguridad, hacen que su utilizaci´on sea muy limitada y poco seria para entornos profesionales
que
Sin embargo, cIPe se considera un proyecto de c´odigo abierto en crecimiento y con una buena
integraci´on con los sistemas operativos Linux, que de alguna manera (si se mejoran los aspectos
negativos)
tinc es un paquete ligero que ofrece funcionalidad VPN b´asica, disponible para Linux, BSD y
Solaris,
que se distribuye de forma libre ba jo licencia GPL de GNU. Fue diseȂnado para traba jar
totalmente en el
espacio del usuario, de manera que los errores en la implementaci´on no causar´an que el kernel
falle.
tinc utiliza BlowĮsh en modo CBC como cifrado sim´etrico, y para obtener las claves para este
cifrado,
Los protocolos subyacentes que utiliza para el transporte son TCP y UDP, en el que transmite
Una de las caracter´ısticas interesantes de tinc es el soporte de ruteo autom´atico entre las
distintas
subredes que componen la VPN, ahorrando el traba jo que se tendr´ıa que hacer para conĮgurar
las rutas.
se carecen de muchas caracter´ısticas como para competir con grandes jugadores como IPSec.
Adem´as
resulta poco documentado y con poca informaci´on sobre su rendimiento y an´alisis de seguridad.
En esta secci´on, una empresa Įcticia desea incrementar la seguridad de sus redes. Durante el
an´alisis se
detallar´an los factores a tener en cuenta. Entre ellos se encontrar´an la dispersi´on de las redes, la
necesidad
de clientes m´oviles, la disponibilidad de conexi´on a Internet por banda ancha, entre otros.
Adem´as se plantear´an situaciones reales que pueden presentarse al conĮgurar una VPN para la
empresa de ejemplo. Los costos y alternativas econ´omicas son tambi´en parte de esta secci´on.
8.3.1 . Escenario
La empresa Empresa Ejemplo S.A. posee una casa central, ubicada en San Miguel de Tucum´an, y
dos
sucursales; SucursalUno que se encuentra en Salta (capital) , y Sucursal Dos emplazada en San
Fernando
del Valle de Catamarca. Tambi´en tiene empleados itinerantes, que se conectan al sistema de
gesti´on de
Luego de que la empresa sufriera ingresos no autorizados en una de sus redes, se dispuso
contratar a
no seguros para la comunicaci´on entre los empleados de las sucursales, por ejemplo SMTP y POP,
Empresa Ejemplo S.A. tiene muchos puertos de servicios abiertos hacia internet , que solo son
utilizados por sus empleados itinerantes, o clientes. Esto eleva el nivel de vulnerabilidad.
Los datos de los clientes de Empresa Ejemplo S.A. est´an dispersos entre la casa central y sus
sucursales (no hay centralizaci´on de datos) , por lo que los empleados necesitan mucho tiempo
para
realizar su traba jo, ya que a veces requieren informaci´on que se encuentra en otra sucursal.
El n´umero de empleados itinerantes creci´o en el ´ultimo aȂno, por lo que algunos de ellos tienen
problemas para conectarse a la empresa, debido a una sobrecarga del servidor. Sumado a esto, el
8.3.2. Relevamiento
se presentaron las opciones para la soluci´on o mejora de las fallas encontradas; tambi´en se
procedi´o a
documentar el proceso.
Equipamiento
Se puede comenzar con el equipamiento de la casa central y las sucursales. En la casa central se
cuenta con terminales Workstation HP xw8600 y dos servidoHP ProLiant ML100 que se utilizan
para
servidor de archivos y aplicaciones, y para servicios Web y correo electr´onico. Los terminales de
usuarios
cuentan con el sistema operativo Microsoft Windows Vista Home Premiun preinstalado, mientras
que los
Las otras dos sucursales, cuentan con los mismos equipos para terminales de usuarios, pero con
un
solo servidor HP ProLiant ML100 en cada local. Cada servidor se utiliza para la conexi´on a Internet
y
Los usuarios m´oviles de Empresa Ejemplo S .A. generalmente se conectan a la casa central
mediante la
interfaz Web en busca de informaci´on para los clientes, dado que rara vez se puede utilizar la
conexi´on a
escritorio remoto, porque se trata de un servicio que no deber´ıa estar disponible en Internet las
24 horas
del d´ıa.
Comunicaciones
En cuanto al esquema de conexi´on, la casa central cuenta con ADSL sim´etrico de 3 Mbps, y las
sucursales con ADSL com´un de 1 Mbps, porque no se consideraba que iba a ser necesario
comunicarse
entre las sucursales, nada m´as con consultar el servicio Web principal era suĮciente.
Para la comunicaci´on se utilizaba un modem router ADSL provisto por el ISP (un Tainet CA81R)
para los tres locales. Este aparato cumple la funci´on de NAT y de Įrewall para la toda la red, y se
conecta
En algunos casos era necesario supervisar la utilizaci´on del acceso a Internet de cada empleado,
ya
que en determinados horarios resultaba imposible traba jar por el alto consumo de ancho de
banda que
tomaban las terminales con programas P2P durante las descargas.
Servicios
En la casa central se tienen servicios b´asicos de Web y correo elect´onico en un equipo, mientras
que
en el otro equipo se cuenta con servidor de archivos, utilizado para la documentaci´on importante
de la
Si un usuario m´ovil requiere de un archivo alo jado en el servidor, debe solicitar mediante
tel´efono
o correo electr´onico que se habilite el servicio por un per´ıodo de tiempo limitado. Esto es para
evitar
En las sucursales se cuentan con servicio de correo electr´onico y de archivos en un mismo equipo,
ya
Para obtener acceso a la casa central se ha creado un formulario Web (en el servidor) en el que
contraseȂna. Es decir, que el sitio web utilizado por la empresa para mostrar a los clientes, tiene la
misma
interfaz que la que utilizan sus empleados para obtener y modiĮcar informaci´on importante de
productos
y servicios.
En primer lugar se tiene en cuenta que la distancia de la casa central y de las sucursales es tal que
produce gran dispersi´on de la informaci´on, como si de varias empresas se trataran. La idea
general es
uniĮcar este tipo de informaci´on para que la empresa se vea identiĮcada por su casa central para
mejorar
la imagen corporativa.
En segundo lugar, en el acceso a la red, los empleados m´oviles tienen diĮcultades para encontrar
informaci´on precisa para distribuir a sus clientes, ya que no siempre pueden acceder a la red de la
empresa, y el formulario Web es demasiado limitado para la mayor´ıa de los casos. Por eso es
necesario
establecer una pol´ıtica de acceso para los terminales m´oviles, ya sea mediante el uso de equipos
port´atiles
Finalmente, la administraci´on de los equipos, los servicios y de la red, se hace muy dif´ıcil por la
dispersi´on que existe en el sistema de Empresa Ejemplo S .A. Por ejemplo, el correo electr´onico
de
cada sucursal deber´ıa uniĮcarse con el servidor central (es decir, cada sucursal tiene su correo,
pero
son redireccionados al servidor central) , de la misma manera que el servidor de archivos, para que
la
se repite en las sucursales y en la casa central, y la actualizaci´on de los mismos deben hacerse
mediante
copias de los archivos a cada sucursal, haciendo el traba jo menos din´amico y m´as tedioso.
8.3.4. Recomendaciones
Luego de conocer la situaci´on actual de Empresa Ejemplo S .A. se procede con el listado de
Infraestructura y equipos
En cuanto al equipamiento de Empresa Ejemplo S .A. se cuenta con equipos relativamente nuevos,
tanto en las terminales como en los servidores, por lo que no es necesaria la adquisici´on de
nuevas
m´aquina.
En la casa central y en las sucursales, se utilizan Switches y cables de buena calidad; se tiene una
buena distribuci´on de los cables por sus correspondientes cable-canal. Es decir, en cuanto a
materiales,
se cuenta con las mejores opciones; el problema esta en la arquitectura funcional de la red y
distribuci´on
de servicios.
Informaci´on vital
Para proteger la informaci´on cr´ıtica para el funcionamiento de la empresa, se han planteado las
siguientes opciones:
backup en cada sucursal. Todos los empleados ʹincluso los de las sucursales ʹingresar´an a la base
Opci´on 2: Centralizar la informaci´on en la base de datos de la casa central. Pero crear servidores
espejo en ambas sucursales, para ahorrar tiempo en el acceso a los datos necesarios por los
empleados.
De entre ambas opciones, se escoge la primera, ya que la segunda tiene la desventa ja que al
momento
Servicios de red
Crear en la casa central una DMZ (DeMilitarized Zone) , donde se ubiquen los servicios al p´ublico
en
general: servicio web por el momento. Quitar todos los que puedan ofrecer alg´un tipo de
vulnerabilidad.
Los servicios necesarios para los empleados, como por ejemplo el servicio de correo, Web, el
sistema
de gesti´on, y dem´as, ser´an accedidos desde dentro de la red local, o desde una conexi´on no
accesible al
p´ublico en general. En la Figura 8.3 vemos c´omo ser´ıa el esquema de red de la casa central.
Las sucursales no poseer´an servicios p´ublicos, estos solo se brindar´an desde la central.
Conexi´on a Internet
Cada una de los puestos Įjos acceder´a a Internet a trav´es de un proveedor local. La casa central
debe
El servidor Dynamic DNS de la central resolver´a los nombres de de las sucursales (si es necesario) .
Cada una de las sucursales se comunicar´an directamente con la casa central, pero entre ellas no
habr´a comunicaci´on directa, ya que esto provocar´ıa una sobrecarga administrativa de la red,
que es
mayor al aprovechamiento que se le da. La conexi´on inal´ambrica no es una opci´on en este caso
debido
a la distancia que hay entre los lugares a comunicar, por lo que queda descartada. Las opciones
son las
siguientes:
Opci´on 1: Alquilar dos l´ıneas, para conectar la central con cada una de las sucursales. Con esto se
Opci´on 2: Establecer conexiones VPN sobre las conexiones a Internet existentes, entre la central y
cada una de las sucursales. El tr´aĮco via jar´a por la red p´ublica, pero encriptado; si se
implementan
bien los servidores VPN, no habr´a mayores problemas con respecto a la seguridad.
La opci´on que se adopta, es la segunda. Debido a que, si bien la primera ofrece mayor seguridad,
por
otro lado es mucho m´as costosa, y posee la desventa ja que si el enlace se corta en alg´un punto
entre los
Debido a que ahora los datos estar´an centralizados en la oĮcina principal de la empresa, las
conexiones
Los clientes necesitan acceder a la empresa v´ıa web para obtener informaci´on de sus estados de
cuentas, pagos, entre otra informaci´on cr´ıtica. Dicha informaci´on es privada, y necesita de un
modo
seguro de transmisi´on, para que no pueda ser obtenida por un curioso. Las opciones que se
proponen son
las siguientes:
Opci´on 1: Habilitar conexiones VPN host-red para cada uno de los clientes que necesiten acceder
a
Opci´on 2: Aprovechando que en la DMZ hay un servidor web p´ublico, y que los clientes solo
necesitan acceso www, puede habilitarse soporte HTTPS en dicho servidor, esto es, tr´aĮco HTTP
encriptado con SSL, de modo que el tr´aĮco de paquetes no circule en texto claro.
La mejor opci´on en este caso, es la segunda, ya que se evita una sobrecarga de conexi´ones VPN
innecesarias y poco productivas, y que solo provocar´ıan una baja en el rendimiento de los
servidores.
Tambi´en se aprovecha algo que existe, de un modo muy sencillo: el servidor web p´ublico.
Suprimir la administraci´on de red individual de las sucursales. Establecer una administraci´on cen-
tralizada de los tres puntos Įjos en la casa central, para simpliĮcar el control y mantenimiento de
las
redes.
Cada una de las sucursales poseer´a una puerta de acceso VPN ´unicamente para acceso
administrativo
de esta ´ındole.
Para realizar una comparativa de costos, antes se deben conocer las opciones disponibles para
ofrecer
lo mismo, pero con diferentes soluciones.
En cuanto a las opciones, no existe tanta variedad para el mismo costo de instalaci´on y
mantenimiento,
ya que puede variar para el tamaȂno de una empresa como en la complej idad de la red que se
quiera
implementar. Adem´as como las entidades buscan en general disminuir gastos, se optan por
soluciones
econ´omicas que pueden estar relacionadas con software libre o con aparatos de gama media de
Linksys
o 3Com. Por el contrario, si la empresa puede gastar m´as dinero, entonces buscan la misma
soluci´on en
En cuanto a los requisitos m´ınimos para implementar una soluci´on VPN, no se van a incluir
dentro
es un gasto que la empresa debe asumir para poder invertir en una mejor soluci´on. De esta
manera, se
en algunos casos puede ir incluido con el equipamiento, pero en Empresa Ejemplo S .A. no ser´a
necesario
En algunos casos en los que se pretende gastar menos dinero en implementaci´on, se puede optar
por
en las sucursales se opta por routers que sean compatibles con la implementaci´on de IPSec con
Linux u
OpenBSD .
Costos de comunicaci´on
Hace un tiempo, el reino de las comunicaciones las ten´ıan las l´ıneas telef´onicas tradicionales de
cable
En la actualidad, se sigue utilizando la l´ınea telef´onica tradicional pero con una nueva tecnolog´ıa
que
permit´ıa la conexi´on a Internet a alta velocidad, es el ADSL. De esta manera, nace una nueva
alternativa
a las l´ıneas ͞dedicadas͟ , que se empleaban para la conexi´on de redes privadas virtuales
mediante un canal
En cuanto a los costos de la comunicaci´on, se tiene una gran variedad de soluciones, que van
desde
l´ıneas dedicadas con framerelay a muy alto precio, hasta la conexi´on a Internet hogareȂna
bastante m´as
econ´omica.
Una opci´on media que se utiliza actualmente y que es la requerida en casa central de Empresa
Ejemplo
S .A. , es el denominado ADSL sim´etrico. Esta tecnolog´ıa permite la misma tasa de transferencia
de subida
como de ba jada de datos. Por ejemplo un servicio de 1 Mbps con direcciones IP Įjas puede tener
un costo
de US$300,00 aproximadamente, que es mucho m´as que un ADSL com´un de 5 Mbps, pero
bastante menos
Como en general los clientes que solicitan un servicio requieren una soluci´on completa, en este
caso,
de la VPN.
Los precios por la instalaci´on de un concentrador VPN con software libre, van desde los $2
.000,00
(pesos argentino) como base aproximadamente, dependiendo de la complej idad del sistema y de
la
importancia del tr´aĮco a transmitir (con respecto a la disponibilidad) . Esto se mide de acuerdo a
si
es necesario que la VPN se encuentre activa las 24 horas del d´ıas, todos los d´ıas de la semana,
etc.
En este caso, para la Empresa Ejemplo S .A. que requiere conectividad con las dem´as sucursales
para
realizar el backup diario, de las transferencias realizadas durante la jornada laboral, se debe tener
en
De esta manera, los elementos importantes a tener en cuenta para realizar un presupuesto ser´ıan
los
siguientes:
Como los servicios que se pueden administrar son numerosos, en el siguiente listado se muestran
los
Servidor DNS .
Servidor de archivos.
Por consiguiente, es posible calcular el costo total, a partir del precio base, que incluye:
Servidor DNS .
Al agregar los servicios Web, de correo electr´onico, base de datos y de archivos, el costo se
incrementa
Por otra parte, el tema de la disponibilidad del sistema, tiene que ver con el soporte y
mantenimiento
mensual de la VPN, que puede variar (dependiendo del grado de disponibilidad) entre $1 .000,00 y
$3.000,00.
La Tabla 8.1 muestra detalladamente el costo estimado de cada servicio junto al monto total.
En cuanto al costo mensual, la variaci´on del precio esta fuertemente relacionada con la
disponibilidad
del servicios y las copias de seguridad que se realicen. Por esta raz´on, como se ha mencionado
Este es el caso para la casa central. En las sucursales, el gasto siempre es menos, ya que los
servicios
Para cada sucursal de Empresa Ejemplo S .A. ya se ha calculado el precio por los enlaces, por lo
que
mismo. De esta manera se adiciona $1 .000,00 para cada servidor de cada sucursal.
De esta manera se estima que el costo total de una soluci´on VPN con software libre ser´ıa de
$10.500,
que incluye el primer mes de soporte y mantenimiento. Los meses siguientes, se tendr´ıa que
incluir el
En cuanto al c´alculo de una soluci´on con hardware comercial, el precio var´ıa solamente en el
servicio de
conĮguraci´on e instalaci´on de los equipos adquiridos. Los dem´as servicios tienen elmismo costo
establecido
hardware propietario.
Para llevar a cabo esta implementaci´on, se utilizan equipos marca Cisco, cuyos modelos y precios
son
los siguientes:
1 . Cisco ASA 5510 SSL/IPsec VPN Edition for 50 concurrent SSL VPN users (US$ 4.500,00) .
El primer modelo de la lista anterior es un concentrador VPN que se utiliza como servidor para las
conexiones entrantes. Permite por medio de la virtualizaci´on, a 250 sesiones concurrentes, 250
sesiones
SSL y 50 usuarios concurrentes. Adem´as tiene funciones de Įrewall para proteger la red de
ataques de
hackers, malware, troyanos, e incluye bloqueo de aplicaciones P2P para evitar el intercambio de
archivos.
El segundo equipo es un dispositivo que funciona en modo cliente junto al concentrador principal,
estableciendo la comunicaci´on con el mismo y haciendo funciones de NAT en la red interna, que
en este
caso, se trata de las sucursales de Empresa Ejemplo S .A. El equipo soporta conexi´on con el ISP
mediante PPPoE, adem´as de NAT transparente para IPSec. De esta manera, se puede obtener un
servicio completo
Volviendo a los costos, cada equipo Cisco mencionados anteriormente, se le tienen que sumar los
siguientes servicios:
Zone) hacen que la opci´on por software para el Įrewall sea la m´as indicada.
Servicio Web.
Servidor DNS .
Servidor de archivos.
Estos servicios se implementan en casa central, pero no signiĮca que se integra el mantenimiento
del
de datos, es un caso aparte, que requiere otro proceso de planiĮcaci´on y por lo tanto un precio
adicional.
En esta situaci´on de ejemplo, se considera que el sitioWeb anterior y la base de datos, son f´acil
de migrar
al nuevo sistema.
La Tabla 8.2 muestra el c´alculo de costos utilizando esta soluci´on por hardware de una VPN, que
Por otro lado, el costo de mantenimiento es el mismo que en el caso anterior, pero no se incluye el
soporte que se pueda necesitar en los equipos Cisco, ya que para esto se requiere de agente
especializados
de dicha empresa. El gasto inicial total con un mes de soporte es de $23.666,00, con un mensual
de
$3.000,00.
8.4. Conclusi´on
Elegir una soluci´on VPN adecuada no es tarea f´acil. Requiere de mucho tiempo de planiĮcaci´on y
an´alisis, ya que se trata de una inversi´on importante que puede salir muy bien o deĮnitivamente
puede
ser una p´erdida de tiempo y mucho dinero. Esto ocurre, si no se toman todas las precauciones
debidas ni
Por esta raz´on es que al elegir una soluci´on VPN adecuada se debe tener en cuenta una gran
cantidad
en que las implementaciones libres poseen una gran Ňexibilidad y precio m´as ba jo en
comparaci´on
con las comerciales; pero estas ´ultimas poseen la venta ja de la optimizaci´on del hardware para
mejor
En general, las grandes entidades, al implementar VPN para su tr´aĮco utilizan equipos
comerciales, ya
que el gasto en un buen equipo se justiĮca; mientras que las empresas m´as pequeȂnas, optan por
soluciones
libres debido a que la cantidad de recursos con los que cuentan es menor. Es bueno remarcar que,
por lo
menos en este caso, menor precio no implica necesariamente menor calidad, ya que las
implementaciones
VPN mediante software pueden competir perfectamente en casi todos los aspectos con las
comerciales;
Conclusi´on Įnal
La informaci´on es lo que da vida a una empresa, por tanto, es importante que sea resguardada.
Esto implica que deber´an tomarse las medidas necesarias para que cuando haya que transmitirla
entre
sucursales, empleados, etc, no sea expuesta al mundo exterior, ya que si la informaci´on corre
riesgo, se
compromete la vida de la entidad. Por esto, mientras mayor sea el riesgo, mayor ser´a la
justiĮcaci´on del
Teniendo en cuenta lo anterior, una empresa grande optar´a por soluciones como l´ıneas
dedicadas,
enlaces inal´ambricos o MPLS , para el tr´aĮco m´as cr´ıtico; e implementaciones de redes privadas
virtuales
para el tr´aĮco de menor importancia. Ahora si se trata del mismo caso, pero en una empresa
mediana o
En materia de redes privadas virtuales no existe la certeza de que utilizar lo m´as nuevo o lo
considerado
m´as ͞seguro͟ , sea la mejor soluci´on para una empresa. Aunque, en principio, la mayor´ıa de los
sistemas
como para elegir uno sobre otro. Antes de hacer una opci´on hay que analizar las variables m´as
importantes:
Con respecto a cu´an delicados son nuestros datos, no es lo mismo la necesidad que tiene un
banco que
maneja dinero a trav´es de sus redes, que la que tiene un servidor de juegos online. No tiene
sentido pasarse
d´ıas, semanas o hasta meses conĮgurando (y entendiendo) el protocolo IPSec (Internet Protocol
Security)
si solo se va a utilizar la red para transferir m´usica o compartir juegos en l´ınea. Algunas
alternativas,
permiten con poco esfuerzo y pocas horas hombre, obtener una red privada virtual segura,
conĮable y
r´apida.
No obstante, a la hora de implementar una VPN ʹy como ya vimosʹ, la primera opci´on que
debemos
hacer es: hardware dedicado (ca jas negras) o software implementado en un ordenador.
Las empresas dedicadas a ofrecer soluciones para redes como Cisco, 3Com, SSH.com, entre otras,
brindan servicios y equipos de muy alto rendimiento, pero de elevado costo en comparaci´on con
las
alternativas libres. Dichos equipos no tienen ʹen la mayor´ıa de los casosʹ una conĮguraci´on
Ňexible, por
conexiones, etc, y el equipo adquirido no brinda soporte para ello, ser´a necesario invertir en otro
nuevo.
En estos casos se cumple la regla: ͞A menor costo, menor Ňexibilidad, escalabilidad, etc.͟ .
En cuanto a las soluciones VPN mediante software implementadas en sistemas libres, podemos
decir
que en materia de seguridad, est´an muy bien dotadas, ya que cuentan con los m´as avanzados
sistemas de
con las soluciones comerciales. En cuanto a Ňexibilidad, las soluciones mediante software son las
que
llevan la delantera; estas brindan la posibilidad de conĮgurar los servidores VPN en todos los
aspectos
posibles, implementar Įrewalls exclusivos para el tr´aĮco VPN sin invertir en hardware adicional, y
si la
red est´a bien diseȂnada, la escalabilidad se convierte en algo muy sencillo de llevar a cabo.
Puede decirse que el costo de la implementaci´on de una VPN con sistemas libres es mayor al
costo
que tiene la implementaci´on con hardware dedicado; esto se debe a que la instalaci´on y
conĮguraci´on del
servidor VPN por software, en el peor de los casos se hace desde cero, en cambio un equipo
comercial, solo
requiere ser conectado y conĮgurado. Si bien es cierto que el costo de la implementaci´on de una
VPN en sistemas libres es mayor, hay otros par´ametros a tener en cuenta que equilibran la
situaci´on: la Ňexibilidad
que obtenemos con sistemas libres, no la encontraremos en los equipos comerciales econ´omicos,
ni en los
de un rango medio; y la segunda, es que comprar un servidor VPN comercial es m´as caro que
comprar
Cuando nuestra opci´on para las comunicaciones son las redes privadas virtuales, y nuestro tr´aĮco
encriptado via jar´a entre los destinos atravesando Internet, debemos saber que, sea cual fuere
nuestra
predecible, y depender´a mucho del ancho de banda que hayamos contratado con nuestro ISP. Es
por esto,
que muchas empresas optan por una conexi´on de salida a Internet para el tr´aĮco normal, y otra
exclusiva
para las conexiones VPN. Esta es otra de las cuestiones importantes a analizar.
Finalmente se puede concluir que a la hora de elegir una soluci´on VPN no solo se tiene que
pensar
soluciones comerciales de empresas como Cisco, Lucent, etc, sino tambi´en en las alternativas
libres. Ya
que estas tienen para ofrecernos grandes venta jas: ba jo costo, gran Ňexibilidad (al punto de
adaptarse
Ap´endice A
Equipos de prueba
En este Ap´endice se detallan las caracter´ısticas de las redes y equipos utilizados para las pruebas
Adem´as se plantean los esquemas de conexi´on a nivel general que cada red utiliza para el acceso
a
Debido a que la naturaleza del proyecto as´ı lo requiere, para las pruebas, se utilizaron dos redes
LAN (Local Area Network) distantes. La comunicaci´on entre ellas se realiza a trav´es de la red
p´ublica
(Internet) . Las redes locales se describen m´as adelante en las secciones A.2 y A.3 de las p´aginas
110 y
111 respectivamente.
Cada red se conecta a su ISP (Internet Service Provider) , el cual provee un entorno de
comunicaci´on
ideal en cuanto a cantidad de tr´aĮco e informaci´on que circula por la misma, de manera que se
puede
tener un entorno real de comunicaci´on por un medio inseguro entre las dos redes locales. Un
esquema
simpliĮcado, que muestra la conexi´on l´ogica entre las redes, se puede ver en la Figura A.1 .
Figura A.1 : Conexi´on a Internet de ambas redes y el enlace l´ogico creado por la VPN.
Ambas redes locales utilizan, para el tr´aĮco de datos, el protocolo de capa dos Ethernet y el
conjunto
de protocolos TCP/IP. Esto hace que no sean necesarias aplicaciones o dispositivos de conversi´on
entre
dos o m´as protocolos, dejando esta tarea para que la realicen los respectivos sistemas operativos.
Esta subred cuenta con tres hosts interconectados entre s´ı por un router que posee funciones de
switch
El rango de direcciones IP que se utiliza es 192. 168. 1. 0/24, es decir, de la direcci´on 192. 168. 1. 1
a
El rango 192. 168. 1. 1 a 192. 168. 1. 9 est´a reservado para direcciones asignadas est´aticamente,
y el
rango 192. 168. 1. 10 a 192. 168. 1. 254, se asigna din´amicamente a hosts clientes por DHCP.
Este equipo posee 4 puertos Lan (RJ45) , 1 puertoWan (RJ11) ,WAP (Wireless Access Point) .
Conecta
Hostname: agnus
Este host establece una conexi´on pppoe con el ISP, y brinda acceso a internet a la red. Cumple
tambi´en
M´ascara de Red: ʹ
Hostname: poncho
Hostname: notebook
M´ascara de Red: ʹ
Esta red esta compuesta por cuatro computadoras que cumplen diferentes funciones dentro de un
entorno hogareȂno. Las funciones que cumplen son diversas, comenzando por un servidor de
acceso a
Las caracter´ısticas resumidas de las computadoras con sus respectivos nombres para identiĮcarlas
se
pueden ver en la Tabla A.2. Las caracter´ısticas m´as detalladas se pueden ver en A.3.1 .
A.3.1 . Descripci´on de equipos
Este equipo realiza la conexi´on a Internet propiamente dicha mediante un puente entre la LAN y
la
WAN del proveedor. Marca y modelo del dispositivo es: Amigo Tainet CA81R.
Este dispositivo permite conectar entre s´ı a varios clientes de la red y as´ı tambi´en compartir el
acceso
Hostname: superhijitus
Hostname: wasa
Equipo servidor utilizado para proveer de acceso PP TP (Point to Point Tunneling Protocol) ,
Hostname: nippur
Equipo de escritorio que solo cumple funciones de cliente, salvo cuando se realizan pruebas con
PPTP
Hostname: supermaquina
Servidor que se conecta a Internet y provee del nombre de usuario y contraseȂna al ISP. Este
equipo es
el que asigna direcciones IP din´amica a los clientes y permite el acceso a Internet mediante NAT a
toda
Disco R´ıgido: 80 GB
Ap´endice B
Documentaci´on
Para la realizaci´on del informe de esta tesis se utilizaron una serie de herramientas que facilitaron
la
acceso al c´odigo fuente, permitiendo la visualizaci´on desde cualquier editor de texto y adem´as
de generar
archivos con formato PDF que se ha convertido en est´andar ISO para la impresi´on en papel y en
pantalla
de cualquier tipo de documento. Por esta raz´on se ha utilizado, para el proceso de ͞compilaci´on͟
, el
software de composici´on de documentos profesionales Latex, que permite una terminaci´on m´as
profesional
m´as importantes de Latex para generar el documento, en el que se destaca como elemento
central al
repositorio de paquetes adicionales de CTAN1 , que permite incluir gran cantidad de funciones
adicionales
Figura B .1 : Pir´amide uniforme de los componentes principales para generar documentos Latex.
En las siguientes secciones se describen con m´as detalles las herramientas utilizadas, que van de
los
editores de texto a los paquetes de software de Latex y una breve descripci´on del mismo.
Adem´as se hace
menci´on a los m´etodos de traba jo en equipo mediante el uso del software Subversion para el
control de
una salida por pantalla e impresi´on elegantes y a su vez de car´acter profesional y estructurado. El
autor
principal de generar esta documentaci´on es Latex, que es software libre ba jo licencia LPPL, por lo
que
Las herramientas que m´as cambiaron durante la investigaci´on fueron los editores de texto, ya
que
a medida que iban surgiendo las necesidades, se probaban software de diferentes desarrolladores
hasta
encontrar la conformidad. El siguiente listado muestra los paquetes de software utilizados alguna
vez
TeX Maker 1 .7
Emacs 22
la salida en formato PDF, y adem´as toma las im´agenes en formatos PNG, JPG, entre otros que no
sean
vectoriales.
B.1 .1 . Compilador de LATEX
LATEXes un lengua je demarcado para documentos, formado por un gran conjunto de macros de
TeX
que fueron escritos inicialmente por Leslie Lamport en 1984, con la intenci´on de facilitar el uso
del
lengua je de composici´on tipogr´aĮca creado por Donald Knuth. Es muy utilizado para la
composici´on de
art´ıculos acad´emicos, tesis y libros t´ecnicos, dado que la calidad tipogr´aĮca de los documentos
realizados
Este compilador de documentos se puede utilizar mediante la l´ınea de comandos o a trav´es del
mismo
software de edici´on que incorpora los comandos necesarios para generar el archivo DIV, PDF o PS
seg´un
sea cada caso. La siguiente l´ınea de c´odigo muestra la salida al ejecutar ͞pdftex͟ en una terminal
de
Windows:
Mi c ro s o f t Wi ndows [ Ve rs i ´on 6 . 0 . 6 00 1 ]
**
Luego solicita ingresar el nombre del archivo .tex a compilar. Si no se ingresa ninguno, devuelve
El uso de esta terminal suele ser muy complicado y dif´ıcil de controlar, depurar c´odigo, etc. Para
esto
es m´as recomendado utilizar el nombre del archivo .tex luego del comando ͞pdftex͟ o bien dejar
este
(conocidos como WYSIWYG, es decir, lo que ves es lo que obtienes) ; dicha Įlosof´ıa se basa en
comandos
centrarse exclusivamente en el contenido y sin tener que preocuparse de los detalles del formato
de salida.
Por otro lado Latex ofrece independencia del dispositivo (impresora, pantalla, etc.) o del sistema
operativo (Windows, MacOS , Unix, Linux, etc. ) en el que se haya compuesto el documento,
permitiendo
Postscript,
SGML,
HTML,
RTF,
entre otros.
El formato que se ha utilizado para la realizaci´on de esta tesis es PDF, ya que es el m´as extendido
de
documentaci´on fue el software libre versi´on 1 beta 7.50 (Figura B .2) . Este posee numerosas
caracter´ısticas
que hacen m´as f´acil la escritura y organizaci´on de la tesis de grado, tales como:
Resaltado de sintaxis,
Entre otros.
Una de las caracter´ısticas pobres de este editor son los modos de navegaci´on por los cap´ıtulos y
se pierde la independencia en el uso de cualquier editor de texto que mejor se adapte a los gustos
y
necesidades de cada uno. Por esta raz´on, no se crean proyectos con ning´un editor Latex para
evitar
Por otra parte, TeXnicCenter ofrece un alto grado de personalizaci´on tanto de la interfaz de
usuario
como de los programas externos que puedan utilizarse (visor de PDF de Adobe, compilador de
Latex
propietario, etc) . Aunque esta caracter´ıstica puede dar un aspecto de complej idad al programa,
despu´es
Otra de las herramientas de edici´on de documentos Latex es TexMaker (Figura B .3) , que se
caracteriza
por la amigable interfaz de usuario, con iconos grandes y colores llamativos. Este software libre
hace que la
experiencia escribiendo la tesis de grado sea realmente agradable y sin nada que envidiar a los
procesadores
de textos actuales.
Resaltado de sintaxis,
Muestra las referencias del archivo abierto (como un navegador de cap´ıtulos, secciones, etc.) ,
Entre otros
LEd (de Latex Editor) es un software gratuito que permite la edici´on de documentos Latex con
previsualizaci´on incorporada si se esta traba jando con formato DVI. El entorno visual es muy
completo
y ofrece la mayor´ıa de los botones de acceso directo a las operaciones m´as utilizadas en la barra
de
Resaltado de sintaxis,
Entre otros.
LEd es software gratuito, pero existe una versi´on comercial con soporte t´ecnico incluido. Para el
prop´osito de esta tesis, se utiliza la versi´on gratuita que es m´as que suĮciente.
Edraw Max es un software comercial que se utiliza para hacer todo tipo de diagramas, que van
desde el
diseȂno de viviendas (simples) hasta los diagramas UML, electr´onicos y de red, entre varios otros
modelos.
Adem´as incluye una serie de ejemplos para cada tipo de diagramas, lo que facilita el diseȂno y
muestra un
panorama general del potencial del programa.
Esta versi´on de Edraw Max se ha conseguido mediante el sitio web Give Away of the Day2 , que
ofrece
diariamente programas comerciales de forma gratuita por un d´ıa. Una captura de pantalla se
puede ver
en la Figura B .5.
Para que la realizaci´on de esta tesis de grado sea lo m´as organizada posible, antes de comenzar a
pasar las notas, experiencias y pruebas, se detallaron las normas a seguir en cuanto a la estructura
de la
documentaci´on. De esta manera, se plantearon inicialmente los puntos claves que se iban
incluyendo a
En esta secci´on se describen en detalles los par´ametros de conĮguraci´on del documento Latex y
los
ubicaci´on r´apida de determinadas tem´aticas que se incluyen como traba jo de esta tesis.
Adem´as se
utilizan archivos separados para disminuir el tiempo de actualizaci´on del contenido, y con las
mismas
venta jas que ofrece la programaci´on modular.
De esta manera se han separado l´ogica y f´ısicamente los archivos de cada cap´ıtulo de la
siguiente
manera:
informe.tex Contiene las deĮniciones de formato de salida del documento e incluye todos los
cap´ıtulos.
nota facultad.tex Es un documento independiente con la nota que se presenta para la aprobaci´on
del
proyecto.
apendice.tex Herramientas utilizadas para las pruebas y redacci´on del informe Įnal.
bibliograĮa.tex Libros, revistas, sitios web o cualquier otro material al que se haya recurrido
durante
separados que no est´an incluidos en el listado anterior, pero se encuentran incluidos en el archivo
informe.tex.
B.2.2. El Pre´ambulo
El pre´ambulo es una secci´on especial de LATEX, donde se deĮnen todas las directivas generales
del
documento, utilizadas en tiempo de compilaci´on; esta secci´on est´a comprendida entre el inicio
del archivo
begindocument. Luego, todo lo que se encuentre entre las siguientes cl´ausulas, pertenece al
documento
propiamente dicho.
\begin{document}
...
\end{document}
Como Latex se encarga del formato del documento de salida, se ha considerado importante incluir
el
encabezado principal, con comentarios de cada l´ınea para demostrar lo que hace cada paquete
incluido.
4 \ us e package { f loat }
5 \ us e package { lat e xs ym }
6 \ us e package { graphi cx }
8 \ us e package { anys i z e }
10 \ us e package [ no t t o c ] { t o c bi bind }
11 \ us e package { c olor }
12 \ us e package { l i s t ings }
13 \ us e package { array }
14 \ us e package { all t t }
15 \ us e package { f ancyhdr }
16 \ us e package { gl o s sari e s }
La primera l´ınea del C´odigo 1 indica el tipo de documento que en este caso es un ͞reporte͟ , que
no
es mas que un t´ermino medio entre el tipo art´ıculo y el tipo libro. Tambi´en se indica el tamaȂno
de la
tipograf´ıa y el papel utilizado, que en este caso es de tamaȂno A4 est´andar. Las l´ıneas 2 y 3
indican el idioma
en que se escribe el documento y adem´as permite la escritura directamente con caracteres
acentuados,
tildes y dem´as, sin usar comandos Latex que los reemplacen y diĮculten la lectura del c´odigo
fuente. La
l´ınea 6 agrega hiperv´ınculos a las referencias y tablas de contenidos del documento, as´ı
tambi´en como
direcciones Web o de correo electr´onico mediante comandos especiales. La l´ınea 7 por su parte,
permite
modiĮcar los m´argenes, que a pesar de ya estar deĮnidos por el tipo de documento. La l´ınea 8
aȂnade
soporte para ´ındice alfab´etico. La l´ınea 9 agrega bibliograf´ıa, tablas de contenidos de tablas,
im´agenes,
etc, a la tabla de contenidos principal. Las l´ıneas 10, 11 y 12, permiten incluir color al documento,
listas
aȂnade una extensi´on al entorno ͞verbatim͟ con la posibilidad de truncar las palabras cuando se
llegan al
Por ´ultimo, las l´ıneas que incluyen los paquetes fancyhdr y glossaries permiten incluir, en primer
lugar,
p´agina, nombre del cap´ıtulo, secci´on, entre otras opciones. El segundo paquete, como su
nombre lo indica,
permite incluir una secci´on aparte que se reĮera a los t´erminos que requieran una deĮnici´on
concreta y
resultado Įnal, se procede con la conĮguraci´on de algunos comandos como el listado enumerado,
deĮnici´on
1 %% Codigo s Lat e x
2 \ f l oat s t yl e { plain }
6 \ f l oat s t yl e { rul ed }
9 %% Cuadro s de re gi s t ro s ( logs )
10 \ f l oat s t yl e { boxed }
De esta manera se pueden escribir listados de c´odigos y conĮguraciones enumerados por l´ıneas
para ser
referenciados posteriormente. El c´odigo con sus respectivos comentarios por l´ınea de la lista
personalizada
1 \ ls t s e t { %
16 bre akat whi t e s pac e = false , % Fin de l ´ınea por e s pac i os en blanc o
17 e s cape ins i de ={\ %* } { * } % Si se qui ere agre gar c oment ari o s de l c ´odigo .
18 %e s cape ins i de ={\ %* } { * ) } % Si s e qui e re agre gar c ome nt ari o s del c ´odigo .
19 }
Antes de terminar el pre´ambulo, se escribe el t´ıtulo, los autores y la fecha que son generados
Tambi´en se puede agregar un ´ındice alfab´etico con el comando makeindex ; con maketitle y
tableofcontent se escriben el t´ıtulo y la tabla de contenido de todo el informe, pero deben estar
dentro de
las cl´ausulas de inicio del documento. Adem´as se pueden agregar p´aginas independientes del
documento
principal, que quedan sin indexar y en la primera ho ja como por ejemplo una car´atula o portada.
En esta secci´on se describen las caracter´ısticas que convirtieron Subversion en el sistema m´as
conocido
para manejar grandes proyectos de software con cientos de usuarios editando simult´aneamente.
As´ı como
Tambi´en se explican los pasos de instalaci´on y conĮguraci´on r´apida del repositorio que se ha
utilizado
Subversion es un software libre que permite el control de versiones de archivos, que fue creado
no tienen cada uno un n´umero de revisi´on independiente, sino que todo el repositorio tiene un
´unico
n´umero de versi´on que identiĮca un estado com´un de todos los archivos del repositorio en
cierto punto
Las venta jas que se obtuvieron al traba jar con este sistema para la composici´on de este informe,
son
las siguientes:
Como se trata de un traba jo en grupo, la edici´on modular y controlada a la ´ultima versi´on hace
No se dispone del mismo tiempo para editar la documentaci´on, por lo que permite editar por
Permite revisar el historial con comentarios de los cambios efectuados y discutir sobre los mismos;
Se mantiene la ´ultima versi´on para todos los editores o usuarios que tengan acceso al
repositorio.
De esta manera Subversion cumple un rol muy importante en el traba jo en equipo durante la
documentaci´on, aunque solo se use una pequeȂna parte de la potencia que tiene, y se utiliza para
grandes
informe, se encuentra disponible lamayor parte del tiempo para acceso remoto protegido por
autenticaci´on
...
Luego de la instalaci´on se tiene que crear el repositorio, que en este caso se encuentra en
/var/svn/, y
por ´ultimo se realiza la importaci´on de lo que ser´ıa la primera versi´on del documento. Pero
antes, seg´un
De esta manera se puede traba jar con versiones Įnales y prueba de manera separada, hasta que
se las caliĮque como ͞estable͟ ; para este prop´osito, de mantener la documentaci´on lo m´as
actualizada
posible (no se traba ja con software) , no son necesarios m´as que el directorio trunk ; no se
utilizan ramas
adicionales que la principal y estable.
$ svn i mpo rt / tmp / vpn f i l e : / // var / svn/ vpn -m " Pri me ra ver s i on "
...
Commi t t e d revi s i on 1 .
A partir de este momento, los clientes, programadores o usuarios pueden acceder al repositorio y
modiĮcar si se tiene los permisos adecuados. Esta lista usuarios con permisos determinados se
controlan
en los archivos authz y passwd dentro del directorio conĮg del repositorio principal. Luego solo
cuenta
editar los archivos y subir las modiĮcaciones con comentarios correspondientes, que se realizan
desde el
Como Subversion puede traba jar de varias maneras, el primer desaf´ıo fue elegir el que mejor se
adapte
a los requisitos de documentaci´on y traba jo remoto. Para esto se ha elegido que el repositorio
traba je como
servidor dedicado y permita tanto las conexiones externas (desde Internet) como las conexiones
internas
(desde la red local) , ya que al usar otros m´etodos de conexi´on como inetd o via http se
presentaban
problemas para que cualquier usuario remoto al servidor pudiera acceder al repositorio y adem´as
el
servidor Web de OpenBSD es bastante limitado en cuanto al agregado de m´odulos de acceso por
SVN
(llamado WebSVN) .
Para conseguir que su funcionamiento sea constante, ya que la direcci´on IP externa, que permite
Subversion inaccesible desde el exterior. Una soluci´on a este problema ha sido la creaci´on de un
script que
1 # ! / bin/ sh
tmp
9 if [ $ I P ! = $ I P_ o ld ] ; t hen
11 s le ep 5
Para que el sistema monitoree este cambio de direcci´on cada cierto tiempo, se agrega una l´ınea
al
Cron del sistema para que se ejecute cada hora (en el archivo /etc/crontab) :
De estamanera se consigue un servidor Subversion dedicado lamayor parte del tiempo online,
mientras
la conexi´on a Internet sea estable y sin importar los cambios de direcci´on IP.
Existen varios clientes de Subversion que permiten su utilizaci´on m´as sencilla e intuitiva, pero
todas
ellas cuentan con lasmismas operaciones b´asicas que el sistema por defecto que utiliza la l´ınea
de comandos
El cliente para l´ınea de comandos por excelencia es el CollabNet Subversion Client, disponible en
Para obtener por primera vez todo el contenido del repositorio de un determinado proyecto, se
utiliza
el siguiente comando:
el sistema primero utiliza el usuario local del equipo, y si no concuerda, se pregunta por el usuario
y
contraseȂna. Para actualizar a posibles cambios en los repositorios del proyecto en cuesti´on, se
utiliza:
de comparaci´on de versiones como ͞WinMerge͟ para sistemas Windows o el que viene incluido
en
TortoiseSVN.
El cliente de Subversion para Windows m´as usado y de c´odigo abierto es TortoriseSVN, que traba
ja
en conjunto con el explorador de archivos como un submen´u contextual. Las caracter´ısticas que
incluye
Generaci´on de una gr´aĮca con las revisiones para las distintas ramas de desarrollo.
Para Įnalizar esta secci´on, es importante destacar que, el hecho de llevar el control de versiones
de
estad´ıstica y profesional, ya que resume cada paso del traba jo que se ha realizado y muestra el
tiempo
Bibliograf´ıa
[1 ] Oleg Kolesnikov y Brian Hatch. Gu´ıa Avanzada Redes Privadas Virtuales con Linux. PEARSON
EDUCACI ´ON, S .A. , Madrid, 2003.
[2 ] Alex Withers. OpenBSD as a VPN Solution. Sys Admin, the journal for UNIX and Linux systems
administrators (http://www.samag.com) .
[3 ] Marcelo Guazzardo. VPN, T´uneles en el ciber espacio. Revista TuxInfo, AȂno 1 , N´umero 2,
Diciembre
de 2007.
[15 ] Ben Collins-Sussman, Brian W. Fitzpatrick y Michael Pilato. Control de versiones con
Subversion.
[17] Gabriel Valiente Feruglio. Composici´on de textos cient´ıĮcos con LATEX. 1999.
[19 ] Joaqu´ın Ataz L´opez. Creaci´on de Įcheros LATEXcon GNU Emacs. 2004.
Glosario
AH (Authentication Header)
Parte del conjunto de protocolos de IPSec que ofrece servicios de autenticaci´on de los paquetes
IP. .
61 , 63
Es un protocolo de autenticaci´on por desaf´ıo mutuo, que se usaba en comunicaciones PPP con el
Una zona desmilitarizada es una red local que se ubica entre la red interna de una organizaci´on
e Internet . El ob jetivo es que las conexiones desde la red interna y la externa a la DMZ est´en
permitidas, mientras que las conexiones desde la DMZ s´olo se permitan a la red externa; los hosts
en
la DMZ no pueden conectar con la red interna. Esto permite que los equipos de la DMZ puedan dar
servicios a la red externa a la vez que protegen la red interna en el caso de que intrusos
comprometan
la seguridad de los servidores de la zona desmilitarizada. La DMZ se usa habitualmente para ubicar
servidores que es necesario que sean accedidos desde fuera, como servidores de e-mail, Web y
DNS . .
101 , 106
Parte del conjunto de protocolos IPSec que permite el encapsulado de informaci´on ´util,
obteniendo
Ethernet
EspeciĮcaci´on de red de ´area local (LAN) desarrollada en 1976 por Xerox, en cooperaci´on con
DEC
e Intel, originalmente para conectar los miniordenadores del Palo Alto Research Center (EEUU).
Frame Relay
Es una t´ecnica de comunicaci´on mediante retransmisi´on de tramas, que consiste en una forma
tramas para datos, ideal para la transmisi´on de grandes cantidades de datos. Se utiliza para la
transmisi´on de voz y datos a alta velocidad entre dos o m´as redes LAN separadas
geogr´aĮcamente. .
13
Protocolo de transferencia de archivos que se utiliza para enviar y recibir archivos en texto plano o
GNU
Acr´onimo recursivo que signiĮca ͞GNU is Not Unix͟ , cuya Įlosof´ıa, encabezada por Richard
Stallman, permiti´o la utilizaci´on de software liberado por licencias de tipo GPL que permiten
algor´ıtmo espec´ıĮco que incluye la funci´on criptogr´aĮca hash para combinarla con la clave
secreta.
para reducir el tamaȂno de datos transmitidos y ahorrar ancho de banda o mejorar conexiones de
ba ja velocidad. . 62, 63
Versi´on 4 del protocolo IP que se utiliza en Internet y permiti´o el crecimiento del mismo. Este
protocolo utiliza direcciones de 32 bits, asignadas a cada equipo conectado. Adem´as se tienen
Es la nueva versi´on del protocolo IP, que entre otras mejoras, utiliza direcciones de 128 bits
permitiendo mayor cantidad de conexiones simult´aneas. Adem´as en IPv6 se tiene IPSec como
tecnolog´ıa obligatoria. . 61
Protocolo de gesti´on de claves y asociaci´on de seguridad de Internet que se utiliza para gestionar
kernel
Es la tecnolog´ıa usada en redes internas que permiten comunicar m´ultiples sistemas a un medio
compartido. Entre sus caracter´ısticas se pueden destacar el ancho de banda total elevado, ba jo
retardo de transmisi´on, ba ja tasa de error y adem´as se trata de una red de propiedad privada. .
110
LZO (Lempel-Ziv-Oberhumer)
descompresi´on. Fue escrito originalmente en ANSI C , pero luego portado a Perl, Python y Java. .
81
Es un mecanismo de transporte de datos est´andar que opera entre la capa de enlace de datos y la
capa de red del modelo OSI. Fue diseȂnado para uniĮcar el servicio de transporte de datos para las
redes basadas en circuitos y las basadas en paquetes, por lo que puede transportar distinto tipo de
Es un protocolo utilizado para encriptar comunicaciones a trav´es de PPP y establecer enlaces VPN.
Utiliza el algoritmo de encriptaci´on RSA RC4 y soporta llaves de 40, 56 y 128 bits, que se cambian
Es la versi´on desarrollada por Microsoft del protocolo CHAP con numerosas diferencias. Existen
dos versiones, la primera ha sido eliminada en Windows Vista, y la segunda versi´on, denominada
Nessus
gratuita para usuarios Įnales pero de pago para empresas. Su desarrollador es la empresa Tenable
Network Security. . 80
Protocolo que permite el intercambio de claves entre partes mediante el algoritmo Diĸe-Hellman,
Sistema Operativo (monol´ıtico) tipo Unix basado en el sistema 4.4BSD proveniente de NetBSD a
OpenSSL
Es una implementaci´on de c´odigo abierto de los protocolos SSL y TLS , que soporta varios
algor´ıtmos
criptogr´aĮcos y se utiliza para la generaci´on de claves en una VPN (o donde sea necesario) . . 14
Secreto de env´ıo perfecto es una caracter´ıstica que implementa IKE para evitar que todos datos
cifrados esten comprometidos cuando la clave lo est´e. En este caso solamente estar´an
comprometidos
y descifrar mensa jes de correo electr´onico, para saber que el remitente es quien dice serlo. . 14
El protocolo punto a punto permite establecer una conexi´on a nivel de enlace entre dos nodos.
Las funciones m´as b´asicas que ofrece son: autenticaci´on y asignaci´on din´amica de direcci´on IP.
Su
El protocolo punto a punto mediante t´unel ha sido desarrollado por un conjunto de empresas
cuyo
ob jetivo consist´ıa en utilizar el viejo protocolo conocido PPP para realizar conexiones punto a
punto
a una red. Fue utilizado inicialmente por sistemas Windows que permit´ıan el acceso mediante
SA (Security Association)
La asociaci´on de seguridad determina qu´e par´ametros espec´ıĮcos utilizar para proteger los
paquetes.
Se pueden conĮgurar de forma manual o autom´atica (mediante IKE) , siendo esta ´ultima la mejor
Es una aplicaci´on de transferencia segura de archivos entre un host local y otro remoto, que
utiliza
el protocolo SSH. . 57
a trav´es de dos o m´as nodos de una red. Este opera en el nivel de aplicaci´on. . 79, 91 , 94
SPD (Security Policy Database)
Es una base de datos con normativas de seguridad que utiliza IPSec para comprobar qu´e hacer
con
paquetes IP salientes. . 66
Es un protocolo de red que permite el intercambio de datos mediante un canal seguro entre dos
dispositivos de red. SSH es un reemplazo al antiguo Telnet que enviaba datos en texto plano. . 15,
20, 50, 67
Subversion
Swap
Es el t´ermino en ingl´es del espacio de intercambio de una zona del disco r´ısido (archivo o
partici´on)
que se utiliza para guardar los bloques que estaban en memoria y que no se utilizan para liberar la
4) del modelo OSI. TCP aȂnade las funciones necesarias para prestar un servicio libre de errores,
sin
capas, que van desde la capa de enlace hasta la capa de aplicaci´on, pasando por la capa de
Internet
y la de transporte. . 5
TCPdump
Software en modo texto que permite monitorear los paquetes que entran y salen de una interfaz
de red. Fue desarrollado por Van Jacobson, Craig Leres and Steven McCanne. Esta herramienta es
muy utilizada por administradores de red para la depuraci´on de errores y control de una red. . 78
TortoriseSVN
Cliente Subversion para Windows que se agrega al men´u contextual del sistema cuando se traba
ja
traceroute
Es un software libre desarrollado para sistemas tipo Unix que permite seguir el rastro de un
paquete
tracert
Es un software que viene con Windows (versi´on 2000 en adelante) que permite seguir el rastro de
VPN
Virtual Private Network, que en castellano se traduce a Red Privada Virtual o RPV, que se reĮere
a la conexi´on de redes locales en una sola gran red a trav´es de un canal seguro y Įable,
atravezando
Wireshark
Es una aplicaci´on de Įltrado de paquetes de libre distribuci´on, con una amigable intrefaz gr´aĮca
que
permite monitorear el tr´aĮco de datos que entran y salen de una interfaz de red determinada.
Esta