ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría....

125
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELECTRICA UNIDADAD CULHUACAN TESINA Seminario de Titulación: “Las tecnologías aplicadas en redes de computadoras” DES/ ESME-CU 5092005/11/2012 PROPUESTA DE IMPLEMENTACION DE UNA VPN Que como prueba escrita de su examen profesional para obtener el título de: Ingeniero en comunicaciones y electrónica Presentan: México D.F a 10 de Noviembre de 2012. ANDRES MONTES DE LOS SANTOS JOCELYN CAROLINA CORONA CARRION JORGE GONZÁLEZ BELTRÁN

Transcript of ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría....

Page 1: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELECTRICA

UNIDADAD CULHUACAN

TESINA

Seminario de Titulación:

“Las tecnologías aplicadas en redes de computadoras”

DES/ ESME-CU 5092005/11/2012

PROPUESTA DE IMPLEMENTACION DE UNA VPN

Que como prueba escrita de su examen profesional

para obtener el título de:

Ingeniero en comunicaciones y electrónica

Presentan:

México D.F a 10 de Noviembre de 2012.

ANDRES MONTES DE LOS SANTOS

JOCELYN CAROLINA CORONA CARRION

JORGE GONZÁLEZ BELTRÁN

Page 2: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

I

Page 3: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

II

Agradecimientos

A mi madre y amiga, una gran mujer que nunca ha estado detrás de mí, si no a mi lado

apoyándome en todo momento, gracias mama por tus consejos, por tu motivación

constante, tus valores y tu incomparable amor. A ti mami te dedico este trabajo de todo

corazón, porque no tengo palabras para agradecerte que eres la mejor mama del mundo.

A mi padre y amigo por creer en mí, por su apoyo incondicional, por sus sabios consejos,

por tu esfuerzo día a día para darme una de las mejores herencias. ¡Gracias!

A mi hermana por su apoyo y cariño incondicional. ¡Te Quiero hermana!

Amor gracias por tu paciencia, por tu apoyo, tus detalles, por todas las desveladas y

palabras de ánimo. ¡Te amo!

Debo agradecer de manera especial y sincera a la Maestra Diana por todo su apoyo y

consejos durante la carrera y por la dirección de esta tesis.

A mis compañeros Jorge y Andrés. Gracias por dejarme entrar en sus vidas

Finalmente, agradezco a toda mi familia y amigos, ya que de cada uno de ellos directa o

indirectamente he aprendido valiosas lecciones que forman parte de este logro.

¡Gracias a todos!

Ing. Jocelyn C. Corona Carrión

Page 4: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

III

A mis Padres, Andrés y Reyna, les gradezco su apoyo, su guía y su confianza en la

realización de mi carrera profesional. Soy afortunado por contar siempre con su amor y

comprensión. En todo momento los llevo conmigo, su esfuerzo no ha sido en vano, este

trabajo es suyo.

A mis Hermanas gracias por la compañía y el apoyo que me brindaron. Sé que

siempre cuento con ustedes en todo momento. Por sacrificar lujos que fueron para poder

desarrollarme como profesionista.

A mis compañeros de este proyecto, Jocelyn y Jorge, les agradezco por dejarme

trabajar con ustedes, aun que juntos pasamos momentos de tención y de alegría siempre

nos mantuvimos unidos en la realización de este trabajo.

Ing. Andrés Montes de los Santos

Page 5: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

IV

Recuerdo cuando tenía 14 años, estaba a punto de terminar la secundaria y todos

entusiasmados por elegir el siguiente camino. Al llenar las hojas para elegir mi siguiente

escuela, por mi inseguridad y tal vez dudar de mi propia capacidad, elegí como primera

opción el CETIS 1. Mi idea era terminar una carrera técnica y empezar a trabajar; quitarles

el peso de seguir manteniéndome a mis padres. Al estar a punto de entregar mis papeles,

aun recuerdo que había algo que me hacia estar inseguro en ese momento, dudaba de mis

propias decisiones. Fue ahí donde me arrepentí y pensé en las palabras de mi profesor

Eduardo, “si en verdad te gustan las matemáticas, deberías aspirar a algo mas, como el

Politécnico. Tu eres capaz de eso y más…”. Gracias a esto, tome mis papeles y en el

registro al examen del CENEVAL, cambie mi primera opción por el Politécnico. Fueron

varios días de angustia, pensando que sería una mala decisión, y al mismo tiempo

impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde

entonces mi camino estuvo lleno de éxito, y claro, sus debidos tropiezos. Las cosas no son

fáciles en la escalera de la vida. Me di cuenta que a base de sacrificios y de una decisión

firme se puede cumplir con tus objetivos. Le agradezco a la institución que confió en mí y

por darme la oportunidad de demostrarme a mí mismo mis capacidades, mis fortalezas, mis

habilidades y mis debilidades; a sus docentes que marcaron mi carácter y la forma que

concibo el mundo hoy en día, gracias POLITECNICO. Sin duda alguna el ser una persona

de éxito, es un reto que aun me persigue, y es por eso que hoy decidí concluir este ciclo y

poder lograr la titulación. Recuerdo todas esas peleas, gritos y miradas de desconfianza, que

me hicieron creer que realmente no podría concluir la carrera. Mi indecisión, apatía y

conformismo casi me alientan la escuela superior. Gracias a dos personas que nunca se han

alejado de mí, es que este sueño se ha hecho realidad. Esas personas que me han apoyado

en las buenas y en las malas y me han sabido dar ese pequeño empujón para continuar en el

camino. No me alcanzan las palabras para expresar el agradecimiento que siento y la

confianza que les tengo, pero hoy que este sueño llego a su manifiesto, debo abrir los

brazos y acogerlos fuertemente, sin antes decirles: “muchas gracias por todo, María y

Feliciano”. Gracias por aguantar a este hombre terco y testarudo. Siempre están conmigo en

cuerpo y alma. Gracias por ser mis padres, mis amigos y confidentes. Los amo de todo

corazón.

Ing. Jorge González Beltrán.

Page 6: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

V

Índice

Agradecimientos II

Índice de Imágenes VIII

Índice de Tablas IX

Introducción 1

Capítulo I. Introduccion a las Redes 5

1.1 Antecedentes 6

1.2 Historia de las redes 8

1.2.1 Organizaciones de estandarización 8

1.2.2 Red de Área Local. LAN 10

1.2.3 Redes de Área Amplia. WAN 10

1.3 Modelo OSI 10

1.4 Historia del internet 12

1.5 Implementaciones 15

Capítulo II. Redes Privadas Virtuales 16

2.1 Definición VPN 17

2.2 Ventajas de una VPN 18

2.3 Función de una VPN 19

2.4 Requerimiento básico de una VPN 20

2.5 Aplicaciones 21

2.6 Tunneling 21

2.7 Tipos de VPN’s 22

2.7.1 Sistemas basados en hardware 22

2.7.2 Sistemas basados en Firewall 23

2.7.3 Sistemas basados en Software 23

2.8 Arquitecturas y tipos más comunes de VPN 24

2.8.1 VPN de acceso remoto 24

2.8.2 VPN Interna 25

2.8.3 VPN sitio a sitio 26

Page 7: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

VI

2.8.3.1 Tipo Intranet 27

2.8.3.2 Tipo Extranet 27

2.9 Tecnologías para armar VPN’s 28

2.9.1 IPSEC 29

2.9.2 PPTP 29

2.10 Diagramas 30

2.10.1 Diagrama de cliente a servidor. 30

2.10.2 De cliente a red interna LAN 31

2.10.3 De red interna a red interna (LAN a LAN). 32

Capítulo III. Implementación 33

3.1 Construcción de componentes 34

3.1.1 Sistema Operativo Microsoft Windows 34

3.1.2 Sistema Operativo Mac OS X 36

3.1.3 Sistema Operativo LINUX 37

3.1.4 Comparación de sistemas operativos 38

3.1.5. ¿Por qué utilizar Linux? 39

3.2 Selección de requerimientos para el sistema Linux 40

3.2.1 Utilerías del sistema Ubuntu 41

3.2.2 Configuración inicial de Ubuntu 42

3.2.3 Instalación de Ubuntu 43

3.3 Configuración de la VPN 45

3.3.1 Requisitos para la implementación de una VPN 46

3.3.2 Comandos básicos de Linux 46

3.3.3 Configuración de dirección IP fija 48

3.3.4 Instalación y configuración de OpenVPN para Ubuntu 51

3.3.4.1 Instalación de OpenVPN 51

3.3.4.2 Configuración de openvpn.conf 52

3.3.4.3 Inicio del Servidor VPN 56

3.3.4.4 Crear los certificados y llaves de cada usuario 58

Page 8: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

VII

3.3.4.5 Inicio del Cliente VPN 62

3.4 Ensamble de OpenVPN 64

3.4.1 Conexión LAN Cliente-Cliente 64

3.4.1.1 Generación de clave de encriptación Cliente-Cliente 65

3.4.2 Conexión WAN RoadWarrior (Servidor-Cliente) 67

3.4.2.1 Generación de llaves Conexión WAN RoadWarrior 67

3.4.2.2 Generación del certificado y de la clave de encriptación para el servidor 69

3.4.2.3 Generación de parámetros de Diffie-Hellman 72

3.4.2.4 Archivos necesarios para iniciar la VPN 73

Capítulo IV. Open VPN 75

4.1 Licencia GPL 76

4.2 Cifrado Pen SSL/TLS 77

4.3 ¿Por qué Open VPN? 80

4.4 Características de Open VPN 80

4.5 Ventajas de Open VPN 81

4.5.1 Comparación entre Open VPN e IPSec VPN 82

4.6 Seguridad en Open VPN 83

4.6.1 Encriptación simétrica y claves pre-compartidas 83

4.6.2 Cifrado asimétrico con SSL/TLS 84

4.7 Cómo implementar una política de seguridad 85

4.7.1 Las causas de inseguridad 86

Conclusiones 87

Bibliografía 89

Glosario 90

Anexos 96

A. Otros Comandos para Linux 96

B. NAT 104

C. Controladores virtuales TUN/TAP y VTUN. 105

D. Diffie Hellman. 107

Page 9: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

VIII

E. SSL/TLS 109

E.1. Introducción 109

E.2 Protocolos. 109

E.3 Descripción 110

E.3.1 Negociación 111

E.3.2 Autenticación y claves 111

E.3.3 Transmisión segura 111

E.4. Objetivo del protocolo TLS. 111

E.5 Funcionamiento del protocolo TLS 112

E.6. Ejemplos 114

E.6.1 Aplicaciones 114

E.6.2 Estándares 114

E.6.3 TLS 1.1. 115

Índice de Imágenes

Figura 1.1. Capas del Modelo OSI 11

Figura 1.2. Modelo OSI 12

Figura 1.3 Internet 14

Figura 1.4 Características Fundamentales 15

Figura 2.1. Diagrama de una VPN en una organización 17

Figura 2.2. Diagrama de VPN por acceso remoto 24

Figura 2.3. Arquitectura VPN Interna 26

Figura 2.4. Diagrama Intranet VPN 27

Figura 2.5. Diagrama Extranet VPN 28

Figura 2.6. Diagrama de cliente / servidor 31

Figura.2.7. Diagrama de cliente a red interna 31

Figura 2.8. De red interna a red interna (LAN a LAN) 32

Figura 3.1. Logotipo característico de sistemas operativos Microsoft Windows 35

Page 10: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

IX

Figura 3.2. Ventana de propiedades de Mac OS X 36

Figura 3.3. Logotipo de Linux 39

Figura 3.4. Imagen en el CD de la instalación del sistema Ubuntu 41

Figura 3.5. Pantallas de selección de idioma 42

Figura 3.6. Pantalla de configuración regional 42

Figura 3.7. Ventanas para seleccionar la distribución de teclado 42

Figura 3.8. Ventana para capturar datos de inicio de sesión 42

Figura 3.9. Ventana de preparación del disco duro 43

Figura 3.10. Ventana donde muestra el progreso de instalación de Ubuntu 44

Figura 3.11. Ventana final de instalación completa 45

Figura 3.12. Ventana de inicio del sistema Ubuntu 12.04 45

Figura 3.13. Configuración de llave del servidor 65

Figura 3.14. Ping desde el servidor en 10.1.1.2 66

Figura 3.15. Copia de easy-rsa en el directorio /etc/openvpn 67

Figura 3.16. Generar e iniciar certificados 68

Figura 3.17. Información necesaria para la generación de certificados 69

Figura 3.18 Generación del certificado de autoridad 69

Figura 3.19. Certificado del servidor 70

Figura 3.20. Creación del certificado y claves privadas para el servidor 71

Figura 3.21 Generación del protocolo Diffie-Hellman 72

Figura 4.1. Cifrado SSL 77

Figura 4.2. Situación de SSL/TLS en la pila de protocolos OSI 79

Figura 4.3 Logotipos de Open VPN e IPSec VPN 81

Figura 4.4. Encriptación Simétrica 83

Figura 4.5. Criptografía Asimétrica 84

Figura E.1. Intercambio de datos utilizando TLS/SSL 113

Índice de Tablas

Tabla 3.1. Comandos básicos para Linux 47

Page 11: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

1

Introducción

La siguiente tesis tiene como fin, documentar los requisitos necesarios para proponer una

metodología sobre la implementación de una red privada virtual, o VPN, conocida por sus

siglas en inglés (Virtual Private Network).

Conforme al desarrollo de la tesis se presentará de manera formal la documentación y los

temas que se requieren para el desarrollo de una red VPN; por tal motivo, se involucran

desde el análisis de posibles aplicaciones que podrían ser útiles para el desarrollo del

trabajo, así como un breve marco teórico para el desarrollo del proyecto.

Las redes de computadoras crecen exponencialmente. Hace algunas décadas, eran pocos los

que tenían acceso a una computadora; sin embargo, la comunicación por computadora se ha

vuelto parte esencial de la vida cotidiana, más para el desempeño de la mayoría de las

empresas, independientemente de su giro. Esto tiene impacto en cuanto a la necesidad de

compartir información. Esta fue la base del desarrollo de lo que hoy se conoce como una

red privada virtual (VPN).

Actualmente, las redes de computadora son comunes, desde una sencilla conexión de

computadora a computadora, como una red compuesta por cientos o incluso miles de

computadoras al mismo tiempo. El avance de estas y la complejidad de las mismas han

obligado a compartir información, desde una red casera hasta una gran empresa. Es ahí que

se origina lo que hoy se conoce como internet, que no es nada más que millones de

computadoras interconectadas entre sí de manera descentralizada.

Page 12: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

2

El internet es una herramienta, fuente de información, y medio de comunicación entre

computadoras, más potente y usadas que existe, pues permite superar la distancia física

como factor limitante.

Además de crear un medio de enlace entre terminales, las redes de computadora, también se

diseñaron con el propósito de tener alta seguridad entre los dispositivos en comunicación

que se conecten a ellas.

La tendencia a nivel mundial en las empresas y organizaciones, tiene la necesidad

comercial de establecer oficinas y centrales de operaciones en diversas partes del país para

así, de manera estratégica, poder comercializar sus productos. La comunicación dentro de

estas, es un elemento indispensable para su adecuada administración y evidentemente, que

gran parte de la información que se maneja se encuentra en constante flujo. Es por ello que

para su manejo se almacena dicha información en archivos, a su vez, en bases de datos y

por último, se utilizan tecnologías informáticas para su fácil manejo.

Para el caso de empresarios que requieran de tener comunicadas varias sucursales, es

necesario contar con un método seguro para tener compartida la información de forma

rápida y casi instantánea. Históricamente se han implementado diversos medios de

comunicación para poder resolver dicho problema, desde el compartir información por

medio de correo tradicional hasta el compartir archivos por medio de servidores

especializados para este fin. Cabe destacar que los métodos para compartir archivos no

están del todo obsoletos ya que estos se implementan de acuerdo a las necesidades e

impacto económico que genera al propietario de la red. Gracias a la tecnología dichos

problemas se han ido resolviendo paulatinamente, sin duda, la creación del correo

electrónico como medio de compartir información mejoro la forma de poder comunicarse.

La desventaja de este medio, es tener que solicitar que se te envíe la información requerida,

teniendo como consecuencia, no disponer de ella al instante. El usar un servidor

especializado, permite tener los archivos disponibles en la medida que se van guardando en

él, con la ventaja de no tener que solicitar que alguien que te envié la información.

Page 13: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

3

Ambos métodos resultan bastante seguros y rápidos, ya que en poco tiempo, se puede

disponer de los datos requeridos de un lugar a otro sin mayor contratiempo.

Esto es una gran ventaja; sin embargo, surge la necesidad del factor humano debido a que

se necesita alguien que administre y comparta la información antes que sea enviada o

compartida. Por ejemplo, la matriz de una empresa requiere la información a determinada

hora del día esta es generada en una sucursal de dicha empresa ubicada geográficamente en

otra parte. Se da por hecho que la información existe y la matriz está en espera de recibirla.

Si no existiera recurso humano y el archivo requerido no estuviera compartido de ninguna

manera, se estaría en espera indefinida hasta que se tenga interacción con la información de

la matriz; esta interacción la tendría el factor humano. De aquí la desventaja del correo

electrónico.

Los problemas surgidos anteriormente han requerido de nuevas propuestas y tecnologías

para resolver las desventajas presentes en las redes. Es donde nacen las Redes privadas

Virtuales (VPN), como tecnología que permite comunicar y compartir recursos entre varias

computadoras y/o servidores ubicados en regiones geográficas distintas; así como estar en

contacto de manera virtual como si estuviéramos en nuestra estación de trabajo, utilizando

un medio de acceso público como es el internet.

Es donde surge la idea de esta tesis, el propósito principal es entender cómo se opera una

red privada virtual, se tratará de mostrar la arquitectura y posible implementación,

considerando su topología y configuración en base a las normas ya establecidas por los

organismos que regulan la implementación de las mismas, los procesos que hacen posible

el intercambio de información entre sus elementos optimizando recursos de enlace con el

sustento de estudio realizados a los medios de comunicación y transmisión de datos. Por

otro lado conocer la seguridad de la red y así mantener la información protegida de tal

manera que solo los usuarios definidos en la misma puedan acceder a la ella.

Es un hecho que al montar una red de este tipo, el diseño y todos los aspectos que se

mencionen en la tesis, son en su mayoría, decisión de la persona o grupo de trabajo que

Page 14: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

4

decidan llevar a cabo su desarrollo y gestión. Es por ello, que en este proyecto se tratara de

mostrar la optimización de los recursos involucrados en la posible instalación de una VPN,

haciendo hincapié en la formulación de cómo lograrlo, teniendo como propósito

fundamental la máxima eficiencia posible.

Page 15: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

5

Capítulo I

INTRODUCCIÓN A LAS REDES

Page 16: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

6

1.1 Antecedentes

Una de las necesidades vitales para el desarrollo y crecimiento de las empresas, es la

posibilidad de compartir información, particularmente para aquellas que se encuentran

divididas, con sedes en diferentes zonas geográficas y secciones de la empresa que no se

encuentran en el mismo entorno físico.

Hace unos años no era tan importante el conectar usuarios a internet para cuestiones de

trabajo, pero a medida que ha pasado el tiempo las compañías han querido que las redes

Red de Área Local (Local Area Network (LAN)) trasciendan más allá del ámbito de la

oficina e incluyeran a los trabajadores y centros de información de otros edificios, ciudades,

estados o incluso otros países, y tenían que invertir en hardware y servicios de

telecomunicaciones costosos para crear redes amplias de servicio, Red de Área

Metropolitana (Wide Area Network). Sin embargo ya con internet, las compañías tienen la

posibilidad de crear una red privada virtual que demanda una inversión relativamente

pequeña de hardware y utiliza internet global para la conexión entre los puntos de la red.

Durante un tiempo, las grandes empresas habían solucionado el problema mediante

sistemas de comunicación como líneas punto a punto y sofisticadas instalaciones de

interconexión. Aunque efectivas, estas soluciones quedaban fuera del alcance de

organizaciones de menor tamaño y con recursos económicos y técnicos más escasos.

Las redes tipo LAN permiten conectar entre sí varios ordenadores en una misma oficina.

Con la aparición de las nuevas tecnologías hoy en día es posible conectar este tipo de redes

a internet. Esta conexión puede ser de varias maneras:

Page 17: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

7

Unidireccional: Conexión a internet desde la red LAN para consulta de información.

Bidireccional: El acceso es en ambas direcciones, desde la LAN hacia internet o

bien desde internet hacia la LAN.

Las LAN tradicionales son esencialmente restringidas, por lo cual se puede intercambiar

información entre las computadoras sin pensar en la seguridad de la información; pero se

considera que internet no es seguro, por lo tanto las VPN usan protocolos especiales que

permiten encriptar información y permitir únicamente a la persona autorizada desencriptar

esa información con un identificador que comprueba que la transmisión se ha hecho desde

una fuente confiable.

Encriptar es simplemente un algoritmo matemático aplicado a los datos que hace que estos

sean ilegibles para todos excepto a aquellos que tienen la habilidad de desencriptarlos. Por

lo tanto las VPN’s permiten interconectar sitios remotos sin arrendar a nuestro Proveedor

de servicios de internet ISP1 costosos enlaces WAN.

Las últimas alternativas de comunicación, como La tecnología de Línea de Suscripción

Asimétrica Digital (Asymmetric Digital Subscriber Line (ADSL)), han hecho que la

desventaja operativa disminuya, permitiendo a pequeñas y medianas empresas disponer de

su propia red de comunicación privada. Ahora, las centrales y sucursales disponen de su

propia red de comunicación privada, para intercomunicarse y compartir información de

forma sencilla y segura, con inversiones muy inferiores a las de hace tiempo.

Seguridad del Protocolo de Internet (IPSec) fue el primer esfuerzo para desarrollar un

estándar para hacer seguras las redes. Es un conjunto de protocolos cuya función es

asegurar las comunicaciones sobre el Protocolo de Internet (IP) autenticando y/o cifrando

cada paquete IP en un flujo de datos. También incluye protocolos para el establecimiento

de claves de cifrado2.

1 ISP. Proveedor de Servicios de Internet 2 Cifrado. Ver glosario

Page 18: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

8

1.2 Historia de las redes

Una red de computadoras es un grupo de computadoras conectadas entre sí para

comunicarse y compartir recursos tales como archivos, impresoras, correo electrónico, etc.

Las redes deben incluir medios de comunicación de red, para transmitir los datos entre el

equipo y los medios de comunicación, un sistema operativo (SO)3 para permitir el

reconocimiento y trabajo en la red y un protocolo para controlar las comunicaciones

1.2.1 Organizaciones de estandarización

Los estándares son una serie de lineamientos técnicos detallados, un estándar proporciona

un modelo de desarrollo que hace posible que un producto funcione adecuadamente con

otros sin tener en cuenta quien lo fabrica.

Las siguientes organizaciones se dedican a la definición y establecimiento de estándares

para datos y comunicaciones:

Organización Internacional para la Estandarización (ISO, International Standards

Organization). Es una organización internacional no gubernamental, compuesta por

representantes de los organismos de normalización de estándares de varios

gobiernos a lo largo del mundo, el cual produce normas internacionales, industriales

y comerciales.

Instituto Nacional Estadounidense de Estándares (ANSI, American National

Standards Institute). Es una organización no lucrativa que supervisa el desarrollo de

estándares para productos, servicios, procesos y sistemas en los Estados Unidos.

ANSI es miembro de la ISO. Tiene como objetivos servir como una institución de

coordinación para la estandarización. Los miembros de ANSI son sociedades

profesionales, asociaciones de la industria, agencias gubernamentales, etc.

3 Sistema Operativo. Ver glosario

Page 19: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

9

Alianza de Industrias Electrónicas (EIA, Electronic Industries Alliance). Esta

organización fue creada sin ánimo de lucro con el fin de promocionar aspectos de la

fabricación electrónica. Se centra en las áreas de la innovación y competitividad

global, comercio internacional y acceso al mercado; ha hecho contribuciones

significativas mediante la definición de interfaces de conexión física y

especificaciones de señalización para la comunicación de datos.

Instituto de Ingenieros Eléctricos y Electrónicos (IEEE, Institute of Electrical and

Electronics Engineers). Su trabajo es promover la creatividad, el desarrollo y la

integración; compartir y aplicar los avances en las tecnologías de la información,

electrónica y ciencias en general. Es la mayor sociedad profesional de ingeniería del

mundo y como uno de sus objetivos, prevé el desarrollo y adopción de estándares

internacionales para la computación y las comunicaciones.

Agencias reguladoras. Todas las comunicaciones están reguladas por las agencias

del gobierno tales como la Comisión Federal de Comunicaciones (FCC, Federal

Communications Commission) en los Estados Unidos o como la Comisión Federal

de Telecomunicaciones (COFETEL) en México. El objetivo de estas organizaciones

es proteger el interés público mediante la regulación de las comunicaciones y

telecomunicaciones.

En el caso de México la COFETEL tiene como función que el país se encuentre a la

vanguardia de las telecomunicaciones y de las tecnologías de la información, y que

exista acceso, diversidad, calidad, mejores precios y cobertura, de todos los

servicios en un ambiente competitivo y convergente, que garantice plenamente el

beneficio social.

Page 20: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

10

1.2.2 Red de Área Local. LAN

Por sus siglas en ingles (Local Area Network) se considera la interconexión de varios

ordenadores y periféricos para el cambio de información entre ellos, su área de cobertura es

pequeña, generalmente un edificio. En épocas anteriores una empresa podía tener

solamente un ordenador central, accediendo los usuarios a éste mediante terminales con un

cable simple de baja velocidad. Las redes como Arquitectura de Red de Sistemas de IBM

fueron diseñadas para unir terminales u computadoras centrales a sitios remotos con líneas

alquiladas. Las primeras LAN fueron creadas a finales de los años 1970 y se solían crear

líneas de alta velocidad para conectar grandes ordenadores centrales a un lugar.

1.2.3 Redes de Área Amplia. WAN

A medida que el uso de las computadoras en las empresas aumentaba, pronto resulto obvio

que incluso las LAN no eran suficientes. Se necesitaba una forma de transferir información

de manera eficiente y rápida de una red a otra.

La solución surgió con la creación de las (Wide Área Network (WAN)) que conectan redes

de usuarios dentro de un área geográfica extensa, permitiendo que las empresas se

comuniquen entre sí, compartiendo información, recursos y acceso a internet.

1.3 Modelo OSI

A principios de la década de 1980 se produjo un enorme crecimiento en la cantidad y el

tamaño de las redes.

ISO proporcionó a los fabricantes un conjunto de estándares que aseguraron una

compatibilidad e interoperabilidad entre los distintos tipos de tecnología de red producidos

por las empresas a nivel mundial conocido como el modelo de referencia de Interconexión

de Sistemas Abiertos (OSI, Open System Interconnection).

Page 21: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

11

El Modelo OSI cuenta con 7 capas o niveles:

Aplicación

Presentación

Sesión

Transporte

Red

Enlace de datos

Física

Figura. 1.1. Capas del Modelo OSI

Capa de aplicación. Permite acceso a los recursos de la red tales como correo

electrónico, transferencia de archivos y emulación de terminales.

Capa de presentación. Traduce y encrípta datos.

Capa de sesión. Establece, administra y termina sesiones.

Capa de transporte. Proporciona confiabilidad del envío de datos, detección de fallas

y control de flujo.

Capa de red. Determina el direccionamiento de red y establece la mejor ruta para el

envío de paquetes del origen al destino.

Capa de enlace de datos. Organiza los bits en tramas y proporciona entrega

confiable de datos de un nodo a otro

Capa física. Se ocupa de la transmisión binaria sobre el medio y proporciona

especificaciones mecánicas y eléctricas para la transmisión de datos.

Page 22: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

12

Para que los datos puedan viajar desde el origen hasta su destino, cada capa del modelo

OSI, en el origen debe comunicarse con su capa par en el destino. Esta forma de

comunicación se conoce como de punto a punto.

Figura 1.2. Modelo OSI

Las redes inalámbricas se diferencian de las redes cableadas convencionales principalmente

en la capa física y la capa de enlace de datos, según el modelo de referencia OSI.

1.4 Historia del internet

Podría definirse como una red de redes. (inter= entrelazadas, net=red) con esto que no sólo

se encarga de conectar computadoras, sino que interconecta redes de computadoras entre sí

se considera que una red de computadoras se define como un conjunto de máquinas que

establecen una comunicación recíproca a través de algún medio físico de comunicación.

Page 23: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

13

La historia involucra computadoras porque este medio se basa pura y exclusivamente en

esta área; por lo cual sirve de enlaces entre redes pequeñas y permite ampliar su cobertura

al hacerlas formar parte de una red global.

Para saber cómo empieza la historia tendremos que remontarnos a los años 60, cuando en

los Estados Unidos se estaban buscando alternativas de mantener una forma de

comunicación en el posible caso de una guerra nuclear. Este hecho marcó la historia del

internet, en primer lugar, este proyecto contemplaba eliminar cualquier tipo de autoridad

central, debido a que sería el primer blanco en caso de algún ataque, es por esto que se

pensó una red descentralizada y que esté diseñada para poder llevar a cabo operaciones en

situaciones difíciles. Cada terminal conectada debía constar del mismo estatus y la misma

capacidad para recibir información y a la vez enviarla.

El envío de datos tenía que descansar en un mecanismo que pudiera tener manejo sobre la

destrucción parcial de la Red; entonces se decidió que los mensajes tenían que ser divididos

en pequeñas porciones de información o paquetes, éstos contendrían la dirección de destino

sin especificar la ruta de arribo, cada paquete debía buscar la manera de llegar al

destinatario según las rutas disponibles. El destinatario sería el encargado de reensamblar

los paquetes individuales para construir el mensaje original.

La historia del internet apunta también a Inglaterra en donde se experimentó al principio,

con estos conceptos, y así durante 1968, el Laboratorio Nacional de Física de Gran Bretaña

llevó a cabo la primera red experimental; al siguiente año, el Pentágono de los Estados

Unidos, decidió que era hora de financiar su propio proyecto, y es allí en 1969, en que se

establece la primera red en la Universidad de California. Un tiempo después nacen tres

redes adicionales, nacía de esta forma Proyectos de Investigación avanzada (ARPANET).

La historia demuestra que gracias a esta agencia, científicos e investigadores pudieron

compartir e intercambiar recursos informáticos en forma remota. Esto era de gran ayuda ya

que debemos recordar que en los años 70 el tiempo que poseían las computadoras para

procesar datos era un recurso escaso; para 1972 ARPANET acumulaba 37 redes.

Page 24: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

14

Lo curioso aquí, es que se empezó a notar que la mayor parte del tráfico informático era

constituido por mensajes personales y noticias, y no por procesos informáticos como se

pensaba.

En 1972 el investigador del Instituto de Massachusetts Lawrence G. Roberts expandió su

valor añadido escribiendo el primer programa de utilidad de correo electrónico para

relacionar, leer selectivamente, almacenar, reenviar y responder a mensajes. Desde

entonces, la aplicación de correo electrónico se convirtió en la mayor aplicación durante

más de una década. Fue precursora del tipo de actividad que observamos hoy día en el

enorme crecimiento de todas las formas de tráfico persona a persona.

Internet ha supuesto una revolución sin precedentes en el mundo de la informática y de las

comunicaciones. Los inventos del telégrafo, teléfono, radio y computadora sentaron las

bases para esta integración de capacidades nunca antes vivida. Esto es a la vez una

oportunidad de difusión mundial, un mecanismo de propagación de la información y un

medio de colaboración e interacción entre los individuos y sus ordenadores

independientemente de su localización geográfica.

Figura. 1.3 Internet

Page 25: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

15

1.5 Implementaciones

Todas las distintas opciones disponibles en la actualidad caen en tres categorías básicas:

soluciones de hardware, soluciones basadas en firewall4 y aplicaciones VPN por software.

Cada tipo de implementación utiliza diversas combinaciones de protocolos para garantizar

las tres características fundamentales: autenticación, integridad y confidencialidad.

Autenticación y Autorización: ¿Quién está del otro lado? Usuario/equipo y qué

nivel de acceso debe tener.

Integridad: La garantía de que los datos enviados no han sido alterados.

Confidencialidad: Dado que los datos viajan a través de un medio hostil como

internet, los mismos son susceptibles de interceptación: por eso es fundamental el

cifrado de los datos. De este modo, la información no debe poder ser interpretada

por nadie más que los destinatarios de la misma.

Figura. 1.4 Características Fundamentales

4 Firewall. Ver glosario

Page 26: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

16

Capítulo II

REDES PRIVADAS VIRTUALES

Page 27: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

17

2.1 Definición VPN

La Red Privada Virtual (Virtual Private Network (VPN)), es un grupo de dos o más

sistemas de ordenadores, generalmente conectados a una red privada, que se comunican con

mayor seguridad sobre una red pública.

Figura 2.1. Diagrama de una VPN en una organización.

En una red pública generalmente no se cuenta con grandes métodos de seguridad, por lo

que resulta ser insegura. Para transmitir información a través de esta, en la VPN se aplican

métodos de seguridad para garantizar la privacidad de los datos que se intercambian entre

ambas, particularmente, protocolos de túneles.

Page 28: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

18

A las VPN, se les considera privadas, porque se establecen exclusivamente entre el emisor

y el receptor de la información; y virtuales, porque no se necesita un cable o cualquier otro

medio físico directo entre los comunicantes.

Las redes privadas, extienden la red de una oficina a oficinas distantes. Usando una VPN,

se crea una conexión privada segura a través de una red pública como internet.

2.2 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 PDA5 , dentro de

ellos se debe considerar la tasa de transferencia y la capacidad de procesamiento, la mayor

ventaja de las VPN’s es la conectividad y la movilidad para los usuarios.

Al implementa 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 qué tan

barata, rápida y confiable sea una red, sin la seguridad adecuada, los riesgos pesarán más

que los beneficios. Una compañía puede usar la internet para enviar archivos a otras

corporaciones; sin embargo, sin medidas y políticas de seguridad adecuadas, la información

queda expuesta a ataques. Por ello se provee de encriptación y encapsulación de datos de

manera que hace que estos viajen codificados y a través de un túnel.

La calidad en el servicio se refiere al acuerdo de servicio ofrecido por un proveedor de

internet a un cliente, que garantiza cierto nivel de desempeño.

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

5 PDA. Ver glosario

Page 29: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

19

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 numero 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.

2.3 Función de una VPN

La VPN crea un túnel entre los dos puntos a conectar utilizando infraestructura pública; usa

una técnica llamada tunel o tunneling, los paquetes de datos son enrutados por la red

pública a través de internet o alguna otra red comercial, en un túnel privado que simula una

conexión punto a punto. Este recurso hace que por la misma red puedan crearse muchos

enlaces por diferentes túneles virtuales a través de la misma infraestructura.

Page 30: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

20

También hace universales para su transporte los diferentes protocolos LAN, de allí la

característica de multiprotocolo que hace sumamente universal la tecnología de las redes

virtuales privadas.

Básicamente, y haciendo referencia al modelo OSI, se puede crear una VPN usando

tecnologías de Tunneling de capa 2 (enlace de datos) y de capa 3 (red).

2.4 Requerimiento básico de una VPN

Al implementar una solución de red remota, debe garantizar la privacidad y la integridad de

los datos al viajar a través de internet público, lo mismo se aplica en el caso de datos

sensibles que viajan a través de una red corporativa, por lo tanto una Red Privada Virtual

ha de proveer de los siguientes mecanismos básicos, aunque en ocasiones y depende la

situación, pueden omitirse algunos.

Autentificaciones de usuarios. Sirve para verificar la identidad y poder restringir el

acceso solo a los usuarios autorizados.

Administración de direcciones. Debe asignar una dirección del cliente sobre la red

privada, a su vez asegurar que las direcciones se mantienen privadas.

Encriptación de datos. Los datos que viajan por la red pública, deben ser

transformados para que sean ilegibles para los usuarios no autorizados.

Administración de claves o llaves. Se deberán generar y renovar las claves de

encriptación para los clientes y los servidores.

Soporte de protocolo múltiple. Convendrá manejar protocolos comunes utilizados

en las redes públicas, estos incluyen protocolo de internet. Una solución VPN de

internet basada en un Protocolo de Tunel de Punto a Punto (PPTP) o un protocolo

de nivel 2 (L2TP) que cumple con todos los requerimientos básicos, y aprovecha la

amplia disponibilidad de internet a nivel mundial.

Page 31: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

21

2.5 Aplicaciones

Las posibilidades de aplicación de una VPN son muchas y permiten establecer el uso de

IPSec de todo el tráfico IP entre ambas redes de este modo, todas aplicaciones basadas en

IP es posible acceder a través de un túnel VPN.

Como es el caso de acceso a servidores de correo electrónico, bases de datos, sistemas de

Planificación de Recursos Materiales ERP ó archivos compartidos, así como la

administración remota de sistemas externos.

2.6 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. Esto supone un grave problema, en

todas aquellas situaciones en las que queremos transferir información sensible como la

nomina 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 sniffer6, 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á

6 Sniffer. Programa informático que registra la actividad que realiza un ordenador con el fin de plagiar información sensible.

Page 32: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

22

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 nos 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 Interprete 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. De esta analogía viene el nombre de la técnica, siendo la conexión segura (en

este caso de SSH) el túnel por el cual enviamos nuestros datos para que nadie más aparte de

los interlocutores que se sitúan a cada extremo del túnel, pueda ver dichos datos.

2.7 Tipos de VPN’s

Existen diferentes tipos de VPN, algunos basados en distintos métodos de seguridad y otros

por su composición en hardware y software. Todos representan ventajas y desventajas a la

hora de su aplicación, de tal manera, que se debe elegir la manera más adecuada y sobre

todo, de menor riesgo y costo para la empresa, lo más importante es el protocolo que se

utilice para la implementación.

2.7.1 Sistemas basados en hardware

Estos sistemas están basados en routers que encriptan la información. Son seguros y fáciles

de usar, pero requieren de una configuración correcta y definida. Ofrecen un gran

rendimiento ya que no malgastan ciclos de proceso, haciendo funcionar un Sistema

Operativo. Es un hardware dedicado, muy rápido de fácil instalación. Provee la capacidad

de asegurar un paquete en una parte de la red a través del tunneling de paquetes.

Page 33: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

23

Las principales ventajas conseguidas con la implementación sobre routers son:

Capacidad de asegurar el flujo de paquetes entre dos redes, a través de una red

pública como internet.

Capacidad de autentificar y autorizar a usurarios el acceso sobre redes privadas.

2.7.2 Sistemas basados en Firewall

Estos se implementan con software de paredes de fuego (firewall). Tienen las ventajas de

los mecanismos de seguridad que utilizan incluyendo el acceso restringido a la red interna.

También realizan la traducción de direcciones de red (Network Address Translation (NAT)

explicadas en el anexo B. Estos satisfacen los requerimientos de autentificación fuerte.

Muchas de las paredes de fuegos comerciales, aumentan la protección, quitando al núcleo

del Sistema Operativo algunos servicios peligrosos que llevan estos por default, y les

provee de medidas de seguridad adicionales, que son mucho más útiles para los servicios de

VPN.

El rendimiento en este tipo decrece, ya que no se tiene hardware especializado de

encriptación.

2.7.3 Sistemas basados en Software

Estos sistemas son ideales para las situaciones donde los dos puntos de conexión de la VPN

no están controlados por la misma organización, o cuando los diferentes cortafuegos o

routers no son implementados por la misma organización. Este tipo de red ofrece el método

más flexible en cuanto al manejo de tráfico. Puede ser enviado a través de un túnel, en

Page 34: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

24

función de las direcciones o protocolos, en cambio en los VPN por hardware, todo el tráfico

será enrutado por el túnel. Podemos hacer un enrutamiento inteligente de una manera

mucho más fácil.

2.8 Arquitecturas y tipos más comunes de VPN

Dentro de las posibles arquitecturas que encontramos dentro de las VPN se pueden

mencionar características muy particulares, dependiendo de su implementación. Para

comprender esta situación, se explicara las características más relevantes de las VPN más

usadas en la actualidad.

2.8.1 VPN de acceso remoto

Figura 2.2. Diagrama de VPN por acceso remoto

También denominadas Red Privada Virtual de Marcación (Virtual Private Dial-up Network

(VPDN)). 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, etc.), 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.

Page 35: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

25

Muchas empresas han reemplazado con esta tecnología su infraestructura "dial-up". Con el

acceso remoto VPN un trabajador que se haya desplazado a otro país y que quiere acceder a

la base de datos de su compañía, correo interno o cualquier otro recurso de su red

corporativa, solo tiene que conectarse a internet y ejecutar su cliente de marcación VPN.

2.8.2 VPN Interna

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 LAN de la empresa. Sirve para aislar zonas y

servicios de la red LAN interna.

Esta capacidad lo hace muy conveniente para mejorar las prestaciones de seguridad de las

redes inalámbricas (Wi-Fi7).

La mayoría de incidentes de seguridad está relacionada con abusos dentro de la red de la

compañía, por lo tanto a más de los ataques externos no hay que perder de vista los ataques

internos. Dependiendo del tipo de negocio o por asuntos legales, cierta información puede

ser privada y confidencial a un nivel de departamento.

Una VPN entre departamentos puede ayudar a encontrar esos requerimientos de

confidencialidad.

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.

7 Wi-Fi. Fidelidad inalámbrica (Wireless Fidelity). Mecanismo de conexión de dispositivos electrónicos de forma inalámbrica

Page 36: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

26

Figura 2.3. Arquitectura VPN Interna

2.8.3 VPN sitio a sitio

Este esquema se utiliza para conectar oficinas remotas con la sede central de organización.

El equipo central VPN, que posee un vínculo a internet permanente, 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, sobre todo en las comunicaciones internacionales.

Esta configuración puede ser de dos tipos:

Tipo Intranet.

Tipo Extranet.

Page 37: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

27

2.8.3.1 Tipo Intranet

La forma más simple de esta red, se define cuando una empresa tiene una o más sucursales

remotas y se quiere unir en una única red privada. Esto se logra al creando una VPN para

conectar ambas redes locales.

Figura 2.4. Diagrama intranet VPN

2.8.3.2 Tipo Extranet

Cuando la empresa tiene una relación cercana con otra compañía, como podría ser una

empresa asociada, un proveedor o cliente, se pueden desarrollar una VPN que conecte sus

redes y permita a estas empresas trabajar en un ambiente compartido. Con esta arquitectura

cada empresa tiene que controlar muy meticulosamente el acceso a los recursos de su red

corporativa y a los datos que van a intercambiar con sus socios de negocios. Implementar

esta topología, implica incrementar la complejidad de los sistemas de control de acceso y

de autenticación.

Page 38: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

28

Figura 2.5. Diagrama Extranet VPN

2.9 Tecnologías para armar VPN’s

Los más utilizados y con mejor rendimientos son IPSEC y PPTP.

DLSW: Data Link Switching (SNA over IP).

IPX for Novell Netware over IP.

GRE: Generic Routing Encapsulation.

ATMP: Ascend Tunnel Management Protocol.

IPSEC: Internet Protocol Security Tunnel Mode.

PPTP: Point to Point Tunneling Protocol.

L2TP: Layer To Tunneling Protocol.

Page 39: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

29

2.9.1 IPSEC

Protocolo de Internet Seguro (Internet Protocol Secure (IPSEC)). Es un protocolo creado

para establecer comunicaciones que proporcionen confidencialidad e integridad de los

paquetes que se trasmiten vía internet. Autentifica los equipos y cifra los datos para su

transmisión entre hosts en una red, intranet o extranet8, incluidas las comunicaciones entre

estaciones de trabajo y servidores. El objetivo principal de IPSEC es proporcionar

protección a los paquetes IP.

Está basado en dos tipos de funcionamiento, el primero es el modo transporte de seguridad

de extremo a extremo, lo que significa que los únicos hosts que tienen que conocer la

protección de IPSEC son el que envía y el que recibe; cada equipo controla la seguridad por

sí mismo en su extremo, bajo la hipótesis de que el medio por el que se establece la

comunicación no es seguro. El segundo es el modo túnel, en el cual la encriptación se

produce solo entre los routers de cada red.

Puede utilizar dos métodos para brindar seguridad, ESP (Encapsulating Security Payload)

o AH (Authentication Header), la diferencia entre ESP y AH es que el primero cifra los

paquetes con algoritmos de cifrado definidos y los autentica, en tanto que AH solo los

autentica, firma digitalmente los paquetes asegurándose la identidad del emisor y del

receptor.

2.9.2 PPTP

(Point to Point Tunneling Protocol (PPTP)). Es un protocolo que permite el intercambio

seguro de datos de un cliente a un servidor formando así una red privada virtual basada en

el Protocolo de Control de Transmision/ Portocolo de Internet (Transmission Control

Protocol/Internet Protocol (TCP/IP9)). PPTP soporta múltiples protocolos de red (IP, IPX y

NetBEUI) y puede ser utilizado para establecer dichas redes virtuales a través de otras redes

8 Extranet y/o Intranet. Ver glosario

9 TCP/IP. Ver glosario

Page 40: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

30

públicas o privadas como líneas telefónicas, redes de área local o extensa (LAN's y WAN's)

e internet u otras redes públicas basadas en TCP/IP.

El escenario más común para el funcionamiento de una VPN sobre protocolo PPTP es el

siguiente: Una máquina cliente (Windows 9x, XP o Windows 2000) se conecta a un

Proveedor de Servicios de Internet (ISP) utilizando una conexión de acceso telefónico a

redes o bien usando una típica conexión ADSL o cable-modem.

En otro punto de Internet existe una máquina (por ejemplo, un servidor Linux) ofreciendo

servicio de conexión PPTP. El cliente puede en ese momento lanzar una conexión de

acceso remoto usando su adaptador de red privada virtual a dicho servidor, creándose un

túnel privado sobre internet que conecta ambas máquinas como si estuvieran en la misma

red local, pudiendo así tener acceso a recursos compartidos tales como carpetas o

impresoras.

2.10 Diagramas

Existen varios tipos de conexiones VPN, esto será definido según los requerimientos de la

organización, por ejemplo si lo que se desea enlazar son dos o más redes, o si solo se

conectaran usuarios remotos.

2.10.1 Diagrama de cliente a servidor.

Un usuario remoto que solo necesita servicios o aplicaciones que corren en el mismo

servidor VPN.

Page 41: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

31

Figura 2.6 Diagrama de cliente / servidor

2.10.2 De cliente a red interna LAN

Un usuario remoto que utilizara servicios o aplicaciones que se encuentran en uno o más

equipos dentro de la red interna.

Figura.2.7.Diagrama de cliente a red interna

Page 42: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

32

2.10.3 De red interna a red interna (LAN a LAN).

Esta forma supone la posibilidad de unir dos intranets a través de dos enrutadores, el

servidor VPN en una de las intranets y el cliente VPN en la otra.

Aquí entran en juego el mantenimiento de tablas de ruteo y enmascaramiento.

Figura 2.8 De red interna a red interna (LAN a LAN).

Page 43: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

33

Capítulo III

IMPLEMENTACIÓN

Page 44: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

34

3.1 Construcción de componentes

En la actualidad existen tres sistemas operativos que dominan al mundo de la computación:

Microsoft Windows, Mac OS X y Linux. Ningún sistema resulta ser mejor que otro, ya que

cada uno cuenta con características propias que hacen la diferencia al elegir cual se

utilizara. De ahí que resulte importante mencionar el porqué de la selección de alguno,

antes de empezar la implementación de cualquier proyecto informático.

3.1.1 Sistema Operativo Microsoft Windows

Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados y

vendidos por Microsoft. Desde sus orígenes, en noviembre de 1985, ha sido el sistema de

mayor crecimiento en las últimas décadas. En respuesta al creciente interés por la interfaz

gráfica, llego a convertirse en el sistema que predominó el mundo a finales de la década de

los noventa. Este sistema evolucionó de manera latente y acorde a las necesidades de

usuarios de nivel básico y avanzado. Es un sistema enfocado a resolver problemas para la

creación y edición de archivos de manera más simple para usuario de cualquier nivel.

Cuenta con un sistema de permisos de archivos denominado AGDLP (cuentas, global,

dominio local, permisos (account, global, domain local, permission)), donde se aplican los

permisos de archivo, una carpeta en forma de un grupo local, que a su vez, permite

compartir permisos de acceso a otros grupos globales como miembros de la misma

organización.

Page 45: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

35

Figura 3.1. Logotipo característico de sistemas operativos Microsoft Windows

Una de las principales críticas que con frecuencia reciben los sistemas operativos Windows,

es la debilidad del sistema en lo que a seguridad se refiere y el alto índice de

vulnerabilidades críticas (virus, spyware, spam, etc.)10

Por otro lado, Windows al ser uno de los sistema pioneros en equipos personales, es un

sistema que abarca todo aquello que en la actualidad existe; programas de diseño, edición

de video, videojuegos, fotos, audio, software para ingeniería como suites CAD (Diseño

asistido por ordenador (Computer-aided design)), cálculos matemáticos, etc.

Es un sistema muy bueno en cuanto a interfaz gráfica, ha evolucionado para ser un sistema

accesible para todos los usuarios. Muchas empresas desarrolladoras de software, se han

enfocado a invertir tiempo en diseño de programas compatibles con este sistema,

induciendo a los usuarios en su utilización y fácil manejo, siendo un sistema favorito para

el trabajo en la empresa y entretenimiento en casa.

10 Ver glosario

Page 46: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

36

3.1.2 Sistema Operativo Mac OS X

Mac OS X es un sistema operativo desarrollado y comercializado por Apple Inc. que ha

sido incluido en su gama de computadoras Macintosh11

desde 2002. Este sistema, al igual

que Microsoft, se desarrolla en un entorno grafico, elegante y de fácil uso para usuarios

intermedios. Introduce soporte seguro para aplicaciones y procesos firmados digitalmente

por el sistema para verificar la autenticidad y la integridad del software y sus recursos.

Figura 3.2. Ventana de propiedades de Mac OS X

El catalogo de programas disponible para Mac OS X es menor si se le compara con

Microsoft Windows. Aplicaciones importantes para la edición de documentos y hojas de

cálculo, como Microsoft Office o Photoshop tienen versión nativa para Mac OS X; sin

embargo, la mayor parte del software desarrollado para este sistema, ha sido orientado al

diseñado y manipulación de imágenes. Esto no quiere decir, que no sea un buen equipo

para el uso diario en casa u oficina.

11

Macintosh. Es el nombre con el que actualmente nos referimos a cualquier ordenador personal diseñado, desarrollado, construido,

comercializado y vendido por la compañía Apple Inc.

Page 47: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

37

Mac OS X distingue entre los usuarios, el administrador de sistema y el superusuario, que

es quien tiene todos los privilegios en el sistema. Incluyen de fábrica utilidades de

seguridad muy similares a Microsoft, como paredes de fuego y antispyware. Pese a la

reducida cantidad de malware destinada para este sistema (en comparación a Windows), se

siguen encontrando vulnerabilidades que obligan al fabricante a mejorar su seguridad.

Siendo el sistema de mayor coste en el mercado y que teniendo menor número de

aplicaciones, comparado contra Windows, nos permite hacer un análisis de las necesidades

que se tienen en la oficina o en el hogar para la selección del mismo. Es muy importante

recalcar que las investigaciones de mercado indican que la base de clientes para este

sistema, en mayor parte proviene de personas con altos ingresos.

3.1.3 Sistema Operativo LINUX

Linux es un núcleo libre de sistema operativo. Es un sistema operativo completo con

multitarea y multiusuario como cualquier otro sistema comercial. Maneja sistemas de

seguridad muy similares a su competencia de mercado. Es un sistema que no tiene aun gran

penetración en el uso de computadoras personales debido a su desconocimiento por el

público en general. Al ser un sistema libre, tiene las bondades que estar casi libre de virus

informáticos en comparativa con Windows y Mac.

Su principal característica radica en que soporta diversos sistemas de ficheros para guardar

los datos y otros sistemas de ficheros que te permite utilizar la consola de comandos para

acceder desde Linux a los disquetes y particiones en discos duros formateados con MS-

DOS12

(en el caso de Windows). Además, como los otros sistemas operativos más

comerciales, también soporta el ISO-966013

.Por otro lado implementa todo lo necesario

para trabajar en red con TCP/IP. También se implementan PLIP (Linea IP paralela (Parallel

12

MS-DOS. Ver glosario 13

ISO-9660. Es el estándar seguido en el formato de los CD-ROMs

Page 48: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

38

Line Internet Protocol)), para comunicarse por el puerto de la impresora y NFS (Sistema de

archivos de red (Network File System)), para acceso remoto a ficheros.

Los beneficios derivados del uso del sistema operativo Linux, provienen de su potencia y

flexibilidad. Estos son resultado de numerosas características integradas al sistema, las que

están disponibles tan pronto como se inicia. Comparte muchos de los mismos beneficios de

la independencia de dispositivos.

La diferencia de Linux sobre otros sistemas operativos, destaca en sus utilerías para

comunicaciones y red. Se maneja el envío de mensajes internos y la transferencia de

archivos mediante algunos comandos muy sencillos. El intercambio de información entre

usuarios del mismo sistema se lleva a cabo por medio de comunicación terminal a terminal,

correo electrónico, un calendario automático que sirve como administrador y un

programador de información. Linux guarda archivos en una estructura de árbol llamada

directorio. Se puede especificar un archivo por medio de una ruta de acceso desde el

directorio raíz especificando y no impone limitaciones al asignar nombres a los archivos

como en Windows

3.1.4 Comparación de sistemas operativos

Mac OS X, Microsoft Windows y Linux, incluyen de fábrica utilidades de seguridad muy

similares, como firewall y antispyware14

. Si bien ningún sistema operativo está exento de

ser atacado o infectado por un virus, Windows al ser el sistema más popular, encabeza la

lista de los más atacados en comparación con Mac OS X o Linux

Linux en comparación a Windows y Mac, sobresale al ser utilizado como sistema operativo

libre con la ventaja de compartir archivos de forma segura, además de ser rentable ya que

no se requiere de la compra de alguna licencia para su uso; es un software gratuito. Por otro

14

Antispyware. Es un programa desarrollado para el ámbito de la seguridad informática, el cual protege a los usuarios de programas

maliciosos.

Page 49: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

39

lado, en sus últimas versiones ha evolucionado al ambiente gráfico, que lo hace más

entendible y amigable con el usuario.

3.1.5. ¿Por qué utilizar Linux?

Analizando los sistemas y al llegar a la conclusión de que para el propósito de esta tesis, se

pretende compartir información de la manera segura, se decide utilizar el sistema operativo

Linux de código abierto, ya que al ser software libre, se establece que la gente puede usarlo

de todas las formas que considere socialmente útiles y se puede conseguir sin costo alguno;

se tiene libertad de usar el trabajo de otros desarrolladores y construir a partir de éste,

componentes y programas que se incorporan al uso sistema operativo Linux. Es posible

modificar los componentes para desarrollar un programa nuevo, a partir de uno ya existente

o simplemente, partir de cero. Por esta razón, el desarrollo de software libre es rápido y

eficiente para los fines que se proponen en este proyecto.

Figura 3.3. Logotipo de Linux

Page 50: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

40

3.2 Selección de requerimientos para el sistema Linux

Una vez que ya se tiene el análisis del sistema operativo a utilizar, se realiza una

investigación de los sistemas existentes. Actualmente Linux ofrece un sistema muy

amigable visualmente, al estar en entorno grafico; así mismo, es un sistema muy estable y

con una amplia comunicación con el desarrollador para adquirir soporte en caso necesario.

Dicho sistema se llama Ubuntu siendo la versión más reciente 12.04, la cual se encuentra

disponible para su descarga gratuita en la página:

http://www.ubuntu.com/download.

Para la instalación de este sistema, se requiere que el equipo cuente con las siguientes

especificaciones mínimas para un buen funcionamiento:

Procesador x86 a 1 GHz.

Memoria RAM de 512 MB.

Disco Duro de 6 GB (recomendable 15 GB)

Tarjeta gráfica y monitor capaz de soportar una resolución de 800x600.

Lector de CD-ROM, puerto USB o tarjeta de red.

La instalación del sistema se llevara a cabo en dos computadoras como mínimo, pudiendo

ser equipos de escritorio o laptop15

. Cabe mencionar que la marca de los equipos a usar no

influye en la operación del sistema, se usaran debido a la disponibilidad que se tiene de los

mismos.

15

Laptop. Computadora portátil.

Page 51: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

41

El sistema a usar será Ubuntu 12.04, ya que es fácil de manejar para cualquier usuario, por

su similitud con otros sistemas a base de ventanas, que nos permitirá explorar menús y

probar las aplicaciones precargadas, para familiarizarse con él. Es importante destacar que

el sistema se instalara físicamente en los dos equipos para así poder guardar la

configuración personalizada que le vamos a dar, ya que si se ejecutara de forma virtual,

podríamos caer en la necesidad de tener que realizar la configuración nuevamente.

3.2.1 Utilerías del sistema Ubuntu

Ubuntu se distribuye por internet. Para llevar a cabo la instalación del mismo, se descarga

una imagen en ISO16

. Una vez que se ha descargado el archivo ISO, se graba en un disco

CD o DVD sin formato, utilizando una grabadora de CD/DVD17

.

Figura 3.4. Imagen del CD de la instalación del sistema Ubuntu

Ya que se tiene el disco de instalación, se inserta en el lector de CD y se reinicia equipo de

cómputo. Al iniciar el equipo, aparecerá una pantalla de bienvenida muy amigable que

muestra opciones claras y entendibles. Se procede a instalar Ubuntu y dependiendo del

equipo, tomara unos 30 minutos en completar la tarea de instalación.

16

Imagen ISO. Es un archivo que permite grabar el sistema en un disco CD o DVD. 17

CD. DVD. Son discos ópticos para el almacenamiento de datos digitales, la diferencia entre cada uno radica en la capacidad y

compresión de los datos

Page 52: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

42

3.2.2 Configuración inicial de Ubuntu

Algo muy importante y que se debe realizar antes de usar cualquier sistema operativo, es la

configuración del sistema. Durante la instalación del mismo de deberán elegir el idioma del

sistema, la zona horaria, tipo de teclado y se deberá personalizar una sesión de usuario.

Figura 3.5. Pantallas de selección de

idioma

Figura 3.6. Pantalla de configuración

regional

Lo recomendable en estos casos, será señalar el uso cualquier teclado estándar en español.

La personalización de sesión de usuario, nos pedirá registrar algunos datos, como su

nombre real, nombre para iniciar sesión o apodo, contraseña y nombre de nuestro equipo de

cómputo. Por ejemplo, el nombre real podría ser “Jesús López” y el nombre de usuario

“flopez”.

Figura 3.7. Ventanas para seleccionar Figura 3.8. Ventana para capturar

la distribución de teclado datos de inicio de sesión

Page 53: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

43

3.2.3 Instalación de Ubuntu

Una vez concluida la configuración inicial, se procede a seleccionar donde instalaremos el

sistema. Este paso resulta ser el más delicado ya que se trata de indicar dónde se debe

instalar Ubuntu. Se debe escoger la partición correcta donde se instalara el sistema de lo

contrario se podría perder información valiosa, si es que se comparte el disco duro con

otros sistemas operativos.

Figura 3.9. Ventana de preparación del disco duro

Existen tres posibles opciones para realizar la instalación:

1. Formatear todo el disco duro. Esta opción se elije solo si se desea borrar todo lo que

se tiene en el disco duro y usarlo por defecto como único para Ubuntu. Es la opción

más fácil y menos problemática si no se comparte el disco duro con otros sistemas

operativos.

2. Espacio libre contiguo. Ubuntu usará solo una parte del disco duro para instalarse.

Esta sería la más recomendable si desea conservar su antiguo sistema operativo o

alguna partición con sus datos. Es una opción muy habitual para aquéllos que

desean seguir también con un primer o segundo sistema operativo como Windows o

Mac OS.

Page 54: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

44

3. Particionamiento manual. Con esta opción, podrá especificar cómo serán las

particiones de forma más específica. Ésta no es la mejor opción si nunca se ha

hecho una partición o se ha instalado Linux.

Una vez elegida la opción que mejor convenga, el sistema cuenta con los requerimientos

mínimos para iniciar la instalación, por lo que solo resta que se confirmen los datos

seleccionados. El sistema asegura que todo está en orden para así continuar y se comenzara

a copiar los archivos de Ubuntu al disco duro.

Figura 3.10. Ventana donde muestra el progreso de instalación de Ubuntu

Todos los sistemas operativos cuentan con anuncios y recomendaciones de uso que se ven

por medio de pantallas durante su proceso de instalación. Ubuntu no es la excepción,

algunas ventanas que posiblemente se visualizaran durante la instalación serán

recomendaciones para personalizar su Ubuntu y noticias sobre los cambios comprados con

versiones anteriores.

Page 55: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

45

Figura 3.11. Ventana final de instalación completa

Al terminar la instalación, el sistema pedirá que se reinicie el equipo para cargar la nueva

configuración del sistema operativo. Una vez que ha terminado el reinicio del equipo,

podemos observar en nuestro Sistema Operativo instalado y listo para usarse.

Figura 3.12. Ventana de inicio del sistema Ubuntu 12.04

3.3 Configuración de la VPN

Como bien sabemos, en una VPN, es importante definir un servidor, quien se encargara de

compartir la información y/o los clientes que se conectaran a él. Una vez que definimos esta

información podemos iniciar la configuración de nuestros equipos de cómputo.

Page 56: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

46

Para este ejercicio, se disponen de 2 equipos de cómputo, uno de los cuales servirá como

servidor de archivos y el otro será el cliente. Cabe destacar que los equipos que se proponen

por este medio, son similares, por lo que no hay una preferencia de cual se usara como

servidor y cual como cliente.

3.3.1 Requisitos para la implementación de una VPN

Una vez instalado nuestro nuevo sistema operativo, se deben realizar adecuaciones del

sistema operativo. Un requisito fundamental, es configurar una dirección fija a nuestro

equipo de cómputo y, por otro lado, es necesaria la instalación de un software que realizara

nuestro túnel VPN.

Este software que se utilizara para crear el túnel VPN se llama OpenVPN. Este se puede

instalar siguiendo una sencilla serie de comandos. Es muy sencillo de configurar ya que

desde que se instala ya lleva certificados preinstalados que se pueden usar como base para

partir de la configuración de una nueva VPN personal. La instalación y configuración se

explicara más adelante.

3.3.2 Comandos básicos de Linux

Antes comenzar el estudio de Linux, resulta importante tener noción de los comandos que

se utilizan para descargar programas, el cómo configurarlos y definir instrucciones

especificas, dicho comandos se muestran en la siguiente tabla 3.1. Es por ello que en esta

sección se hace mención de los programas más utilizados en este proyecto.

Page 57: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

47

Tabla 3.1. Comandos básicos para Linux

Comandos Descripción, ejemplos y comentarios

cd nom_directorio Cambia de directorio cd sólo, va a tu home

cd .. Sube un nivel de directorios Si estabas en /home/usuario/

pasas a /home/

cd - Vas a la ubicación dónde

estabas antes

si desde /home/usuario haces cd

/etc/X11 y luego cd - vuelves a

/home/usuario

cp archivo1 archivo2 Copia archivo1 como archivo2 (nuevo nombre) manteniendo el

original

cp archivo /directorio Copia archivo en directorio manteniendo nombre y el original

echo cadena echo nos muestra en pantalla el texto que le diga

apt-cache search texto

a buscar

Muestra una lista de todos los

paquetes y una breve descripción

relacionado con el texto que hemos

buscado.

apt-cache search Gnome

apt-get dist-upgrade Función adicional de la opción anterior que modifica las

dependencias por la de las nuevas versiones de los paquetes.

apt-get install

nombre_paquete

Instala paquetes. apt-get install Gnome

apt-get remove

nombre_paquete

Borra paquetes. apt-get remove Gnome

Con la opción –purge

borramos tambien la

configuración de los

paquetes instalados.

apt-get update Actualiza la lista de paquetes disponibles para instalar.

apt-get upgrade Instala las nuevas versiones de los diferentes paquetes

disponibles.

ifconfig Obtener información de la configuración de red. || Sintaxis:

ifconfig.

Page 58: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

48

mkdir Crea un nuevo directorio. || Sintaxis: mkdir nom_directorio.

ping El comando ping se utiliza generalmente para testear aspectos de

la red, como comprobar que un sistema está encendido y

conectado; esto se consigue enviando a dicha máquina paquetes

ICMP. El ping es útil para verificar instalaciones TCP/IP. Este

programa nos indica el tiempo exacto que tardan los paquetes de

datos en ir y volver a través de la red desde nuestro PC a un

determinado servidor remoto. Sintaxis: ping (maquina).

route El comando route se utiliza para visualizar y modificar la tabla

de enrutamiento. Sintaxis: route (muestra información del

comando route). S

startx Inicia el entorno gráfico(servidor X). Sintaxis: startx.

su o sudo Con este comando accedemos al sistema como root. En Ubuntu

se puede utilizar gksudo mientras en Kubuntu: kdesudo.

Sintaxis: su. T

su root o su passwd

root

Creación del Password de Usuario root (administrador)

Linux es un sistema muy robusto, que usa varios códigos y combinación de los mismos,

para realizar ciertas tareas. En esta tabla únicamente se mencionan los comandos que se

usaron para la instalación y configuración de la VPN. Si se desea conocer otros comandos

se podrá consultar en el anexo A, donde se especifican otros comandos para Linux.

3.3.3 Configuración de dirección IP fija

Para establecer nuestra VPN, se necesita configurar algunos requisitos previos, uno de estos

es que se debe tener configurada una IP estática ó fija.

Page 59: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

49

Para llevar a cabo las configuraciones se utilizara el terminal de Linux18

, nos conectamos

con el usuario root o como usuario que tenga permisos de administración (sudo).

Al abrir el terminal, escribimos un comando para saber que IP tenemos actualmente, de esta

forma sabremos los datos que habremos de poner más adelante. Dicho comando es:

Ifconfig

Nos arrojara una pantalla donde aparecen dos interfaces, Eth0 y to. Eth0. Estos datos

muestran la interfaz de la tarjeta de red que vamos a configurar y vemos que se encuentra

configurada como en el siguiente ejemplo:

Todos los sistemas operativos manejan la dirección IP de forma dinámica, es decir, que esta

cambia cada vez que el equipo ingresa a la red, y lo que se pretende es que esta dirección

no cambie. Para lograrlo debemos editar un archivo llamado interfaces ejecutando el

siguiente comando.

nano /etc/network/interfaces

En la pantalla que nos aparece escribimos las direcciones que se piden. Es importante

mencionar que para llevar a cabo esta configuración, se debe ingresar la dirección del

equipo address, esta debe mantenerse utilizando el dato anterior mostrado en la ventana de

ifconfig, es decir, se debe mantener la misma dirección IP pero con la excepción del último

número como se muestra a continuación:

18

Terminal Linux. Ver glosario

inet addr: 192.168.0.10 →Dirección IP que tiene actualmente nuestro pc

bcast: 192.168.0.255 →Dirección de broadcast (sirve para enviar 1 señal a todos los

pcs de nuestra red)

mask: 255.255.255.0 →Mascara de dirección que define en que red o subred estamos.

Page 60: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

50

Donde:

Address →Direccion IP que queremos que tenga nuestro ordenador

Netmask →Mascara de subred a la que pertenece, por lo general suele ser 255.255.255.0

Network →Red o subred a la que pertenece, es la misma que la dirección IP pero el último

digito es 0

Gateway →Puerta de enlace, es la dirección IP del router con que nos conectamos a

internet, suele ser la misma que la dirección IP pero el último digito es 1

Una vez que se han ingresado los datos se graba la información presionando

F2+Y+ENTER.

Por último, en algunos casos, es necesario activar la tarjeta de red, por lo que usamos la

siguiente instrucción:

/etc/init.d/networking restart ifup eth0

address 192.168.0.x

netmask 255.255.255.0

network 192.168.0.0

gateway 192.168.0.1

Page 61: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

51

3.3.4 Instalación y configuración de OpenVPN para Ubuntu

Como se viene manejando será necesaria la instalación de OpenVPN. Este programa es una

herramienta que ha evolucionado desde su generación incluyendo varias técnicas de

seguridad; es una solución de conectividad basada en software SSL (Capa de Conexión

Segura (Secure Sockets Layer)) para VPN, este protocolo se explicara con más detalle en el

capítulo 4. OpenVPN ofrece conectividad punto-a-punto con validación jerárquica de

usuarios y host conectados remotamente. Resulta ser una muy buena opción en tecnologías

Wi-Fi y soporta una amplia configuración de balanceo de cargas entre otras. Está

publicado bajo la licencia pública general (General Public License (GPL)), de software

libre.

3.3.4.1 Instalación de OpenVPN

Es necesario instalar openVPN en todos los equipos que serán usados en la VPN. Un

equipo se debe configurar como servidor y los demás equipos fungirán como clientes.

Para instalar OpenVPN es necesario ejecutar el siguiente comando:

sudo apt-get -y install openvpn

Por otro lado también se debe instalar OpenSSL, ya que la seguridad se basa en SSL

(Capitulo 4.2). Se debe ejecutar la siguiente instrucción:

sudo apt-get -y install openssl

Una vez que se ejecutan estas instrucciones desde el terminal, se iniciara la descarga de los

programas OpenVPN y OpenSSL. Se mostrara el porcentaje de descarga y posteriormente

se instalaran con sus valores predeterminados.

Page 62: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

52

Se necesita que OpenVPN no auto inicie con el sistema, debido que aun no se ha

configurado los valores personalizados, a lo cual ejecutamos la siguiente instrucción para

así tener nuestra aplicación OpenVPN a valores predeterminados y así detener cualquier

proceso que hubiese quedado activo durante la instalación:

sudo nano /etc/default/openvpn

Cuando se instala OpenVPN, este por default ya viene configurado para que se inicie al

encender el equipo de cómputo, esto impide que se puedan modificar valores de

configuración para una nueva VPN, por lo cual será necesario también eliminar el script19

de inicio openvpn, para evitar que openVPN inicie sin configurar; para esto se usa el

siguiente comando:

sudo update-rc.d -f /etc/init.d/openvpn remove

Posteriormente se debe crear el archivo openvpn.conf, el cual llevara toda la configuración

de la VPN.

3.3.4.2 Configuración de openvpn.conf

En Linux, la mayoría de las configuraciones que se dan a las aplicaciones, requieren de una

configuración adicional para su funcionamiento. Dichas configuraciones se realizan en un

archivo.conf, que es un editor de instrucciones específicas, propias de cada aplicación; es

decir, cada programa maneja configuraciones únicas para ejecutar determinadas tareas

especificadas por el usuario.

Para tener una mejor idea de por qué usar ese directorio, se aclara que la mayoría de los

programas que se descargan, son instalados en el directorio:

/etc/(nombre de la aplicación)

19

Script. (Archivo de órdenes o archivo de procesamiento por lotes). Son un conjunto de instrucciones generalmente almacenadas en un

archivo de texto que deben ser interpretados línea a línea en tiempo real para su ejecución

Page 63: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

53

De ahí que todas nuestras configuraciones se deben guardar en el directorio donde se

instalo OpenVPN:

/etc/openvpn/

Para crear el archivo.conf, se utilizara el comando siguiente, especificando la ruta donde se

guardara:

sudo nano /etc/openvpn/server.conf

Como se puede observar, nuestro archivo se llamara server.conf y se guardara en la carpeta

openvpn.

Una vez que se ejecuta esta instrucción el sistema nos pide editar el contenido de nuestra

configuración, por lo cual se ingresa la configuración de la nueva VPN:

dev tun

proto tcp

port 1194

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/servidor.crt

key /etc/openvpn/keys/servidor.key

dh /etc/openvpn/keys/dh2048.pem

user nobody

group nogroup

server 10.6.0.0 255.255.255.0

ifconfig-pool-persist /etc/openvpn/clients.txt

status /etc/openvpn/status.txt

persist-key

persist-tun

push "redirect-gateway def1"

push "route 192.168.0.0 255.255.255.0"

keepalive 10 120

verb 3

comp-lzo

max-clients 3

Page 64: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

54

Este código permite personalizar algunos parámetros de la VPN, por mencionar algunos

tenemos, permisos para el puerto de acceso, tipo de protocolo, ubicación de los certificados

y la cantidad de equipos que pueden iniciar sesión al mismos tiempo.

En particular, si no se quiere usar la vpn para internet seguro, es decir, navegar de forma

libre, se puede omitir y quitar la línea “redirect-gateway”.

Otros datos que pueden ser modificados son la entidad (ca), el certificado (cert), la llave

(key) y la Diffie Hellman del servidor (dh), los cuales son necesarios para el

funcionamiento de nuestra VPN, es por ello que estos se crearan más adelante.

Analizando el código, encontramos también el rango de ip que usara la VPN. Es necesario

que se use una dirección ip distinta a la dirección ip del mismo equipo dentro de la red real

(dirección ip fija). Esto se puede observar en la siguiente línea de código, establecemos la

dirección 10.6.0.0 del servidor con una mascara 255.255.255.0:

server 10.6.0.0 255.255.255.0

También tenemos que guardar las direcciones asignadas de cada equipo dentro de la red; es

por ello que se debe usar el siguiente comando que se encarga de guardar a quien se le

asigno cada IP en la VPN:

ifconfig-pool-persist ipp.txt

Las asignaciones proto y port (protocolo y puerto), permiten usar protocolo tcp y utp,

siendo más estable tcp, y el puerto puede ser el que mejor convenga para el que lo esté

aplicando, es decir, este se puede cambiar.

Por otro lado, para permitir que se use el mismo certificado y llave en varios clientes al

mismo tiempo, se puede usar la siguiente instrucción para activarlo, de lo contrario, no es

recomendable activarlo:

duplicate-cn

Para nuestro caso se generaran certificados manualmente, por lo que no se activara esta

última instrucción.

Page 65: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

55

Como sabemos, es importante que nuestro servidor este siempre disponible, es decir que si

se reinicia, este vuelva a levantar la conexión VPN; es por ello que, cargamos un script que

se encarga de cargar openVPN al iniciar el equipo, se usa para el routing y forwarding20

:

up /etc/openvpn/openvpn.up

Ahora bien, para evitar que los usuarios de la VPN se vean entre si, podemos especificar si

existirá conexión punto a punto de la siguiente manera:

client-to-client

Otra cosa que ayuda a la transmisión de información es la compresión de los datos, esto

ayuda a comprimir todo el tráfico de la vpn:

comp-lzo

Cualquier red presenta errores en la transmisión, en ocasiones es importante saber más

detalle de estos errores, por lo que usamos la siguiente línea para aumentar o disminuir los

detalles de error en el server:

verb 3

Dependiendo cuantos equipos se usen en la organización, podemos especificar la cantidad

máxima de usuarios conectados simultáneamente al servidor, esta se puede aumentar o

disminuir:

max-clients 30

Cuando se trabaja con la VPN, tenemos que obligar a que los clientes a usen la vpn como

Gateway21

, es decir estar en la red detrás del VPN server para poder usar sus datos, sin

embargo, como el servidor será en que comparta la información, se debe tener exclusividad

entre cliente y el servidor, es por esto que se debe tener desactivada client-to-client, esto

se lleva a cabo con los comandos:

20 Routing / Forwarding. Ver glosario 21 Gateway. Ver glosario

Page 66: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

56

push route

push "redirect-gateway def1"

3.3.4.3 Inicio del Servidor VPN

Se necesita crear un script para que configure e inicie el servidor de VPN. Ejecutamos la

siguiente línea de comando para crear la configuración:

sudo nano /etc/init.d/vpnserver

Escribimos el código siguiente para cambiar el rango de ip según la configuración de paso

anterior, así como programar que inicie de forma automática; también se prevé que si hay

algún inconveniente y VPN se desconecta, nos permita que este se ejecute nuevamente y

des esta manera que la VPN se mantenga activa:

#!/bin/sh

#

vpnserver_start()

{

echo "VPN Server [OK]"

echo 1 > /proc/sys/net/ipv4/ip_forward

/etc/init.d/networking restart > /dev/null

/sbin/iptables -t nat -A POSTROUTING -s

10.6.0.0/24 -o eth0 -j MASQUERADE

/usr/sbin/openvpn --config

/etc/openvpn/server.conf 2>>

/etc/openvpn/error.txt 1>>

/etc/openvpn/normal.txt &

}

vpnserver_stop()

{

echo "VPN Server [NO]"

/usr/bin/killall "openvpn"

iptables -F

iptables -X

Page 67: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

57

Después de crear el inicio del servidor, procedemos a asignarle permisos de ejecutable:

sudo chmod +x /etc/init.d/vpnserver

Ahora bien, se configura para que auto inicie con el sistema al encender:

sudo update-rc.d vpnserver defaults

Después de realizar todo lo anterior, ya tenemos configurado OpenVPN. Ahora tenemos

que activar el modulo TUN22

en el kernel23

, para que todas estas configuraciones sean

22

TUN. Esta interfaz simula que es un dispositivo Ethernet que trabaja sobre la capa 3 del modelo OSI, esta interfaz es ocupada

cuando hacemos un Ruteo dentro de la red de la VPN. Más información en el anexo C. 23

Kernel. Se refiere al núcleo de un sistema operativo

/etc/init.d/networking restart > /dev/null

}

vpnserver_restart()

{

vpnserver_stop

sleep 1

vpnserver_start

}

#

case "$1" in

'start')

vpnserver_start

;;

'stop')

vpnserver_stop

;;

'restart')

vpnserver_restart

;;

*)

vpnserver_start

;;

esac

Page 68: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

58

manejadas como predeterminadas para este servidor; se ejecutan estas líneas para que

carguemos las últimas configuraciones como parte del arranque del sistema:

sudo modprobe tun

sudo echo "tun" >> /etc/modules

3.3.4.4 Crear los certificados y llaves de cada usuario

Una información muy importante para trabajar con una VPN de forma segura, es crear los

certificados y llaves de cada usuario, para esto se creara lo siguiente:

Crear Diffie Hellman de 2048bits

Crear la Entidad emisora de certificados.

Crear los Certificados y llaves del servidor.

Crear los certificados y llaves de cada usuario.

Cuando se instala OpenVPN, ya se tiene una entidad creada por default. Para crean nuestra

entidad, copiaremos los ejemplos de easy-rsa que está guardados en la carpeta de openvpn,

esto incluye los certificados, llaves y encriptación, que usara OpenVPN:

sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

Ahora se debe entrar a la carpeta donde están las utilidades que copiamos y crear la carpeta

keys:

sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

cd /etc/openvpn/easy-rsa/2.0

sudo mkdir keys

Page 69: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

59

Por último nos queda editar el archivo vars que está en /etc/openvpn/easy-rsa/2.0. Para esto

usamos la instrucción:

sudo nano /etc/openvpn/easy-rsa/2.0/vars

Para modificar los valores de este archivo, ejecutamos lo siguiente:

export KEY_DIR="$EASY_RSA/keys"

Se abrirá una ventana donde se permitirá editar la información. Se tiene que cambiar los

datos existentes por lo siguiente, para que así se generara nuestra llave y esta se guarde si o

si, en la siguiente ruta:

export KEY_DIR="/etc/openvpn/easy-rsa/2.0/keys"

Para continuar, se deben modificar los parámetros para Diffie Hellman de 2048bits, para

esto se usara la siguiente instrucción:

export KEY_SIZE=1024

Cuando se abre el editor, se debe cambiar los datos por lo siguiente:

export KEY_SIZE=2048

Solo nos faltan los datos para la entidad emisora, los cuales se irán pidiendo uno por uno.

Los datos se modificaran dependiendo el valor que se pida por los de tu país, provincia,

ciudad, empresa y correo. Por ejemplo, para nuestro caso se usara lo siguiente:

export KEY_COUNTRY="MX"

export KEY_PROVINCE="DF"

export KEY_CITY="MEXICO"

export KEY_ORG="ESIME-VPN"

export [email protected]

Page 70: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

60

Como ven MX = México, DF = Distrito Federal; el resto, son la ciudad, organización y

correo.

Después de guardar esta información, necesario especificar los certificados y la entidad que

acabamos de editar para nuestro archivo.vars. Comenzamos con la ejecución del siguiente

comando:

source ./vars

Se nos pedirá que limpiemos todas las entidades previamente guardadas, si es que las

hubiera, así como los certificados y llaves. Para llevar a cabo esto se ejecuta el comando:

./clean-all

En seguida se genera la seguridad Diffie Hellman de 2048bits:

./build-dh

Se continua con la generación de la entidad emisora de certificados, esta pedirá los mismos

datos que cuando se creó el archivos vars (país, ciudad, organización, correo), basta con

volver a capturar los mismos datos o dejar en blanco, ya que no son requisitos

indispensables para continuar. Es recomendable completar cada uno:

./build-ca

Una vez que ya se hizo todo lo anterior, podemos generar lo certificados y llaves. En primer

lugar se genera el servidor, para este ejercicio se usara el nombre de servidor, pero se puede

cambiar por el nombre que gusten que se llame su servidor. Cada certificado pedirá los

mismos datos que los archivos vars, se recomienda completar cada uno. Para crear la llave

del servidor usamos la siguiente instrucción:

./build-key-server servidor

Page 71: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

61

Con esto se tiene ya los certificados y llaves de servidor. Lo siguiente es crear los

certificados para el cliente, en nuestro caso usaremos el nombre cliente, pero este se puede

cambiar el nombre que gusten que se llamara el equipo que se conectara al servidor. De

igual manera se pedirá los mismos datos que en el archivo vars. Para crear la llave del

cliente usaremos:

./build-key cliente

En caso de tener varios equipos que tomaran el papel de cliente, este paso se debe repetir

para cada cliente o usuario que quiere conectar a la VPN. Con esto se tiene todo listo para

establecer nuestra conexión VPN.

Ahora para que nuestro servidor tome estos certificados, es necesario copiar los archivos

que generados al lugar que configuramos nuestro openvpn.conf, se debe copiar dentro de la

carpeta:

keys a /etc/openvpn/

para llevar a cabo esta acción, se ejecuta la siguiente instrucción:

sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/

Por ultimo, confirmamos que todos los archivos estén en su lugar, accesando al directorio

de openVPN, al ingresar, no taremos que se encuentran todos nuestros certificados:

cd /etc/openvpn/keys

Si los archivos están en su lugar se procede a generar el ejecutable de la llave dentro de

openvpn:

sudo openvpn --genkey --secret ta.key

Una vez que ya se concluyo toda la configuración iniciamos la conexión VPN para probar

que todo esta correcto:

Page 72: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

62

sudo /etc/init.d/vpnserver start

Si no hay errores, ya tenemos nuestra VPN funcionando. El paso siguiente seria, configurar

el cliente.

3.3.4.5 Inicio del Cliente VPN

Lo primero que se debe hacer es tomar los certificados que ya se habían creado en el

servidor. Para evitar crearlos de nuevo en el cliente, se pueden copiar en un CD, DVD o

memoria extraíble. Los archivos a copiar serian el ca.crt, cliente.crt, cliente.key. En caso de

haber creado más clientes, se tendría que hacer copia de los crt y key de cada uno y

copiarlos en sus respectivos equipos.

Para configurar un cliente en Ubuntu, al igual que en el servidor, se debe de instalar

OpenVPN y también OpenSSL. Adicionalmente tendremos que instalar la Network

Manager de Ubuntu, esta aplicación nos permitirá simplificar las conexiones de la red ya

sea por medio alámbrico o inalámbrico. Es por ello que usaremos las instrucciones:

sudo apt-get -y install openvpn

sudo apt-get -y install openssl

sudo aptitude -y install network-manager-openvpn

Ahora utilizando un editor de texto (puede ser un block de notas24

), ingresamos el siguiente

código para iniciar la configuración:

24

Block de notas. Es un editor de texto simple incluido en los sistemas operativos de Microsoft desde 1985

Page 73: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

63

Para este caso se puede modifican los datos según se lleve a cabo la configuración personal.

En el caso de la IP del servidor, es asignada por nuestro proveedor de internet, es decir, es

una dirección pública o de internet del servidor. El puerto que se tomara, es el mismo que

maneja nuestro servidor, el cual está también asignado en los archivos ca.crt, cliente.crt y

cliente.key, que previamente tenemos copiados en cada uno de los clientes.

Una vez terminada la configuración, se guardan el código con el nombre que se desee, solo

que debe quedar con la extensión .conf en la carpeta openvpn, de la misma forma

procedemos a copiar en la misma carpeta de los archivos ca.crt, cliente.crt y cliente.key en

cada cliente que hayamos configurado.

Ya que tenemos la copia de los certificados y el archivo.conf, abrimos nuestro Network

Manager de Ubuntu y realizamos los siguientes pasos:

1. Ingresamos a la pestaña VPN

2. Utilizando el botón Importar, buscan el archivo.conf que guardamos en la ruta de

openvpn

3. Damos en aceptar y los datos de nuestra VPN se cargaran automáticamente.

client

dev tun

proto tcp

remote IP-DEL-SERVIDOR PUERTO

resolv-retry infinite

nobind

#user nobody

#group nobody

persist-key

persist-tun

ca ca.crt

cert cliente.crt

key cliente.key

comp-lzo

tun-mtu 1500

keepalive 10 120

verb 4

Page 74: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

64

Una vez que concluida toda la configuración, iniciamos la conexión VPN y en ese

momento ya tenemos lista la conexión:

sudo /etc/init.d/vpnserver start

3.4 Ensamble de OpenVPN

Para poner en práctica la instalación de openVPN, enlistamos las pruebas que se pretende

realizar durante el procedimiento de configuración, así como la explicación sintetizada de

la misma. Dichas pruebas pueden dividirse en 2 tipos:

1.- Conexión LAN Cliente-Cliente (Host-Host)

2.- Conexión WAN RoadWarrior (Servidor-Cliente (Red-Cliente))

3.4.1 Conexión LAN Cliente-Cliente

Es el método más simple, nos permite encriptar la comunicación entre dos PC’s las cuales

deberán solamente tener conexión; es decir, ambas PC deben poderse enviar paquetes

directamente ya sea porque estén conectadas en la misma red local, o porque ambas estén

conectadas al internet y sean alcanzables entre sí.

En la configuración cliente a cliente (host a host), lo que lograremos es que el intercambio

de paquetes entre dos máquinas se realice de forma encriptada.

Para esto, crearemos una interfaz virtual con una IP privada en cada extremo:

Para el Host A: 172.1.1.1

Para el Host B: 172.1.1.2

Page 75: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

65

Estas IP’s tienen que colocarse en el archivo.conf, de configuración del túnel y de esta

manera, cualquier paquete que circule entre el cliente y el servidor vía esas direcciones IP,

viajará encriptado.

3.4.1.1 Generación de clave de encriptación Cliente-Cliente

En el caso de una conexión host a host, podemos sencillamente generar una clave

compartida en el servidor, y copiarla hacia el cliente. Con esta clave se encriptarían los

datos sin mayor problema o inconveniente:

openvpn --genkey --secret secret.key

Este archivo "secret.key" tiene que ser copiado hacia el directorio donde se instalo

openvpn, tanto en el cliente como en el servidor:

/etc/openvpn

cp secret.key /etc/openvpn

scp secret.key 172.1.1.1: /etc/openvpn/

Por lo que el archivo de configuración quedara de la siguiente manera:

Figura 3.13. Configuración de llave del servidor

Page 76: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

66

A continuación se menciona la nomenclatura del archivo ilustrado:

local y remote: dirección del dispositivo de túnel

dev tun: se utiliza para este tipo de túnel, pues lo estamos implementando con el protocolo

TCP/IP

ifconfig (ip): Refiere la dirección del server ip del cliente

secret /etc/openvpn/server.key: Es la clave del servidor (llave)

port 5000: Puerto para la conexión

user nobody: Es el usuario bajo el cual ejecutaremos la instrucción

comp-lzo: Opciones para comprimir el tráfico de datos con lzo

Una vez levantemos los dominios en ambos lados, podemos hacer ping hacia la interfaz tun

(10.1.1.1 en el servidor ó 10.1.1.2 en el cliente):

Desde el servidor: ping 10.1.1.2

Desde el cliente: ping 10.1.1.1

Si el ping responde, quiere decir que todo está bien (Fig. 3.14)

Figura 3.14. Ping desde el servidor en 10.1.1.2

Page 77: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

67

3.4.2 Conexión WAN RoadWarrior (Servidor-Cliente)

Uno de los métodos más usados. Mediante ésta forma dos redes separadas en el espacio

pueden comunicarse como si estuvieran unidas por un cable virtual. La comunicación entre

ambas redes viajará encriptada una vez salgan de los servidores de openvpn y hasta que

lleguen a su otro extremo al cliente.

Es una de las formas más utilizadas y solicitadas. Es el permitir que una máquina de un

cliente esté fuera de nuestra red (de forma temporal o permanente) y pueda comunicarse

con el servidor openvpn; una vez autenticado, pueda entrar a y acceder los recursos de

nuestra red local.

Esta forma de conexión es la que se configura preferentemente en el servidor openvpn y

previamente se explico en los puntos anteriores. Para el caso práctico necesitamos crear una

serie de claves y certificados iníciales, para poder autenticar y encriptar la información que

transitará desde el servidor hacia los clientes y viceversa.

3.4.2.1 Generación de llaves Conexión WAN RoadWarrior

Contamos con una serie de scripts en el directorio etc/openvpn/easy-rsa, los cuales nos

ayudarán mucho a ejecutar ésta tarea inicial.

Como primer paso, sugerimos copiar ese directorio: easy-rsa

Después lo insertaremos al directorio: /etc/openvpn

Figura 3.15. Copia de easy-rsa en el directorio /etc/openvpn

Page 78: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

68

Una vez dentro de éste directorio procedemos a ejecutar los siguientes pasos:

. vars

sh clean-all

sh build-ca

Con ellos lo que haremos es:

1. Inicializar variables de ambiente para poder trabajar con los siguientes scripts de

shell para generar las variables.

2. Inicializamos el directorio de las claves (borrando potenciales archivos viejos).

3. Con build-ca, procedemos a generar el certificado ca.

Figura 3.16. Generar e iniciar certificados

Page 79: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

69

En el siguiente, paso se nos pedirá una serie de información sobre nuestra red/empresa que

debemos llenar lo más fielmente posible, como observamos en la figura 3.17:

Figura 3.17. Información necesaria para la generación de certificados

3.4.2.2 Generación del certificado y de la clave de encriptación para el servidor

En esta sección se realizara la generación del certificado de autoridad. Se procederá a crear

el certificado del servidor y de su clave de encriptación: sh build-key-server server

Figura 3.18 Generación del certificado de autoridad

Page 80: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

70

En éste paso, también se nos pedirá nuevamente información sobre el certificado propio del

servidor. En éste caso, se pueden usar los mismos datos que se habían ingresado para la

llave de servidor, aunque debemos ingresar un Common Name o un nombre diferente al

anteriormente escogido para mayor seguridad, para nuestro caso usaremos el nombre de

“server”.

Figura 3.19. Certificado del servidor

Ahora bien, al terminar la captura, se crearan dos archivos en el directorio:

/etc/openvpn/easy-rsa/keys/

Dichos archives se copiarán dentro del mismo servidor hacia /etc/openvpn:

server.crt

server.key

Page 81: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

71

Estos archivos son nuestros certificados y claves privadas para los clientes. Cada cliente

debe tener su propio certificado y clave de seguridad, para cada cliente que tengamos, por

lo cual, si tenemos más clientes, deberemos repetir este paso.

Una vez que ya obtenidos los certificados, debemos copiarlos hacia el directorio de los

clientes:

/etc/openvpn/

Para generar el certificado y claves privadas ejecutamos en nuestro servidor, dentro del

directorio:

/etc/openvpn/easy-rsa/

Figura 3.20. Creación del certificado y claves privadas para el servidor

Debemos hacer notar que al ejecutar el programa sh build-key, pasamos como parámetro el

nombre del cliente (client1 en el ejemplo anterior), el cual debe ser diferente para cada

cliente. En el common name ponemos el nombre del cliente (client1, en éste ejemplo), si

hubiera más clientes se tendría que tener nombres distintos.

Page 82: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

72

Se pueden generar tantas claves como sean necesarias, por ejemplo:

sh build-key client2

sh build-key client3

3.4.2.3 Generación de parámetros de Diffie-Hellman

El protocolo Diffie-Hellman (explicado en el anexo D), permite el intercambio secreto de

claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro

(como lo es internet), y de manera anónima. Debemos generarlo ejecutando el comado:

sh build-dh

Figura 3.21 Generación del protocolo Diffie-Hellman

Page 83: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

73

3.4.2.4 Archivos necesarios para iniciar la VPN

Es necesario copiar algunos archivos al sevidor y otroa al cliente, estos son loque nos

ayudaran a realizar la autenticación para entrar a nuestra VPN, dichos archivos se

mencionan a continuación.

1. Archivos a copiar al servidor:

Hacia el directorio /home/beni/openvpn, del servidor copiamos los siguientes

archivos:

* ca.crt

* ca.key

* server.key

* server.crt

* dh1024.pem

2. Archivos a copiar al cliente:

Hacia el directorio /etc/openvpn, de cada cliente copiamos los siguientes archivos:

* ca.crt

* clientX.crt

* clientX.key

X es un número que se corresponde con el cliente (para el cliente 2 sería: client2.crt y

client2.key por ejemplo).

Estos 3 archivos deben copiarse de forma segura hacia el cliente, mediante algún medio

magnético seguro como un CD o DVD, también podría utilizarse una memoria flash25

. No

deben enviarse por mail puesto que contienen la clave (.key) de encriptación del cliente.

25

Memoria flash. Es un tipo de dispositivo de almacenamiento no volátil y reescribible.

Page 84: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

74

Estos archivos están presentes en: /home/beni/openvpn/easy-rsa/keys del servidor.

Una vez que ya se tiene los archivos copiados en sus respectivas carpetas, se procede a

iniciar nuestra VPN utilizando la instrucción:

sudo /etc/init.d/vpnserver start

al igual que la conexión LAN cliente a cliente, al mandar un ping del servidor al cliente y

viceversa, estos estarán comunicándose, permitiendo que se comparta información de

manera segura.

Page 85: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

75

Capítulo IV

Open VPN

Page 86: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

76

4.1 Licencia GPL

Los programas de ordenador suelen distribuirse con licencias propietarias o cerradas. Estas

licencias son intransferibles y no exclusivas, es decir, no eres propietario del programa, sólo

tienes derecho a usarlo en un ordenador o tantos como permita la licencia y no puedes

modificar el programa ni distribuirlo.

La licencia (General Public License (GPL)), desarrollada por la (Free Software Foundation

(FSF)), es completamente diferente. Puedes instalar y usar un programa GPL en un

ordenador o en tantos como te apetezca, sin limitación. También puedes modificar el

programa para adaptarlo a lo que tú quieras que haga. Además, podrás distribuir el

programa GPL tal cual o después de haberlo modificado, regalando el programa o

vendiéndolo, tu única obligación, es facilitar el código fuente con el programa binario, es

decir, que pueda ser leído por un programador.

Los programas propietarios o cerrados, solo se distribuyen en binario, listos para ejecutarse

en el ordenador.

Un programa GPL es libre, es decir, no es \Cmpartir "shareware\" o \Libre "freeware\",

éstos también puedes conseguirlos en un cd-rom al comprar un revista o descargarlos de

internet, pero no incluyen el código fuente y no tienes permiso para modificarlos, es decir,

no son libres.

Page 87: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

77

Los programas distribuidos con licencia GPL tampoco son piratas, no obstante, ofrecen más

derechos a sus usuarios y su sistema abierto hace que los defectos sean detectados y

depurados a gran velocidad con la ayuda de cientos de programadores a través de internet.

4.2 Cifrado Pen SSL/TLS

El protocolo de capa de conexión segura (Secure Sockets Layer (SSL)) y su sucesor

seguridad de la capa de transporte (Transport Layer Security (TLS)) son protocolos

criptográficos que proporcionan comunicaciones seguras por una red, comúnmente internet.

SSL proporciona autenticación y privacidad de la información entre extremos sobre internet

mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se

garantiza su identidad) mientras que el cliente se mantiene sin autenticar.

Figura 4.1. Cifrado SSL

Page 88: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

78

El protocolo SSL/TSL se basa en tres fases básicas:

1. Negociación: los dos extremos de la comunicación (cliente y servidor) negocian que

algoritmos criptográficos utilizarán para autenticarse y cifrar la información.

Actualmente existen diferentes opciones:

Para criptografía de clave pública: RSA26

, Diffie-Hellman, DSA (Digital

Signature Algorithm) o Fortezza.

Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption

Algorithm), DES (Data Encryption Standard), Triple DES o AES (Advanced

Encryption Standard).

Con funciones hash: MD5 o de la familia SHA.

2. Autenticación y claves: los extremos se autentican mediante certificados digitales e

intercambian las claves para el cifrado, según la negociación anterior.

3. Transmisión segura: los extremos pueden iniciar el tráfico de información cifrada y

autentica.

Este protocolo está muy extendido para realizar actividades de comercio electrónico de tal

manera que Visa, MasterCard, American Express y muchas de las principales instituciones

financieras han aprobado SSL para el comercio sobre internet.

Hay que destacar que SSL/TLS se compone de cuatro protocolos. Estos protocolos

funcionan de manera idéntica en SSL y en TLS pero incorporan algunos detalles en TLS

para su mejor funcionamiento. A continuación se definen estos cuatro protocolos sin entrar

en mucho detalle:

26

RSA. Es el sistema criptográfico más conocido y usado de clave pública desarrollado en 1977 por Rivest, Shamir y Adlman

Page 89: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

79

- Record Protocol: Encapsula los protocolos de nivel más alto y construye un canal de

comunicaciones seguro. Se podría decir que es un protocolo de transporte.

- Handshake Protocol: Se encarga de gestionar la negociación de los algoritmos de

cifrado y la autenticación entre cliente y servidor. Define las claves de sesión

utilizadas para cifrar. Se podría decir que es un protocolo de autenticación.

- Change Cipher Spec Protocol: Es un mensaje de un byte para notificar cambios en

la estrategia de cifrado.

- Alert Protocol: Señaliza alertas y errores en la sesión establecida.

Figura 4.2. Situación de SSL/TLS en la pila de protocolos OSI

Page 90: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

80

4.3 ¿Por qué Open VPN?

OpenVPN es una solución para la creación de VPN mediante software. Puede obtenerse en

su sitio oficial. Existen varias versiones para distintos sistemas operativos, entre ellos Linux

y Windows. Hablando de Linux, cabe mencionar que numerosas distribuciones lo incluyen

también dentro de sus repositorios, por lo que puede instalarse también a través de las

utilidades de la propia distribución.

Es una solución multiplataforma que ha simplificado mucho la configuración de las VPN's

dejando atrás los tiempos de otras soluciones difíciles de configurar como IPsec y

haciéndola más accesible para gente inexperta en este tipo de tecnología. Su principal

desventaja por el momento es que hay muy pocos fabricantes de hardware que lo integren

en sus soluciones por esta razón lo utilizamos en la plataforma Linux que como hemos

mencionado es fácil de utilizar.

4.4 Características de Open VPN

Es un excelente producto de software creado por James Yonan en el año 2001 y ha estado

en continua mejora desde entonces. Ninguna otra solución ofrece una mezcla semejante de

seguridad a nivel empresarial y riqueza de características. Se encuentra publicado bajo la

licencia GPL, de software libre puede ser usado, copiado, cambiado/mejorado y

redistribuido libremente. No hay que confundirlo con software gratuito ya que no es

obligatorio que todo software libre sea gratuito. Sin embargo OpenVPN también es

gratuito.

Implementa conexiones de capa 2 ó 3 del modelo OSI, usa los estándares de la industria

SSL/TLS27

.

27

SSH/TLS. Transport Layer Security (TLS ) y su predecesor, Secure Sockets Layer (SSL), son protocolos criptográficos que

proporcionan comunicaciones de seguridad a través de internet .

Page 91: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

81

4.5 Ventajas de Open VPN

Facilidad de instalación y uso.

Es un software rápido y ágil en su ejecución ya que no necesita grandes recursos de

procesamiento.

Es multiplataforma (Linux, Simbian, Solaris, Mac OS, Windows, etc.).

Seguridad basada en el uso de SSL/TLS para la autenticación.

Diseño modular. Se basa en un excelente diseño modular con un alto grado de

simplicidad tanto en seguridad como red.

Soporta autenticación del cliente utilizando políticas de acceso a usuarios y grupos

específicos, y reglas de firewall aplicadas a las interfaces virtuales usadas por

OpenVPN para el filtrado de paquetes IP.

Trabajar con cifrados simétricos (compartiendo claves) o cifrados asimétricos con

certificados y el intercambio de claves mediante TLS.

Las 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 debe funcionar sin problemas.

Trabaja en el espacio de usuario, de forma que en caso de fallo de un componente,

este contiene dicho fallo, y no permite que el sistema esté en peligro.

Ningún problema con NAT. Tanto los clientes como el servidor pueden estar en la

red usando solamente IPs privadas.

Las Ventajas OpenVPN provee seguridad, estabilidad y comprobados mecanismos

de cifrado sin sufrir la complejidad de otras soluciones VPN como las de IPsec.

Figura 4.3 Logotipos de Open VPN e IPSec VPN

Page 92: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

82

4.5.1 Comparación entre Open VPN e IPSec VPN

IPsec OpenVPN

Estándar de la tecnología VPN No compatible con IPsec

Plataformas de hardware

(dispositivos, aparatos)

Solo en computadoras, pero en todos los sistemas

operativos disponibles, ya comienzan a encontrarse

dispositivos que cuentan con OpenVPN

Tecnología conocida y probada Probada y sigue en crecimiento

Muchas interfaces gráficas

disponibles

Sin interfaces gráficas profesionales, aunque ya

existen algunos proyectos prometedores

Modificación compleja del stack IP Tecnología sencilla

Necesidad de modificaciones críticas

al kernel

Interfaces de red y paquetes estandarizados

Necesidad de permisos de

administrador

Ejecuta en el espacio del usuario y puede ser

chroot-ed

Diferentes implementaciones de

distintos proveedores pueden ser

incompatibles entre si

Tecnologías de cifrado estandarizadas

Configuración compleja y tecnología

compleja

Facilidad, buena estructuración, tecnología

modular y facilidad de configuración

Curva de aprendizaje muy

pronunciada

Fácil de aprender e implementar (incluso para

principiantes)

Necesidad de uso de múltiples

puertos y protocolos en el firewall

Utiliza sólo un puerto del firewall

Problemas con direcciones dinámicas

en ambas puntas

Trabaja con servidores de nombres dinámicos

como DynDNS o No-IP con reconexiones rápidas

y transparentes

Problemas de seguridad de las

tecnologías IPsec

SSL/TLS como estándar de criptografía

Page 93: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

83

4.6 Seguridad en Open VPN

Para encriptar datos se usan Passwords o claves de encriptación, OpenVPN tiene dos

modos considerados seguros, uno basado en claves estáticas pre-compartidas y otro en

SSL/TLS usando certificados y claves RSA. Cuando ambos lados usan la misma clave

para encriptar y desencriptar los datos, estamos usando el mecanismo conocido como

“clave simétrica” y dicha clave debe ser instalada en todas las máquinas que tomarán parte

en la conexión VPN. Si bien SSL/TLS + claves RSA es por lejos la opción más segura, las

claves estáticas cuentan con la ventaja de la simplicidad.

4.6.1 Encriptación simétrica y claves pre-compartidas

Cualquiera que posea la clave podrá desencriptar el tráfico, por lo que si un atacante la

obtuviese comprometería el tráfico completo de la organización ya que tomaría parte como

un integrante más de la VPN.

Figura 4.4. Encriptación Simétrica

Una buena combinación de tiempo de vida y longitud de la clave asegurarán que un

atacante no pueda descifrar la clave a tiempo, haciendo que cuando finalmente la obtenga

(porque lo hará), ya no le sirva por estar fuera de vigencia.

Page 94: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

84

4.6.2 Cifrado asimétrico con SSL/TLS

SSL/TLS usa una de las mejores tecnologías de cifrado para asegurar la identidad de los

integrantes de la VPN, Cada integrante tiene dos claves, una pública y otra privada.

La pública es distribuida y usada por cualquiera para cifrar los datos que serán enviados a la

contraparte quien conoce la clave privada que es imprescindible para descifrar los datos. El

par de clave pública/privada es generado a partir de algoritmos matemáticos que aseguran

que solo con la clave privada es posible leer los datos originales. Si se encontrase un modo

de quebrar la seguridad que estos algoritmos proporcionan, todas las conexiones cuya

integridad depende de ellos se verían potencialmente comprometidas.

Es de destacar que la clave privada debe permanecer secreta mientras que la clave pública

debe ser intercambiada para que nos puedan enviar mensajes.

Figura 4.5. Criptografía Asimétrica

Las bibliotecas SSL/TLS son parte del software Open SSL que viene instalado en cualquier

sistema moderno e implementa mecanismos de cifrado y autenticación basados en

certificados. Los certificados generalmente son emitidos por entidades de reconocida

confiabilidad aunque también podemos emitirlos nosotros mismos y usarlos en nuestra

propia VPN. Con un certificado firmado, el dueño del mismo es capaz de demostrar su

identidad a todos aquellos que confíen en la autoridad certificadora que lo emitió. Para más

información véase el anexo E.

Page 95: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

85

4.7 Cómo implementar una política de seguridad

Generalmente, la seguridad de los sistemas informáticos se concentra en garantizar el

derecho a acceder a datos y recursos del sistema configurando los mecanismos de

autentificación y control que aseguran que los usuarios de estos recursos sólo posean los

derechos que se les han otorgado. Los mecanismos de seguridad pueden sin embargo,

causar inconvenientes a los usuarios. Con frecuencia, las instrucciones y las reglas se

vuelven cada vez más complicadas a medida que la red crece. Por consiguiente, la

seguridad informática debe estudiarse de modo que no evite que los usuarios desarrollen

usos necesarios y así puedan utilizar los sistemas de información en forma segura.

Por esta razón, uno de los primeros pasos es definir una política de seguridad que pueda

implementar en función a las siguientes cuatro etapas:

Identificar las necesidades de seguridad y los riesgos informáticos, así como sus

posibles consecuencias

Proporcionar una perspectiva general de las reglas y los procedimientos que deben

implementarse para afrontar los riesgos identificados en los diferentes

departamentos de la organización

Controlar y detectar las vulnerabilidades del sistema de información, y mantenerse

informado en las aplicaciones y en los materiales que se usan

Definir las acciones a realizar y las personas a contactar en caso de detectar una

amenaza

La política de seguridad comprende todas las reglas de seguridad que sigue una

organización (en el sentido general de la palabra). Por lo tanto, la administración de la

organización en cuestión debe encargarse de definirla, ya que afecta a todos los usuarios del

sistema. En este sentido, no son sólo los administradores de informática los encargados de

definir los derechos de acceso sino sus superiores. El rol de un administrador de

informática es el de asegurar que los recursos de informática y los derechos de acceso a

estos recursos coincidan con la política de seguridad definida.

Page 96: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

86

4.7.1 Las causas de inseguridad

Inseguridad activa; es decir, la falta de conocimiento del usuario acerca de las funciones del

sistema, algunas de las cuales pueden ser dañinas para el sistema (por ejemplo, no

desactivar los servicios de red que el usuario no necesita).

Inseguridad pasiva; es decir, la falta de conocimiento de las medidas de seguridad

disponibles (por ejemplo, cuando el administrador o usuario de un sistema no conocen los

dispositivos de seguridad con los que cuentan)

La seguridad es un aspecto fundamental para muchas aplicaciones cliente-servidor, siendo

un ejemplo muy importante, por su gran proyección en los últimos tiempos, el negocio

electrónico.

Mediante el uso de SSL/TLS se ha conseguido aumentar el grado de seguridad en dichas

conexiones cliente-servidor, teniendo presente que la idea de "seguridad total" es una

utopía.

Como se ha explicado en esta ampliación el uso de SSL/TLS junto con otras técnicas como

IPSec, cifrado, nos ayudan a mantener la confidencialidad e integridad de los datos durante

la comunicación, protegiendo así datos confidenciales. Aunque no hay que olvidar que los

ataques pueden ser múltiples y cada vez más sofisticados, lo que obliga a una permanente

investigación de mejora de los diferentes protocolos de seguridad, se puede decir que un

uso correcto de estos protocolos nos proporciona un nivel de seguridad bastante aceptable.

Page 97: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

87

Conclusiones

Este trabajo surge ante el problema que plantea la falta de seguridad que presentan las

comunicaciones a través de la infraestructura de redes públicas.

Con el crecimiento exponencial de las redes es importante para cualquier organización el

mantener su información accesible y debidamente protegida de tal manera que solo los

usuarios definidos puedan acceder a ella.

A lo largo del proyecto se ha explicado en qué consiste una VPN y el tipo de seguridad que

maneja de tal manera representan una gran solución para las empresas en cuanto a

seguridad, confidencialidad e integridad de los datos a demás de que reduce

significativamente el costo en la transferencia de datos de un lugar a otro, permiten la

comunicación entre dos o más usuarios en lugares geográficamente distintos, mejorando la

productividad y rentabilidad. Es por ello que se opta por una solución basada en software,

entre las distintas implementaciones de esta tecnología, optamos utilizar OpenVPN basado

en el protocolo SSL/TLS en Linux, por las grandes ventajas que ofrece al ser una

herramienta completa y flexible, y por ser de software libre y gratuito, con lo cual no hemos

tenido que afrontar ningún tipo de gasto económico.

La tecnología SSL/TLS constituye sin duda alguna una opción flexible y robusta de

asegurar las comunicaciones a través de la infraestructura de redes públicas. Esperamos que

este documento permita comprender cómo funciona, y cómo se configura, sin demasiada

dificultad, una conexión VPN SSL/TLS mediante OpenVPN.

Las posibilidades de aplicación de una VPN son muchas como es el caso de acceso a

servidores de correo electrónico, bases de datos, sistemas de Planificación de Recursos

Materiales ERP ó archivos compartidos, así como la administración remota de sistemas

externos.

Page 98: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

88

No hay solución de seguridad informática que sea 100% inmune a los ataques de usuarios

malintencionados, pero en este trabajo se plantea una propuesta de implementación de un

VPN con la cual existe mayor confianza sobre el resguardo de sus archivos.

Como comentario final indicar que para nosotros ha sido muy motivador y satisfactorio la

totalidad del desarrollo de este trabajo, tanto la fase previa de estudio como su posterior

implantación. Es alentador para cualquier ingeniero comprobar que su proyecto tiene un fin

cultural y útil.

Page 99: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

89

Bibliografía

1. Pepelnjak, Ivan. “Arquitectura, VPN y MPLS”. pp 400. Ed. Prentice Hall.

2. CURTIS, Nancy. “Network+ Certification, A CompTIA Certification”. pp 308 –

312. Cuarta Edición. EUA. 2005. Ed. Elementk.

3. Scott, Charly, Wolfe, Paul, Erwin, Mike. “Virtual Private Networks”. Segunda

Edición. Enero 1999. O’Reilly & Associates.

4. William Stallings, “Comunicaciones y Redes de Computadoras”. Séptima Edición,

México, 2004. Pearson Prentice- Hall

5. Molina Robles, Fco. Jose. “Redes de Local”. Segunda Edicion. . 2005. Ed. RA-MA

6. Andrew S. Tanenbaum. “Redes de Computadoras”. Cuarta Edición, México, 2003.

Perarson Prentice – Hall

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 remote basado en SSL mediante Open

VPN” Cartagena, 2008. Ganovas

9. Feilnerr M, “OpenVPN Building and Integrating Virtual Private Networks”. 2006.

Packt Publishing.

Page 100: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

90

Glosario

ADSL Tecnología de línea de abonado digital asimétrica o ADSL

(Asymmetric Digital Subscriber Line), es una tecnología para

módems, que proporciona un acceso asimétrico y de alta velocidad a

través del par de cobre actualmente instalado en las oficinas y casas de

los usuarios de la RTB o bien de la RDSI, con la cual también es

compatible

Algoritmo de Hash Es una función de resumir o identificar probalísticamente un gran

conjunto de información

Antispyware Es un programa desarrollado para el ámbito de la seguridad

informática, el cual protege a los usuarios de programas maliciosos,

tales como el software espía, spywares, la publicidad no deseada en

nuestro navegador, adwares, pérdida de control sobre nuestro equipo,

hijackers, entre otros malwares.

Antivirus Son programas cuyo objetivo es detectar y/o eliminar virus

informáticos. Nacieron durante la década de 1980

ASP (Active Server Pages) es la tecnología desarrollada por Microsoft para

la creación de páginas dinámicas del servidor. ASP se escribe en la

misma página web, utilizando el lenguaje Visual Basic Scrip o Jscript

(Javescript de Microsoft).

Check Point Es un proveedor global de soluciones de seguridad IT. Conocido por

sus productos Firewall y VPN, Check Point fue el pionero en la

industria con el FireWall-1 y su tecnología patentada de inspección de

estado.

Cifrado Es un procedimiento que utilizando un algoritmo (algoritmo de

cifrado) con cierta clave (clave de cifrado) transforma un mensaje, sin

atender a su estructura lingüística o significado, de tal forma que sea

incomprensible o, al menos, difícil de comprender, a toda persona que

no tenga la clave secreta (clave de descifrado) del algoritmo que se usa

para poder descifrarlo.

Cluster El término cluster se aplica a los conjuntos o conglomerados

de computadoras construidos mediante la utilización de hardwares

comunes y que se comportan como si fuesen una única computadora.

Criptografía La criptografía (del krypto, oculto, y graphos, escribir, literalmente

escritura oculta) son las técnicas, bien sea aplicadas al arte o la

ciencia, que alteran las representaciones lingüísticas de mensajes,

mediante técnicas de cifrado y/o codificado

DES Data Encryption Standard, es un algoritmo de cifrado, es decir, un

método para cifrar información

Page 101: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

91

DNS ( Domain Name Service) es un sistema de nombres que permite

traducir de nombre de dominio a dirección IP y vice-versa.

DoS Ataque de Denegación de Servicio (Denial of Service)

EEUU Estados Unidos ó USA

Extranet Es una red privada que utiliza protocolos de internet, protocolos de

comunicación y probablemente infraestructura pública de

comunicación para compartir de forma segura parte de la información

u operación propia de una organización con proveedores,

compradores, socios, clientes o cualquier otro negocio u organización.

Firewall Un corta fuegos (firewall en inglés) es una parte de un sistema o una

red que está diseñada para bloquear o denegar el acceso a personas no

autorizadas a una pc, permitiendo al mismo tiempo comunicaciones

autorizadas.

Gateway Una pasarela o puerta de enlace (del inglés gateway) es un dispositivo,

con frecuencia una computadora, que permite interconectar redes con

protocolos y arquitecturas diferentes a todos los niveles de

comunicación. Su propósito es traducir la información del protocolo

utilizado en una red, al protocolo usado en la red de destino

Hardware Corresponde a todas las partes tangibles de un sistema informático;

sus componentes son: eléctricos, electrónicos, electromecánicos y

mecánicos. Son cables, gabinetes o cajas, periféricos de todo tipo y

cualquier otro elemento físico involucrado; contrariamente, el soporte

lógico es intangible y es llamado software.

Host Un host o anfitrión es un ordenador que funciona como el punto de

inicio y final de las transferencias de datos. Más comúnmente descrito

como el lugar donde reside un sitio web. Un host de internet tiene

una dirección de internet única (direción IP) y un nombre de

dominio único o nombre de host.

HTTP Protocolo de Transferencia de Hipertexto (HyperText Transfer

Protocol)

Imagen ISO Imagen ISO es un archivo donde se almacena una copia o imagen

exacta de un sistema de ficheros, normalmente un disco óptico. Se rige

por el estándar ISO 9660 que le da nombre.

Intranet Es una red de ordenadores privados que utiliza tecnología internet para

compartir dentro de una organización parte de sus sistemas de

información y sistemas operacionales.

IDC International Data Corporation

IP Una dirección IP es una etiqueta numérica que identifica, de manera

lógica y jerárquica, a un interfaz (elemento de

comunicación/conexión) de un dispositivo (habitualmente una

Page 102: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

92

computadora) dentro de una red que utilice el protocolo IP (Internet

Protocol), que corresponde al nivel de red del protocolo TCP/IP.

ISAKMP Internet Security Association and Key Management Protocol. es

un protocolo criptográfico que constituye la base del protocolo de

intercambio de claves IKE. Define los procedimientos y formatos de

paquetes para establecer, negociar, modificar y eliminar las SA

(asociaciones de seguridad)

ISP Un proveedor de servicios de internet (o ISP, por la sigla en inglés de

Internet Service Provider) es una empresa que brinda conexión

a internet a sus clientes. Un ISP conecta a sus usuarios a internet a

través de diferentes tecnologías como DSL, Cablemódem, GSM, Dial-

up, Wifi, entre otros. Muchos ISP también ofrecen servicios

relacionados con internet, como el correo electrónico, alojamiento

web, registro de dominios, servidores de noticias, etc.

LAN Una red de área local, red local o LAN (del inglés local area network)

es la interconexión de una o varias computadoras y periféricos. Su

extensión está limitada físicamente a un edificio o a un entorno de 200

metros, con repetidores podría llegar a la distancia de un campo de 1

kilómetro. Su aplicación más extendida es la interconexión

de computadoras personales y estaciones de trabajo en oficinas,

fábricas, etc.

Malware También llamado badware, código maligno, software malicioso o

software malintencionado, es un tipo de software que tiene como

objetivo infiltrarse o dañar una computadora o Sistema de información

sin el consentimiento de su propietario.

MS-DOS Los datos se almacenan en archivos. Cuando se ejecuta un programa,

MS-DOS procesa los datos almacenados en el archivo y los transmite

al sistema.

En MS-DOS, un archivo puede ser de cualquier tamaño, sin embargo,

el nombre del archivo es más restringido, sólo puede tener una

longitud máxima de 8 caracteres y una extensión de 3 caracteres.

NFS Network File System (Sistema de archivos de red). Es un protocolo de

nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas

de archivos distribuido en un entorno de red de computadoras de área

local. Posibilita que distintos sistemas conectados a una misma red

accedan a ficheros remotos como si se tratara de locales.

Paquete Se le llama paquete de red o paquete de datos a cada uno de los

bloques en que se divide, en el nivel de Red, la información a enviar.

PLIP Linea IP paralela (Parallel Line Internet Protocol) es una red de la

computadora protocolo para comunicaciones directas de ordenador a

ordenador de comunicaciones utilizando el puerto paralelo

normalmente se utiliza para conexiones a una impresora.

Page 103: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

93

Plug and Play (En español "enchufar y usar") es la tecnología que permite a

un dispositivo informático ser conectado a una computadora sin tener

que configurar, mediante jumpers o software específico (no

controladores) proporcionado por el fabricante, ni proporcionar

parámetros a sus controladores. Para que sea posible, el sistema

operativocon el que funciona el ordenador debe tener soporte para

dicho dispositivo.

Protocolo Son reglas de comunicación que permiten el flujo de información

entre equipos que manejan lenguajes distintos, por ejemplo, dos

computadores conectados en la misma red pero con protocolos

diferentes no podrían comunicarse jamás, para ello, es necesario que

ambas "hablen" el mismo idioma.

PYME Acrónimo de Pequeña y Mediana Empresa

PDA Del inglés Personal Digital Assistant (Asistente Digital Personal)

computador de mano originalmente diseñado como agenda electrónica

(calendario, lista de contactos, bloc de notas y recordatorios) con un

sistema de reconocimiento de escritura.

S-box Defender Es una plataforma de seguridad donde un solo dispositivo puede

albergar toda la seguridad. Entre sus funciones destaca la de proteger

la privacidad de los datos, mantener la integridad del PC y de la red,

filtrar contenidos inapropiados, detener virus y asegurar la vía de

acceso a cualquier red corporativa

Sistema Operativo Un sistema operativo (SO) es un programa o conjunto de programas

que en un sistema informático gestiona los recursos de hardware y

provee servicios a los programas de aplicación, ejecutándose en modo

privilegiado respecto de los restantes

Software Se conoce como software al equipamiento lógico o soporte lógico de

un sistema informático, comprende el conjunto de los

componentes lógicos necesarios que hacen posible la realización de

tareas específicas. Ejemplo: aplicaciones informáticas, procesador de

textos, el sistema operativo, etc.

Spam Correo basura o mensaje basura a los mensajes no solicitados, no

deseados o de remitente no conocido (correo anónimo), habitualmente

de tipo publicitario, generalmente enviados en grandes cantidades

(incluso masivas) que perjudican de alguna o varias maneras al

receptor

Spyware El spyware o programas espías son aplicaciones que recopilan

información sobre una persona u organización sin su consentimiento

ni conocimiento. Estos programas espías suelen robar datos sobre el

usuario para beneficiarse económicamente o simplemente para

utilizarlos con fines publicitarios.

StoneGate El firewall StoneGate dispone de una arquitectura nueva y diferente,

que proporciona un nivel de seguridad de red y continuidad de

Page 104: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

94

negocio que las aproximaciones tradicionales no pueden ofrecer. Crea

un perímetro proactivo alrededor de la empresa, previene ataques, y

asegura las comunicaciones de datos con múltiples conexiones

paralelas de redes privadas virtuales (VPN).

Stone Soft Empresa cuya cartera de productos incluye firewall / VPN de los

dispositivos, ISP y los sistemas de SSL VPN

Sun Mycrosystems Es una empresa informática que se dedicaba a vender ordenadores,

componentes informáticos, software y servicios informáticos

TCP/IP TCP/IP es un conjunto de protocolos. La sigla TCP/IP significa

"Protocolo de control de transmisión/Protocolo de Internet".

Representa todas las reglas de comunicación para internet y se basa en

la noción de dirección IP, es decir, en la idea de brindar una dirección

IP a cada equipo de la red para poder enrutar paquetes de datos.

Terminal Terminal o consola de comandos. Es una aplicación que permite

ejecutar una serie de sentencias para acceder a ciertos lugares del

sistema, realizar ciertas tareas o simplemente visualizar reportes

importantes. Es muy similar a la ventana de DOS o CMD de

Windows. Para acceder al terminal de Linux en Ubuntu se necesita

entrar desde la parte superior en Aplicaciones> Accesorios> Terminal.

El terminal es tan poderoso que si tenemos permisos de root (permisos

de superusuario en Linux) podemos dejar que arranque o deje de

funcionar el sistema moviendo, así que hay que tener cuidado con los

permisos.

TI Tecnología de la infamación se entiende como "aquellas herramientas

y métodos empleados para recabar, retener, manipular o distribuir

información. La tecnología de la información se encuentra

generalmente asociada con las computadoras y las tecnologías afines

aplicadas a la toma de decisiones.

Tráfico Es la cantidad de datos enviados y recibidos por los visitantes

Usuario Es la persona que utiliza una computadora, sistema operativos,

servicio o cualquier sistema informático

Virus Es un malware que tiene por objeto alterar el normal funcionamiento

de la computadora, sin el permiso o el conocimiento del usuario.

VPN Red Privada Virtual ó virtual private network

Web Hosting El alojamiento web (en inglés web hosting) es el servicio que provee a

los usuarios de internet un sistema para poder almacenar información,

imágenes, vídeo, o cualquier contenido accesible vía web.

Wireless Es el nombre común que reciben las redes inalámbricas

Wireless LAN(WLAN) Una red de área local inalámbrica, también conocida

como WLAN (del inglés wireless local area network), es un sistema

Page 105: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

95

de comunicación de datos inalámbrico flexible, muy utilizado como

alternativa a las redes de área local cableadas o como extensión de

estas. Utiliza tecnologías de radiofrecuencia que permite mayor

movilidad a los usuarios al minimizar las conexiones cableadas

Page 106: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

96

Anexos

A. Otros Comandos para Linux

Comando Descripción, ejemplos y comentarios

man comando Muestra el manual de un comando, útil

para aprender a utilizar sus argumentos man man

mc

Explorador de archivos que incluye su

propio editor, mcedit. Es necesario

instalarlo

sudo mc

rm archivo Borra archivo

mkdir nom_directorio Crea directorio nom_directorio

rmdir nom_directorio Borra directorio nom_directorio

killall processname Mata el proceso con ese nombre

cat fichero Muestra el contenido

de un fichero

cat

/home/NOMBRE_USUARIO/YO/prueba.

php

zcat fichero Muestra el contenido de un archivo comprimido (.gz)

zmore fichero Muestra el contenido de un archivo comprimido (.gz)

zless fichero Muestra el contenido de un archivo comprimido (.gz)

file archivo Muestra el tipo de un archivo determinado

type comando Muestra la ubicación del ejecutable perteneciente al comando

indicado

pwd Visualiza el directorio actual o de trabajo

history Muestra el listado de comandos usados por el usuario

(~/.bash_history)

df Muestra el espacio libre en el disco duro

top Muestra los procesos que más CPU consumen en tiempo real, así

como la memoria RAM y swap usada, entre otra información

Page 107: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

97

halt Apaga el equipo

reboot Reinicia el equipo

shutdown -h now Apaga el equipo

shutdown -r now Reinicia el equipo

passwd Cambia la contraseña del usuario

addgroup

nombre_grupo

Se utiliza para crear

un grupo nuevo. addgroup Pepito

adduser

nombre_usuario

[nombre_grupo]

Se utiliza para añadir un usuario. En ese momento, no solo se

creará la cuenta del usuario sino también su directorio de trabajo,

un nuevo grupo de trabajo que se llamará igual que el usuario y

añadirá una serie de ficheros de configuración al directorio de

trabajo del nuevo usuario.

adduser Pepito Invitados

history -c Es Utilizado para Borra el Historial de Comandos

alias

nombre_alias=coman

do

En ciertas ocasiones se suelen utilizar comandos que son difíciles

de recordar o que son demasiado extensos, pero en UNIX existe la

posibilidad de dar un nombre alternativo a un comando con el fin

de que cada vez que se quiera ejecutar, sólo se use el nombre

alternativo.

alias instala=apt-get install

at [-lr] hora [fecha] Realiza un tarea programada una sola vez.

bash / sh / ksh / csh Existen varias shells para Unix, Korn-Shell (ksh), Bourne-Shell

(sh), C-Shell (csh),bash.

bg PID Manda un proceso a segundo plano.

cal [[mes] año]. Muestra el calendario.

chattr Cambiar atributos de un fichero. || Sintaxis: chattr atributos

nom_archivo.

chgrp Cambia el grupo al que pertenece el archivo. || Sintaxis: chgrp

nom_grupo nom_archivo.

Page 108: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

98

chmod

Utilizado para cambiar la proteción o permisos de accesos a los

archivos. r:lectura w:escritura x:ejecución +: añade permisos -

:quita permisos u:usuario g:grupo del usuario o:otros || Sintaxis:

chmod permisos nom_archivo

chroot Nos permite cambiar el directorio raiz. || Sintaxis: chroot

nom_directorio_raiz.

clear Limpia la pantalla, y coloca el prompt al principio de la misma. ||

Sintaxis: clear.

cmp, diff

Permite la comparación de dos archivos, línea por línea. Es

utilizado para compara archivos de datos. Sintaxis: diff

nom_archivo1 nom_archivo2 / cmp nom_archivo1 nom_archivo2.

crontab

Realizar una tarea programada de forma regular. || Sintaxis:

minuto(0-59) hora(0-23) dia_mes(1-31) mes(1-12) dia_semana(0-

6) comando.

cut

Ttiene como uso principal mostrar una columna de una salida

determinada. La opción -d va seguida del delimitador de los

campos y la opción -f va seguida del número de campo a mostrar.

El “delimitador” por defecto es el tabulador, nosotros lo

cambiamos con la opción -d. Tiene algunas otras opciones útiles. ||

Sintaxis: cut [opciones] nom_archivo.

date Retorna el día, fecha, hora (con minutos y segundos) y año. ||

Sintaxis: date

dd

Copia de un archivo, convirtiendo y formateando acorde a las

opciones. Muy útil para por ejemplo, "quemar" una imagen (.img)

en un pendrive. Sintaxis: dd if=[a_copiar] of=[destino] [opciones]

delgroup Se utiliza para eliminar un grupo. || Sintaxis: delgroup nom_grupo.

deluser

Elimina una cuenta de usuario. La pega de este comando es que no

elimina automáticamente el directorio de trabajo del usuario. ||

Sintaxis: deluser nom_usuario.

dmesg Muestra los mensajes del kernel durante el inicio del sistema. ||

Page 109: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

99

Sintaxis: dmesg.

dpkg -reconfigure

(paquetes) Volver a reconfigurar un paquete ya instalado. ||

du Sirve para ver lo que me ocupa cada directorio dentro del

directorio en el que me encuentro y el tamaño total. || Sintaxis: du

eject

Mediante la utilización de este comando se conseguirá la expulsión

de la unidad de CD, siempre y cuando esta no esté en uso. ||

Sintaxis: eject.

env Para ver las variables globales. || Sintaxis: env.

exit

Cierra las ventanas o las conexiones remotas establecidas o las

conchas abiertas. Antes de salir es recomendable eliminar todos los

trabajos o procesos de la estación de trabajo. || Sintaxis: exit.

fg Manda un proceso a primer plano. || Sintaxis: fg PID.

find

Busca los archivos que satisfacen la condición en el directorio

indicado. || Sintaxis: find nom_directorio o nom_archivo

condición.

finger Permite encontrar información acerca de un usuario. || Sintaxis:

finger / finger usuario.

free

Muestra información sobre el estado de la memoria del sistema,

tanto la swap como la memoria física.Tambien muestra el buffer

utilizado por el kernel. || Sintaxis: free.

fsck Para chequear si hay errores en nuestro disco duro. || Sintaxis: fsck

t fs_typo dispositivo.

ftp

Protocolo de Transferencia de Archivos, permite transferir

archivos de y para computadores remotos. || Sintaxis: ftp

maquina_remota. G

gksu nautilus acceso al navegador de archivos con privilegios de root (requiere

contraseña)

grep Su funcionalidad es la de escribir en salida estándar aquellas líneas

que concuerden con un patrón. Busca patrones en archivos. ||

Page 110: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

100

Sintaxis: grep [-cilnv] expr nom_archivos.

gzip Comprime solo archivo utilizando la extensión .gz. || Sintaxis: gzip

nom_archivo. H

head

Muestra las primeras lineas de un fichero. || Sintaxis: head -count

nom_archivo. history Lista los más recientes comandos que se han

introducido en la ventana. Es utilizado para repetir comandos ya

tipeados, con el comando !. || Sintaxis: history I

id Numero id de un usuario. || Sintaxis: id

insmod Carga en memoria un módulo. || Sintaxis: insmod J

job Lista los procesos que se están ejecutando en segundo plano. ||

Sintaxis: jobs K

kill

Permite interactuar con cualquier proceso mandando señales.Kill

(pid) termina un proceso y Kill -9 (pid) fuerza a terminar un

proceso en caso de que la anterior opción falle. || Sintaxis: kill

[opciones] PID. L

last Este comando permite ver las últimas conexiones que han tenido

lugar. || Sintaxis: last.

less

Muestra el archivo de la misma forma que more, pero puedes

regresar a la página anterior presionando las teclas “u” o “b”. ||

Sintaxis: less nom_archivo

ln

Sirve para crear enlaces a archivos, es decir, crear un fichero que

apunta a otro. Puede ser simbólico si usamos -s o enlace duro. ||

Sintaxis: ln [-s] nom_archivo nom_acceso.

logout Las sesiones terminan con el comando logout. || Sintaxis: logout.

lpr Imprime un archivo en la impresora predeterminada. || Sintaxis: lpr

-[lista de requerimientos]/ lpr -P nombre_archivo.

ls Lista los archivos y directorios dentro del directorio de trabajo. ||

Sintaxis: ls.

lsattr Ver atributos de un fichero. || Sintaxis: lsattr nom_archivo.

lsmod Muestra los módulos cargados en memoria. || Sintaxis: lsmod. M

Page 111: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

101

mail Para enviar/recibir correo a/de otros usuarios de la red, o dentro de

nuestro ordenador. || Sintaxis: mail.

make

Es una herramienta que controla la creación de ejecutables y otros

archivos de un programa a partir de los archivos fuente. || Sintaxis:

make.

man

Ofrece información acerca de los comandos o tópicos del sistema

UNIX, así como de los programas y librerías existentes. || Sintaxis:

man comando.

more

Muestra el archivo en pantalla. Presionando enter, se visualiza

linea por linea. Presinando la barra espaciadora, pantalla por

pantalla. Si desea salir, presiona q. || Sintaxis: more nom_archivo.

mount

En Linux no existen las unidades A: ni C: sino que todos los

dispositivos “cuelgan” del directorio raíz /. Para acceder a un disco

es necesario primero montarlo, esto es asignarle un lugar dentro

del árbol de directorios del sistema. || Sintaxis: mount -t

sistema_de_archivo dispositivo nom_directorio.

mv

Mueve archivos o subdirectorios de un directorio a otro, o cambiar

el nombre del archivo o directorio. || Sintaxis: mv nom_archivo1

…nom_archivoN nom_directorio. N

netstat Muestra las conexiones y puertos abiertos por los que se establecen

las comunicaciones. || Sintaxis: netstat.

nice

Permite cambiar la prioridad de un proceso en nuestro sistema. ||

Sintaxis: nice -n prioridad PID. O Si tienes alguna sugerencia con

ésta letra, coméntalo. P

passwd Se utiliza para establecer la contraseña a un usuario. Sintaxis:

passwd nom_usuario.

poweroff Apagar el ordenador. Sintaxis: poweroff.

ps

Muestra información acerca de los procesos activos. Sin opciones,

muestra el número del proceso, terminal, tiempo acumulado de

ejecución y el nombre del comando. Sintaxis: ps.

Page 112: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

102

pstree Muestra un árbol de procesos. Sintaxis: pstree.

pwd Muestra el directorio actual de trabajo. Sintaxis: pwd. Q Si tienes

alguna sugerencia con ésta letra, coméntalo. R

reset

Si observamos que escribimos en pantalla y no aparece el texto

pero al pulsar enter realmente se está escribiendo, o que los colores

o los textos de la consola se corrompen, puede ser que alguna

aplicación en modo texto haya finalizado bruscamente no

restaurando los valores estándar de la consola al salir. Con esto

forzamos unos valores por defecto, regenerando la pantalla.

Sintaxis: reset.

rlogin Conectan un host local con un host remoto. Sintaxis: rlogin

maquina_remota.

rm Remueve o elimina un archivo. Sintaxis: rm nom_archivo.

rmdir Elimina el directorio indicado, el cual debe estar vacío. Sintaxis:

rmdir nom_directorio.

rmmod Descarga de memoria un módulo, pero sólo si no está siendo

usado. Sintaxis: rmmod.

scp

Sirve para hacer una copia segura entre dos ordenadores. La

información viaja encriptada. Sintaxis: scp

usuario@servidor:directorio_servidor directorio_local.

set Para ver las variables de entorno. Sintaxis: set.

sftp

Protocolo de Transferencia de Archivos, permite transferir

archivos de y para computadores remotos. La información viaja

encriptada. Sintaxis: sftp maquina_remota.

sort Muestra el contenido de un fichero, pero mostrando sus líneas en

orden alfabético. Sintaxis: Sort [opciones] nom_archivo

ssh (Secure Shell

Client)

Es un programa para conectarse en una máquina remota y ejecutar

programas en ella. Utilizado para reemplazar el rlogin y rsh,

además provee mayor seguridad en la comunicación entre dos

hosts. El ssh se conecta al host indicado, donde el usuario de

Page 113: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

103

ingresar su identificación (login y password) en la máquina

remota, la cual realiza una autentificación del usuario. Sintaxis: ssh

maquina_remota.

tail Este comando es utilizado para examinar las últimas líneas de un

fichero. Sintaxis: tail -count nom_archivo.

tar Comprime archivos y directorios utilizando la extensión .tar.

Sintaxis: tar -[arg] nom_archivo.tar nom_archivo.

telnet Conecta el host local con un host remoto, usando la interfaz

TELNET. Sintaxis: telnet maquina_remota

top

Muestra los procesos que se ejecutan en ese momento, sabiendo

los recursos que se están consumiendo(Memoria,CPU,…).Es una

mezcla del comando uptime,free y ps. Sintaxis: top.

touch Crea un archivo vacio. Sintaxis: touch nom_archivo.

traceroute

Permite determinar la ruta tomada por un paquete para alcanzar su

destino en Internet. Sintaxis: traceroute [opciones] host [tamaño

del paquete]. U

umask

Establece la máscara de permisos. Los permisos con los que se

crean los directorios y los archivos por defecto. Sintaxis: umask a-

rwx,u+rw,g+r.

umount

Establece la máscara de permisos. Los permisos con los que se

crean los directorios y los archivos por defecto. Sintaxis: umask a-

rwx,u+rw,g+r.

unalias Borra un alias. Sintaxis: unalias nom_alias.

uniq

Este comando lee un archivo de entrada y compara las líneas

adyacentes escribiendo solo una copia de las líneas a la salida. La

segunda y subsecuentes copias de las líneas de entrada adyacentes

repetidas no serán escritas. Las líneas repetidas no se detectarán a

menos que sean adyacentes. Si no se especifica algún archivo de

entrada se asume la entrada estándar. Sintaxis: uniq [opciones]

nom_archivo_entrada nom_archivo_salida.

Page 114: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

104

uptime Nos indica el tiempo que ha estado corriendo la máquina. Sintaxis:

uptime. V

vi

Permite editar un archivo en el directorio actual de trabajo. Es uno

de los editores de texto más usado en UNIX. Sintaxis: vi

nom_archivo.

view

Es similar al vi, solo que no permite guardar modificaciones en el

archivo, es para leer el contenido del archivo. Sintaxis: view

nom_archivo. W

wc Cuenta los caráteres, palabras y líneas del archivo de texto.

Sintaxis: wc nom_archivo.

whereis Devuelve la ubicación del archivo especificado, si existe. Sintaxis:

whereis nomb_archivo.

who, w

Lista quienes están conectado al servidor, con nombre de usuario,

tiempo de conexión y el computador remoto desde donde se

conecta. Sintaxis: who / w.

whoami Escribe su nombre de usuario en pantalla. Sintaxis: whoami. X

xmessage

Enviar un mensaje al display de otro usuario o al nuestro propio.

Sintaxis: xmessage (mensaje) / export DISPLAY=157.92.49.211:0

xmessage Hola!!. Y

yes Escribe “y” continuamente. Sintaxis: yes. Z Si tienes alguna

sugerencia con ésta letra, coméntalo. Varios

& Añadiendo un & al final del comando haremos que dicho comando

se ejecute en segundo plano. Sintaxis: nom_comando&.

! Repite el último comando colocando la letra con la que comienza

el comando o su número de history. Sintaxis: !.

B. NAT

Corresponde a Network Address Translation. Traducción de Dirección de Red). Se trata de

un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que se

Page 115: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

105

asignan mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las

direcciones utilizadas en los paquetes transportados. También es necesario editar los

paquetes para permitir la operación de protocolos, que incluyen información de direcciones

dentro de la conversación del protocolo.

C. Controladores virtuales TUN/TAP y VTUN.

En primer lugar es importante conocer los conceptos de controlador de red e interfaz de red.

Controlador de red. Uno o varios archivos que permiten que un S.O. interactúe con

la tarjeta de red del ordenador. Algunos sistemas operativos como Windows suelen

tener una gran base de datos de controladores para poder ser compatibles con

diversos hardwares. Sin embargo a veces es necesario instalar los controladores

propios del fabricante de la tarjeta (a menudo descargables desde la Web de este).

Interfaz de red (o tarjeta de red): Es un tipo de tarjeta (que puede estar integrada en

la placa base del ordenador o ser de expansión) que permite conectar un dispositivo

a una red (desde un ordenador o impresora a un teléfono por ejemplo), permitiendo

compartir así recursos de esta. Cada tarjeta de red tiene un número de identificación

único compuesto por 48 bits (6 octetos) en hexadecimal, llamado dirección MAC

(administradas por el Institute of Electronic and Electrical Engineers (IEEE)). Los

tres primeros octetos del número MAC identifican al fabricante de la tarjeta, y los

tres siguientes el identificador de la propia tarjeta.

OpenVPN utiliza los controladores virtuales TUN/TAP para establecer el túnel entre los

dos extremos. Con una interfaz de red virtual se pueden obtener varias direcciones IP’s con

una sola tarjeta de red física.

Los túneles virtuales TUN/TAP se han incorporado en el kernel de Linux a partir de la

versión 2.4.x. Para versiones anteriores de kernel de Linux, u otros S.O. (excepto

Page 116: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

106

Windows) es necesario instalar la herramienta VTUN. Las primeras versiones de OpenVPN

no soportaban Windows, por tanto no se podía instalar esta herramienta. Posteriormente se

desarrolló una nueva herramienta llamada TAP-Win32 que permitiera crear interfaces

virtuales TUN/TAP para Windows.

OpenVPN para implementar una VPN utiliza el espacio de usuario y enlaza una interfaz de

red virtual punto a punto llamada “tun” (normalmente tunX, en el que X es un número), con

otra interfaz de red virtual punto a punto (“tun”) remota, como si fuera una línea dedicada

entre los dos puntos. A una interfaz virtual se le puede aplicar reglas, firewall, rutas, etc.,

como si fuera una tarjeta de red física Ethernet instalada en la máquina. El funcionamiento

del interfaz virtual “tun” es que si desde una máquina se quieren enviar datos a otra,

primero se copian los datos desde el interfaz virtual hasta el socket de red del S.O., se

envían los datos, se reciben en el socket de red del S.O. de la otra máquina, y se pasan los

datos a la interfaz virtual.

Se le llama “tap” cuando trabaja en modo bridge o puente, emulando a un adaptador de red

Ethernet en lugar de una interfaz punto a punto, como si hubiera una red ethernet entre los

dos extremos.

Lo normal es usar el modo tun para enviar tráfico IP, pero si se quiere enviar otro tipo de

tráfico (broadcast, tráfico no IP como Netbios o IPX, etc.) se deberá utilizar el modo tap.

Algunas de las características de la herramienta VTUN son:

Es fácil de usar para crear túneles virtuales en redes TCP/IP, pudiendo implementar

varios tipos de estos túneles con diferentes características de cifrado y compresión.

Permite gran variedad de configuraciones y es muy utilizado para crear VPN.

Soporta compresión de datos mediante las librerías “Zlib” (solo para TCP) y “LZO”

(para TCP y UDP).

Page 117: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

107

Permite implementar diferentes tipos de autenticación, cifrado mediante Blowfish

con clave de 128 bits y funciones Hash MD5.

Permite crear túneles utilizando como protocolos de transporte tanto TCP como

UDP.

Está disponible para varios sistemas operativos como Linux, FreeBSD, OpenBSD,

MAC, Solaris, etc.

D. Diffie Hellman.

El protocolo Diffie Hellman desarrollado por Whitfield Diffie y Martin Hellman en 1976,

permite intercambiar claves entre dos extremos en un canal inseguro, de forma anónima.

Este protocolo fue el punto de partida para los sistemas asimétricos. Su seguridad se basa

en la complejidad en el cálculo de sus algoritmos.

A continuación se puede ver como se realiza el cálculo de las claves de ambos extremos y

un ejemplo de ello.

El usuario A escoge un número q primo muy grande, y un número Xa que será la clave

privada y deberá ser tal que Xa<q.

El usuario B escogerá un número p que ha de ser p<q siendo p raíz primitiva de q, y un

número Xb que será la clave privada y deberá ser tal que Xb<q.

Se dice que p es raíz primitiva de q si las potencias de p generan todos los enteros desde 1

hasta q-1:

p mod q

p^2 mod q

Page 118: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

108

p^(q-1) mod q

A enviará a B su número q, y B enviará a A su número p. El envío es público, y por tanto

visible para cualquiera.

Ahora se generarán las claves públicas de usuario:

A calculará su clave pública Ya de la siguiente forma:

Ya = p^Xa mod q

B calculará su clave pública Yb de la siguiente forma:

Yb = p^Xb mod q

Ahora A enviará a B su clave pública Ya, y B enviará a A su clave pública Yb.

El envío es público, y por tanto visible para cualquiera.

Una vez ambos usuarios tienen la clave pública del otro extremo, calculan la clave

compartida que usarán.

El usuario A calcula:

K = (Yb)^Xa mod q

Y el usuario B calcula:

K = (Ya)^Xb mod q

Este número K es idéntico en los dos usuarios. K es la clave simétrica que comparten

ambos usuarios, y que pueden usar para establecer una comunicación cifrada.

Se puede hacer una comprobación de K de la siguiente forma:

(Yb)^Xa mod q = (p^Xb)^Xa mod q = p^(Xb*Xa) = (p^Xa)^Xb mod q = Ya^Xb

mod q

Page 119: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

109

E. SSL/TLS

E.1. Introducción

Antes de comenzar a explicar este punto, es importante definir el concepto de criptografía.

Su origen griego significa escritura oculta, y es la ciencia de cifrar y descifrar información

utilizando técnicas especiales que permiten que los mensajes sean leídos sólo por las

personas a las que realmente van dirigidos. Estas personas, disponen de los medios

adecuados para descifrarlo, ya sea por cifrado simétrico o asimétrico.

E.2 Protocolos.

Algunos protocolos que usan los cifrados simétricos o asimétricos son:

• DSS (Digital Signature Standard) con el algoritmo DSA (Digital Signature

Algorithm)

• PGP

• SSH

• SSL, ahora un estándar del IETF

• TLS

Herramientas como PGP, SSH o la capa de seguridad SSL para la jerarquía de protocolos

TCP/IP utilizan un híbrido formado por la criptografía asimétrica para intercambiar claves

de criptografía simétrica, y la criptografía simétrica para la transmisión de la información.

El protocolo TLS es una mejora de otro protocolo anterior llamado SSL. Se comenta

brevemente este último para comprender mejor a su sucesor, TLS. El protocolo SSL,

permite establecer una conexión segura por medio de un canal cifrado entre un cliente y un

servidor, lo que posibilita que la comunicación se realice en un entorno seguro. Su diseño

está basado en poder trabajar de una manera modular (extensible), con compatibilidad total

Page 120: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

110

entre sus versiones (anteriores y posteriores), y negociación entre las partes (peer-to-peer).

Normalmente, el servidor es el único que es autenticado, asegurando así su identidad, pero

el cliente se mantiene sin autenticar, ya que para la autenticación mutua se necesita una

infraestructura de claves públicas o PKI para los clientes. Permite prevenir escuchas

secretas (termino conocido en inglés como eavesdropping), evita la suplantación de

identidad del emisor y mantiene la integridad del mensaje.

La versión 3.0 de SSL fue desarrollada por Netscape en el año 1996 y sirvió de base para

desarrollar la versión 1.0 de TLS, protocolo estándar IETF definido en el RFC 2246. Cabe

comentar que un RFC es un documento con una propuesta oficial para un nuevo protocolo

de Internet, en el que se explica con todo detalle. Si resulta lo bastante interesante para la

IETF (Internet Engineering Task Force _ Grupo de Trabajo en Ingeniería de Internet, que

es una organización internacional abierta de normalización con el objetivo de contribuir a la

ingeniería de Internet) que puede llegar a convertirse en un estándar de Internet.

Las primeras implementaciones de SSL sólo podían usar claves simétricas de 40 bits como

máximo, ya que el gobierno de los EEUU imponía restricciones sobre la exportación de

tecnología criptográfica. Esta clave era de 40 bits ya que las agencias de seguridad nacional

americanas podían atacarla mediante fuerza bruta y poder leer así el tráfico cifrado,

mientras que los posibles atacantes con menores recursos no podrían leerlo. Tras la

aparición de mejores productos criptográficos diseñados en otros países, se rebajaron las

restricciones de exportación de tecnología criptográfica que finalmente desembocó en la

desaparición casi por completo la limitación. Hoy día se usan claves de 128 bits, o incluso

de más, para las claves de cifrado simétricas.

E.3 Descripción

El protocolo SSL/TSL se basa en tres fases:

Page 121: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

111

E.3.1 Negociación

Los extremos de la comunicación (cliente y servidor) negocian los algoritmos

criptográficos que utilizarán para autenticarse y cifrar la información. Las opciones

disponibles son:

• Criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature

Algorithm) o Fortezza.

• Cifrado simétrico: RC2, RC4, IDEA (International Data Encryption Algorithm),

DES (Data Encryption Standard), Triple DES o AES (Advanced Encryption

Standard).

• Con funciones hash: MD5 o de la familia SHA.

E.3.2 Autenticación y claves

Según la negociación anterior, se realiza la autenticación mediante certificados digitales y

se intercambian las claves para el cifrado.

E.3.3 Transmisión segura

Comienza el tráfico de información cifrada y segura entre ambos extremos de la

comunicación.

E.4. Objetivo del protocolo TLS.

A continuación se detallan:

Seguridad criptográfica. El protocolo se debe emplear para establecer una

conexión segura entre emisor y receptor.

Page 122: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

112

Interoperabilidad. Aplicaciones distintas deben poder intercambiar parámetros

criptográficos sin necesidad de que ninguna de las dos conozca el código de la otra.

Extensibilidad. El protocolo permite la incorporación de nuevos algoritmos

criptográficos.

Eficiencia. Los algoritmos criptográficos son computacionalmente costosos, por lo

que el protocolo incluye un esquema de cache de sesiones para reducir el número de

sesiones que deben inicializarse desde cero (usando criptografía de clave pública).

E.5 Funcionamiento del protocolo TLS

El protocolo está dividido en dos niveles:

• Protocolo de registro TLS (TLS Record Protocol).

• Protocolo de mutuo acuerdo TLS (TLS Handshake Protocol).

El de más bajo nivel es el Protocolo de Registro, que se implementa sobre un protocolo de

transporte fiable como el TCP. Un protocolo de bajo nivel controla el acceso al medio

físico, lo que se conoce como MAC (Media Access Control) y, además, parte del nivel de

transmisión de datos, ya que se encarga también de las señales de temporización de la

transmisión. El protocolo proporciona seguridad en la conexión con dos propiedades

fundamentales:

La conexión es privada. Para encriptar los datos se usan algoritmos de cifrado

simétrico. Las claves se generan para cada conexión y se basan en un secreto

negociado por otro protocolo (como el de mutuo acuerdo). El protocolo también se

puede usar sin encriptación.

La conexión es fiable. El transporte de mensajes incluye una verificación de

integridad.

Page 123: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

113

El Protocolo de mutuo acuerdo, proporciona seguridad en la conexión con tres propiedades

básicas:

La identidad del interlocutor puede ser autentificada usando criptografía de clave

pública. Esta autentificación puede ser opcional, pero generalmente es necesaria al

menos para uno de los interlocutores.

La negociación de un secreto compartido es segura.

La negociación es fiable, nadie puede modificar la negociación sin ser detectado por

los interlocutores.

Esquema de operación del protocolo de mutuo acuerdo (TLS Handshake Protocol), Fig.E.1.

Figura E.1. Intercambio de datos utilizando TLS/SSL.

La comunicación entre los nodos CLIENTE y SERVIDOR se basa en el intercambio de

mensajes. En cada mensaje existe un campo (content_type) donde se especifica el protocolo

Page 124: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

114

de nivel superior utilizado. Estos mensajes pueden ser comprimidos, cifrados y

empaquetados con un código de autentificación del mensaje (MAC).

E.6. Ejemplos

E.6.1 Aplicaciones

El protocolo SSL/TLS se ejecuta en una capa entre los protocolos de aplicación como:

• HTTP sobre SSL/TLS es HTTPS, ofreciendo seguridad a páginas WWW para

aplicaciones de comercio electrónico, utilizando certificados de clave pública para

verificar la identidad de los extremos. Visa, MasterCard, American Express y muchas

de las principales instituciones financieras han aprobado SSL para el comercio sobre

internet.

• SSH utiliza SSL/TLS por debajo.

• SMTP y NNTP pueden operar también de manera segura sobre SSL/TLS.

• POP3 e IMAP4 sobre SSL/TLS son POP3S e IMAPS.

También se puede ejecutar sobre el protocolo de transporte TCP, que forma parte de la

familia de protocolos TCP/IP. SSL también puede ser usado para tunelar una red completa

y crear una red privada virtual (VPN), como en el caso de OpenVPN.

E.6.2 Estándares

• La primera definición de TLS apareció en el RFC 2246: "The TLS Protocol Versión

1.0" (El protocolo TLS versión 1.0) y está basada en la versión 3.0 de SSL, siendo

prácticamente equivalentes. Posteriormente se extendió dicha definición.

Page 125: ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ......impaciencia por saber si me quedaría. Afortunadamente entre a la VOCA 7. Desde entonces mi camino estuvo lleno de éxito, y claro,

115

• RFC 2712: "Addition of Kerberos Cipher Suites to Transport Layer Security

(TLS)". Aparecen las familias de cifrados de 40 bits definidas, para advertir que ya

han sido asignadas.

• RFC 2817: "Upgrading to TLS Within HTTP/1.1". Explica cómo usar el mecanismo

de actualización en HTTP/1.1 para iniciar TLS sobre una conexión TCP existente,

permitiendo al tráfico seguro e inseguro HTTP compartir el mismo puerto.

• RFC 2818: "HTTP Over TLS". Diferencia el tráfico seguro e inseguro HTTP

usando un puerto de servidor diferente.

• RFC 3268: "AES Ciphersuites for TLS". Añade la familia de cifrado AES.

• RFC 3546: "Transport Layer Security (TLS) Extensions". Añade un mecanismo

para negociar extensiones de protocolos durante la inicialización de sesión y define

algunas extensiones.

• RFC 4279: "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)".

Añade tres conjuntos de nuevas familias de cifrados para que el protocolo TLS

permita la autenticación basada en claves previamente compartidas.

E.6.3 TLS 1.1.

Es la última versión aprobada del protocolo TLS. Es muy parecida a la versión anterior

(TLS 1.0), pero la principal diferencia es la modificación del formato para el cifrado RSA

anterior al uso de 'master secret', que es parte del mensaje de intercambio de claves del

cliente (si se usa RSA). En TLS 1.0 se usaba la versión 1.5 de PCK#1, pasando a usar ahora

la versión 2.1. Con este cambio se consigue protección ante ataques descubiertos por

Daniel Bleichenbacher que podían lanzarse contra servidores TLS 1.0, usando PKCS#1

versión 1.5. También se incluyen recomendaciones para evitar ataques remotos

programados. TLS 1.1 está actualmente implementado en el navegador Opera y en

GnuTLS.