0% encontró este documento útil (0 votos)
246 vistas34 páginas

Nombre Del Proyecto

El documento describe un proyecto para implementar un servidor VPN en la empresa Cuboxti Tecnología e Informática con el objetivo de permitir el intercambio seguro de archivos entre sucursales. El proyecto incluye la instalación y configuración de OpenVPN en un servidor, la generación de certificados y claves para el servidor y clientes, y permitirá la conexión remota segura entre sucursales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
246 vistas34 páginas

Nombre Del Proyecto

El documento describe un proyecto para implementar un servidor VPN en la empresa Cuboxti Tecnología e Informática con el objetivo de permitir el intercambio seguro de archivos entre sucursales. El proyecto incluye la instalación y configuración de OpenVPN en un servidor, la generación de certificados y claves para el servidor y clientes, y permitirá la conexión remota segura entre sucursales.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

Nombre del proyecto

Implementación de un servidor VPN para intercambio seguro de archivos en la


empresa CUBOXTI.

Objetivo General
Implementación de un servidor VPN en la empresa CUBOXTI utilizando software libre.

Objetivos específicos
- Instalar y configurar OpenVPN en el servidor
- Generar certificado del servidor
- Generar clave del servidor
- Generar claves clientes para control de acceso al servidor.

Justificación
La poca seguridad que existe en internet respecto a la información que se envía de una
computadora a otra es muy poca, sin embargo existen medidas que reducen la amenaza
que esto representa para las grandes y pequeñas empresas que se comunican a través de
internet.
Un servidor VPN ofrece un canal más confiable y seguro para compartir información
entre las sucursales de una empresa.
En la empresa CUBOXTI no cuentan con un servidor de este tipo y ya que la cantidad de
información intercambiada entre una sucursal y otra es significativa la implementación de
un servicio de este tipo en la compañía es de suma importancia para asegurar que nadie
en el camino pueda robar dicha información y pueda poner en peligro los intereses de la
compañía y la privacidad de los clientes.
Información de la empresa
Cuboxti Tecnología e Informática es una empresa 100% Tapachulteca creada en el año
2013, cuya misión es contribuir al desarrollo tecnológico e informático de la zona de
Chiapas y región Soconusco.
Fundada por jóvenes emprendedores, con el objetivo de satisfacer las necesidades de
las empresas en el ámbito tecnológico e informático.

Misión
Empresa prestadora de servicios informáticos y tecnológicos, como son el soporte
técnico a equipos de cómputo y el desarrollo de páginas y sistemas web a la medida de las
necesidades de cada cliente, todo esto y más para poder satisfacer las necesidades de
cada cliente.

Visión
Ser una de las mejores empresas en el ramo de las tecnologías de información
innovando y realizando productos y/o servicios con la mejor calidad y profesionalismo que
el cliente requiera.

Valores
- Calidad de servicio
- Profesionalismo
- Honradez
Organigrama
Macro y micro localización
Macro localización
Micro localización
La empresa se encuentra ubicada en la 2ª Oriente #30 Local B entre 5ª Sur y 5ª Privada Sur
Col. Centro

Alcance
La implementación de este servidor permitirá la conexión remota entre dos sucursales,
permitiendo el intercambio seguro de datos a través de internet.

Limitaciones
No se cuenta con un servidor donde instalar el servicio por lo que será necesario la
adquisición de una máquina por parte de la empresa.
Problemas a resolver
Aumentar la seguridad y confianza de la compañía y de los clientes en el envío seguro
de información entre sucursales

Marco Teórico
Introducción a las redes privadas virtuales.
Una Red Privada Virtual, VPN del inglés Virtual Private Network, es una red, construida
sobre la infraestructura de una red pública, que permite a usuarios remotos comunicarse
de forma transparente y segura. Tal y como indica su nombre, es privada dado que
garantiza la privacidad en sus comunicaciones, y virtual porque se implementa sobre la
infraestructura de redes públicas (por ejemplo, Internet).
Las conexiones VPN permiten a los usuarios acceder, desde casa o desde un punto
remoto, al servidor de su organización a través de la infraestructura de encaminamiento
que proveen las redes públicas. Desde el punto de vista del usuario, la conexión VPN es
una conexión punto a punto entre su ordenador y el servidor de la organización. La
naturaleza de las redes intermedias es irrelevante para el usuario, ya que, para él, los
datos son enviados como si hubiera un enlace dedicado hasta el servidor. La tecnología
VPN también permite a las empresas conectar con sus filiales, o con otras empresas, a
través de la infraestructura de redes públicas, ofreciendo comunicaciones seguras.
También en este caso, la conexión aparece al usuario como si se estableciera en una red
privada. Por tanto, las redes privadas virtuales intentan dar soluciones principalmente a
problemas tales como:
− El acceso remoto a la red de la empresa.
− La interconexión de múltiples sitios remotos.
− Establecimiento de conexiones seguras.
Requerimientos para implementar una VPN
Para realizar correctamente la implementación de una red VPN es necesario:
- Tener conexión a internet
- Contar con un servidor VPN
- Al menos un cliente VPN
- Asegurarse que la red sea capaz: encapsular y encriptar datos, autentificar usuarios
y asignar IPs de manera estática o dinámica.

Ventajas de una VPN


A través de las VPN se crea una conexión segura a redes corporativas, por medio de
dispositivos móviles como pueden ser una laptop, un teléfono celular o un PDA, dentro de
ellos se debe considerar la tasa de transferencia y la capacidad de procesamiento, la
mayor ventaja de las VPN es la conectividad y la movilidad para los usuarios.
Al implementar una VPN, existen cuatro aspectos fundamentales que deben ser
considerados: costo, desempeño, confianza y seguridad. La seguridad es el elemento
fundamental ya que sin ésta los otros elementos pueden ser inútiles; no importa que tan
barata, rápida y confiable sea una red, sin la seguridad adecuada, los riesgos pesarán más
que los beneficios.
- Costos: Ahorran grandes sumas de dinero en líneas dedicadas o enlaces físicos,
reduce el costo del servicio de comunicación o del ancho de banda de transporte, y
también el de la infraestructura y operación de las comunicaciones.
- Flexibilidad: Se puede optar por múltiples tecnologías o proveedores de servicio.
Esa independencia posibilita que la red se adapte a los requerimientos de los
negocios, y se puede elegir el medio de acceso más adecuado.
- Mejor administración: Cada usuario que se conecta puede tener un número de IP
fijo asignado por el administrador, lo que facilita algunas tareas como por ejemplo
mandar impresiones remotamente, aunque también es posible asignar las
direcciones IP dinámicamente si así se requiere.
- Facilidad para los usuarios con poca experiencia para conectarse a grandes redes
corporativas transfiriendo sus datos de forma segura.
- Implementación rápida: La flexibilidad de esta arquitectura permite implementar
nuevos servicios de manera muy rápida, que concuerdan con los tiempos del
negocio de las empresas.
- Escalabilidad: El desarrollo masivo de redes como internet permite que la empresa
tenga puntos de presencia en todo tipo de lugares. Por otro lado, la independencia
con respecto a la tecnología de acceso posibilita escalar el ancho de banda de la
red.

Tunneling
Internet se construyó desde un principio como un medio inseguro. Muchos de los
protocolos utilizados hoy en día para transferir datos de una máquina a otra a través de la
red carecen de algún tipo de cifrado o medio de seguridad que evite que nuestras
comunicaciones puedan ser interceptadas o espiadas. Eso supone un grave problema, en
todas aquellas situaciones en las que queremos transferir información sensible como la
nómina de una empresa o una cuenta de usuario (nombre de usuario y contraseña), y no
tengamos un control absoluto sobre la red.
El problema de los protocolos que envían sus datos en claro, es decir, sin cifrarlos, por
lo que cualquier persona que tenga acceso físico a la red en la que se sitúan nuestras
máquinas puede ver dichos datos. Es tan simple como utilizar un sniffer, que básicamente,
es una herramienta que pone nuestra tarjeta de red en modo promiscuo (modo en el que
las tarjetas de red operan aceptando todos los paquetes que circulan por la red a la que se
conectan, sean o no para esa tarjeta). De este modo, alguien que conecte su máquina a
una red y arranque un sniffer recibirá y podrá analizar por tanto todos los paquetes que
circulen por dicha red. Si alguno de esos paquetes pertenece a un protocolo que envía sus
comunicaciones en claro, y contiene información sensible, dicha información se verá
comprometida. Si por el contrario, ciframos nuestras comunicaciones con un sistema que
permita entenderse sólo a las dos máquinas que queremos sean partícipes de la
comunicación, cualquiera que intercepte desde una tercera máquina nuestros paquetes,
no podrá hacer nada con ellos, al no poder descifrar los datos.
Una forma de evitar el problema que no atañe, sin dejar por ello de utilizar todos
aquellos protocolos que carezcan de medios de cifrado, es usar una útil técnica llamada
tunneling.
Básicamente, esta técnica consiste en abrir conexiones entre dos máquinas por medio
de un protocolo seguro, como puede ser un Intérprete de Ordenes Seguras (Secure Shell
(SSH)), a través de las cuales realizaremos las transferencias inseguras, que pasarán de
este modo a ser seguras.

Arquitectura de conexión de una VPN


VPN de acceso remoto
Es quizás el modelo más usado actualmente, y consiste en usuarios o proveedores que
se conectan con la empresa desde sitios remotos (oficinas comerciales, domicilios,
hoteles,
aviones preparados, etcétera) utilizando Internet como vínculo de acceso. Una vez
autenticados tienen un nivel de acceso muy similar al que tienen en la red local de la
empresa.
Muchas empresas han reemplazado con esta tecnología su infraestructura dial-up
(módems y líneas telefónicas).

VPN punto a punto


Este esquema se utiliza para conectar oficinas remotas con la sede central de la
organización.
El servidor VPN, que posee un vínculo permanente a Internet, acepta las conexiones vía
Internet provenientes de los sitios y establece el túnel VPN. Los servidores de las
sucursales se conectan a Internet utilizando los servicios de su proveedor local de
Internet, típicamente
mediante conexiones de banda ancha. Esto permite eliminar los costosos vínculos punto a
punto tradicionales (realizados comúnmente mediante conexiones de cable físicas entre
los
nodos), sobre todo en las comunicaciones internacionales. Es más común el siguiente
punto, también llamado tecnología de túnel o tunneling.

VPN over LAN


Este esquema es el menos difundido pero uno de los más poderosos para utilizar
dentro de la empresa. Es una variante del tipo "acceso remoto" pero, en vez de utilizar
Internet como medio de conexión, emplea la misma red de área local (LAN) de la empresa.
Sirve para aislar zonas y servicios de la red interna. Esta capacidad lo hace muy
conveniente para mejorar las prestaciones de seguridad de las redes inalámbricas (WiFi).
Un ejemplo clásico es un servidor con información sensible, como las nóminas de
sueldos, ubicado detrás de un equipo VPN, el cual provee autenticación adicional más el
agregado del cifrado, haciendo posible que sólo el personal de recursos humanos
habilitado pueda acceder a la información.
Otro ejemplo es la conexión a redes WIFI haciendo uso de túneles cifrados IPSEC o SSL
que además de pasar por los métodos de autenticación tradicionales (WAP, WEP,
MAcaddress, etc.) agregan las credenciales de seguridad del túnel VPN creado en la LAN
internas o externas.

Tipos de conexión de una VPN


Conexión de acceso remoto
Una conexión de acceso remoto es realizada por un cliente o un usuario de una
computadora que se conecta a una red privada, los paquetes enviados a través de la
conexión VPN son originados al cliente de acceso remoto, y éste se autentifica al servidor
de acceso remoto, y el servidor se autentifica ante el cliente.

Conexión VPN router a router


Una conexión VPN router a router es realizada por un router, y este a su vez se conecta
a una red privada. En este tipo de conexión, los paquetes enviados desde cualquier router
no se originan en los routers. El router que realiza la llamada se autentifica ante el router
que responde y este a su vez se autentica ante el router que realiza la llamada y también
sirve para la intranet.

Conexión VPN firewall a firewall


Una conexión VPN firewall a firewall es realizada por uno de ellos, y éste a su vez se
conecta a una red privada. En este tipo de conexión, los paquetes son enviados desde
cualquier usuario en Internet. El firewall que realiza la llamada se autentifica ante el que
responde y éste a su vez se autentifica ante el llamante.

Modelo OSI
Las soluciones VPN se pueden implementar en varios niveles del modelo OSI. Las
soluciones VPN de tipo hardware operan a nivel de capa física y soluciones VPN de tipo
software operan en el resto de las capas del modelo OSI.
Las soluciones de hardware suelen ofrecer mejor desempeño y facilidad de
configuración, aunque no tienen la flexibilidad de las versiones por software. Dentro de
esta familia tenemos a los productos de Nortel, Cisco, Linksys, Netscreen, Symantec,
Nokia, US Robotics, D-link, entre otros.
Las soluciones por software son más configurables y versátiles ante problemas de
interoperatividad y manejo de versiones. Obviamente el rendimiento pudiera ser menor y
la configuración requiere más dedicación porque se suma el sistema operativo y la
seguridad del equipo en general.

Protocolos VPN
SLIP
Serial Line IP (SLIP), fue ideado por Rick Adams en 1984 para conectar las estaciones de
trabajo de la compañía Sun Microsystems a Internet a través de una línea dial-up
utilizando un módem (punto-a-punto) (Tanenbaum, 1996). Básicamente, envía los
paquetes IP crudos por la línea, con un byte especial como bandera al final para enmarcar
el paquete. Si el byte bandera se ocurre dentro del paquete IP, se utiliza un carácter de
relleno, y una secuencia de dos bytes es enviada en su lugar. Algunas implementaciones
del SLIP fijan un carácter bandera tanto al inicio como al final de cada paquete IP enviado.
Aunque es ampliamente usado, SLIP tiene algunos problemas serios. Primero, no posee
ningún mecanismo de detección o corrección de errores; segundo, sólo soporta IP como
leguaje base; tercero, no provee ninguna forma de autenticación; y cuarto, SLIP no es un
estándar aprobado, en consecuencia existen muchas versiones diferentes, lo que dificulta
las interconexiones. Opera a nivel de capa 2 (enlace de datos).

L2F
El protocolo L2F fue desarrollado por Cisco Systems y tiene como objetivo proporcionar
un mecanismo de tunneling para el transporte de tramas a nivel de enlace (HDLC, PPP,
SLIP, etc.). El proceso de tunneling involucra tres protocolos diferentes: Protocolo
transportado, protocolo encapsulador y protocolo portador. (Mendillo 2008).
El protocolo transportador representa el protocolo de nivel superior que debe
encapsularse (PPP, SLIP, etc). A continuación, el protocolo encapsulador indica el
protocolo que será empleado para la creación, mantenimiento y destrucción del túnel de
comunicación. En este caso, el protocolo encapsulador será L2F. Por último, el protocolo
portador será el encargado de realizar el transporte de todo el conjunto.
Por lo general, este protocolo suele ser IP, dadas sus capacidades de enrutamiento, su
acople a los diferentes medios y su estandarización dentro del ámbito de Internet.
Entre las principales ventajas que ofrece el protocolo L2F, cabe destacar el soporte
multiprotocolo, la multiplexación de múltiples sesiones remotas (minimizando el número
de túneles abiertos en un momento dado), y la gestión dinámica de los túneles, en la cual
los recursos de los servidores de acceso a la red se minimizan al iniciar los túneles
únicamente cuando existe tráfico de usuario. Además, por cada túnel L2F establecido, el
proceso de seguridad genera una clave aleatoria como medida de prevención ante
posibles ataques basados en falsificación de la fuente (spoofing). A su vez, en el interior de
los túneles, cada una de las sesiones multiplexadas mantiene un número de secuencia
para evitar problemas debidos a la duplicidad de paquetes. Opera a nivel de capa 2
(enlace de datos).

PPTP
Point to Point Tunneling Protocol (PPTP) es un protocolo de red, creado por Microsoft
que permite la realización de transferencias seguras desde clientes remotos a servidores
emplazados en redes privadas, empleando para ello tanto líneas telefónicas conmutadas
como Internet.
En el escenario típico de PPTP, el cliente establece una conexión a través de una línea
telefónica dial-up con el servidor de acceso a red (NAS) del proveedor del servicio,
empleando para ello el protocolo PPP.
Una vez conectado, el cliente establecerá una segunda conexión con el servidor PPTP el
cual está situado en la red privada. Dicho servidor es utilizado como intermediario de la
conexión, recibiendo los datos del cliente externo y transmitiéndolos al correspondiente
destino en la red privada.
PPTP encapsula los paquetes PPP en datagramas IP. Una vez que los datagramas llegan
al servidor PPTP, son desensamblados con el fin de obtener el paquete PPP y
desencriptados de acuerdo al protocolo de red transmitido. PPTP soporta los protocolos
de red IP, IPX, y NetBEUI. Se utiliza una versión modificada del Generic Routing
Encapsulation (GRE) para encapsular los paquetes PPP como datos para el túnel, de forma
que estos puedan viajar cifrados y comprimidos. Opera a nivel de capa 2 (enlace de datos).

L2TP
Layer 2 Tunneling Protocol (L2TP), es un protocolo de túnel en capa 2 y es el resultado
de la combinación de los protocolos L2F y PPTP. Permite la creación de túneles a través de
una gran variedad de tipos de redes (IP, SONET, ATM) para el transporte de tráfico PPP.
Los túneles L2TP pueden llevarse a cabo tanto en redes públicas IP como en redes
privadas. Esto provoca que tanto los paquetes de control como los paquetes de datos
sean vulnerables frente a posibles ataques como negación de servicio, modificaciones, o
incluso interceptación de los procesos de negociación de la encriptación (ECP) y de la
compresión (CCP) con el fin de provocar la supresión de los mecanismos de
confidencialidad o en su caso, obtener el acceso a las contraseñas de los usuarios.
Para evitar todas estas posibles situaciones, el protocolo de seguridad debe
proporcionar autenticación así como mecanismos para asegurar la integridad y la
protección de los paquetes de control, además de la confidencialidad de todos los
paquetes. Para poder alcanzar este nivel, es que usualmente se utiliza L2TP
conjuntamente con IPSec. No dispone de mecanismos para generación automática de
claves. Opera a nivel de capa 2 (enlace de datos).

SSH
Secure Shell (SSH), se usa frecuentemente para crear el túnel de tráfico TCP/IP
complementado con el protocolo PPP. Es principalmente utilizado para el acceso remoto a
computadoras Unix, aunque también es utilizado para realizar transferencias de archivos.
SSH opera a nivel de capa 7 (aplicación).

TLS
Transport Layer Security (TLS), en español Seguridad para Capa de Transporte, es la
versión estándar de la IETF del protocolo SSL que pretende abarcar la capa de transporte
del modelo OSI. TLS no soporta el algoritmo Fortezza, que es un algoritmo utilizado por el
gobierno norteamericano en dispositivos como tarjetas PCMCIA para laptops. A pesar de
mejorar SSL y de ser público, TLS no ha tenido la aceptación que se esperaba, en cambio
SSL goza de gran popularidad, por lo que se encuentra ampliamente extendido en
Internet.
El mensaje que finaliza el protocolo handshake (saludo) envía un hash de todos los
datos intercambiados y vistos por ambas partes. También se puede ejecutar sobre el
protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. Opera a
nivel de capa 7 (aplicación).

IPSec
Internet Protocol Security. (IPSec), es decir Seguridad de Protocolo de Internet, es un
conjunto de estándares para integrar en IP funciones de seguridad basadas en
criptografía. Proporciona confidencialidad, integridad y autenticidad de datagramas IP,
combinando tecnologías de clave pública (RSA), algoritmos de cifrado (DES, 3DES, AES),
algoritmos de hash (MD5, SHA-1) y certificados digitales X509.
El protocolo IPSec ha sido diseñado en forma modular, de modo que se pueda
seleccionar el conjunto de algoritmos deseados sin afectar a otras partes de la
implementación. Han sido definidos, sin embargo, ciertos algoritmos estándar que
deberán soportar todas las implementaciones para asegurar la interoperabilidad. Dichos
algoritmos de referencia son DES, 3DES y AES para cifrado, así como MD5 y SHA-1, para
funciones hash. Además es perfectamente posible usar otros algoritmos que se
consideren más seguros o más adecuados para un entorno específico. (Mendillo 2008).
Dentro de IPSec se distinguen los siguientes componentes:

- Dos protocolos de seguridad: IP Authentication Header (AH) e IP Encapsulating


Security Payload (ESP) que proporcionan mecanismos de seguridad para proteger
tráfico IP.
- Un protocolo de gestión de claves Internet Key Exchange (IKE) que permite a dos
nodos negociar las claves y todos los parámetros necesarios para establecer una
conexión AH o ESP.

Protocolo AH
El protocolo Authentication Header (AH), es el procedimiento previsto dentro de IPSec
para garantizar la integridad y autenticidad de los datagramas IP. Esto es, proporciona un
medio al receptor de los paquetes IP para autenticar el origen de los datos y para verificar
que dichos datos no han sido alterados en tránsito. Sin embargo no proporciona ninguna
garantía de confidencialidad, es decir, los datos transmitidos pueden ser vistos por
terceros. Tal como indica su nombre, AH es una cabecera de autenticación que se inserta
entre la cabecera IP estándar (tanto IPv4 como IPv6) y los datos transportados, que
pueden ser un mensaje TCP, UDP o ICMP, o incluso un datagrama IP completo.
El funcionamiento de AH se basa en un algoritmo HMAC, un código de autenticación de
mensajes. (Mendillo 2008).
El protocolo funciona de la siguiente manera, el emisor calcula el hash original, el cual
se copia en uno de los campos de la cabecera AH. El paquete así construido se envía a
través de la red. En el extremo receptor se calcula igualmente el hash y se compara con el
recibido en el paquete. Si son iguales, el receptor tiene la seguridad de que el paquete IP
no ha sido modificado en tránsito y que procede efectivamente del origen esperado.
El hash tiene la intención de impedir el ataque de “hombre en el medio”, el cual
consiste en que un tercero puede interceptar los datos provenientes de ambos extremos y
usurpar las identidades de los extremos.

Protocolo ESP
El objetivo principal del protocolo ESP es proporcionar confidencialidad y para ello
especifica el modo de cifrar los datos que se desean enviar y cómo este contenido cifrado
se incluye en un datagrama IP. Adicionalmente, puede ofrecer los servicios de integridad y
autenticación del origen de los datos incorporando un mecanismo similar al de AH.
Dado que ESP proporciona más funciones que AH, el formato de la cabecera es más
complejo; este formato consta de una cabecera y una cola que rodean los datos
transportados. Dichos datos pueden ser cualquier protocolo IP. El IANA ha asignado al
protocolo ESP el número decimal 50. Esto implica que el campo Protocolo de la cabecera
IP contendrá el valor 50, mientras que dentro del mensaje ESP se indica la naturaleza de
los datos. Puesto que este campo, al igual que la carga útil, está cifrado, un hipotético
atacante que intercepte el paquete no podrá entender su contenido ni identificar si es TCP
o UDP; esto es completamente normal, ya que el objetivo que se persigue es,
precisamente, ocultar la información.
El protocolo funciona de la siguiente manera, el emisor toma el mensaje original, lo
cifra, utilizando una clave determinada, y lo incluye en un paquete IP, a continuación de la
cabecera ESP. Durante el tránsito hasta su destino, si el paquete es interceptado por un
tercero sólo obtendrá un conjunto de bits ininteligibles. En el destino, el receptor aplica de
nuevo el algoritmo de cifrado con la misma clave, recuperando los datos originales. Está
claro que la seguridad de este protocolo reside en la robustez del algoritmo de cifrado, es
decir, que un atacante no puede descifrar los datos sin conocer la clave, además la clave
ESP la conocen únicamente el emisor y el receptor.

Modos de funcionamiento IPSec


El diseño de IPSec plantea dos modos de funcionamiento para sus protocolos:
transporte y túnel. IPSec puede ser implementado bien en un host o bien en un equipo
dedicado, tal como un router o un firewall, que cuando realiza esta función se denomina
gateway IPSec.
Modo Transporte. Se aplica a nivel de host. En este modo el contenido transportado
dentro del datagrama AH o ESP son datos de la capa de transporte (por ejemplo, datos
TCP o UDP). Por tanto, la cabecera IPSec se inserta inmediatamente a continuación de una
nueva cabecera IP y antes de los datos de los niveles superiores que se desean proteger. El
modo transporte se cifra la comunicación extremo a extremo, pero requiere que ambos
extremos entiendan el protocolo IPSec. En el modo transporte se altera la cabecera IP. Un
ejemplo de esto lo constituyen dos máquinas que intercambien una información
específica, máquina de una oficina y máquina de una casa.
Modo túnel. El cifrado se efectúa únicamente entre los routers de acceso. En este caso
la información viaja no cifrada en la red local.
Sin embargo el modo túnel tiene la ventaja de que permite incorporar la seguridad sin
necesidad de incorporar IPSec en los hosts finales y no altera la cabecera IP. Su
implantación es bastante sencilla.
En modo túnel se protege la parte más expuesta del trayecto, que corresponde
precisamente a la infraestructura pública o del operador.
El modo túnel es empleado principalmente por los gateways IPSec, con objeto de
identificar la red que protegen bajo una misma dirección IP y centralizar de este modo el
procesado del tráfico IPSec en un equipo. El modo túnel también es útil cuando se utiliza
junto con ESP, para ocultar la identidad de los nodos que se están comunicando. Otra
aplicación del modo túnel, tanto con ESP como con AH, es poder establecer Redes
Privadas Virtuales a través de redes públicas, es decir, interconectar de forma segura
redes de área local.

SSL
El protocolo Secure Socket Layer (SSL), permite establecer conexiones seguras a través
de Internet, de forma sencilla y transparente.
Uno de los mecanismos de autenticación soportados por SSL es el MAC (Message
Autenthication Code), donde se usa un algoritmo el cual, a partir del mensaje y una clave
secreta compartida, produce una huella digital llamada precisamente MAC. Las funciones
MAC son similares a las funciones hash, con la diferencia que utilizan adicionalmente una
clave secreta. De esta manera se evita el ataque de un hombre en el medio que intercepte
el mensaje, lo modifique, recalcule el hash y envíe todo al destinatario. El receptor, que
posee la clave compartida, puede recalcular el MAC sobre el mensaje recibido y verificar si
el valor así obtenido coincide con el valor del MAC recibido. En SSL el MAC se calcula
concatenando los datos con un número de secuencia y un número secreto pre-establecido
compartido por el cliente y el servidor.
Durante el proceso de comunicación segura mediante SSL, existen dos estados
fundamentales: el estado de sesión y el estado de conexión. A cada sesión se le asigna un
número identificador arbitrario, elegido por el servidor, un método de compresión de
datos, una serie de algoritmos de encriptación y funciones hash, una clave secreta y un
flag de nuevas conexiones, que indica si desde la sesión actual se pueden establecer
nuevas conexiones. Cada conexión incluye un número secreto para el cliente y otro para el
servidor, usados para calcular los MAC de sus mensajes, una clave secreta de encriptación
particular para el cliente y otra para el servidor, unos vectores iniciales en el caso de
cifrado de datos en bloque y unos números de secuencia asociados a cada mensaje.
Previamente al establecimiento la conexión SSL, el cliente y el servidor intercambian
una serie de mensajes (handshake).
Fase de saludo: es usada para ponerse de acuerdo sobre el conjunto de algoritmos
para mantener la confidencialidad y para la autenticación. El cliente inicia la conexión
enviando un mensaje ClientHello al servidor en el cual proporciona un cipher suite (lista
de los algoritmos de cifrado, autenticación y compresión que puede manejar). El servidor
responde con un mensaje de saludo ServerHello en el que informa cuáles algoritmos
fueron seleccionados. Normalmente se utilizarán los más fuertes que puedan manejar
ambas partes.

Fase de autenticación: en la que el servidor envía eventualmente al cliente su


certificado que contiene su clave pública y solicita a su vez al cliente su certificado (sólo si
la aplicación exige la autenticación de cliente). El tipo de certificado debe ser el apropiado
para el algoritmo de clave pública acordado entre el cliente y el servidor (RSA, Diffie-
Hellman, DSS). Usualmente es del tipo X.509.v3. Aunque SSL provee esta opción, es
común que el cliente no posea un certificado. Por tal razón a menudo sólo se exige que el
usuario envíe su nombre y contraseña cifrados.
Fase de creación de clave: el cliente envía al servidor la clave de sesión (un número
aleatorio) a partir de la cual ambos extremos cifrarán los datos que van intercambiar,
haciendo uso del algoritmo de cifrado acordado previamente. El cliente, utilizando el
algoritmo RSA, envía cifrada esta clave usando la clave pública (Ks, Ksesión) del servidor,
que extrajo de su certificado. Otra forma de generar la clave de sesión es mediante el
algoritmo DH (Diffie-Hellman) en vez de RSA.

Fase final: el cliente envía un extracto (hash) cuyos argumentos son la clave de sesión y
todos los mensajes anteriores intercambiados entre él y el servidor. El propósito de este
mensaje es probar que el cliente conoce la clave de sesión y garantizar la integridad de la
información cursada entre él y el servidor. El servidor con su clave privada descifra la clave
de sesión. Ahora tanto el cliente como el servidor disponen de una clave secreta con la
cual proteger criptográficamente la comunicación entre ambos. Al igual que lo hizo el
cliente, el servidor envía un extracto cuyos argumentos son la clave de sesión y todos los
mensajes, anteriores intercambiados entre ambos. Este mensaje permite probar que el
servidor conoce la clave de sesión y garantiza la integridad de la información cursada
entre él y el cliente.
Finalmente se dispone de un túnel, es decir de canal seguro sobre una red pública y
abierta como puede ser Internet.
SSL proporciona sus servicios de seguridad cifrando los datos intercambiados entre el
servidor y el cliente con un algoritmo de cifrado simétrico, que puede elegirse entre
DES,triple-DES, AES, RC2, RC4 o IDEA y cifrando la clave de sesión usada en esos
algoritmos mediante una técnica de cifrado de clave pública, típicamente RSA. Se genera
una clave de sesión distinta para cada transacción, lo cual permite que aunque sea
descubierta por un atacante en una transacción dada, no sirva para descifrar futuras
transacciones. Mediante MD5 (Message Digest 5) o SHA (Secure Hash Algorithm) se
convierte un mensaje de longitud arbitraria en un número reducido y fijo de bits (ej. 128 o
160) efectuando un resumen o digesto. Este resumen equivale a una huella digital del
mensaje y al cifrarse con la clave privada, se convierte en firma digital, que se añade al
mensaje y garantiza su integridad, autenticidad y no repudio.
SSL a diferencia de otros protocolos para comunicaciones seguras, se ubica en el
modelo OSI entre los niveles de transporte (TCP/IP) y de aplicación (donde se encuentran
los conocidos protocolos HTTP para Web, FTP para transferencia de archivos, SMTP para
correo electrónico, Telnet para conexión a máquinas remotas, etc.). (Mendillo 2008)

OpenVPN
OpenVPN es una solución de conectividad basada en software, una utilidad de código
abierto (está publicado bajo la licencia GPL, de software libre) para soluciones SSL/TLS
VPN. Fue creado por James Yonan en el año 2001 y ha estado siendo mejorado desde
entonces. OpenVPN ofrece conectividad punto a punto con validación jerárquica de
usuarios y host conectados remotamente, además de una amplia gama de configuraciones
VPN basadas en SSL/TLS, incluyendo acceso remoto, LAN to LAN VPN, seguridad para Wi-
Fi (redes inalámbricas bajo estándar IEEE 802.11), soluciones de balanceo de carga,
respuesta ante fallos y diferentes técnicas de control de acceso. Partiendo de una premisa
muy importante en los sistemas de seguridad: “la complejidad es el enemigo de la
seguridad”, OpenVPN ofrece, con un bajo coste efectivo, una alternativa a otras
tecnologías VPN orientadas para las PYMEs y empresas del mercado. OpenVPN tiene
asignado y reservado el puerto 1194 de manera oficial por la IANA. La facilidad de uso de
OpenVPN ha simplificado mucho la configuración de las VPN y arroja a la basura muchas
de las complejidades que caracterizan a otras implementaciones de VPN, como por
ejemplo, la que más se va a mencionar por su importancia e influencia en el mercado,
IPSec, y ha hecho más accesible para la gente inexperta este tipo de tecnología. El modelo
de seguridad de OpenVPN está basado en la arquitectura SSL/TLS, que es el estándar
escogido actualmente por la industria para establecer comunicaciones seguras a través de
Internet.
Ventajas:
- Provee seguridad, estabilidad y comprobados mecanismos de cifrado sin sufrir la
complejidad de otras soluciones VPN como las de IPsec.
- Posibilidad de implementar dos modos básicos, en capa 2 o capa 3, con lo que se
logran túneles capaces de enviar información en otros protocolos no-IP como IPX o
broadcast (NETBIOS).
- Protección de los usuarios remotos. Una vez que OpenVPN ha establecido un túnel el
firewall de la organización protegerá el laptop remoto aun cuando no es un equipo de la
red local. Por otra parte, solo un puerto de red podrá ser abierto hacia la red local por el
remoto asegurando protección en ambos sentidos.
- Conexiones OpenVPN pueden ser realizadas a través de casi cualquier firewall. Si se
posee acceso a Internet y se puede acceder a sitios HTTPS, entonces un túnel OpenVPN
debería funcionar sin ningún problema.
- Soporte para proxy. Funciona a través de proxy y puede ser configurado para ejecutar
como un servicio TCP o UDP y además como servidor (simplemente esperando conexiones
entrantes) o como cliente (iniciando conexiones).
- Solo un puerto en el firewall debe ser abierto para permitir conexiones, dado que
desde OpenVPN 2.0 se permiten múltiples conexiones en el mismo puerto TCP o UDP.
- Las interfaces virtuales (tun0, tun1, etc.) permiten la implementación de reglas de
firewall muy específicas.
- Todos los conceptos de reglas, restricciones, reenvío y NAT10 pueden ser usados en
túneles OpenVPN.
- Alta flexibilidad y posibilidades de extensión mediante scripting. OpenVPN ofrece
numerosos puntos para ejecutar scripts individuales durante su arranque.
- Soporte transparente para IPs dinámicas. Se elimina la necesidad de usar direcciones
IP estáticas en ambos lados del túnel.
- Ningún problema con NAT. Tanto los clientes como el servidor pueden estar en la red
usando solamente IPs privadas.
- Instalación sencilla en cualquier plataforma. Tanto la instalación como su uso son
increíblemente simples.
- Diseño modular. Se basa en un excelente diseño modular con un alto grado de
simplicidad tanto en seguridad como red.
Desventajas:
- No tiene compatibilidad con IPsec que justamente es el estándar actual para
soluciones VPN.

Servidor VPN
Instalación de OpenVPN
1. Ejecutar el instalador con privilegios de administrador
2. Hacer clic en “Next” para continuar:

3. Aceptar los Términos y condiciones del software para poder hacer uso del mismo.
Hacer clic en “I Agree”:
4. Asegurarse de seleccionar todas la casillas de la figura x.x. Hacer clic en “Next”
para continuar:

5. En el siguiente paso, hay que especificar la ruta de instalación personalizada o


dejar la que aparece por defecto y hacer clic en “Next”:
6. Esperar el proceso de desempaquetado e instalación…

7. En el siguiente paso es importante aceptar la instalación del controlador TAP para


el adaptador de red virtual. Hacer clic en “Instalar” para continuar.
8. Finalizada la instalación, hacer clic en “Next” para terminar.

9. En seguida hacer clic en “Terminar” para salir del instalador y continuar con la
configuración del servidor.
Configuración del Servidor OpenVPN
Generar la Clave/Certificado del Master Certificate Authority (CA).
1. Ejecutar la consola de Windows como administrador.
2. Iniciada la consola, cambiar la ruta al directorio “C:\Program Files\OpenVPN\easy-
rsa”
3. Ejecutar el siguiente comando para copiar los archivos de configuración en la
carpeta actual.

4. Enseguida escribir los siguientes comandos uno por uno para empezar a crear el
Par Certificado/Clave de la CA:
vars
clean-all
build-ca
5. Llenar la información requerida con los siguientes datos, es importante no olvidar
el apartado “Common Name” ya que este servirá para la generación de las llaves
clientes:
Country Name: MX
State or Province Name: CHIAPAS
Locality Name: TAPACHULA
Organization Name: CUBOXTI
Organizational Unit Name: CUBOXTI
Common Name: CUBOX_VPN
Name: CUBOX_VPN
Email Address: [email protected]

Archivos generados:
- ca.crt: fichero correspondiente al certificado público del CA.
- ca.key: fichero correspondiente a la clave privada de la CA, la cual debe
mantenerse protegida ya que es la clave más importante de toda la PKI.

Crear la Clave/Certificado del Servidor.


Los pasos para crear la clave privada y el certificado público del servidor son similares a los
pasos seguidos para crear el mismo par para la CA.
1. Enseguida se crea la llave del servidor y se asigna un nombre al mismo con el
siguiente comando:
build-key-server cubox-vpn

2. La información introducida fue la siguiente:


Country Name: MX
State or Province Name: CHIAPAS
Locality Name: TAPACHULA
Organization Name: CUBOXTI
Organizational Unit Name: CUBOXTI
Common Name: SERVIDOR-VPN
Name: SERVIDOR-VPN
Email Address: [email protected]
3. Introducidos los datos anteriores, se solicita una contraseña para el certificado y
un nombre de compañía opcional (puede quedar vacío):

4. Para finalizar el proceso, se responde “y” para aceptar firmar el certificado y


enseguida otro “y” para aceptar terminar con la creación de certificados.

Archivos generados:
- cubox-vpn.crt: fichero correspondiente al certificado público del servidor.
- cubox-vpn.key: fichero correspondiente a la clave privada del servidor, la
cual debe permanecer protegida.
- 01.pem: fichero correspondiente al certificado público del servidor en
formato PEM. El nombre del fichero proviene del número de serie del
certificado, el cual es 01.
- cubox-vpn.csr: este fichero sirve para poder crear el certificado del servidor
en otra máquina que pueda crearlo y firmarlo, ya que este fichero tiene
toda la información necesaria.

Crear la Clave/Certificado del Cliente.

Crear parámetros Diffie Hellman.


Los parámetros Diffie Hellman deben ser generados para el servidor OpenVPN. El
tamaño de estos parámetros dependerá del valor que le hayamos asignado a la
variable KEY_SIZE en el script vars (lo normal es utilizar un tamaño de 1024 bits o
2048 bits). En este proyecto se ha utilizado un tamaño para los parámetros Diffie
Hellman de 1024 bits.
Los parámetros Diffie Hellman se utiliza para poder realizar el intercambio de una
clave entre dos participantes de manera segura. Para ello se realizan una serie de
funciones matemáticas que utilizan estos parámetros y que garantizan que solo los
dos participantes conocerán la clave una vez se realice todo el proceso y funciones
matemáticas.

1. En la consola de Windows ejecutar los siguientes comando uno por uno:


vars
build-dh
Archivos generados:
- dh1024.pem

Costos de implementación
Considerando las necesidades del proyecto, se recomienda que el equipo servidor sea un
equipo ensamblado por ser más económico y permitir mayor y más fácil escalabilidad.

Se muestra a continuación una recomendación para la adquisición de las diferentes


piezas:

Accesorio Descripción Cantidad Precio


Acteck Kiruna AC-05008 con
Gabinete 1 $560.00
fuente 500w atx/micro atx negro
Western Digital Caviar Blue 3.5”
Disco duro 1 $889.00
1TB, 7200RPM, 64MB caché
Memoria RAM Kingston DDR4, 2133MHz, 8GB 1 $2079.00
Interfaz de red TP-LINK Gigabit PCIe Tg-3468 2 $398.00
Tarjeta madre Gigabyte ATX GA-B250-HD3 1 $1819.00
Intel Core i3-7100, 3.90GHz, Dual-
Procesador 1 $2169.00
Core (7ma. Gen.)
Monitor Vorago LED-W15-200 15.6” 1 $1129
Ventilador Acteck para gabinete, 9cm 2 $110
Kit Vorago Teclado y mouse KM-
Teclado y mouse 1 $205.00
105, Alambrico
Lector CD/DVD HP DVD Player 624189-B21 SATA 1 $719.00
Manhattan 701662, -30 -180 °C,
Pasta térmica 1 $58.00
1.5 Gramos
Total $10,135.00
**Precios consultados en línea en mipc.com.mx y ciberpuerta.mx en el 2017
Bibliografía.
1. OpenVPN (2017).OpenVPN:
http://openvpn.net
2. Andrew S. Tanenbaum. Redes de Computadoras. Cuarta Edición, México, 2003.
Pearson Prentice-Hall.
3. Feliner, Markus. OpenVPN. Building and Integrating Virtual Private Networks.
4. Scott, Charly, Wolfe, Paul, Erwin, Mike. Virtual Private Networks. Segunda Edición. Enero
1999. O’Reilly & Associates.
5. William Stallings. Comunicaciones y Redes de Computadoras. Séptima Edición, México,
2004. Pearson Prentice-Hall.
6. Feilnerr M. Open VPN Building and Integrating Virtual Private Networks. 2006.
Packt Publishing.
7. Behrouz A. Forouzan. Transmisión de datos y redes de comunicaciones. Cuarta
Edición, Madrid, España 2007. Mc. Graw Hill.
8. Tomás Ganovas J.J. Servicio VPN de acceso remoto basado en SSL mediante Open
VPN. Cartagena, 2008. Ganovas.
9. Herrera Pérez, Enrique. Tecnología y Redes de Transmisión de datos. Limusa.
México, 2003.

También podría gustarte