Aplicación e-Learning Para el Aprendizaje de Redes Privadas Virtuales.

Anuncio
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas, Naturales y Agrimensura
Trabajo Final de Aplicación
“Aplicación e-Learning para el Aprendizaje
de Redes Virtuales Privadas”
Alumno: Gerardo G. Brollo - L.U.: 34.610
Profesor Coordinador: Agr. Herrmann, Castor F.
Profesor Orientador: Mgter. David L. la Red Martínez
Licenciatura en Sistemas de Información
Corrientes - Argentina
2010
Un agradecimiento especial para la Lic. Valeria E. Uribe
Índice general
1. Redes Virtuales Privadas
1.1. Introducción . . . . . . . . . . . . . . . .
1.2. Tecnologías Anteriores a las VPNs . . .
1.2.1. Enlaces Dedicados . . . . . . . .
1.2.2. Enlaces Conmutados . . . . . . .
1.2.3. PPP - Protocolo Punto a Punto
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
3
3
10
13
2. Tunelamiento VPN
2.1. Etapas Necesarias para una Conexión VPN
2.1.1. Conexión . . . . . . . . . . . . . . .
2.1.2. Control de Conexión . . . . . . . . .
2.1.3. Autenticación . . . . . . . . . . . . .
2.1.4. Cifrado . . . . . . . . . . . . . . . .
2.1.5. Control de Acceso . . . . . . . . . .
2.2. Tunelamiento . . . . . . . . . . . . . . . . .
2.2.1. Funcionamiento del Túnel . . . . . .
2.2.2. Tipos de Túneles . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
20
21
22
28
32
33
34
.
.
.
.
.
.
.
.
.
.
39
39
40
41
43
43
43
44
44
45
45
.
.
.
.
.
3. Protocolos VPN
3.1. PPTP - Protocolo de Túnel Punto a Punto .
3.1.1. Relación Entre PPP Y PPTP . . . . .
3.1.2. Componentes de una VPN PPTP . .
3.1.3. Estructura del Protocolo . . . . . . . .
3.1.4. Conexión de Control . . . . . . . . . .
3.1.5. Operación del Túnel . . . . . . . . . .
3.1.6. Cabecera Mejorada GRE . . . . . . .
3.1.7. Cifrado en PPTP . . . . . . . . . . . .
3.1.8. Filtrado de Paquetes PPTP . . . . . .
3.1.9. Control de Acceso a los Recursos de la
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
Red
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ÍNDICE GENERAL
3.2. L2TP - Protocolo de Túnel de Capa 2 . . . . . .
3.2.1. Componenetes Básicos de un Túnel L2TP
3.2.2. Topología de L2TP . . . . . . . . . . . . .
3.2.3. Estructura del Protocolo L2TP . . . . . .
3.2.4. Formato de una Cabecera L2TP . . . . .
3.2.5. Autenticación en L2TP . . . . . . . . . .
3.2.6. Procesos de una Comunicación L2TP . .
3.2.7. Comparativa Entre PPTP y L2TP . . . .
3.2.8. Problemas de L2TP . . . . . . . . . . . .
3.3. IPSec (Internet Protocol Security ) . . . . . . . .
3.3.1. Componentes de IPSec . . . . . . . . . . .
3.3.2. Bases de Datos de Seguridad . . . . . . .
3.3.3. Authentication Header (AH) . . . . . . .
3.3.4. Encapsulating Security Payload - ESP . .
3.3.5. Internet Key Exchange - IKE . . . . . . .
3.3.6. Arquitecuras VPN con IPsec . . . . . . .
3.3.7. Limitaciones de IPSec . . . . . . . . . . .
3.4. VPN-SSL . . . . . . . . . . . . . . . . . . . . . .
3.4.1. SSL/TLS Secure Sockets Layer/Transport
3.4.2. Arquitectura de SSL . . . . . . . . . . . .
3.4.3. Funcionamiento Básico de SSL . . . . . .
3.4.4. Aplicaciones e Implementaciones de SSL .
3.4.5. Conceptos y Técnicas de VPN-SSL . . . .
3.4.6. Inconvenientes de las VPN-SSL . . . . . .
3.4.7. Ventajas de SSL-VPN sobre IPSec . . . .
3.4.8. Software VPN-SSL . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Layer Security
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
4. Implementaciones VPN’s
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Escenario Previo del I.O.S.COR. . . . . . . . . . . . . . . . . .
4.2.1. Red LAN Institucional . . . . . . . . . . . . . . . . . . .
4.2.2. Red Virtual Privada (VPN) Institucional . . . . . . . .
4.2.3. Modificaciones a Realizar . . . . . . . . . . . . . . . . .
4.3. Solución Provisoria . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1. Segmentación de la Red LAN . . . . . . . . . . . . . . .
4.3.2. Redistribución de Carga de Trabajo Entre los Routers
VPN’s . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3. Implementación de una VPN-Backup por Software . . .
4.4. Solución Definitiva . . . . . . . . . . . . . . . . . . . . . . . . .
45
46
46
47
48
50
50
51
52
52
53
55
58
60
63
65
68
68
69
70
72
74
74
76
76
77
83
83
84
84
88
96
96
98
100
114
121
ÍNDICE GENERAL
5. E-Learning
5.1. Introducción al e-learning . . . . . . . . . . . . . . . . . .
5.1.1. El Concepto de Aprendizaje Electrónico . . . . . .
5.1.2. ¿Por qué el E-Learning? . . . . . . . . . . . . . . .
5.1.3. La Tecnología y el Acceso . . . . . . . . . . . . . .
5.1.4. La Globalización de Mercados . . . . . . . . . . .
5.2. Qué es el e- Learning . . . . . . . . . . . . . . . . . . . . .
5.2.1. E-Learning vs. Online Learning . . . . . . . . . . .
5.2.2. Reducción de Costes . . . . . . . . . . . . . . . . .
5.2.3. Incremento de la Retención de los Contenidos . . .
5.2.4. Las Mejoras de la Interactividad en el E-Learning
5.3. Ventajas del e-learning . . . . . . . . . . . . . . . . . . . .
5.3.1. Qué Nos ha Llevado a Elegir E-learning . . . . . .
5.4. Qué frena al e-Learning . . . . . . . . . . . . . . . . . . .
5.4.1. Mediadores e Interoperabilidad en E-Learning . . .
5.5. Tendencias Futuras del e-learning . . . . . . . . . . . . . .
6. Aplicación e-Learning Para VPN
6.1. Introducción . . . . . . . . . . . . .
6.2. Escenario de la Aplicación . . . . .
6.2.1. Usuario del Sistema - (a) .
6.2.2. Router Huawei MT882 - (b)
6.2.3. Servidor E-Learning - (c) .
6.2.4. Servidores Virtuales . . . .
6.3. Descripción de la Aplicación Web .
6.3.1. Pantalla de Inicio . . . . . .
6.3.2. Menú de Usuarios . . . . .
6.3.3. Menú Profesor . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
125
125
125
126
127
128
128
128
129
130
130
131
132
136
137
139
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
141
141
141
142
143
143
145
148
148
148
162
7. Herramientas
7.1. Introducción al Lenguaje Java . . . . . . . . . . .
7.1.1. Estructura General de un Programa Java
7.1.2. Conceptos Básicos . . . . . . . . . . . . .
7.1.3. Variables Dentro del Lenguaje Java . . .
7.1.4. Operadores en Java . . . . . . . . . . . .
7.2. WebSphere . . . . . . . . . . . . . . . . . . . . .
7.2.1. ¿Que es WebSphere? . . . . . . . . . . . .
7.2.2. Plataforma de Software . . . . . . . . . .
7.2.3. Application Server . . . . . . . . . . . . .
7.2.4. Arquitecturas de Tres Niveles . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
169
169
174
175
177
180
184
184
184
187
191
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ÍNDICE GENERAL
7.3. Introducción a DB2 . . . . . . . . . . . . . . .
7.3.1. DB2 Universal Database (DB2 UDB) .
7.3.2. Funciones Complementarias . . . . . . .
7.3.3. Configuraciones de Particiones Múltiples
7.3.4. Paralelismo Mejor Adaptable a cada EH
7.3.5. DB2 UDB Versión 8.1 . . . . . . . . . .
7.4. Sun VirtualBox . . . . . . . . . . . . . . . . . .
7.5. Microsoft Visio . . . . . . . . . . . . . . . . . .
7.6. OpenVPN . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
193
194
196
198
199
202
208
209
210
8. Conclusiones
213
8.1. Líneas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Bibliografía
217
Índice alfabético
221
Índice de figuras
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
1.9.
Tecnologías Anteriores a las VPNs. . . . . . . . . . . . . . . . .
Esquema Básico de una Red Frame Relay. . . . . . . . . . . . .
Escenario Frame Relay. . . . . . . . . . . . . . . . . . . . . . .
Interfaz Frame Relay. . . . . . . . . . . . . . . . . . . . . . . . .
Escenario Típico de una Red Frame Relay. . . . . . . . . . . . .
Dispositivos que Intervienen en una Red ATM. . . . . . . . . .
Caminos Virtuales. . . . . . . . . . . . . . . . . . . . . . . . . .
Enaces Conmutados. . . . . . . . . . . . . . . . . . . . . . . . .
Escenario Típico de una Conexión Analógica de Datos Sobre la
RTPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10. Enlaces Analógicos de Último Kilómetro de Ambos Lados. . . .
1.11. Adaptador de Terminal RDSI. . . . . . . . . . . . . . . . . . . .
1.12. Acceso Remoto a Redes. . . . . . . . . . . . . . . . . . . . . . .
1.13. Red Virtual Privada sobre RAS. . . . . . . . . . . . . . . . . .
1.14. Formato de Trama PPP. . . . . . . . . . . . . . . . . . . . . . .
11
11
12
14
14
18
2.1. Etapas Necesarias Para Establecer un Túnel VPN. .
2.2. Esquema Criptográfico. . . . . . . . . . . . . . . . .
2.3. Servidores Radius de Autenticación. . . . . . . . . .
2.4. Esquema de Cifrado con LLave Pública. . . . . . . .
2.5. Control de Acceso Cliente-Servidor. . . . . . . . . . .
2.6. Objetos en Active Directory. . . . . . . . . . . . . .
2.7. Esquema General de Active Directory de Microsoft.
2.8. Túneles Voluntarios. . . . . . . . . . . . . . . . . . .
2.9. Túneles Obligatorios. . . . . . . . . . . . . . . . . . .
2.10. Modelos de Entunelamiento. . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
20
23
26
27
28
31
32
35
36
37
3.1. Estructura de un Túnel PPTP. . . . . . . . . . . . . . . . . . .
3.2. Formato del Paquete IP. . . . . . . . . . . . . . . . . . . . . . .
41
44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
5
6
6
8
9
9
10
ÍNDICE DE FIGURAS
3.3.
3.4.
3.5.
3.6.
3.7.
Escenario Típico L2TP. . . . . . . . . . . . . . . . . . . . . . .
Relación Entre Tramas PPP y Mensajes L2TP. . . . . . . . . .
Formato de Cabecera L2TP. . . . . . . . . . . . . . . . . . . . .
Formato de Trama IPSec en Modo Transporte y Túnel. . . . .
Ejemplo de una Entrada de Base de Datos de Políticas de Seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Cabecera de Autenticación AH. . . . . . . . . . . . . . . . . . .
3.9. Nuevo Paquete IP Procesado con ESP. . . . . . . . . . . . . . .
3.10. Funcionamiento del Protocolo IPSec. . . . . . . . . . . . . . . .
3.11. Protocolo IPSec en Modo Transporte. . . . . . . . . . . . . . .
3.12. Protocolo IPSec en Modo Túnel. . . . . . . . . . . . . . . . . .
3.13. Negociación de Llaves en IKE. . . . . . . . . . . . . . . . . . .
3.14. IPsec Sobre Distintas Redes. . . . . . . . . . . . . . . . . . . .
3.15. Estructura de Protocolos del Protocolo SSL. . . . . . . . . . . .
3.16. Intercambio de Mensajes en SSL. . . . . . . . . . . . . . . . . .
3.17. Advertencia de Instalación de Plugins en Internet Explorer. . .
3.18. Interfaz GUI de OpenVPN Para Sistemas Operativos Windows.
47
48
48
54
4.1. Escenacio Previo de la Red LAN Institucional. . . . . . . . . .
4.2. Router 3Com Office Connect. . . . . . . . . . . . . . . . . . . .
4.3. Rack Mural en uno de los Pisos del Edificio. . . . . . . . . . . .
4.4. Túneles PPTP formados con las Delegaciones del Interior. . . .
4.5. Túneles PPTP en la Ciudad de Corrientes Capital. . . . . . . .
4.6. Panel de Configuración del Server PPTP. . . . . . . . . . . . .
4.7. Panel de Estado de los Túneles en Server PPTP. . . . . . . . .
4.8. Cliente VPN Nativo del S.O. Windows XP. . . . . . . . . . . .
4.9. Dispositivo Linksys RVL200. . . . . . . . . . . . . . . . . . . .
4.10. Segmentación de la Red LAN. . . . . . . . . . . . . . . . . . . .
4.11. Nuevo Escenario VPN. . . . . . . . . . . . . . . . . . . . . . . .
4.12. Cliente DNS Dinámico en dispositivo 3Com. . . . . . . . . . . .
4.13. Pruebas de Conectividad con el Comando Ping. . . . . . . . . .
4.14. Resultados del Comando Nslookup. . . . . . . . . . . . . . . . .
4.15. Panel de Estado de Túneles SSL en Linksys RVL200. . . . . . .
4.16. Ejemplo de un Certificado X.509. . . . . . . . . . . . . . . . . .
4.17. Interfaz Web del Cliente SSL del Dispositvio Linksys RVL200.
4.18. Mensaje de Advertencia Ante la Instalación del Plugins en Internet Explorer 7.0. . . . . . . . . . . . . . . . . . . . . . . . . .
4.19. Interfaz de Configuración de Arquitectura Lan-to-Lan. . . . . .
4.20. Panel de Estado de Tuneles en Server PPTP. . . . . . . . . . .
4.21. Conexión Física del Puente de Capa 2. . . . . . . . . . . . . . .
85
86
87
89
90
93
94
95
97
99
101
102
103
103
104
105
106
57
59
61
62
63
63
66
67
71
73
75
79
107
107
109
109
ÍNDICE DE FIGURAS
4.22. Configuración del Modo Puente en Dispositivo Huawei MT882. 110
4.23. Panel de Estado de los Túneles en 3Com Officce Connect ADSL.111
4.24. Cliente PPPoE. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.25. Configuración Lan-to-Lan en 3Com Office Connect. . . . . . . . 113
4.26. Certificado Emitido por la A.C. IOSCOR. . . . . . . . . . . . . 117
4.27. Interfaz Gráfica de OpenVPN para S.O. Windows. . . . . . . . 119
4.28. Redireccionamiento de Puertos (Port Forwarding). . . . . . . . 120
4.29. Configuración de Rutas Estáticas en Linksys RVL200. . . . . . 121
4.30. Servidores VPN-SSL de Distintos Fabricantes. . . . . . . . . . . 122
4.31. Router Cisco ASA 5510. . . . . . . . . . . . . . . . . . . . . . . 123
5.1. Arquitectura de Sistema Mediador. . . . . . . . . . . . . . . . . 139
5.2. El Mundo Conectado por un Solo Click. . . . . . . . . . . . . . 140
6.1. Escenario de la Aplicación. . . . . . . . . . . . . . . . . . . . .
6.2. Números de Puertos por cada Protocolo de Red. . . . . . . . .
6.3. Redireccionamiento de Puertos en el Router Huawei MT882. .
6.4. Pantalla de Inicio de la Aplicación. . . . . . . . . . . . . . . . .
6.5. Formulario de Alta de Usuario. . . . . . . . . . . . . . . . . . .
6.6. Menú de Usuario. . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7. Menú de Descarga de Teoría. . . . . . . . . . . . . . . . . . . .
6.8. Cuestionario de Autoevaluación. . . . . . . . . . . . . . . . . .
6.9. Prácticas con Túneles Reales. . . . . . . . . . . . . . . . . . . .
6.10. Prácticas con Túneles Reales. . . . . . . . . . . . . . . . . . . .
6.11. Portal de Actualización de Túnel Establecido Correctamente. .
6.12. Conexión OBDC de un Portal Web con la Base de Datos de la
Aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.13. Detalle de la Conexión VPN. . . . . . . . . . . . . . . . . . . .
6.14. Resultados de las Prácticas y Evaluaciones de los Usuarios. . .
6.15. Validación de Profesor. . . . . . . . . . . . . . . . . . . . . . . .
6.16. Menu de Administración. . . . . . . . . . . . . . . . . . . . . .
6.17. Alta de Pregunta de Autoevaluación. . . . . . . . . . . . . . . .
6.18. Actualización de Apuntes . . . . . . . . . . . . . . . . . . . . .
6.19. Actualización de Actividades de Túnles. . . . . . . . . . . . . .
142
144
144
149
150
152
153
154
156
157
158
7.1.
7.2.
7.3.
7.4.
185
195
207
209
Plataforma de WebSphere . . . . . . . . . . . . . . .
Almacenamiento XML de DB2. . . . . . . . . . . . .
Centro de Duplicación de DB2 versión 8.0. . . . . . .
Captura de Pantalla de una Máquina Virtual. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
159
160
161
162
163
165
166
167
Índice de cuadros
7.1.
7.2.
7.3.
7.4.
7.5.
7.6.
7.7.
Tipos de Variables. . . . . . . . . . . . . . . . . . . . . . .
Categorías de Variables. . . . . . . . . . . . . . . . . . . .
Tipos Primitivos de Variables. . . . . . . . . . . . . . . . .
Operadores de asignación. . . . . . . . . . . . . . . . . . .
Operadores relacionales. . . . . . . . . . . . . . . . . . . .
Precedencia de Operadores. . . . . . . . . . . . . . . . . .
Paralelismo mejor Adaptable a cada Entorno de Hardware
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
178
178
178
180
181
183
199
Prefacio
En un pasado no muy lejano la prioridad era la necesidad de procesar y
almacenar información, con lo que nacieron los equipos informáticos individuales entre otros, posteriormente surgió la necesidad no sólo de procesar y
almacenar la información sino que además era preciso compartir la información en tiempo real entre distintos equipos informáticos, por ello surgieron las
redes.
A medida que las redes de las organizaciones fueron creciendo se extendieron en distintos edificios, localidades, regiones y países, nuevamente
surgió la necesidad de compartir la información entre los distintos puntos que
se encontraban mucho más espaciados.
Para cubrir esta demanda aparecen las redes de área extensa (WAN) implementándose las interconexiones de formas muy distintas (Conexión punto a
punto, X25, Frame Relay, etc.). Finalmente aparece la red de redes, Internet, y
rápidamente surgen aplicaciones que la utilizan como soporte para transmitir
información bajo una cobertura de alcance mundial.
Las deficiencias en seguridad, falta de confidencialidad e integridad en las
transmisiones sobre Internet, las costosas soluciones que implicaban los enlaces dedicados y nuevas necesidades como el Acceso Remoto a los recursos
informáticos, provocaron el surgimiento de las Redes Privadas Virtuales (VPN
- Virtual Private Network).
Una VPN es una tecnología que permite extender una red LAN como así
también conectar distintas redes LANs para la transmisión segura de la información a través de un túnel, utilizando otra red como medio que generalmente
es Internet.
Este Trabajo Final de Aplicación contempló el estudio de las tecnologías
VPN, su aplicación a la solución de los principales problemas de conectividad
remota segura en un caso concreto (la red provincial de datos del IOSCOR:
Instituto de Obra Social de la Provincia de Corrientes), la implementación de
las soluciones propuestas, y el desarrollo de una aplicación interactiva para la
enseñanza - aprendizaje de los principales aspectos relacionados con las VPN.
Objetivos Logrados
Se han alcanzado plenamente la totalidad de los objetivos planteados para
el presente trabajo:
ÍNDICE DE CUADROS
Comprender las principales tecnologías acerca de las VPN, aplicarlas a
un caso concreto de magnitud (una red de datos de alcance provincial)
y desarrollar un sistema multiplataforma, basado en web, que permita
realizar al visitante un autoaprendizaje y una autoevaluación de sus
conocimientos acerca de las VPN. Para el desarrollo se tuvo en cuenta
los principales aspectos del aprendizaje electrónico (e-learning) como
marco conceptual teórico del trabajo propuesto.
Clasificación del Trabajo El trabajo se encuadra en el estudio de las tecnologías de las VPN y del software de base que permite el desarrollo de aplicaciones web multiplataforma con acceso a base de datos, que pueden estar
distribuidas. Desarrollo de un sistema de autoaprendizaje y autoevaluación
referido a las VPN, basado en web, utilizando tecnologías y software de base
multiplataforma.
Etapas de Desarrollo
Se ha efectuado una amplia recopilación bibliográfica específica a los
temas pertinentes a la tarea planificada y a los productos de software y
de hardware que se emplearon para la concreción del trabajo final. Se ha
estudiado un caso problemático concreto (la red provincial de datos del
IOSCOR) y se han implementado las soluciones de seguridad de conexionado remoto en dicha red. Se ha desarrollado una aplicación educativa
interactiva acerca de las VPN, con contenidos teóricos y prácticas, y la
posibilidad de evaluación de los aprendizajes.
Gracias a las gestiones realizadas por el Profesor Orientador Mgter.
David Luis la Red Martinez ante IBM Argentina se han recibido materiales tanto en CD’s como en libros de dicha empresa, en el marco
de Scholars Program de la misma, destinado a Universidades de todo el
mundo.
Se ha efectuado el estudio del software específico para gestión de las
VPN.
Se ha realizado el estudio del software de virtualización de equipos (VirtualBox de Oracle).
Se ha realizado el análisis y diseño de la base de datos que utiliza la
aplicación.
ÍNDICE DE CUADROS
Se ha realizado el estudio del manejador de bases de datos DB2 UDB
9.5.
Se ha realizado un detallado estudio del entorno de trabajo Scientific
WorkPlace 5.5.0 para la escritura del libro correspondiente al informe
final.
Finalizada la aplicación se realizó la grabación en DVD de todo el material correspondiente al trabajo final: una versión de la aplicación, otra
referente al libro en formato LaTex y el PDF generado. También se
incluyó los instaladores de los productos utilizados para el desarrollo,
es decir DB2 UDB, Rational WebSphere Studio Application Developer,
como así también las imágenes de exportación de servidores virtuales
VPN.
Organización del Informe Final
El trabajo final de aplicación comprende un informe final impreso y un
DVD además de un resumen y de un resumen extendido.
El informe final está organizado en capítulos los que se indican a continuación:
Redes Virtuales Privadas: Se presenta una visión global y las principales características de las Redes Virtuales Privadas, las Tecnolgías
Anteriores a éstas y una descripción de los Accesos Remotos a Redes
bajo el protocolo PPP.
Tunelamiento: Se describe este concepto y el detalle de las estapas
necesarias en una conexión VPN, organizada como Conexión, Control
de Conexión, Autenticación, Cifrado y Control de Acceso.
Protocolos VPN: Se describen los protocolos más importantes para
implementar VPNs, entre ellos: PPTP, L2TP, IPSec y SSL.
Implementación VPN: Se describe un caso concreto de implementación
de una solución VPN llevado a cabo en el IOSCOR (Instituto de Obra
Social de la Provincia de Corrientes) donde se detalla el escenario previo,
la situación actual de la red y lo que se considera en este trabajo como
el escenario óptimo.
ÍNDICE DE CUADROS
E-learning: Se indican las principales características socio / económicas, se describe acerca de qué es, qué aporta, qué frena y las ventajas
del mismo.
Herramientas: Se detallan los conceptos y principales características
de las herramientas utilizadas.
Descripción de la Aplicación: Se describe el escenario en el que funciona la aplicación desarrollada y los aspectos más importantes de ésta.
Conclusiones: Se presentan las conclusiones a las que se ha llegado al
finalizar el presente trabajo y las posibles líneas futuras de acción.
El DVD adjunto al informe final impreso, contiene lo siguiente:
Instaladores del software utilizado.
Resúmenes del trabajo realizado.
Informe final en formato digital.
Presentación para la defensa final.
Aplicación desarrollada.
Gerardo Gabriel Brollo
Licenciatura en Sistemas de Información
Universidad Nacional del Nordeste
L.U.: 34610
Prof. Orientador: Mgter. David Luis La Red Martínez
Corrientes; 05 de Agosto de 2010
Capítulo 1
Redes Virtuales Privadas
1.1.
Introducción
La expresión Redes Virtuales Privadas se ha hecho muy popular en estos días, pero probablemente muchas personas tengan apenas una idea de su
1
2
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
significado.
A menudo se la asocia con la conectividad de las empresas, cuando trabajadores remotos acceden a la red corporativa, pero actualmente el concepto
está ganando popularidad entre los usuarios domiciliarios y las pequeñas organizaciones [1].
Con una red privada virtual, dos o más ordenadores o redes remotas pueden
conectarse entre sí, de forma segura, para forma una red local virtual que
utiliza una infraestructura pública como Internet, como medio para transmitir
datos internos.
Se denomina red privada virtual porque no se trata de una red física, pero
tiene todas las características de una red de área local (LAN, Local Área
Network).
Estas clases de redes virtuales son construidas sobre la infraestructura de
una red pública (recurso público, sin control sobre el acceso de los datos),
normalmente Internet. Es decir, en vez de utilizarse enlaces dedicados para
conectar redes remotas, se utiliza la infraestructura de Internet; una vez que
las redes están conectadas es transparente para los usuarios.
La principal motivación para la implantación de las VPNs es la financiera:
los enlaces dedicados son demasiado caros, principalmente cuando las distancias son largas. Por otro lado existe Internet, que por ser una red de alcance
mundial, tiene puntos de presencia diseminados por el mundo.
Internet es una red pública, donde los datos en tránsito pueden ser leídos
por cualquier equipo. La seguridad en la comunicación entre las redes privadas
es imprescindible, se hace necesaria una forma de cambiar los datos codificados, de forma que si fuesen capturados durante la transmisión no puedan ser
descifrados. Los datos se transiten codificados por Internet en túneles virtuales
creados por dispositivos VPNs que utilizan criptografía; esos dispositivos que
son capaces de entender los datos codificados forman una red virtual sobre la
red pública. Es esa red virtual la que es conocida como VPN.
Los dispositivos responsables para la formación y administración de la
red virtual, para proporcionar una comunicación segura, deben ser capaces
de garantizar la seguridad, integridad y autenticación de los datos que están
siendo trasmitidos o recibidos.
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
1.2.
3
Tecnologías Anteriores a las VPNs
Desde el principio de los tiempos, la humanidad ha tenido la necesidad
de comunicarse. Paralelamente también ha existido la necesidad de hacerlo de
manera privada, es decir que el mensaje sólo le llegue a determinados receptores.
En las redes de comunicaciones pasa exactamente lo mismo. En especial el
sector corporativo siempre ha requerido la implementación de enlaces privados para transportar de forma segura toda su información confidencial. Este
capítulo trata sobre la manera en que se realizan los enlaces privados, y las
diferentes tecnologías que los soportan.
En la figura 1.1 de la pág. 3 se presenta un esquema resumido de las
tecnologías anteriores a las VPNs.
Figura 1.1: Tecnologías Anteriores a las VPNs.
1.2.1.
Enlaces Dedicados
Los enlaces dedicados, como su nombre lo indica, son conexiones permanentes punto-punto, o punto-multipunto, que se valen de una infraestructura
de transporte de Capa 1 o de conmutación (Capa 1 y 2). Los primeros son
4
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
comúnmente llamados enlaces Clear Channel y los segundos son enlaces Frame
Relay o ATM.
Clear Channel
Son enlaces donde sólo interviene la red de transporte del proveedor de
servicios. Para el mercado corporativo comúnmente van desde los 64 kbit/s
hasta los 2048 kbit/s. Los enlaces Clear Channel ofrecen un rendimiento efectivo casi del 100 % ya que no usan ningún tipo de encapsulación de nivel 2, es
decir, no hay presentes cabeceras de ningún tipo.
Por lo general, la compañía (o cliente en general) debe tener un puerto
disponible DTE que cumpla con las especificaciones técnicas del equipo de
comunicaciones entregado por el proveedor. Típicamente la mayoría de los
equipos que se usan para recibir los enlaces Clear Channel por parte del cliente
son enrutadores o switches de nivel 3. Son éstos los que se encargan de manejar
los niveles 2 y 3.
En general, las topologías de los enlaces Clear Channel son robustas pero
a su vez estáticas. Esto significa que para aumentar o disminuir la velocidad
del enlace es necesario cambiar equipos o manipularlos localmente. Lo que se
transfiere al cliente en indisponibilidades del servicio no deseadas.
Vale la pena aclarar, que los enlaces Clear Channel fueron la primera tecnología WAN que se adoptó usando la infraestructura de voz de los distintos
operadores de telefonía locales, nacionales e internacionales. Como era de esperarse, por provenir de una tecnología que no había sido pensada para transmitir datos fue superada rápidamente por otros tipos de tecnologías como
Frame Relay y ATM, aunque aún muchas empresas siguen teniendo enlaces
Clear Channel. La figura 1.2 de la pág. 5 muestra un esquema básico, donde
se observa la transparencia para una organización del enlace Clear Channel
contratado.
Frame Relay
Frame Relay es un protocolo WAN de alto rendimiento que trabaja en la
capa física y de enlace de datos del modelo de referencia OSI. Frame Relay
fue diseñado originalmente para trabajar con redes RDSI. Frame Relay es una
tecnología de conmutación de paquetes, que permite compartir dinámicamente
el medio y por ende el ancho de banda disponible. La longitud de los paquetes
es variable para hacer más eficiente y flexible las transferencias de datos. Estos
paquetes son conmutados por varios segmentos de la red hasta que llegan hasta
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
5
Figura 1.2: Esquema Básico de una Red Frame Relay.
el destino final. Todo el acceso al medio en una red de conmutación de paquetes
es controlado usando técnicas de multiplexación estadística, por medio de las
cuales se minimizan la cantidad de demoras y/o colisiones para acceder al
medio.
Ethernet y Token Ring, los protocolos de redes LAN más usados, también
usan conmutación de paquetes y técnicas de difusión.
Frame Relay es una evolución de las redes X.25, no hace retransmisión de
paquetes perdidos ni windowing, características que si ofrecía su antecesor ya
que en los años 70 (época en la que aparece X.25) los medios físicos no eran
tan confiables como los de hoy día, y por tanto se necesitaba mayor robustez.
Todas las ventajas que ofrecen los medios de hoy día, han posibilitado a Frame
Relay ofrecer un alto desempeño y una gran eficiencia de transmisión [2].
Una conexión Frame Relay usa dispositivos que pueden dividirse en dos
categorías: Equipos Terminales de Datos (DTEs) y Equipos Terminales de
Circuitos de Datos (DCEs). La figura 1.5 de la pág. 8 ilustra la ubicación de
los DTEs y los DCEs en un red Frame Relay.
Los DTEs son generalmente considerados equipos terminales de una red
específica y típicamente son enrutadores, computadores personales, terminales
o bridges. Estos equipos se localizan en las premisas del cliente y en la mayoría
de los casos son propiedad de los mismos.
Los DCEs son dispositivos normalmente propiedad del carrier. El propósito
de los equipos DCEs es proveer o generar señales de reloj y conmutar los
paquetes de la red. Por lo general, son llamados packet switchs o conmutadores
de paquetes.
6
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Figura 1.3: Escenario Frame Relay.
Figura 1.4: Interfaz Frame Relay.
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
7
En la conexión entre los dispositivos DCE y DTE intervienen dos componentes, uno de nivel físico y otro de nivel de enlace de datos. En el nivel físico
se definen todas las características físicas, eléctricas y mecánicas entre los dos,
y el nivel de enlace de datos define todas las especificaciones Frame Relay o
Frame Relay LMI según sea el caso.
Circuitos virtuales Frame Relay
Frame Relay es una tecnología WAN que usa enlaces orientados a conexión,
esto significa que una comunicación se define entre un par de dispositivos y que
cada una de las conexiones existentes en la red tiene un identificador asociado
particular. Este servicio es implementado usando circuitos virtuales, los cuales
son conexiones lógicas creadas entre dos dispositivos DTE a través de la red
conmutada de paquetes Frame Relay. Un circuito lógico puede crearse a través
de múltiples dispositivos intermediarios DCE dentro de la red Frame Relay.
Los circuitos virtuales Frame Relay se pueden dividir en doscategorías:
Circuitos Virtuales Conmutados (SVCs): son conexiones temporales
y que se usan en situaciones donde la transferencia de datos entre un par de
dispositivos DTE es esporádica a través de la red Frame Relay.
Circuitos Virtuales Permanentes (PVCs): son conexiones establecidas permanentemente y que se usan en donde la transferencia de datos es
continua entre dos dispositivos DTE. Este tipo de conexiones no requieren
hacer una llamada de configuración ni de terminación como en los SVCs.
ATM (Asynchronous Transfer Mode)
El Modo de Transferencia Asíncrono (ATM) es un estándar desarrollado
por la Unión Internacional de Telecomunicaciones (ITU-T) para transmitir
múltiples tipos de servicios, tales como voz, video y datos usando técnicas de
conmutación de celdas pequeñas de tamaño fijo. Las redes ATM son, al igual
que las redes Frame Relay, orientadas a conexión [2].
ATM es una tecnología de multiplexación y de conmutación de celdas que
combina los beneficios de una red de conmutación de circuitos (capacidad
garantizada, retardos constantes) y de una red de conmutación de paquetes
(flexibilidad y eficiencia para tráfico intermitente). Permite transmisiones desde unos pocos megabits por segundo hasta cientos de gigabits por segundo.
Su naturaleza asíncrona, hace de ATM una tecnología más eficiente que las
síncronas tales como TDM. En TDM a los usuarios se les asigna un timeslot,
8
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Figura 1.5: Escenario Típico de una Red Frame Relay.
y ningún otro cliente puede transmitir en ese timeslot así el propietario no
este transmitiendo. Esto hace que la red no sea muy eficiente. En ATM los
timeslots siempre están disponibles y se asignan por demanda basándose en la
información que está contenida en las cabeceras de cada celda.
Conexiones Virtuales ATM Las redes ATM son básicamente redes orientadas a conexión, esto significa que se tienen que configurar canales virtuales
(VC) a través de la red para la adecuada transferencia de datos. Haciendo la
analogía con Frame Relay, un canal virtual equivale a un circuito virtual.
En ATM existen dos tipos de conexiones: los caminos virtuales (Virtual
Paths - VPs), los cuales son identificados por medio de VPIs (Virtual Path
Identifiers), y los canales virtuales, los cuales son identificados con una combinación de VPIs y de VCIs (Virtual Channel Identifier).
Un camino virtual es una suma de canales virtuales, cada uno de los cuales
es conmutado transparentemente sobre la red ATM. La figura 1.7 de la pág.
9 muestra esta relación entre VCs y VPs.
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
Figura 1.6: Dispositivos que Intervienen en una Red ATM.
Figura 1.7: Caminos Virtuales.
9
10
1.2.2.
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Enlaces Conmutados
Los enlaces conmutados se dividen en dos tipos: los analógicos y los digitales. Los primeros llegan hasta velocidades de 53 kbit/s para el downlink
y hasta de 48 kbit/s para el uplink, los segundos transmiten y reciben a 64
kbit/s o 128 kbit/s. Estos últimos son conocidos como enlaces RDSI (o ISDN,
en inglés) que son las siglas de Red Digital de Servicios Integrados. Mediante
estos enlaces se pueden establecer un Acceso Remoto a una Red, el antecesor
más próximo a las VPN.
En la figura 1.8 de la pág. 10 se muetra un esquema de los distintos tipos
de enlaces conmutados.
Figura 1.8: Enaces Conmutados.
Enlaces Conmutados Analógicos
Fue quizá la primera tecnología de transmisión de datos que usó el hombre
para construir redes privadas entre dos sitios remotos. Esto lo hizo aprovechando la Red de Telefonía Pública Conmutada - RTPC (PSTN, en inglés), dicha
red ha tenido muchos desarrollos en los últimos 20 años. El servicio tradicional
que la RTPC ha prestado ha sido comunicación de voz, y sólo recientemente se
empezó a usar para soportar un creciente mercado de transferencia de datos.
En un enlace conmutado de datos, intervienen varios equipos desde el
usuario inicial hasta el punto o equipo destino. La figura 1.9 de la página
11 muestra los componentes de un enlace típico de datos sobre la red telefónica pública, se puede notar la necesidad de realizar una conversión A/D y
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
11
otra D/A. La inercia que resulta de todo este proceso electrónico es la que
en últimas limita a 56 kbit/s una comunicación analógica, que incluso puede
llegar a 33.6 kbit/s cuando aparece una tercera y cuarta conversión entre la
Central Telefónica 2 y el terminador de la llamada.
Figura 1.9: Escenario Típico de una Conexión Analógica de Datos Sobre la
RTPC.
Se puede notar que la conexión entre el iniciador de la llamada y la central
telefónica es análoga, y se lleva a cabo usando el mismo par de cobre de la
línea telefónica, para esto se usa un modem análogo, mientras que en el lado
del sitio remoto la conexión es digital, y para esto se usan enlaces RDSI.
Cuando este enlace es también análogo, entonces se puede notar que en el
proceso total de la conexión intervienen cuatro conversiones, dos A/D y dos
D/A, esto hace que la velocidad de transmisión y de recepción máximas sean
apenas de 33.6 kbit/s. La figura 11 ilustra este escenario.
Figura 1.10: Enlaces Analógicos de Último Kilómetro de Ambos Lados.
12
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Enlaces Conmutados Digitales - RDSI
La Red Digital de Servicios Integrados (RDSI), es un sistema de telefonía
digital que se desarrollo hace más de una década. Este sistema permite transmitir voz y datos simultáneamente a nivel global usando 100 % conectividad
digital.
En RDSI , la voz y los datos son transportados sobre canales B (del inglés
Bearer) que poseen una velocidad de transmisión de datos de 64 kbit/s, aunque
algunos switches ISDN limitan esta capacidad a solo 56 kbit/s. Los canales D
(o canales de datos) se usan para señalización y tiene velocidades de 16 kbit/s
o 64 kbit/s dependiendo del tipo de servicio.
Los dos tipos básicos de servicio RDSI son: BRI (del inglés Basic Rate
Interface) y PRI (del inglés Primary Rate Interface). Un enlace BRI consiste
de dos canales B de 64 kbit/s y un canal D de 16 kbit/s para un total de
144 kbit/s. Este servicio está orientado a brindar capacidad de conexión para
usuarios residenciales.
Para acceder a un servicio BRI, es necesario tener una línea RDSI. Si sólo
se desean comunicaciones de voz es necesario tener teléfonos digitales RDSI, y
para transmitir datos es necesario contar con un adaptador de Terminal - TA
(del inglés Terminal Adapter) o un enrutador RDSI.
Figura 1.11: Adaptador de Terminal RDSI.
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
13
A diferencia de las conexiones conmutadas analógicas en una conexión RDSI el camino es 100 % digital desde la central hasta el sitio del abonado, por
lo cual no existe ningún tipo de conversiones A/D o viceversa, lo que facilita
la obtención de velocidades de 64 kbit/s o 128 kbit/s, lo cual se logra convirtiendo los dos canales B de 64 kbit/s o en un canal lógico de 128 kbit/s. Esta
característica es usada solo en transmisión de datos y depende de la facilidad
que tenga el equipo terminal de realizar esto. Típicamente esta característica
tiene el nombre de Multilink.
Acceso Remoto a Redes
Generalmente cuando hablando de Servicio de Acceso Remoto lo relacionamos con un enlace conmutado ya se analógico o digital en escenarios
como los descriptos en el apartado anterior.
En este tipo de arquitecturas existe un RAS (Remote Access Server ) que
actúa como una puerta de enlace entre el cliente remoto y la red (ver figura
1.12 de la página 14). Después de que un usuario haya establecido la conexión
por medio de una llamada, la línea telefónica es transparente para el usuario,
y este puede tener acceso a todos los recursos de la red como si estuviera ante
un equipo directamente conectado a ella. Se podría decir que el RAS hace que
un módem actúe como una tarjeta de red al proyectar un equipo remoto sobre
una LAN.
Este tipo de implementación fue el antecesor más próximo de las VPN,
sus deficiencias radican en los costos de las llamadas que se deben efectuar,
principalmente las de larga distancias y la falta de confidencialidad en la transmisión de la información ya que no soportan encriptación de datos. Un punto
a favor para este tipo de conexiones es que no necesita acceso a Internet (o
correr sobre TCP-IP en todo caso) como las VPN.
Hoy en día los clientes lo utilizan para conectarse con un Proveedor de
Servicios Internet (ISP, Internet Service Provider), también es muy común
utlizarlo para realizar la coexión a Internet, la que luego se utilizará para
establecer una VPN. En la figura 1.13 de la página 14 se puede apreciar un
escenario típico de una VPN sobre una Conexión de Acceso Remoto.
1.2.3.
PPP - Protocolo Punto a Punto
El Protocolo Punto a Punto (PPP) es un protocolo WAN de nivel de enlace
estandarizado en el documento RFC 1661, 1662, 1663. Por tanto, se trata de
un protocolo asociado a la pila TCP/IP de uso en Internet. Proporciona un
14
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Figura 1.12: Acceso Remoto a Redes.
Figura 1.13: Red Virtual Privada sobre RAS.
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
15
método estándar para transportar datagramas multiprotocolo sobre enlaces
simples punto a punto entre dos pares. Estos enlaces proveen operación bidireccional full dúplex y se asume que los paquetes serán entregados en orden.
Generalmente, se utiliza para establecer la conexión a Internet de un particular con su proveedor de acceso a través de un módem telefónico. Ocasionalmente también es utilizado sobre conexiones de banda ancha (como PPPoE
o PPPoA). Otro uso que se ha venido dando es utilizarlo para conectar a trabajadores desplazados (p. ej. ordenador portátil) con sus oficinas a través de
un centro de acceso remoto de su empresa.
Este protocolo cuenta con tres componentes:
1. Un mecanismo de enmarcado (armado de tramas) que delinea sin ambigüedad el final de la trama y el inicio de la siguiente. Permite la detección de errores.
2. Un protocolo de control de enlace (LCP, Link Control Protocol) para
establecer, configurar y probar la conexión de datos.
3. Una familia de protocolos de control de red (NCPs, NetworkControl
Protocols) para establecer y configurar los distintos protocolos de nivel
de red.
Fases de PPP
Existen cuatro fases distintivas de negociación en una sesión de marcación
del PPP. Cada una de estas cuatro fases debe completarse de manera exitosa
antes de que la conexión del PPP esté lista para transferir los datos del usuario:
Fase Previa: se establece una conexión física por ejemplo, un modem
realiza una llamada telefónica al modem del ISP.
Fase1: Establecer el enlace del PPP.
PPP utiliza el protocolo de control de enlace LCP para establecer, mantener y terminar la conexión física. Durante la fase LCP inicial, se seleccionan
las opciones básicas de comunicación. Nótese que durante la fase de establecimiento de enlace (Fase 1), se seleccionan los protocolos de Autenticación,
pero no se implementan efectivamente hasta la fase de Autenticación de conexión (Fase 2). De manera similar, durante el LCP, se toma una decisión en
cuanto a que si dos iguales negociarán el uso de compresión y/o encriptación.
Durante la Fase 4 ocurre la elección real de algoritmos de compresión / encriptación y otros detalles. Entonces se puede decir que los parámetros que
son determinados mediante el protocolo LCP en esta fase son:
16
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Tamaño máximo de la trama - 1500 bytes por omisión.
Negociar multivínculo para conexiones de un solo vínculo. Esta opción
permite la separación de canales de alta y baja prioridad en una conexión
de un solo vínculo. Si el servidor de acceso remoto acepta esta característica, puede apreciar un aumento en la calidad del audio. Sin embargo,
puesto que esta característica es incompatible con muchos servidores de
acceso remoto, no debe habilitarla a menos que se le indique lo contrario.
Selección (solamente) del método de autenticación.
Selección (solamente) del protocolo NCP de capa 3. Por ejemplo, el NCP
de TCP/IP es el Protocolo de control de protocolo Internet (IPCP, Internet Protocol Control Protocol).
Fase 2: Autenticar al usuario.
La mayoría de las implementaciones del PPP proporcionan métodos limitados de Autenticación, típicamente el Protocolo de autenticación de contraseña
(PAP), el Protocolo de autenticación de saludo Challenge (CHAP) y Microsoft
Challenge Handshake Authentication Protocol (MSCHAP). Vale aclarar que
esta face no es obligatoria.
Una variante es el uso de EAP - Protocolo de Autenticación Extensible,
que constituye uan extensión de PPP. Proporciona un mecanismo estándar
para aceptar métodos de autenticación adicionales, permite añadir módulos
de verificación en ambos extremos. Al utilizar EAP, se pueden agregar varios
esquemas de autenticación, entre los que se incluyen:
Tarjetas de Identificación.
Autenticación por Clave Pública mediante tarjetas inteligentes, certificados y otros.
Fase 3: Control de rellamado del PPP.
La implementación de Microsoft del PPP incluye una Fase opcional de
control de rellamado. Esta fase utiliza el Protocolo de Control de Rellamado
(CBCP) inmediatamente después de la fase de autenticación. Si se configura
para rellamado, después de la autenticación, se desconectan tanto el cliente
remoto como el NAS. Entonces, el NAS vuelve a llamar al cliente remoto
en el número telefónico especificado. Esto proporciona un nivel adicional de
seguridad a las redes de marcación. El NAS permitirá conexiones a partir
1.2. TECNOLOGÍAS ANTERIORES A LAS VPNS
17
de los clientes remotos que físicamente residan sólo en números telefónicos
específicos, lo que implica que este nivel de seguridad sólo se puede usa en un
escenario donde la conexión a Internet sea sólamente a través de Dial-Up o
ADSL.
Fase 4: Invocar los protocolo(s) a nivel de red.
Una vez que se hayan terminado las fases previas, PPP invoca los distintos
Protocolos de Control de Red (NCPs) que se seleccionaron durante la fase de
establecimiento de enlace (Fase1) para configurar los protocolos que utiliza el
cliente remoto. Por ejemplo, durante esta fase el Protocolo de control de IP
(IPCP) puede asignar una dirección dinámica a un usuario de marcación.
Para configurar un protocolo de red se usa el protocolo NCP correspondiente. Por ejemplo, si la red es IP, se usa el protocolo IPCP para asignar la
dirección IP del cliente y sus servidores DNS.
En la implementación del PPP de Microsoft, el protocolo de control de
compresión se utiliza para negociar tanto la compresión de datos (utilizando
MPPC) como la encriptación de datos (utilizando MPPE) por la simple razón
de que ambos se implementan en la misma rutina.
Fase 5: Transferencia de datos.
Una vez que se han terminado las cuatro fases de negociación, PPP empieza a transferir datos hacia y desde los dos iguales. Cada paquete de datos
transmitidos se envuelve en un encabezado del PPP el cual quita el sistema
receptor. Si se seleccionó la compresión de datos en la fase 1 y se negoció en la
fase 4, los datos se comprimirán antes de la transmisión. Si se seleccionaron y se
negociaron de manera similar la encriptación de datos, los datos (comprimidos
opcionalmente) se encriptarán antes de la transmisión.
Fase 6 : Finlalización del enlace.
PPP puede terminar el enlace en cualquier momento. Esto puede ocurrir
por la pérdida de la señal portadora, una falla de autenticación, una falla de
la calidad del enlace, la expiración de un timer, o un cierre administrativo
del enlace. LCP es usado para cerrar el enlace a través de un intercambio de
paquetes de terminación. Cuando el enlace ha sido cerrado, PPP informa a
los protocolos de capa de red así ellos pueden tomar la acción apropiada.
Trama PPP
Una trama PPP esta basada en HDLC. Tiene un mínimo de 6 bytes y un
máximo indeterminado. La trama HDLC con PPP es:
El formato de marco de PPP se escogió de modo que fuera muy parecido al
18
CAPÍTULO 1. REDES VIRTUALES PRIVADAS
Figura 1.14: Formato de Trama PPP.
formato de marco de HDLC, ya que no había razón para reinventar la rueda.
La diferencia principal entre PPP y HDLC es que el primero está orientado a
caracteres. PPP, al igual que SLIP, usa el relleno de caracteres en las líneas
por discado con módem, por lo que todos los marcos tienen un número entero
de bytes.
Capítulo 2
Tunelamiento VPN
2.1.
Etapas Necesarias para una Conexión VPN
Toda solución VPN que se requiera implementar, cualquiera sea el protocolo o tecnología a usar, debe cumplir con las siguientes etapas (ver figura 2.1
de la página 20)1 :
2.1.1.
Conexión
Establecer la conexión en una de Red Virtual Privada es muy similar a establecer una conexión punto a punto mediante conexiones de acceso telefónico
o de enrutamiento de marcado a petición, es más, en casos como PPTP se usa
el mismo protocolo de base (PPP). Hay dos tipos de conexiones VPN:
Conexión VPN de acceso remoto: un cliente de acceso remoto (el
equipo de un usuario) realiza una conexión VPN de acceso remoto que conecta
a una red privada. El servidor VPN proporciona acceso a los recursos del
servidor VPN o a toda la red a la que está conectado el servidor VPN. Los
paquetes enviados desde el cliente remoto a través de la conexión VPN se
originan en el equipo cliente de acceso remoto.
Conexión VPN de enrutador a enrutador: un enrutador realiza una
conexión VPN de enrutador a enrutador que conecta dos partes de una red
privada. El servidor VPN proporciona una conexión enrutada a la red a la
que está conectado el servidor VPN. En una conexión VPN de enrutador a
1
Existen protocolos como L2TP que no proporicona encriptación de datos, será necesario
convinarlo con otro protocolo como IPsec, para que éste le brinde el servicio de encriptación
en una capa inferior (capa 3).
19
20
CAPÍTULO 2. TUNELAMIENTO VPN
Figura 2.1: Etapas Necesarias Para Establecer un Túnel VPN.
enrutador, los paquetes enviados desde uno de los enrutadores a través de la
conexión VPN normalmente no se originan en los enrutadores.
Durante esta etapa se seleccionan las opciones básicas de la comunicación,
donde se presenta una negociación de parámetros necesarios para establecer
el túnel. Ejemplos de estos parametros son el método de Autenticación (ej.:
CHAP, PAP, IKE, ect.), algoritmo de Cifrado, el uso de Compresión, opciones
de Rellanado, tamaño de la Trama, etc.
2.1.2.
Control de Conexión
El control de la conexión es una etapa que está presente desde el establecimiento de la conexión hasta que finaliza la misma. Su objetivo es mantener
la conexión estable, esto se puede implementar dentro del mismo tunel VPN o
por medio de una conexión paralela. Por ejemplo en el protocolo PPTP, existe
una conexión de Transmisión UPD (puerto 43), y otra conexión de Control
TCP (puerto 1723) para el control del túnel.
2.1. ETAPAS NECESARIAS PARA UNA CONEXIÓN VPN
2.1.3.
21
Autenticación
La autenticación es el acto de verificar la identidad de alguien o algo en
un contexto definido. En un mundo de seis mil millones de personas no es
suficiente simplemente declarar que se es quien se dice ser, se debe probarlo.
La autenticación involucra usualmente la interacción entre dos entidades,
el objeto de la autenticación (un usuario o un cliente) que afirma su identidad y
un autenticador realizando la verificación de la identidad. El usuario entrega
información de autenticación la cual incluye la identidad proclamada y la
información que soporta dicha identidad al autenticador.
La información de autenticación puede ir desde un simple password a un
juego completo de parámetros y mensajes. De igual manera, puede ser una
simple función como en el caso de la comparación de claves, o la aplicación de
complejos algoritmos criptográficos, como en el caso de firmas digitales.
Si la información de autenticación y la función de autenticación están totalmente bajo el control de las dos entidades, el esquema de autenticación
es llamado Esquema de Autenticación Compartido (two-party). Sin embargo,
en muchos casos es más seguro y escalable ayudarse de una tercera parte (o
de más) para la autenticación. Esos esquemas son llamados de confianza en
terceras partes (trusted third-party).
Otro factor a tener en cuenta es la integridad y confidencialidad de la
información de autenticación. Es importante que la información usada para la
autenticación sea segura y no sea obtenida de participantes no autorizados.
Esas medidas de seguridad no solo deben ser tomadas en el establecimiento
del túnel, sino durante el transcurso del intercambio de datos. En el caso de
las VPNs esto es muy importante ya que la información de autenticación es
transmitida a través de Internet.
Sistemas de Autenticación
La autenticación es parte vital dentro de la estructura de seguridad de
una VPN. Sin ella no se podría controlar el acceso a los recursos de la red
corporativa y mantener a los usuarios no autorizados fuera de la línea.
Los sistemas de autenticación pueden estar basados en uno de los siguientes
tres atributos: algo que el usuario tiene (por ejemplo la llave de una puerta);
algo que el usuario sabe (por ejemplo una clave); ó algo que el usuario es
(por ejemplo sistemas de reconocimiento de voz ó barrido de retinas). Es generalmente aceptado el uso de un método sencillo de autenticación tal como el
22
CAPÍTULO 2. TUNELAMIENTO VPN
password, pero no es adecuado para proteger sistemas. Los expertos recomiendan los llamados sistemas de autenticación complejos, los cuales usan al menos
dos de los atributos de autenticación anteriores.
2.1.4.
Cifrado
Las Redes Virtuales Privadas gozan de confidencialidad gracias al uso del
cifrado de datos, que oculta la información a cualquier interceptor que no este
autorizado. En una tarea de cifrado, el emisor y el receptor, deben conocer el
conjunto de reglas que rigen el mecanismo como tal. Las llaves son usadas para
transformar los datos original en otros resultantes llamados texto cifrados.
Criptografía Simétrica
La Criptografía Simétrica es un método que usa una misma clave para
cifrar y para descifrar mensajes. Las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez ambas tienen
acceso a esta clave, el remitente cifra un mensaje usándola, lo envía al destinatario, y éste lo descifra con la misma clave. Un buen sistema de cifrado pone
toda la seguridad en la clave y ninguna en el algoritmo. En otras palabras,
no debería ser de ninguna ayuda para un atacante conocer el algoritmo que
se está usando. Sólo si el atacante obtuviera la clave, le serviría conocer el
algoritmo.
Dado que toda la seguridad está en la clave, es importante que sea muy
difícil adivinar el tipo de clave. Esto quiere decir que el abanico de claves
posibles, o sea, el espacio de posibilidades de claves, debe ser amplio. Hoy por
hoy, los ordenadores pueden adivinar claves con extrema rapidez, y ésta es la
razón por la cual el tamaño de la clave es importante en los criptosistemas
modernos.
Como ambas partes conocen el cifrado, cualquiera de ellas puede reversar
el proceso para abstraer el texto original. El cifrado se basa en dos componentes: un algoritmo y una llave. Un algoritmo criptográfico es una función
matemática que combina texto plano o cualquier otra información inteligible
con una cadena de dígitos llamada key (llave) para producir un texto cifrado
o no inteligible. Tanto la llave como el algoritmo son cruciales en un proceso
de cifrado (ver figura 2.2 de la página 23).
El cifrado basado en un sistema de llaves ofrece una gran ventaja, los
algoritmos criptográficos son difíciles de idear por lo cual sería traumático usar
un nuevo algoritmo cada vez que una parte se quiera comunicar de manera
2.1. ETAPAS NECESARIAS PARA UNA CONEXIÓN VPN
23
privada con una nueva. Usando una llave, un usuario podría utilizar el mismo
algoritmo para comunicarse con diferentes usuarios remotos; y todo lo que se
debería hacer sería utilizar una diferente llave con cada uno de ellos.
Figura 2.2: Esquema Criptográfico.
El principal problema con los sistemas de cifrado simétrico es el intercambio
de claves, sería mucho más fácil para un atacante intentar interceptar una clave
que probar las posibles combinaciones del espacio de claves.
Otro problema es el número de claves que se necesitan, si tenemos un
número n de personas que necesitan comunicarse entre ellos, entonces se necesitan n(n-1)/2 claves para cada pareja de personas que tengan que comunicarse
de modo privado. Esto puede funcionar con un grupo reducido de personas,
pero sería imposible llevarlo a cabo con grupos más grandes.
Algunos de los sistemas de autenticación simétricos más usados son:
Passwords Tradicionales: son la forma más simple de autenticar pero
es un método inadecuado para garantizar la seguridad en el acceso a
una red, dado que los passwords pueden ser adivinados e interceptados
durante transmisiones en la red. Por ejemplo, servicios tales como FTP
y Telnet transmiten los nombres y las claves en texto plano, haciéndolos
fácilmente interceptables.
Passwords Únicos:Una forma de prevenir el uso no autorizado de
Passwords interceptados es evitar que sean reutilizados. Los sistemas
de Passwords Únicos restringen el uso de un password a una sola sesión
de comunicación, es decir que se requiere un password nuevo para cada
24
CAPÍTULO 2. TUNELAMIENTO VPN
nueva sesión. Estos sistemas, de los cuales S / KEY es el mejor ejemplo,
facilitan al usuario la escogencia de un nuevo password para la siguiente
sesión generando automáticamente una lista de posibles passwords para
el usuario.
PAP(Protocolo de Autenticación de Passwords): es un protocolo de dos
vías, el host que se está conectando envía un nombre de usuario y un
password al sistema destino con el cual trata de establecer su comunicación, y el sistema destino (el autenticador) responde si es el caso, que
el computador remoto está autenticado y aprueba su comunicación. PAP
es un protocolo de autenticación que puede ser usado al comienzo del
establecimiento de un enlace PPP, no es seguro porque la información
de autenticación es transmitida en texto plano, esto lo hace vulnerable a
que atacantes obtengan información de nombres de usuario y claves de
manera fácil.
CHAP(Challenge Handshake Authentication Protocol): es muy similar
a PAP pero es más seguro para autenticar enlaces PPP. CHAP es un
protocolo de tres vías y al igual que PAP, incorpora tres pasos para la
autenticación de un enlace, que son:
1. El autenticador envía un mensaje al nodo remoto.
2. El nodo calcula un valor usando una función hash y lo envía de
regreso al autenticador.
3. El autenticador avala la conexión si la respuesta concuerda con el
valor esperado.
El proceso puede repetirse en cualquier momento del enlace PPP para
asegurarse que la conexión no ha sido tomada por otro nodo. A diferencia
de PAP, en CHAP el servidor controla la reautenticación. PAP y CHAP
tienen algunas desventajas, en ninguno de los dos se pueden asignar diferentes privilegios para acceder a la red a diferentes usuarios remotos que
usan el mismo computador. El siguiente protocolo (RADIUS) entrega
más flexibilidad para asignar privilegios de acceso.
RADIUS(Remote Authentication Dial-In User Service): Es un protocolo AAA (Autenticación, Autorización y Administración) para aplicaciones como acceso a redes o movilidad IP. Usa una arquitectura cliente
servidor e incluye dos componentes, un servidor de autenticación y un
protocolo cliente. El servidor es instalado en un computador central,
2.1. ETAPAS NECESARIAS PARA UNA CONEXIÓN VPN
25
el protocolo cliente es implementado en el servidor de acceso a la red
(NAS). El proceso de autenticación con RADIUS tiene los siguientes
pasos:
1. Un usuario remoto marca a un RAS. Cuando la conexión al modem
se completa, el RAS pregunta por un nombre de usuario y password.
2. Una vez recibidos, el RAS crea un paquete de datos llamado requerimiento de autenticación. Este paquete incluye información tales como
el nombre del usuario, el password, el modem de conexión, entre otros.
Para evitar que un hacker escuche la información, el RAS actúa como
un cliente del RADIUS, cifrando el mensaje con una clave compartida
predeterminada entre el RAS y el servidor RADIUS.
3. El requerimiento de autenticación es enviado por la red desde el cliente
hasta el servidor RADIUS.
4. Cuando un requerimiento de autenticación es recibido, el servidor
RADIUS valida el requerimiento y verifica la información del nombre de
usuario y password.
5. Si el nombre de usuario y el password son correctos, el servidor envía
un reconocimiento de autenticación que puede incluir información del
usuario en la red y los servicios que el requiere.
6. Si en este punto del proceso la autenticación no se tiene éxito, el
RADIUS envía un mensaje de desconexión al RAS y al usuario se le
niega el acceso a la red. La figura 2.3 de la página 26 muestra el escenario
correspondiente a los pasos anteriores.
Criptografía Asimétrica
La Criptografía Asimetrica o Criptografía de LLaves Públicas se basa en
el manejo de una pareja de llaves. Cada llave puede encriptar información que
sólo la otra puede desencriptar. La llave privada, únicamente es conocida por
su propietario; la llave pública, se pública abiertamente, pero sigue asociada
al propietario. Los pares de llaves tienen una característica única: los datos
encriptados con una llave sólo pueden desencriptarse con la otra llave del par.
Las llaves se pueden usar de dos maneras diferentes: para garantizar confidencialidad al mensaje y para probar la autenticidad del emisor de un mensaje.
En el primer caso, el emisor usa la llave pública del receptor para encriptar
26
CAPÍTULO 2. TUNELAMIENTO VPN
Figura 2.3: Servidores Radius de Autenticación.
un mensaje, de manera que el mensaje continúe siendo confidencial hasta que
sea decodificado por el receptor con la llave privada. En el segundo caso, el
emisor encripta un mensaje usando la llave privada, una llave a la cual sólo
tiene acceso él.
La llave pública del receptor asegura la confidencialidad; la llave privada
del emisor verifica la identidad del mismo. Por ejemplo, para crear un mensaje confidencial, una persona necesita conocer primero la llave pública de su
receptor, después deberá usar la misma para encriptar el mensaje y enviarlo.
Como el mensaje se encriptó con la llave pública del receptor, sólo éste con
su llave privada puede desencriptar el mensaje.Aunque una persona puede encriptar un mensaje con una llave pública o con una llave secreta, usar la llave
pública presenta ciertas ventajas. Por ejemplo, la llave pública de la pareja de
llaves se puede distribuir en un servidor sin temor de que esto comprometa el
uso de la llave privada.
Por ello, no se necesita enviar una copia de la llave pública a todos los
receptores; ya que ellos la pueden obtener desde un servidor de llaves mantenido por la compañía, o a través de un proveedor de servicio. La figura 2.4
de la página 27 muestra el esquema con el cual un emisor encripta su mensaje
por medio de la llave pública del destinatario y como este último con su llave
privada desencripta el mensaje cifrado que le ha llegado.
Otra ventaja de la criptografía con llave pública es que permite que el
receptor autentifique al originador del mensaje. La idea básica es esta: ya que
el emisor es la única persona que puede encriptar algo con su llave privada,
todo aquel que use la llave pública del mismo para desencriptar el mensaje,
puede estar seguro de que el mensaje proviene de él. Así, el uso de su llave
2.1. ETAPAS NECESARIAS PARA UNA CONEXIÓN VPN
27
Figura 2.4: Esquema de Cifrado con LLave Pública.
privada en un documento electrónico es similar a la firma en un documento
de papel. Pero hay que recordar que aunque el receptor puede estar seguro de
que el mensaje proviene del emisor, no hay forma de garantizar que alguien
más lo haya leído con anterioridad.
Usar Algoritmos Criptográficos de LLaves Públicas para encriptar mensajes es computacionalmente lento, así que se ha descubierto una manera para
generar con rapidez una representación corta y única del mensaje, llamada ”resumen” (message digest), que se puede encriptar y después usar como firma
digital.
Algunos algoritmos criptográficos populares y veloces para generar resúmenes se conocen como Funciones Hash o funciones de dispersión de un solo
sentido. Una función de dispersión (hash) de un solo sentido no usa una llave;
simplemente es una fórmula para convertir un mensaje de cualquier longitud
en una sola cadena de dígitos, llamada resumen.
Por ejemplo, suponiendo que el emisor, A, calcula un resumen para un
mensaje, y encripta dicho resumen con su llave privada, luego envía esa firma
digital junto con un mensaje de texto simple a B.
Después de que B usa la llave pública de A para desencriptar la firma
digital, B tiene una copia del resumen del mensaje que A calculó. Dado que B
pudo desencriptar la firma digital con la llave pública de A, sabe que A lo creó,
28
CAPÍTULO 2. TUNELAMIENTO VPN
autentificando así al originador. B usa entonces la misma función de dispersión
(que se acordó de antemano) para calcular su propio resumen del mensaje de
texto simple de A. Si su valor calculado y el que A envió son iguales, entonces
B puede estar seguro de que la firma digital es auténtica, lo que significa que
A no sólo envió el mensaje, sino que el mensaje no fue alterado.
Existe una amplia variedad de algoritmos criptográficos para llaves públicas, pero quizá dos de los más importantes han sido Diffie-Hellman y RSA.
2.1.5.
Control de Acceso
El control de acceso es un conjunto de políticas y mecanismos que permiten
a las partes acceso autorizado a determinados recursos. De esta manera protege al recurso de accesos maliciosos o accidentales de usuarios que no están
autorizados a accederlos.
La figura 2.5 de la página 28 muestra un control de acceso en un modelo
cliente-servidor. Se considera usuario a cualquier entidad (usuario o aplicación
trabajando en nombre de ese usuario) que desee acceder al recurso. Se determina por recurso a cualquier objeto que puede ser manipulado de alguna manera,
tales como lectura, escritura o modificación, causadas por la realización de alguna acción, tales como la ejecución de un programa o el envío de un mensaje.
Figura 2.5: Control de Acceso Cliente-Servidor.
Un usuario tiene una identidad y un conjunto de atributos asociados. El
2.1. ETAPAS NECESARIAS PARA UNA CONEXIÓN VPN
29
cliente envía la identificación del usuario, los atributos y el requerimiento de
una operación al servidor. El servidor puede autenticar la identidad del usuario
y remitirlo junto con los atributos y el requerimiento solicitado a los mecanismos de control de acceso. Las políticas son preestablecidas en el mecanismo de
control de acceso; la información del usuario es comparada con las reglas de
las políticas para determinar los derechos de acceso del usuario a ese recurso.
Mecanismos de Control de Acceso
Los mecanismos de control de acceso son las formas concretas para expresar
una regla. Las listas de control de acceso y las listas de capacidades son dos
de los mecanismos más usados para especificar las reglas condicionales.
Listas De Control De Acceso Una ACL (Access Control List) asocia
cada recurso con una lista ordenada de qué usuarios pueden tener acceso al
recurso y cómo esos usuarios pueden accederlo. Este método es de recurso
céntrico; dando el nombre del recurso, del usuario, los atributos del mismo y
el tipo de operación, el mecanismo de control de acceso puede buscar la ACL
correspondiente a ese recurso y determinar si el usuario puede o no realizar la
operación. Los usuarios en algunas ocasiones son puestos en grupos o en clases
equivalentes, las cuales tienen los mismos derechos. Esta práctica tiene como
objetivo volver más escalables las ACLs dependiendo del número de usuarios
en el sistema.
El sistema de archivos UNIX usa una forma de ACL para permitir o denegar las operaciones que pueden ser hechas en los archivos. Hay tres tipos de
operaciones básicas: lectura, escritura y ejecución. Cada archivo tiene asociados tres juegos de permisos: uno para el propietario del archivo, uno para
el grupo y uno para cualquier otra persona. Cada permiso contiene los tres
derechos: lectura (R), escritura (W) y ejecución (X); los derechos que no son
garantizados se llenan con un guión (-). Los tres conjuntos con los tres privilegios forman una cadena de nueve dígitos (rwxrwxrwx). A continuación se
detalla la salida de un comando UNIX la cual muestra los permisos de varios
archivos dentro de ese directorio.
-rw––- 1 Juan Contable 383 Mar 13 23:32 Cuentas
-rw-rw-r— 1 Juan Contable 584 Mar 13 18:17 Empleados
-rwxr-x– 1 Juan project 164 Mar 13 18:17 useful*
En el anterior ejemplo el archivo Cuentas tiene permisos de lectura y escritura para el propietario (Juan); el archivo Empleados tienen permisos de
30
CAPÍTULO 2. TUNELAMIENTO VPN
lectura y escritura para propietario y para el grupo (Contable), y de lectura
para cualquier otra persona; y el archivo useful tiene permisos de lectura, escritura y ejecución para el propietario y de lectura y ejecución para el grupo.
Listas de Capacidades Las listas de capacidades (C-list) son equivalentes
a las ACLs pero son centradas en el usuario a diferencia de las ACLs que son
centradas en el recurso. En una C-list cada usuario tiene una lista de recursos
que puede acceder.
Una C-list es usada si los recursos pueden ser agrupados en clases equivalentes, por ejemplo en la clasificación de seguridad militar, donde un documento puede ser marcado como: no clasificado, secreto o supersecreto.
Administración de las Políticas de Control de Acceso
Las políticas de control de acceso usualmente son dinámicas, es decir que
nuevas políticas deben ser aplicadas cada vez que nuevos recursos o nuevos
usuarios aparecen en la red. El proceso de crear, mantener y distribuir las
políticas de control de acceso es llamado administración de las políticas de
control de acceso.
Una administradora de políticas es la entidad que tiene el control sobre
todas las políticas de acceso en un sistema. El manejador de las políticas es
el servicio responsable de proveer a los administradores de una interfaz fácil
de usar que defina, instale, modifique y despliegue políticas. El manejador de
políticas también es el encargado de traducir las reglas del lenguaje abstracto
que maneja el administrador a expresiones que son usadas en los mecanismos
de control de acceso.
Cuando múltiples puntos de control de acceso existen en una red, la administración de las políticas puede ser hecha de una manera centralizada o de
una manera distribuida.
Directorio Activo (Active Directory de Microsoft)
Un ejemplo de listas de de accesos con administración centralizada es el
Directorio Activo de Microsoft. En una red Microsoft Windows, el servicio
de directorio Active Directory proporciona la estructura y las funciones para
organizar, administrar y controlar el acceso a los recursos de red. .
Active Directory proporciona la capacidad de administrar centralmente la
red de Windows. Esta capacidad significa que puede almacenar centralmente
2.1. ETAPAS NECESARIAS PARA UNA CONEXIÓN VPN
31
información acerca de la empresa, por ejemplo, información de usuarios, grupos e impresoras, y que los administradores pueden administrar la red desde
una sola ubicación.
Active Directory admite la delegación del control administrativo sobre los
objetos de él mismo. Esta delegación permite que los administradores asignen
a un grupo determinado de administradores, permisos administrativos específicos para objetos, como cuentas de usuario o de grupo.
En un dominio hay lo que se llama un servidor principal llamado PDC
(Primary Domain Controller) que es quien asigna derechos controla usuarios
y recursos. Dado que este servidor puede recibir muchas peticiones de red por
parte de los clientes, es posible instalar un servidor de réplica llamado BDC
(Backup Domain Controller ), además en caso de fallo del PDC, éste se sitúa
en el dominio como PDC.
Los recursos almacenados en el directorio, como usuarios, impresoras, servidores, grupos, computadores y políticas de seguridad, se conocen colectivamente como objetos.
Un objeto es un conjunto nombrado de atributos que representan un recurso de red. Es decir, los atributos son las características de los objetos en el
directorio.
Figura 2.6: Objetos en Active Directory.
Los objetos en Active Directory pueden organizarse en clases, que son agrupamientos lógicos de objetos. Ejemplos de clases son las cuentas de usuario,
los grupos, las computadoras, las unidades organizacionales, etc. (ver figura
32
CAPÍTULO 2. TUNELAMIENTO VPN
2.6 de la página 31).
Principalmente, un dominio define un límite de seguridad. Un dominio
puede contener millones de objetos AD. Por cada objeto dentro de un dominio,
AD mantiene ACLs (Listas de Control de Acceso) que controlan que usuarios
pueden tener acceso al mismo y que tipo de acceso pueden obtener (ver figura
2.7 de la página 32).
Figura 2.7: Esquema General de Active Directory de Microsoft.
2.2.
Tunelamiento
Tunelamiento (Tunneling) es una técnica que usa una infraestructura entre redes para transferir datos de una red a otra. Los datos o la carga pueden
ser transferidas como tramas de otro protocolo. El protocolo de tunneling encapsula las tramas con una cabecera adicional, en vez de enviarla como la
produjo en nodo original. La cabecera adicional proporciona información de
routing para hacer capaz a la carga de atravesar la red intermedia. Las tramas
encapsuladas son enrutadas a través de un tunel que tiene como puntos finales
los dos puntos entre la red intermedia. El túnel es una camino lógico a través
del cual se encapsulan paquetes viajando entre la red intermedia. Cuando un
trama encapsulada llega a su destino en la red intermedia, se desencapsula y
se envía a su destino final dentro de la red. Tunneling incluye todo el proceso
de encapsulado, desencapsulado y transmisión de las tramas.
Protocolos de Tuneles
Para que se establezca un túnel, tanto el cliente de éste como el servidor
deberán utilizar el mismo protocolo de túnel. La tecnología de túnel se puede
2.2. TUNELAMIENTO
33
basar en el protocolo del túnel de Nivel 2, Nivel 3; o niveles intermedios correspondientes OSI (Modelo de referencia de interconexión de sistemas abiertos).
Los protocolos de capa 2 corresponden al nivel de Enlace de datos, y utilizan tramas como su unidad de intercambio. PPTP y L2TP son protocolos
de túnel de Capa 2, ambos encapsulan la carga útil en una trama de PPP
(Protocolo Punto a Punto) que se enviará a través de la red.
Los protocolos de capa 3 corresponden al nivel de Red, utilizan paquetes
IP o datagramas de capa de Transporte (por ejemplo TCP)como carga útil.
El modo de túnel de seguridad IP (IPSec) son ejemplos de los protocolos de
túnel de capa 3; éstos encapsulan los paquetes IP en un encabezado adicional
antes de enviarlos a través de una red IP.
Otros protocolo como MPLS que encapsula la carga útlil en una capa
adicional entre la Capa 2 y Capa 3. Por último existen también tunelamiento
en la Capa de Aplicación mediante SSL (Secure Layer Soket) .
2.2.1.
Funcionamiento del Túnel
Para las tecnologías de túnel de Nivel 2 como PPTP y L2TP, un túnel es
similar a una sesión; los dos puntos finales deben estar de acuerdo respecto al
túnel, y negociar las variables de la configuración, como asignación de dirección
o los parámetros de encriptación o de compresión.
En la mayor parte de los casos, los datos que se transfieren a través del
túnel se envían utilizando protocolos basados en datagramas; se utiliza un
protocolo para mantenimiento del túnel como el mecanismo para administrar
al mismo.
Por lo general, las tecnologías del túnel de Nivel 3 suponen que se han
manejado fuera de banda todos los temas relacionados con la configuración,
normalmente a través de procesos manuales; sin embargo, quizá no exista una
fase de mantenimiento de túnel. Para los protocolos de Nivel 2 (PPTP y L2TP)
se debe crear, mantener y luego concluir un túnel.
Cuando se establece el túnel, es posible enviar los datos a través del mismo.
El cliente o el servidor utilizan un protocolo de transferencia de datos del túnel
a fin de preparar los datos para su transferencia.
Por ejemplo, cuando el cliente del túnel envía una carga útil al servidor,
primero adjunta un encabezado de protocolo de transferencia de datos de túnel
a la carga útil. Luego, el cliente envía la carga útil encapsulada resultante a
través de la red, la que lo enruta al servidor del túnel. Este último acepta los
paquetes, elimina el encabezado del protocolo de transferencia de datos del
34
CAPÍTULO 2. TUNELAMIENTO VPN
túnel y envía la carga útil a la red objetivo. La información que se envía entre
el servidor del túnel y el cliente del túnel se comporta de manera similar.
2.2.2.
Tipos de Túneles
Túneles Voluntarios
Un túnel voluntario ocurre cuando, una estación de trabajo o un servidor
de entubamiento utiliza el software del cliente del túnel, a fin de crear una conexión virtual al servidor del túnel objetivo; para lograr esto se debe instalar
el protocolo apropiado de túnel en la computadora cliente. Para los protocolos que se analizan en este trabajo final de aplicación, los túneles voluntarios
requieren una conexión IP (ya sea a través de una LAN o marcación).
En determinadas situaciones, el cliente debe establecer una conexión de
marcación con el objeto de conectarse a la red antes de que el cliente pueda
establecer un túnel (éste es el caso más común). Un buen ejemplo es el usuario
de Internet por marcación, que debe marcar a un ISP y obtener una conexión
a Internet antes de que se pueda crear un túnel sobre Internet..
Para una PC conectada a una LAN, el cliente ya tiene una conexión a la red
que le puede proporcionar un entubamiento a las cargas útiles encapsuladas al
servidor del túnel LAN elegido. Este sería el caso para un cliente en una LAN
corporativa, que inicia, un túnel para alcanzar una subred privada u oculta en
la misma LAN.
Es falso que las VPN requieran una conexión de marcación, pues sólo
requieren de una red IP. Algunos clientes (como las PC del hogar) utilizan
conexiones de marcación a Internet para establecer transporte IP; esto es un
paso preliminar en la preparación para la creación de un túnel, y no es parte del
protocolo del túnel mismo. En la figura 2.8 de la página 35 se puede apreciar
un escenario típico correspondiente a un túnel voluntario.
Túneles Obligatorios
Diversos proveedores que venden servidores de acceso de marcación han
implementado la capacidad para crear un túnel en nombre del cliente de marcación. La computadora o el dispositivo de red que proporciona el túnel para
la computadora del cliente es conocida de varias maneras: Procesador frontal
(FEP) en PPTP, un Concentrador de acceso a L2TP (LAC) en L2TP o un
gateway de seguridad IP en el IPSec. En este apartado, el término FEP se
utilizará para describir esta funcionalidad, sin importar el protocolo de túnel.
2.2. TUNELAMIENTO
35
Figura 2.8: Túneles Voluntarios.
Para realizar esta función, el FEP deberá tener instalado el protocolo
apropiado de túnel y ser capaz de establecer el túnel cuando se conecte la
computadora cliente.
En el ejemplo de Internet, la computadora cliente coloca una llamada de
marcación al NAS activado por los túneles en el ISP; puede darse el caso de
que una empresa haya contratado un ISP para instalar un conjunto nacional
de FEP.
Esta configuración se conoce como “túnel obligatorio” debido a que el
cliente está obligado a utilizar el túnel creado por FEP Cuando se realiza
la conexión inicial, todo el tráfico de la red de y hacia el cliente se envía
automáticamente a través del túnel.
En los túneles obligatorios, la computadora cliente realiza una conexión
única PPP, y cuando un cliente marca en el NAS se crea un túnel y todo el
tráfico se enruta de manera automática a través de éste. Es posible configurar un FEP para hacer un túnel a todos los clientes de marcación hacia un
servidor específico del túnel. De manera alterna, el FEP podría hacer túneles
individuales de los clientes basados en el nombre o destino del usuario (ver
figura 2.9 de la página 36).
A diferencia de los túneles por separado creados para cada cliente voluntario, un túnel entre el FEP y servidor del túnel puede estar compartido entre
varios clientes de marcación. Cuando un segundo cliente marca al servidor de
acceso (FEP) para alcanzar un destino para el cual ya existe un túnel, no hay
necesidad de crear una nueva instancia del túnel entre el FEP y el servidor
36
CAPÍTULO 2. TUNELAMIENTO VPN
Figura 2.9: Túneles Obligatorios.
del túnel. El tráfico de datos para el nuevo cliente se transporta sobre el túnel
existente. Ya que puede haber varios clientes en un túnel único, el túnel no se
termina hasta que se desconecta el último usuario del túnel.
Modelos de Entunelamiento
En las VPN los sitios de terminación (terminadores) de los túneles son
aquellos donde se toman las decisiones de autenticación y las políticas de
control de acceso y donde los servicios de seguridad son negociados y otorgados.
En la práctica hay tres tipos posibles de servicios de seguridad que dependen de
la ubicación de los terminadores. El primer caso es aquel donde el terminador
está en el host mismo, donde los datos se originan y terminan.
En el segundo caso el terminador está en el gateway de la LAN corporativa
donde todo el tráfico converge en un solo enlace. El tercer caso es aquel donde
el terminador está localizado fuera de la red corporativa, es decir en un Punto
de Presencia (POP) del ISP.
Dado que un túnel VPN se compone de dos terminadores, se pueden obtener seis tipos de modelos de seguridad derivados de la posible combinación de
las diferentes localizaciones: End-to-End, End-to-LAN, End-to-POP, LAN-toLAN, LAN-to-POP y POP-to-POP, en la figura de la página se pueden notar
cada uno de estas combinaciones (ver figura 2.10 de la página 37).
En el modelo End-to-End el túnel va desde un extremo hasta el otro del
sistema. Por lo tanto, los servicios de seguridad son negociados y obtenidos
en la fuente y en el destino de la comunicación. Este escenario presenta el
más alto nivel de seguridad dado que los datos siempre están seguros en todos
los segmentos de la red, bien sea pública o privada. Sin embargo, el total de
2.2. TUNELAMIENTO
37
Figura 2.10: Modelos de Entunelamiento.
túneles que pueden haber en una empresa grande, dificulta el manejo de los
servicios de seguridad requeridos por dichos host. Este modelo de seguridad es
comúnmente visto en implementaciones de capas superiores, como es el caso
de SSL (Secure Sockets Layer).
En el modelo End-to-LAN, el túnel comienza en un host y termina en
el perímetro de una LAN en la cual reside el host destino. Un dispositivo
VPN localizado en el perímetro de la red es el responsable de la negociación y
obtención de los servicios de seguridad de los host remotos. De esta manera,
la seguridad de un gran número de dispositivos en una red corporativa puede
ser manejada en un único punto, facilitando así la escalabilidad del mismo.
El modelo de entunelamiento End-to-POP es aquel en el cual un host
remoto termina el túnel en un POP de la ISP. Un dispositivo VPN o un equipo
con funciones de terminador VPN y que se encuentra en la red de la ISP es
el responsable por la negociación y concesión de los servicios de seguridad.
La entrega de los datos desde el POP hasta el host destino es por lo general
asegurada con infraestructura física, la cual separa el tráfico del resto de la red
pública. Por lo general en este caso el ISP administra los permisos y controla
el acceso según las directivas de los administradores de red de las empresas
clientes. La arquitectura de acceso remoto VPN también usa este modelo.
En el modelo LAN-to-LAN ambos hosts usan dispositivos VPNs situa-
38
CAPÍTULO 2. TUNELAMIENTO VPN
dos en la frontera de la red corporativa para negociar y conceder servicios de
seguridad. De esta manera, las funciones de seguridad no necesitan ser implementadas en los hosts finales donde los datos son generados y recibidos. La
implementación de los servicios de seguridad es completamente transparente
para los hosts. Esta implementación reduce drásticamente la complejidad en
el manejo de las políticas de seguridad. La arquitectura Intranet VPN encaja
en este modelo.
En el caso de LAN-to-POP el túnel comienza en un dispositivo VPN localizado en la frontera de la red corporativa y termina en un dispositivo VPN
el cual se encuentra en un POP de la ISP. En la actualidad prácticamente este
entunelamiento no es aplicado.
Finalmente, en el modelo POP-to-POP ambos dispositivos VPN son localizados en la propia red de la ISP. Por lo tanto los servicios de seguridad son
completamente transparentes para los usuarios finales del túnel. Este modelo permite a los proveedores de servicio implementar valores agregados a los
clientes sin que éstos alteren la infraestructura de sus redes. Una tecnología
acorde para este modelo es MPLS.
De los seis modelos anteriores el End-to-LAN y el LAN-to-LAN son los
más extensamente usados en las soluciones VPN. Sin embargo, el POP-toPOP o modelo de seguridad basado en red, ha cobrado vigencia últimamente
dado que permite a las ISPs implementar servicios de valores agregados para
sus clientes [3].
Capítulo 3
Protocolos VPN
3.1.
PPTP - Protocolo de Túnel Punto a Punto
Es quizá el protocolo más sencillo de entunelamiento de paquetes. Es usado,
en general, por pequeñas empresas para realizar sus VPNs LAN-to-LAN, y en
topologías de acceso remoto, para trabajadores teleconmutados (teleworkers),
tales como vendedores externos o trabajadores que se mantienen en constante
movimiento por fuera de sus oficinas.
El protocolo PPTP fue propuesto por el Foro PPTP (PPTP Forum), compuesto por 3Com, Ascend (ahora Lucent), Microsoft, ECI Telematics y USRobotics.
Debido a la integración que hizo Microsoft en sus sistemas operativos,
PPTP tuvo gran acogida en el mercado mundial, a tal punto que un protocolo
de capa 2 lanzado por Cisco Systems al mismo tiempo, prácticamente no se
conoció, L2F (Layer-2- Forwarding).
El protocolo más comúnmente usado para acceso conmutado a Internet es
el protocolo punto-a-punto (PPP). PPTP se soporta sobre toda la funcionalidad que PPP le brinda a un acceso conmutado para construir sus túneles a
través de Internet. PPTP encapsula paquetes PPP usando una versión modificada del Protocolo de Encapsulamiento Ruteado Genérico (GRE - Generic
Routing Encapsulation). Dado lo anterior, PPTP no sólo es capaz de encapsular paquetes IP, sino IPX y NETBEUI, los protocolos de red local más usados.
PPTP utiliza los mecanismos de autenticación que generalmente están asociados a PPP tales como PAP y CHAP, una versión mejorada de CHAP llamada MS-CHAP y desarrollada por Microsoft se encuentra en sus sistemas
operativos Windows NT, 2000 y XP. Otra mejora que le ha hecho Microsoft al
39
40
CAPÍTULO 3. PROTOCOLOS VPN
protocolo PPTP es la incorporación del método de cifrado MPPE (Microsoft
Point-to-Point Encription).
Una de las ventajas que tiene PPTP por ser un protocolo de nivel 2, es
que puede transmitir protocolos diferentes a IP en sus túneles, a diferencia de
IPSec que se restringe a trabajar sólamente con paquetes IP.
3.1.1.
Relación Entre PPP Y PPTP
PPP es el protocolo más comúnmente usado para acceso a Internet, prácticamente el único, además es usado en algunos enlaces seriales punto a punto
WAN. PPP trabaja en la capa 2 del modelo OSI, e incluye métodos para
encapsular varios tipos de datagramas para ser transferidos sobre enlaces seriales, entre ellos IP, IPX y NETBEUI. El protocolo PPTP depende de PPP
para crear la conexión conmutada entre el cliente y el servidor de acceso a la
red. PPTP confía las siguientes funciones a PPP:
Establecimiento y finalización de la conexión física.
Autenticación de los usuarios.
Creación de datagramas PPP.
Luego que el enlace PPP es creado, el protocolo PPTP define dos diferentes
tipos de paquetes: paquetes de control y paquetes de datos, cada uno de los
cuales es asignado a diferentes canales lógicos. PPTP separa los canales de
control y de datos usando un flujo de control que corre sobre TCP y un flujo
de datos que está encapsulado con cabeceras IP usando GRE. La conexión
TCP es creada entre el cliente y el servidor PPTP. Esta conexión es usada
para intercambiar mensajes de control.
Los paquetes de datos contienen los datos del usuario, es decir, los datagramas del protocolo de capa de red usado. Los paquetes de control (control del
enlace) son enviados periódicamente para indagar sobre el estado del enlace y
las señales de manejo entre el cliente y el servidor PPTP. Los paquetes de control también se usan para enviar información de manejo básica del dispositivo
y de configuración. Los mensajes de control establecen, mantienen y finalizan
un túnel PPTP.
Después de que el túnel PPTP se ha establecido, los datos del usuario son
transmitidos entre el cliente y el servidor PPTP. Estos datos son transmitidos
en datagramas IP contenidos dentro de los paquetes PPP.
3.1. PPTP - PROTOCOLO DE TÚNEL PUNTO A PUNTO
41
Los datagramas IP son creados usando una versión modificada del protocolo GRE (Generic Routing Encapsulation); esta modificación consiste en incluir
un identificador de los host que puede ser usado para controlar los privilegios
de acceso y la capacidad de reconocimiento, la cual es usada para monitorear
la velocidad de transferencia a la cual los paquetes están transmitiéndose en
el túnel.
La cabecera GRE es usada para encapsular el paquete PPP dentro del
datagrama IP. La información útil del paquete (payload) es esencialmente el
paquete PPP original enviado por el cliente. Dado que PPTP opera con un
protocolo de capa 2, debe incluir una cabecera que depende del medio en el cual
el túnel está transmitiendo, esta puede ser Ethernet, Frame Relay o PPP. La
figura 3.1 de la página 41 muestra la estructura en los diferentes sitios de un
túnel de un paquete IP usando encapsulación PPTP desde el sistema cliente
hasta la LAN corporativa.
Figura 3.1: Estructura de un Túnel PPTP.
3.1.2.
Componentes de una VPN PPTP
Servidores PPTP
Un servidor PPTP tiene dos funciones básicas, la primera es actuar como
el punto final del túnel PPTP y la segunda es reenviar los paquetes a y desde
el computador en la red privada. Para reenviar los paquetes al computador
destino, el servidor desencapsula el paquete PPTP obteniendo el nombre del
computador o la dirección IP privada que se encuentra dentro de este. Una de
42
CAPÍTULO 3. PROTOCOLOS VPN
las características de los servidores PPTP es la de poder filtrar únicamente el
tráfico PPTP dependiendo de si esta condición aparece o no en el perfil del
usuario, de esta manera, se puede restringir a un usuario para que se conecte
a la red local o se conecte a Internet. Por lo general los servidores PPTP
están en las premisas de la red corporativa, en algunos casos el servidor PPTP
está ubicado dentro de la red privada y está protegido por el firewall (zona
militarizada). Cuando esto ocurre, es necesario abrir el puerto TCP 1723, o si
el firewall permite filtrar no por puerto sino por protocolo, se deberá permitir
el protocolo GRE (puerto 47).
Software Cliente PPTP
Como se dijo anteriormente, si el NAS del ISP soporta PPTP no se necesita
ningún software o hardware adicional en el extremo final del cliente, solamente
que éste pueda establecer una conexión PPP. Por otro lado, si el ISP no soporta
PPTP, el cliente deberá utilizar un software cliente PPTP en su computador
para poder crear el túnel. La mayoría de los sistemas operativos cuentas con
un cliente PPTP nativo.
Servidores de Acceso a la Red
Los servidores de acceso a la red también llamados servidores de acceso
remoto o concentradores de acceso, son los encargados de soportar las conexiones PPP de una gran cantidad de clientes que se conectan a este por medio de
enlaces telefónicos conmutados. Sus funciones van desde el establecimiento de
la conexión física (modulación, demodulación, compresión de datos, corrección
de errores, etc.) hasta labores de enrutamiento presentes en la capa 3 del modelo OSI. Dentro de un túnel PPTP se pueden encontrar NAS actuando como
clientes PPTP o simplemente como un concentrador de acceso PPP. PPTP
permite que las funciones realizadas por un servidor de acceso a la red (NAS)
sean separadas usando una arquitectura cliente-servidor.
Comúnmente, las siguientes funciones son implementadas por un NAS:
1. Brindar una interfaz física entre la red telefónica pública conmutada y los
módems. Esto incluye conversiones A/D y D/A, conversiones síncronas
a asíncronas y manipulaciones de flujos de datos.
2. Terminación lógica de enlaces PPP.
3. Autenticación de enlaces PPP.
3.1. PPTP - PROTOCOLO DE TÚNEL PUNTO A PUNTO
43
4. Sumarización de canales (protocolo multilink PPP).
5. Terminación lógica de protocolos de control de red (NCP).
6. Enrutamiento multiprotocolo y bridging.
PPTP divide estas funciones entre los dos componentes que se definen en
el protocolo, a saber PAC y PNS. El PAC o concetrador de acceso PPTP es
el responsable de las funciones 1, 2 y algunas veces 3. El PNS o servidor de
red PPTP, es el responsable de las funciones 3, 4, 5 y 6.
El protocolo PPTPes única y exclusivamente implementado entre el PAC
y el PNS. Un PAC puede atender muchos PNSs. Un único PNS puede ser
asociado a muchos PACs [4].
3.1.3.
Estructura del Protocolo
PPTP define una conexión de control entre cada pareja PAC-PNS la cual
opera sobre TCP; y un túnel IP operando sobre la misma pareja PAC-PNS el
cual es usado para transportar paquetes PPP con encapsulamiento GRE.
3.1.4.
Conexión de Control
Antes que el entunelamiento PPP ocurra entre un PAC y un PNS, una
conexión de control debe ser establecida entre ellos. La conexión de control es
una sesión TCP que mantiene control sobre la llamada e intercambia mensajes
de información. Por cada pareja PAC-PNS debe existir una conexión de control
y un túnel. La conexión de control es la responsable por el establecimiento, el
manejo y la liberación de las sesiones que existen en el túnel, esto lo realiza
atraves del puerto 1723.
3.1.5.
Operación del Túnel
PPTP necesita el establecimiento de un túnel por cada pareja PNS-PAC.
Este túnel se utiliza para transportar todos los paquetes PPP de las diferentes
sesiones involucradas en la pareja PNS-PAC. Una clave que se encuentra presente en la cabecera GRE indica qué paquetes PPP pertenecen a qué sesión.
De ésta manera, los paquetes PPP son multiplexados y desmultiplexados sobre
un único túnel existente entre una pareja PNS-PAC. El valor del campo Clave
es definido dentro del proceso de establecimiento de la llamada.
44
CAPÍTULO 3. PROTOCOLOS VPN
La cabecera GRE también contiene información de reconocimiento y de
secuencialización con la cual se realiza control de congestión y detección de
errores en el túnel.
Los datos del usuario transportados por el protocolo PPTP son esencialmente paquetes de datos PPP. Los paquetes PPP son transportados entre el
PAC y el PNS, encapsulados en paquetes GRE los cuales a su vez son transportados sobre IP. Los paquetes encapsulados PPP son esencialmente paquetes
de datos PPP sin ningún elemento de tramado de medio específico. Los paquetes IP transmitidos sobre los túneles entre un PAC y un PNS tienen la
estructura general que se muestra en la figura 3.2 de la página 44.
Figura 3.2: Formato del Paquete IP.
3.1.6.
Cabecera Mejorada GRE
La cabecera GRE usada por PPTP es una versión ligeramente mejorada
de la especificación estándar del protocolo GRE. La principal diferencia es
la definición de un nuevo campo de reconocimiento de número (acknowledgment number ), usado para determinar si un paquete particular GRE o un
conjunto de paquetes ha arribado al lado remoto del túnel. Esta capacidad de
reconocimiento no es usada en conjunto con ningún tipo de retransmisión, en
vez de eso, se usa para determinar la velocidad de transferencia a la cual los
paquetes de datos del usuario son transmitidos sobre el túnel.
3.1.7.
Cifrado en PPTP
La trama PPP se cifra con el cifrado punto a punto de Microsoft (MPPE,
Microsoft Point-to-Point Encryption) mediante claves de cifrado generadas
en los procesos de autenticación MS-CHAP, MS-CHAP v2 o EAP-TLS. Los
clientes de red privada virtual deben utilizar el protocolo de autenticación MSCHAP, MS-CHAP v2 o EAP-TLS para poder cifrar las cargas de las tramas
PPP. PPTP aprovecha el cifrado PPP subyacente y encapsula una trama
PPP cifrada anteriormente.Una llave de encriptación es generada usando una
mínima parte del password situados en cliente y server. El RSA RC4 standard
3.2. L2TP - PROTOCOLO DE TÚNEL DE CAPA 2
45
es usado para crear estos 40 bits (128 dentro de EEUU y Canada) de llave
de sesión basada en el password de un cliente. Esta llave es después usada
para encriptar y desencriptar todos los datos intercambiados entre el server
PPTP y el cliente. Los datos en los paquetes PPP son encriptados. El paquete
PPP que contiene un bloque de datos encriptados es después metido en un
datagrama IP para su enrutamiento.
3.1.8.
Filtrado de Paquetes PPTP
Esta opción incrementa el rendimiento y fiabilidad de la seguridad de red
si esta activada en el servidor PPTP. Cuando esta activa acepta y enjuta solo
los paquetes PPTP de los usuarios autorizados. Esto prevé el resto de paquetes
entren el red privada y en el servidor de PPTP.
3.1.9.
Control de Acceso a los Recursos de la Red
Después de la autenticación, todo el acceso a la LAN privada continúa
usando las estructuras de seguridad de la misma LAN. El acceso a recursos en
devices NTFS o otros recursos de la red requieren los permisos correctos de
cada usuario, tal como si estuvieses conectado físicamente dentro de la LAN.
La existencia de un Controlador de Dominio por ejemplo, tiene validez en esta
configuración.
3.2.
L2TP - Protocolo de Túnel de Capa 2
L2TP [5] fue creado como el sucesor de PPTP y L2F. Las dos compañías
abanderadas de cada uno de estos protocolos, Microsoft por PPTP y Cisco por
L2F, acordaron trabajar en conjunto para la creación de un único protocolo
de capa 2 y así lograr su estandarización por parte de la IETF.
Como PPTP, L2F fue diseñado como un protocolo de entunelamiento usando para ello encapsulamiento de cabeceras. Una de las grandes diferencias entre PPTP y L2F, es que el entunelamiento de éste último no depende de IP
y GRE, permitiéndole trabajar con otros medios físicos por ejemplo Frame
Relay. Paralelamente al diseño de PPTP, L2F utilizó PPP para autenticación
de usuarios accesando vía telefónica conmutada, pero también incluyó soporte
para TACKCS+ y RADIUS.
Otra gran diferencia de L2F con respecto a PPTP es que permite que un
único túnel soporte más de una conexión. Hay dos niveles de autenticación
46
CAPÍTULO 3. PROTOCOLOS VPN
del usuario: primero, por la ISP antes de crear el túnel; segundo, cuando la
conexión está configurada y la autenticación la realiza el gateway corporativo.
Todas las anteriores características de L2F han sido transportadas a L2TP.
Como PPTP, L2TP utiliza la funcionalidad de PPP para proveer acceso conmutado que puede ser tunelizado a través de Internet a un sitio destino. Sin
embargo, como se ha mencionado anteriormente, L2TP define su propio protocolo de entunelamiento basado en L2F permitiendo transporte sobre una
amplia variedad de medios de empaquetamiento tales como X.25, Frame Relay y ATM.
Dado que L2TP es un protocolo de capa 2, ofrece a los usuarios la misma
flexibilidad de PPTP de soportar otros protocolos aparte de IP, tales como
IPX y NETBEUI.
Microsoft incluye L2TP a partir del sistema operativo Windows 2000, ya
que las mejoras de L2TP con respecto a PPTP saltan a la vista.
3.2.1.
Componenetes Básicos de un Túnel L2TP
Concentrador de acceso L2TP (LAC): es un nodo que se encuentra
en un punto extremo de un túnel L2TP. El LAC se encuentra entre un LNS
y un sistema remoto y reenvía los paquetes a y desde cada uno. Los paquetes
enviados desde el LAC hasta el LNS van tunelizados. En algunas ocasiones el
sistema remoto actúa como un LAC, esto se presenta cuando se cuenta con un
software cliente LAC.
Servidor de Red L2TP (LNS): es un nodo que se encuentra en un
punto extremo de un túnel L2TP y que interactúa con el LAC, o punto final
opuesto. El LNS es el punto lógico de terminación de una sesión PPP que está
siendo tunelizada desde un sistema remoto por el LAC.
Túnel: un Túnel existe entre una pareja LAC-LNS. El túnel consiste de
una conexión de control y de ninguna o más sesiones L2TP. El túnel transporta
datagramas PPP encapsulados y mensajes de control entre el LAC y el LNS.
3.2.2.
Topología de L2TP
La figura 3.3 de la página 47 describe un escenario típico L2TP. El objetivo
es tunelizar tramas PPP entre un sistema remoto o un cliente LAC y un LNS
localizado en la LAN corporativa.
El sistema remoto inicia una conexión PPP a través de la red de telefonía
pública conmutada a un LAC. El LAC luego tuneliza la conexión PPP a través
3.2. L2TP - PROTOCOLO DE TÚNEL DE CAPA 2
47
Figura 3.3: Escenario Típico L2TP.
de Internet o una nube Frame Relay o ATM a un LNS por donde accesa a
la LAN remota corporativa. La dirección del sistema remoto es dada desde la
LAN corporativa por medio de una negociación PPP NCP. La autenticación,
autorización y acounting puede ser provista por el dominio de la red corporativa remota como si el usuario estuviera conectado a un servidor de acceso de
la red directamente. Este escenario pertenece a una Sesión Obligatoria L2TP.
En una Sesión Voluntaria, un cliente LAC (un host que corre L2TP nativo)
puede también crear un túnel hasta la LAN corporativa sin usar un LAC
externo. En este caso, el host tiene un software cliente LAC y previamente ha
estado conectado a la red pública, tal como Internet. Una conexión PPP virtual
es luego creada y el software cliente LAC hace un túnel hasta el cliente LNS.
Como en el caso anterior, el direccionamiento, la autenticación, la autorización
y el acounting pueden ser provistos por el dominio de la LAN corporativa
remota.
3.2.3.
Estructura del Protocolo L2TP
L2TP utiliza dos tipos de mensajes, los mensajes de control y los mensajes
de datos. Los mensajes de control son usados en el establecimiento, mantenimiento y finalización de túneles y llamadas. Los mensajes de datos son usados
para encapsular tramas PPP que está siendo transportadas sobre el túnel. Los
mensajes de control utilizan un canal de control confiable con el cual L2TP
garantiza la entrega. Los mensajes de datos no son retransmitidos cuando
ocurren pérdidas de paquetes.
La figura 3.4 de la página 48 muestra la relación de las tramas PPP y los
mensajes de control con los canales de datos y control L2TP respectivamente.
Las tramas PPP son transportadas sobre un canal de datos no confiable y son
encapsuladas primero por una cabecera L2TP y luego por una cabecera de
transporte de paquetes que pueden ser UDP, Frame Relay o ATM.
48
CAPÍTULO 3. PROTOCOLOS VPN
Los mensajes de control son enviados sobre un canal de control L2TP
confiable, el cual transmite paquetes en banda sobre el mismo transporte de
paquetes. Para esto se requiere que números de secuencia estén presentes en
todos los mensajes de control. Los mensajes de datos pueden usar esos números
de secuencia para reordenar paquetes y detectar pérdidas de los mismos.
Figura 3.4: Relación Entre Tramas PPP y Mensajes L2TP.
3.2.4.
Formato de una Cabecera L2TP
Los paquetes L2TP para el canal de control y el canal de datos comparten
un formato de cabecera en común, la figura 3.5 de la página 48 muestra el
formato dicha cabecera L2TP:
Figura 3.5: Formato de Cabecera L2TP.
T: Message Type. 1 bit. Especifica si es un mensaje de control (0) o
datos (1).
3.2. L2TP - PROTOCOLO DE TÚNEL DE CAPA 2
49
L: Used Length. 1 bit. Mensajes de Control deben tener configurado este
bit.
S: Used Sequence. 1 bit. Si está configurado, los campos Ns y Nr también
deben estar configurados. Los mensajes de Control deben tener configurado este bit.
O: Used Offset. 1 bit. Los mensajes de Control deben tener configurado
este bit.
P: Priority. 1 bit. Este debe recibir tratamiento especial en la cola local.
Version: 4 bits. Indica la versión del protocolo L2TP. Debe ser configurado a 2, el valor 1 es reservado para detección L2F .
Length: 16 bits. Opcional. El tamaño total del mensaje, este campo
existe si L esta configurado.
Tunnel ID: 16 bits. Indica el identificador de control de la conexión, los
túneles son nombrados por identificadores locales.
Session ID: 16 bits. Indica el identificador de la sesión dentro de un
túnel.
Ns: Sequence Number. 16 bits. Optional. Indica el número de secuencia
para el mensaje de control o los datos actuales.
Nr: Sequence Number Expected. 16 bits. Optional. Indica el número de
secuencia esperado en el siguiente mensaje de control a ser recibido.
Offset Size: 16 bits. Optional. Especifica el número de bytes donde la
cabecera finaliza y comienzan los datos.
Offset Pad: Relleno.
Los componentes de mayor importancia son aquellos que definen el punto
final de un túnel basado en este protocolo, entre los cuales se encuentra el concentrador de acceso L2TP (LAC) como parte del equipamiento del ISP, y el
servidor de red L2TP (LNS). En el caso de los ISPs además del hardware implementado en el mismo se tiene en cuenta el software necesario requerido que
puede ser reducido para el enlace de los clientes móviles, los cuales necesitaran
negociar en la primera fase de autentificación de usuarios. Por otro lado, el
LNS deberá ser atendido y mantenido por el personal de la empresa, mientras
que estas actividades son responsabilidad del ISP con relación al LAC.
50
CAPÍTULO 3. PROTOCOLOS VPN
3.2.5.
Autenticación en L2TP
La autentificación de un usuario ocurre en 3 fases en L2TP. En la primera
fase, el ISP puede usar el número de teléfono de la llamada recibida, el número
llamado o el nombre del usuario determinado que el servicio de L2TP requiere
y entonces iniciar un túnel de conexión al servidor de red apropiado. Cuando
un túnel está establecido, el Concentrador de Acceso (LAC) del ISP asigna
un nuevo ID de llamada para identificar la conexión con el túnel e inicia una
sesión para devolver la información autentificada. El servidor de red corporativa emprende la segunda fase de autentificación para decidir si acepta o no
la llamada. La llamada comienza indicando al ISP el método de autenticación o la información de autentificación de otros. El servidor de red usará esta
información para decidir si acepta o rechaza la llamada.
Después que la llamada ha sido aceptada, el servidor de red puede iniciar
la tercera fase de autentificación a la capa de PPP, la cual aporta una amplia
gama de opciones, incluidos CHAP, MS-CHAP, MS-CHAPv2 y el Protocolo de autenticación extensible EAP (Extensible Authentication Protocol), que
admite mecanismos de autenticación de tarjetas token y tarjetas inteligentes.
A través de estas 3 fases de autentificación L2TP garantiza que el usuario
final, el ISP y el servidor de red están conectados con quien dicen ser.
3.2.6.
Procesos de una Comunicación L2TP
1. Conexión y comunicación PPP: el cliente remoto usa el protocolo
PPP para establecer la conexión con un IPS, la cual constituye la primer
fase de autenticación L2TP.
2. Conexión de control L2TP (establecimiento del túnel): es la conexión inicial que hay que establecer entre el LAC y el LNS antes de que
se puedan establecer sesiones. El establecimiento de la conexión de control incluye la autenticación de la entidad par por el LNS y la negociación
de las facilidades soportadas.
3. Establecimiento de la sesión: una vez establecido el túnel entre el
LAC y el LNS se establece una sesión dentro del túnel por cada conexión
PPP existente entre LAC y LNS. Cada sesión se corresponde a un flujo de
tramas PPP entre el LAC y el LNS. El LAC solicita al LNS que acepte
una sesión para una llamada entrante y el LNS solicita al LAC que
acepte una sesión para una llamada saliente. Seguidamente se completa
el proceso de autenticación PPP entre el usuario remoto y el LNS. A
3.2. L2TP - PROTOCOLO DE TÚNEL DE CAPA 2
51
continuación se inicia el envío de paquetes NCP para elegir y configurar
uno o más protocolos de red:
Ej.: IPCP para indicar que el protocolo de red es IP.
Ej.: ECP para encriptar las tramas de la conexión PPP entre el usuario
remoto y el LNS.
4 Envío de datos de usuario: el usuario puede empezar el envío de
datos a través del túnel. Estos datos van cifrados.
5 Descifrado de los datos por el LNS: el LNS recibe los datos, los
descifra y los entrega a la red corporativa. Si el LNS envía información
al usuario también la cifra antes de enviarla a través del túnel.
3.2.7.
Comparativa Entre PPTP y L2TP
Con PPTP, el cifrado de datos comienza después de que la conexión se
procese (y, por supuesto, después de la autentificación PPP). Con L2TP,
el cifrado empieza antes de la conexión PPP negociando una asociación
de seguridad IPSec.
Las conexiones PPTP usan MPPE, un método de cifrado basado en el
algoritmo de encriptación Rivest-Shamir-Aldeman (RSA) RC-4, y usa
llaves de 40, 56 o 128 bits. Las conexiones L2TP usan Data Encryption
Standard (DES), con llaves de 56 bits para DES o tres llaves de 56 bits
para 3-DES. Los datos se cifran en bloques (bloques de 64 bits para el
caso de DES).
Las conexiones PPTP requieren sólo autentificación a nivel de usuario a
través de un protocolo de autentificación basado en PPP. Las conexiones
L2TP / IPSec requieren el mismo nivel de autentificación a nivel de
usuario y, además nivel de autentificación de máquina usando certificados
digitales.
PPTP requiere que el tránsito entre - redes sea una Internetwork IP.
L2TP únicamente requiere que los medios de túnel proporcionen conectividad de punto a punto orientada al paquete. L2TP puede ejecutarse
sobre IP (usando UDP), Frame Relay, X.25, ATM.
PPTP sólo puede soportar un túnel entre dos puntos extremos. L2TP
permite el uso de túneles múltiples entre puntos extremos.
52
CAPÍTULO 3. PROTOCOLOS VPN
L2TP proporciona autenticación de túnel, mientras que PPTP no lo
hace, sin embargo, cuando ya sea que PPTP o L2TP se ejecute sobre
IPSec, la autenticación de túnel es proporcionada por IPSec para que no
sea necesaria la autenticación de túnel nivel 2.
3.2.8.
Problemas de L2TP
A pesar de que L2TP ofrece un acceso económico, con soporte multiprotocolo y acceso a redes de área local remotas, no presenta unas características
criptográficas especialmente robustas. Por ejemplo:
Sólo se realiza la operación de autenticación entre los puntos finales del
túnel, pero no para cada uno de los paquetes que viajan por él. Esto
puede dar lugar a suplantaciones de identidad en algún punto interior al
túnel.
Sin comprobación de la integridad de cada paquete, sería posible realizar
un ataque de denegación del servicio por medio de mensajes falsos de
control que den por acabado el túnel L2TP o la conexión PPP subyacente.
L2TP no cifra en principio el tráfico de datos de usuario, lo cual puede
dar problemas cuando sea importante mantener la confidencialidad de
los datos.
A pesar de que la información contenida en los paquetes PPP puede
ser cifrada, este protocolo no dispone de mecanismos para generación
automática de claves, o refresco automático de claves. Esto puede hacer
que alguien que escuche en la red y descubra una única clave tenga acceso
a todos los datos transmitidos [5].
3.3.
IPSec (Internet Protocol Security )
El estandar reconocido para conexiones VPN
En IPv4 no se desarrollaron mecanismos de seguridad inherentes al protocolo, por tanto, protocolos y procedimientos adicionales a IPv4 fueron necesarios para brindar servicios de seguridad a los datos. IPSec [6] es un conjunto
de protocolos diseñados para proveer una seguridad basada en criptografía
robusta para IPv4 e IPv6, de hecho IPSec está incluido en IPv6.
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
53
Entre los servicios de seguridad definidos en IPSec se encuentran, control
de acceso, integridad de datos, autenticación del origen de los datos, protección
antirepetición y confidencialidad en los datos. Entre las ventajas de IPSec están
la modularidad del protocolo, ya que no depende de un algoritmo criptográfico
específico.
3.3.1.
Componentes de IPSec
IPSecestá compuesto por tres componentes básicos: los Protocolos de Seguridad (AH y ESP), las Asociaciones de Seguridad (SAs) y las Bases de
Datos de Seguridad; cada uno de los cuales, trabaja de la mano con los demás
y ninguno le resta importancia al otro.
Protocolos de Seguridad
IPSec es un conjunto de protocolos que provee varios servicios de seguridad.
Esos servicios de seguridad trabajan gracias a dos protocolos, el Authentication
Header (AH) [4] y el Encapsulating Security Payload (ESP) [7], y también al
uso de protocolos y procedimientos para el manejo de llaves criptográficas tales
como IKE (Internet Key Exchange Protocol ) [8].
El éxito de una IKE es un protocolo que permite a dos entidades IPSec
negociar dinámicamente sus servicios de seguridad y sus llaves de cifrado al
igual que la autenticación de la sesión misma implementación IPSec depende
en gran medida de una adecuada escogencia del protocolo de seguridad y de
la forma como se intercambian las llaves criptográficas.
AH es un protocolo que añade una nueva cabecera justo después de la
cabecera IP original. AH provee autenticación del origen de los datos e integridad de los mismos, también provee integridad parcial para prevenir ataques
de repetición. Este protocolo es apropiado cuando se requiere autenticación en
vez de confidencialidad.
ESP provee confidencialidad para el tráfico IP, al igual que autenticación
tal cual como lo hace AH, pero sólo uno de estos servicios puede ser proporcionado por ESP al mismo tiempo.
Asociaciones de Seguridad (SAs)
Una SA define las medidas de seguridad que deberían ser aplicadas a los
paquetes IP basados en quién los envía, hacia dónde van y qué tipo de carga
útil ellos transportan. El conjunto de servicios de seguridad ofrecidos por una
54
CAPÍTULO 3. PROTOCOLOS VPN
SA dependen de los protocolos de seguridad y del modo en el cual ellos operan
definidos por la SA misma.
La figura 3.6 de la página 54 muestra los dos modos en los cuales un
protocolo de seguridad puede operar: transporte y túnel; la diferencia radica
en la manera como cada uno de ellos altera el paquete IP original.
El modo de transporte es diseñado para proteger los protocolos de capas
superiores tales como TCP y UDP.
En modo túnel, el paquete IP original se convierte en la carga útil de un
nuevo paquete IP. Esto le permite al paquete IP inicial, ocultar su cabecera
IP para que sea encriptada, considerando que el paquete IP externo sirve de
guía a los datos a través de la red.
Las SAs pueden ser negociadas entre dos entidades IPSec dinámicamente,
para lo cual se basan en políticas de seguridad dadas por el administrador del
sistema o estáticamente especificadas por el administrador directamente.
Figura 3.6: Formato de Trama IPSec en Modo Transporte y Túnel.
Una SA es únicamente identificada por tres parámetros: una dirección IP de
destino, un identificador del protocolo de seguridad y un índice del parámetro
de seguridad (SPI). La dirección IP de destino es aquella por la cual se identifica el punto final de la SA, el SPI es un número de 32 bits usualmente escogido
por el punto final de destino de la SA y que sólo tiene significado local dentro
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
55
de ese punto destino. El identificador del protocolo de seguridad es un número
con el cual se define cada uno de ellos, 51 para AH o 50 para ESP.
Como se nota, la dirección IP del origen no se usa para definir una SA,
esto dado que una SA se define entre dos hosts o gateways para datos enviados
en una sola dirección, de aquí que, si dos dispositivos necesitan intercambiar
información en ambas direcciones usando IPSec, requerirán de dos SAs, una
para cada sentido.
En modo de transporte, la cabecera IP original se mantiene intacta y una
cabecera de seguridad es colocada entre la cabecera IP misma y su carga útil.
La cabecera IP original es modificada para que el receptor del paquete entienda
que antes de la carga útil se encuentra una cabecera de seguridad. En modo
túnel, el paquete IP original se convierte en la carga útil de un paquete IP
encapsulado. La cabecera IP nueva le indica al receptor del paquete que una
cabecera de seguridad se encuentra a continuación de ella.
3.3.2.
Bases de Datos de Seguridad
IPSec trabaja con dos bases de datos de seguridad, en una se encuentran las
políticas de seguridad y en la otra las asociaciones de seguridad, SPD (Security
Policy Database) y SAD (Security Association Database) respectivamente. El
administrador de políticas define un conjunto de servicios de seguridad para
ser aplicados al tráfico IP tanto entrante como saliente. Esas políticas son
guardadas en las SPDs y son usadas por las SAs cuando éstas se crean. Todas
las SAs son registradas en la SAD.
Bases de Datos de Asociaciones de Seguridad (SAD)
La base de datos de asociaciones de seguridad almacena todos los parámetros concernientes a las SA’s, cada una de ellas tiene una entrada en la SAD
donde se especifican todos los parámetros necesarios para que IPSec realice
el procesamiento de paquetes IP que son gobernados por esa SA. Entre los
parámetros que se encuentran en una SAD se tienen:
El índice de parámetro de seguridad.
El protocolo a ser usado por la SA (ESP o AH).
El modo en el cual el protocolo es operado (túnel o transporte).
Un contador numérico secuencial.
56
CAPÍTULO 3. PROTOCOLOS VPN
La dirección IP fuente y destino de la SA.
El algoritmo de autenticación y la llave de autenticación usadas.
El tiempo de vida de la SA.
Para el procesamiento de los paquetes IP entrantes una SA apropiada es
encontrada en la SAD tal que concuerde con los siguientes tres valores: la
dirección IP destino, el tipo de protocolo IPSec y el SPI. La dirección IP de
destino y el tipo de protocolo IPSec son obtenidos de la cabecera IP y el SPI se
obtiene de la cabecera AH o ESP. Si una SA es encontrada para el paquete IP
entrante en mención, éste es procesado de acuerdo a los servicios de seguridad
especificados. Luego se aplican al paquete todas las reglas descritas en la SPD
para la SA que lo gobierna.
Para el procesamiento de paquetes IP salientes, primero se aplica el procesamiento relacionado con la SPD. Si se encuentra una política para el paquete
de salida que especifique que un procesamiento IPSec es necesario, la SAD es
buscada para determinar si una asociación de seguridad ha sido previamente
establecida.
Base de Datos de Políticas de Seguridad (SPD)
Una base de datos de políticas de seguridad es una lista ordenada de políticas de seguridad a ser aplicadas a los paquetes IP. Dichas políticas son en
general reglas que especifican cómo los paquetes IP deben ser procesados. La
SPD es mantenida por el administrador del dispositivo IPSec.
Una entrada SPD tiene dos componentes: un juego de selectores y una
acción. Los selectores clasifican un paquete IP sobre una acción. Un selector es
un parámetro y el valor o rango de valores para este parámetro. Los parámetros
generalmente se encuentran dentro de una de estas dos categorías:
Aquellos que se encuentran dentro de un paquete IP, tales como, la dirección IP, número de protocolo y números de puertos de capas superiores.
Aquellos que se derivan de la credencial de autenticación de una entidad de comunicación, tales como, una dirección de correo o un nombre
distinguido DN (Distinguished Names) en certificados digitales.
Diferentes operadores lógicos como AND, OR y NOT pueden ser aplicados
a las políticas para combinar más de un selector.
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
57
Cuando un paquete IP contiene valores que concuerdan con los especificados por algún selector de una entrada, la acción que se especifica en dicha
entrada es aplicada al paquete. Hay tres opciones: aplicar el servicio de seguridad IPSec, descartar el paquete IP o permitir que el paquete IP omita el
procesamiento IPSec.
La figura 3.7 de la páginas 57 muestra una entrada en una base de datos
de políticas de seguridad para un paquete entrante y saliente, claramente se
notan las partes que componen un selector como lo son los parámetros y su
correspondiente valor, al frente se encuentra la acción que IPSec tomaría si los
paquetes IP concuerdan con los valores de los selectores.
Figura 3.7: Ejemplo de una Entrada de Base de Datos de Políticas de Seguridad.
La SPD trata al tráfico saliente y entrante de manera separada, esto es, que
se deben aplicar políticas de seguridad distintivas de entrada y de salida por
cada interfaz de red. Cuando un paquete IP llega a una interfaz de red IPSec
primero busca en la SAD la apropiada SA, cuando la encuentra, el sistema
inicia los procesos SAD y SPD. Después del procesamiento SPD, el sistema
reenvía el paquete al siguiente salto o le aplica procedimientos adicionales tales
como las reglas de algún firewall.
58
CAPÍTULO 3. PROTOCOLOS VPN
3.3.3.
Authentication Header (AH)
El AH (Protocolo de Cabecera de Autenticación) es usado para propósitos
de autenticación de la carga útil IP a nivel de paquete por paquete, esto es
autenticación de la integridad de los datos y de la fuente de los mismos. Como el término autenticación indica, el protocolo AH se asegura que los datos
entregados dentro del paquete IP son auténticos, es decir, que han arribado a
su destino sin ninguna modificación. AH también provee de un mecanismo de
protección opcional antirepetición de paquetes IP. Sin embargo, AH no protege
la confidencialidad de los datos, es decir, no recurre a ningún tipo de cifrado
de los mismos.
El protocolo AH define cómo un paquete IP sin protección es convertido en
uno nuevo que contiene información adicional y que brinda autenticación. El
elemento fundamental usado por AH es una cabecera de autenticación como
se muestra en la figura 3.8 de la pág. 59. El nuevo paquete IP es formado
insertando la cabecera de autenticación, bien sea, después de la nueva cabecera
IP o después de la cabecera IP original modificada según sea el modo en el
cual trabaje la SA.
Cuando la cabecera de autenticación es insertada, la cabecera IP que la
precede deberá indicar que la próxima cabecera que se encuentra es la cabecera
de autenticación y no la carga útil del paquete original. La cabecera IP realiza
esta acción colocando el campo Protocolo en el valor 51 (valor de protocolo
para AH).
La cabecera de autenticación contiene seis campos:
Next Header: identifica el tipo de protocolo de la carga útil del paquete
IP original.
Payload Len: especifica la longitud de la cabecera de autenticación (no
confundir con cabecera original del paquete IP).
Reserved: se encuentra reservado para uso futuro, actualmente debe
ser puesto en 0.
Security Parameter Index: es un número arbitrario de 32 bits. Este
valor es usado junto con la dirección IP de destino y el tipo de protocolo
IPSec (en este caso, AH) únicamente para identificar la SA para este
paquete IP.
Sequence Number: es un campo de 32bits que mantiene un incremento
monotónico de la secuencia de paquetes IPSec.
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
Figura 3.8: Cabecera de Autenticación AH.
59
60
CAPÍTULO 3. PROTOCOLOS VPN
Authentication Data: es un campo de longitud variable que contiene
el valor de chequeo de integridad ICV (Integrity Check Value) para este
paquete IP.
Hay que tener en cuenta, que la autenticación no puede ser aplicada sobre
la cabecera entera del paquete IP, ya que algunos campos de la cabecera IP
original cambian durante el transito por Internet. Esos campos son llamados
Campos Mutables, y son:
Type of service (TOS).
Fragment offset.
Fragmentation flags.
Time to live (TTL).
Header checksum.
Para realizar el proceso de autenticación, el emisor calcula el ICV y lo ubica
en el campo Authentication Data. El ICV es un valor hash computado sobre
todos los campos que la autenticación incluye. La llave secreta es negociada
durante el establecimiento de la SA. La autenticación de un paquete recibido
es verificada cuando el receptor calcula el valor hash y lo compara con el ICV
del paquete entrante. Si el paquete IP no es autenticado exitosamente entonces
es descartado.
3.3.4.
Encapsulating Security Payload - ESP
El protocolo ESP (Encapsulating Security Payload ) provee autenticación,
confidencialidad de los datos por medio de cifrado y una protección opcional
antirepetición para los paquetes IP. La autenticación y el cifrado son también
opcionales, pero al menos una de ellas debe ser empleada; de lo contrario, este
protocolo carecería de fundamento.
La confidencialidad es lograda por medio de técnicas de cifrado. Los algoritmos de cifrado empleados para los paquetes IP son definidos por la SA
sobre la cual los paquetes son enviados. En este caso, ESP solamente presta
el servicio de autenticación para el tráfico. Al igual que con AH varios campos adicionales son insertados en el paquete IP para que presten los servicios
mencionados anteriormente.
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
61
Muchos de esos campos tienen el mismo significado que en AH, pero la
diferencia es que éstos se encuentran a lo largo del paquete IP, algunos en la
cabecera ESP, otros en el trailer ESP y otro esta en el segmento de autenticación ESP. La figura 3.9 de la pág. 61 muestra la conformación de un paquete
IP después que se ha procesado con el protocolo ESP, se observan la ubicación
de los campos dentro de cada uno de los segmentos del nuevo paquete.
Figura 3.9: Nuevo Paquete IP Procesado con ESP.
La cabecera ESP se encuentra después de la nueva cabecera IP o después de
la cabecera IP original modificada, esto dependiendo del modo. El trailer ESP
se encuentra al final del paquete IP original y el segmento de autenticación
ESP se encuentra después del trailer. Si la autenticación no es aplicada, el
segmento de autenticación ESP no es añadido. Si el cifrado es aplicado, cada
una de las partes desde el final de la cabecera ESP hasta el final de el trailer
ESP son encriptadas (ver figura 3.10 de la página 62).
Al igual que en el protocolo AH, los campos SPI, Sequence Number, Next
Header y Authentication Data, se encuentran definidos a lo largo del nuevo
paquete IP. También se encuentran otros dos campos, el campo Padding es
usado para rellenar los datos a ser encriptados y completar un límite de 4 bytes,
por tanto este campo es de longitud variable. El campo Pad Len especifica la
longitud del relleno para poder luego ser eliminado después de que los datos
son desencriptados.
62
CAPÍTULO 3. PROTOCOLOS VPN
Figura 3.10: Funcionamiento del Protocolo IPSec.
Modo Transporte
En el modo transporte, la cabecera ESP es insertada entre la cabecera IP
y la carga útil original, y los segmentos trailer y de autenticación ESP son
añadidos si son necesarios. Si el paquete está siendo sujeto de un segundo
proceso de encapsulamiento ESP, la nueva cabecera ESP es puesta después de
la primera y los segmentos trailer y de autenticación son añadidos después de
los primeros campos de su mismo ítem. Dado que la cabecera IP original sigue
sin alteraciones, el modo de transporte para el protocolo ESP, al igual que
en AH, solamente puede ser usado entre hosts. El modo de transporte es el
más usado cuando no es necesario ocultar o autenticar las direcciones IP tanto
de la fuente como del destino. En la gráfica 3.11 de la pág. 63 se detalla la
conformación del nuevo paquete IP usando ESP en modo transporte, además
se muestra la parte del paquete que puede ser encriptada y la parte del paquete
que puede ser autenticada.
Modo Túnel
En modo túnel, el paquete IP original enteramente es encapsulado dentro
de un nuevo paquete IP. En la figura 3.12 de la pág. 63 se muestra cómo la
nueva cabecera IP y la cabecera ESP son puestas al comienzo del paquete IP
original, y los segmentos trailer y de autenticación ESP son añadidos al final
del mismo. Si el túnel se encuentra establecido entre hosts, las direcciones IP
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
63
Figura 3.11: Protocolo IPSec en Modo Transporte.
fuente y de destino, en la nueva cabecera IP pueden ser las mismas que en
la cabecera original. Si el túnel se encuentra establecido entre dos gateways
de seguridad, las direcciones en la nueva cabecera IP serán las direcciones de
los gateways. Ejecutando ESP en modo túnel entre gateways de seguridad se
puede lograr tanto confidencialidad como autenticación del tráfico en tránsito
entre los dos gateways.
Figura 3.12: Protocolo IPSec en Modo Túnel.
3.3.5.
Internet Key Exchange - IKE
Un concepto esencial en IPSec es el de asociación de seguridad (SA) que
consiste en un canal de comunicación unidireccional que conecta dos nodos, a
través del cual fluyen los datagramas protegidos mediante mecanismos criptográficos acordados previamente. Al identificar únicamente un canal unidi-
64
CAPÍTULO 3. PROTOCOLOS VPN
reccional, una conexión IPSec se compone de dos SAs, una por cada sentido
de la comunicación.
Hasta el momento se ha supuesto que ambos extremos de una asociación
de seguridad deben tener conocimiento de las claves, así como del resto de la
información que necesitan para enviar y recibir datagramas AH o ESP. Tal
como se ha indicado anteriormente, es necesario que ambos nodos estén de
acuerdo tanto en los algoritmos criptográficos a emplear como en los parámetros de control. Esta operación puede realizarse mediante una configuración
manual, o mediante algún protocolo de control que se encargue de la negociación automática de los parámetros necesarios; a esta operación se le llama
negociación de SAs.
El IETF ha definido el protocolo IKE para realizar tanto esta función de
gestión automática de claves como el establecimiento de las SAs correspondientes. Una característica importante de IKE es que su utilidad no se limita
a IPSec, sino que es un protocolo estándar de gestión de claves que podría ser
útil en otros protocolos, como, por ejemplo, OSPF o RIPv2.
IKE es un protocolo híbrido que ha resultado de la integración de dos
protocolos complementarios: ISAKMP y Oakley. ISAKMP define de forma
genérica el protocolo de comunicación y la sintaxis de los mensajes que se
utilizan en IKE, mientras que Oakley especifica la lógica de cómo se realiza de
forma segura el intercambio de una clave entre dos partes que no se conocen
previamente [9].
El objetivo principal de IKE consiste en establecer una conexión cifrada
y autenticada entre dos entidades, a través de la cual se negocian los parámetros necesarios para establecer una asociación de seguridad IPSec. Dicha
negociación se lleva a cabo en dos fases:
Fase 1
La fase común a cualquier aplicación, en la que ambos nodos establecen un
canal seguro y autenticado. Dicho canal seguro se consigue mediante el uso de
un algoritmo de cifrado simétrico y un algoritmo HMAC. Las claves necesarias
se derivan de una clave maestra que se obtiene mediante un algoritmo de intercambio de claves Diffie-Hellman. Este procedimiento no garantiza la identidad
de los nodos, para ello es necesario un paso adicional de autenticación.
Existen varios métodos de autenticación, los dos más comunes se describen
a continuación:
1. Secreto compartido: como su propio nombre indica, es una cadena
de caracteres que únicamente conocen los dos extremos que quieren es-
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
65
tablecer una comunicación IPSec. Mediante el uso de cada extremo
demuestra al otro que conoce el secreto sin revelar su valor; así los dos se
autentican mutuamente. Para no debilitar la seguridad de este mecanismo de autenticación, debe configurarse un secreto distinto para cada
par de nodos, por lo que el número de secretos crece muy rápidamente
cuando aumenta el número de nodos. Por esta razón en entornos en los
que se desea interconectar muchos nodos IPSec la gestión de claves es
muy complicada.
2. Certificados digitales: esta implementación soluciona el problema anterior. En los estándares IPSec está previsto el uso de un método de
autenticación que se basa en utilizar certificados digitales X509v3. El
uso de certificados permite distribuir de forma segura la clave pública
de cada nodo, de modo que éste puede probar su identidad mediante la
posesión de la clave privada y ciertas operaciones de criptografía pública. La utilización de certificados requiere de la aparición de un elemento
más en la arquitectura IPSec, la PKI (Infraestructura de Clave Pública).
Fase 2
En la segunda fase el canal seguro IKE es usado para negociar los parámetros de seguridad específicos asociados a un protocolo determinado, en nuestro
caso IPSec.
Durante esta fase se negocian las características de la conexión ESP o AH
y todos los parámetros necesarios. El equipo que ha iniciado la comunicación
ofrecerá todas las posibles opciones que tenga configuradas en su política de
seguridad y con la prioridad que se hayan configurado. El sistema receptor
aceptará la primera que coincida con los parámetros de seguridad que tenga
definidos. Asimismo, ambos nodos se informan del tráfico que van a intercambiarse a través de dicha conexión.En la figura 3.13 de la pág. 66 se representa
de forma esquemática el funcionamiento del protocolo IKE y el modo en que
se obtiene una clave de sesión, que es la que se utiliza para proteger las conexiones ESP o AH.
3.3.6.
Arquitecuras VPN con IPsec
Intranet VPN con IPsec
En la actualidad, incluso las organizaciones más pequeñas disponen de
una infraestructura informática que consta de una red local con varios PCs
que usan una variedad de aplicaciones y protocolos para los que es imposible
66
CAPÍTULO 3. PROTOCOLOS VPN
Figura 3.13: Negociación de Llaves en IKE.
o muy costoso añadir mecanismos de seguridad. Sin embargo, todo el tráfico
de esta red local está basado en IP o puede ser encapsulado en IP, de modo
que la instalación de un gateway IPSec es la mejor solución para garantizar
la seguridad de las comunicaciones de la oficina con el exterior. Como puede
observarse en la figura 3.14 de la página 67, es habitual que las oficinas de una
organización, debido a su elevado número, presenten una gran diversidad de
tecnologías de acceso. Para grandes empresas con presencia multinacional y
oficinas dispersas en muchos países esta diversidad será mayor, de forma que
incluso podría plantearse la conexión de algunas oficinas directamente a través
de Internet. En cualquier caso, IPSec garantiza la protección de las comunicaciones con independencia de la tecnología de acceso empleada. En el mercado
están disponibles gateways IPSec comerciales que incorporan la posibilidad de
configuración redundante y el establecimiento de 50.000 túneles simultáneos
o más. Estas prestaciones son suficientes incluso para las organizaciones más
grandes.
Acceso Remoto con IPSec
Mediante la instalación de un software en el PC, denominado cliente IPSec,
es posible conectar remotamente equipo móviles (o PC remota) a la red local
de la corporación de forma totalmente segura. El uso del estándar IPSec per-
3.3. IPSEC (INTERNET PROTOCOL SECURITY )
67
Figura 3.14: IPsec Sobre Distintas Redes.
mite garantizar la confidencialidad y la autenticación de las comunicaciones
extremo a extremo, de modo que esta solución de acceso remoto se integra perfectamente con los sistemas de seguridad de la red corporativa. La variedad
de sistemas operativos no supone dificultad alguna, ya que todos los sistemas
operativos Windows a partir de su versión 2000, Solaris (a partir de versión
8), Linux, etc., incluyen este cliente IPSec. Asimismo, existen aplicaciones de
cliente IPSec, tanto comerciales como de libre distribución. Incluso existe un
cliente IPSec para Palm Pilot. Para garantizar la seguridad de esta solución y
evitar intrusiones, como las que han afectado a Microsoft y otras corporaciones
en el pasado, es necesario complementar la tecnología IPSec con el uso, en los
equipos remotos, de cortafuegos personales y autenticación fuerte mediante
certificados digitales X.509 residentes en tarjeta inteligente.
Desde el punto de vista del administrador de la red informática de la corporación, los requisitos prioritarios serán la facilidad de gestión y la necesidad
de autenticar de forma fiable a cada usuario. La integración de IPSec con una
infraestructura de clave pública (PKI) proporciona una respuesta adecuada a
estos requisitos.
Extranet VPN con IPSec
En un escenario Extranet VPN la interoperabilidad que ofrece el estándar
IPSec es una ventaja clave frente a otras soluciones; cada empresa comprará
68
CAPÍTULO 3. PROTOCOLOS VPN
equipos de fabricantes distintos, pero todos ellos podrán conectarse de forma
segura utilizando IPSec como lenguaje común, dado que es una tecnología
avalada por estándares internacionales, garantiza la interoperabilidad entre los
equipos de distintos fabricantes y proporciona el más alto nivel de seguridad
gracias a las técnicas criptográficas más modernas.
Una Extranet VPN puede llevarse a cabo perfectamente usando IPSec;
para ello se requiere la instalación de un gateway IPSec en cada uno de los
puntos de presencia de la extranet, mientras que el equipamiento de los usuarios remotos se reduce a un PC portátil (o PC remota) con un cliente IPSec.
3.3.7.
Limitaciones de IPSec
Si bien podría lograr VPN seguras, la conectividad remota y de sitio a sitio
ha demostrado ser insuficiente en una gran cantidad de escenarios, debido
principalmente a las siguientes limitaciones:
IPSec VPN es costoso, las instalaciones de clientes consumen tiempo,
carecen de la flexibilidad necesaria para proporcionar seguridad de acceso
remoto a empleados, clientes y socios.
Para los usuarios remotos que intentan conectarse a los recursos corporativos, IPSec VPN puede plantear dificultades en que se les permita cruzar
algunos cortafuegos corporativo. Esto no es un problema sólo cuando la
mayoría de las empresas tienen sus mismos puertos abiertos, entrantes
y salientes, que pueden no ser siempre el caso.
IPSec VPN son programas completos y, por tanto, son grandes, generalmente de 0,1 a 8 megabytes. Esto significa que la descarga es lenta y que
no funcionan bien en pequeños dispositivos como PDAs y Blackberry.
3.4.
VPN-SSL
Combinar seguridad y sencillez es lo que prometen las Redes
Virtuales Privadas basadas en SSL
La tecnología VPN-SSL (ó SSL-VPN ) nació de las necesidades de las empresas que surgen a causa de estos problemas y limitaciones. Esto significó un
cambio de paradigma en la propia percepción de la seguridad, acceso remoto,
el objetivo de una VPN de acceso remoto ya no era sólo la construcción de
los túneles de acceso seguro entre dispositivos remotos y redes de confianza,
3.4. VPN-SSL
69
sino proporcionar a los usuarios autenticados autorizados y con acceso a la
información confidencial. La introducción de VPN-SSL trajo una revolución
hacia la transparencia en la entrega de soluciones de acceso remoto VPN.
Los objetivos iniciales de la primera generación de VPN-SSL son facilitar
el acceso a través de cortafuegos y una solución de acceso remoto que trabaja desde cualquier lugar independientemente de los dispositivos NAT’s y un
clientes VPN’s.
Tradicionalmente IP (IPSec) entre otras, requiere la instalación de software
cliente un equipo remoto para poder establecer una conexión, mientras que
SSL-VPN cliente no necesita instalación y ofrece la funcionalidad de un VPN
clientes o Web VPN. Los usuarios pueden tener acceso a las aplicaciones o
archivos compartidos sólo con navegadores web estándares, esta es sin dudas
una de las mayores ventajas de esta tecnología (se dice que si existe conexión
HTTPS entonces debe funcionar ).
Para las empresas, SSL-VPN ofrece versatilidad, facilidad de uso, seguridad
y acceso remoto desde cualquier lugar a socios y clientes, usando los más variados dispositivos como computadoras portátiles, dispositivos móviles, equipos
de casa y público. Las implementaciones por software más comunes bajo esta tecnología son SSTP (Secure Socket Tunneling Protocol) de Microsoft y
OpenVPN del movimiento Open Sourse, mientras que por hardware hoy en
día existen muchos dispositivos que la soportan.
3.4.1.
SSL/TLS Secure Sockets Layer/Transport Layer Security
TLS (Transport Layer Security - Seguridad de la Capa de Transporte) es el
sucesor del SSL (Secure Sockets Layer ). Ambos protocolos se utilizan para proporcionar comunicaciones seguras en Internet, usando un modelo de autenticación y privacidad de la información entre extremos sobre Internet mediante
criptografía. Esto es fundamental para mantener la seguridad en el comercio
vía Internet.
SSL fue diseñado de manera modular (extensible), con soporte para compatibilidad hacia delante y hacia atrás y negociación entre las partes (peer-topeer). La versión 3.0 del SSL fué desarrollada por Netscape en 1996, que fué la
base para desarrollar la versión 1.0 del TLS, protocolo estándar IETF definido
en el RFC 2246 por primera vez. El objetivo de Netscape era crear un canal de
comunicaciones seguro entre un cliente y un servidor que fuese independiente
del sistema operativo usado por ambos, y que éstos se beneficiaran de forma
dinámica y flexible de los nuevos adelantos en materia de cifrado, a medida de
70
CAPÍTULO 3. PROTOCOLOS VPN
que éstos estuvieran disponibles. SSL fue diseñado como un protocolo seguro
de propósito general, existen pequeñas diferencias entre SSL 3.0 y TLS 1.0,
pero el protocolo permanece sustancialmente igual. El término SSL según se
usa en este trabajo, se aplica a ambos protocolos (SSL y TLS) a menos que el
contexto indique lo contrario.
Normalmente, en SSL sólo el servidor es autenticado (es decir, se garantiza
su identidad) mientras que el cliente se mantiene sin autenticar; la autenticación mutua requiere un despliegue de infraestructura de claves públicas (PKI)
para los clientes. Esta tecnología permite permiten a las aplicaciones clienteservidor comunicarse de una forma diseñada para prevenir escuchas (eavesdropping), la falsicación de la identidad del remitente y mantener la integridad
del mensaje.
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. Finalmente, después de diferentes juicios y 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, desapareciendo casi por completo la limitación de claves de 40
bits. Actualmente se usan claves de 128 bits, o incluso más, para las claves de
cifrado simétricas. Las implementaciones actuales proporcionan las siguientes
opciones:
Para criptografía de clave pública: RSA, 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.
3.4.2.
Arquitectura de SSL
SSL trabaja sobre el protocolo TCP y por debajo de protocolos como
HTTP, IMAP, LDAP, etc., y puede ser usado por todos ellos de forma transparente para el usuario. Opera entre la capa de transporte y la capa de sesión
del modelo OSI (o entre la capa de transporte y la de aplicación del modelo
3.4. VPN-SSL
71
TCP-IP) y está formado, a su vez, por dos capas y cuatro componentes bien
diferenciados (ver figura 3.15 de la página 71).
Figura 3.15: Estructura de Protocolos del Protocolo SSL.
El protocolo de registro (Record Protocol) se encarga de encapsular el trabajo de los elementos de la capa superior, construyendo un canal de comunicaciones entre los dos extremos objeto de la comunicación.
El verdadero corazón de SSL está en el protocolo de Handshake que es
el encargado de intercambiar la clave que se utilizará para crear un canal
seguro mediante un algoritmo eficiente de cifrado simétrico. También es responsabilidad de este protocolo coordinar los estados de ambos extremos de la
transmisión.
El protocolo de Alerta es el encargado de señalizar problemas y errores
concernientes a la sesión SSL establecida.
Por último, el Change Cipher Spec Protocol está formado por un único
mensaje consistente en un único byte de valor 1 y se utiliza para notificar un
72
CAPÍTULO 3. PROTOCOLOS VPN
cambio en la estrategia de cifrado.
3.4.3.
Funcionamiento Básico de SSL
El protocolo de Handshake es el encargado de negociar los atributos de
la sesión SSL que permitirán construir un canal seguro de comunicaciones.
En primer lugar el cliente envía un mensaje Client Hello al servidor el cual
debe de responder con un mensaje similar de Server Hello. Estos mensajes
son utilizados para dar a conocer ciertas características de ambos: versión del
protocolo usada, algoritmos de cifrado conocidos y preferidos, funciones hash y
métodos de compresión a utilizar. En este momento, además, el servidor asigna
un identificador a la sesión y se hace constar la fecha y hora de la misma.
Generalmente el servidor, que es el segundo en contestar, elige los algoritmos
más fuertes de entre los soportados por el cliente. Si no hay acuerdo en este
punto se envía un mensaje de error y se aborta la sesión.
A continuación del mensaje de Server Hello, el servidor puede envíar su
Certificado (típicamente un X.509) de forma que sea autenticado por el cliente
y que, además, este reciba su clave pública. Si no es así, le envía al cliente su
clave pública mediante un mensaje de Server Key Exchange (o también si ha
enviado su Certificado y este es únicamente para firma y autenticación). Está
claro que al menos uno de estos dos mensajes es necesario para establecer el
canal seguro. Un último mensaje que puede enviar el servidor en esta fase
de negociación es una solicitud de certificado al cliente. Por último, la fase
concluye con el envío, por parte del servidor, de un mensaje de Server Hello
Done.
Si el Servidor ha solicitado su certificado al cliente, este debe de responder
con él o con un mensaje de alerta indicando que no lo posee. A continuación se
envía un mensaje de Client Key Exchange donde el cliente envía al servidor la
clave maestra cifrada mendiante la clave pública, además un número aleatorio
generado por él y que actuará como clave del algoritmo simétrico acordado
para el intercambio de datos.
Por último, si el cliente ha enviado un certificado y éste tiene capacidades
de firma, enviará adicionalmente un mensaje de Certificate Verify firmado
digitalmente con objeto de que el servidor pueda verificar que la firma es
válida. En este punto el cliente da por concluida la fase mediante un mensaje
de Change Cipher Spec seguido, inmediatamente, de un mensaje de Finished
que ya va cifrado mediante los algoritmos y claves recién negociados.
En respuesta, el servidor envía su propio mensaje de Change Cipher Spec y,
a continuación, su mensaje de Finished cifrado con los parámetros negociados.
3.4. VPN-SSL
73
En este momento finaliza la fase de Handshake y cliente y servidor pueden
intercambiar datos libremente. Podemos ver un esquema de este intercambio
de mensajes en la figura 3.16 de la página 73:
Figura 3.16: Intercambio de Mensajes en SSL.
Durante la transmisión de datos los mensajes el protocolo de registro se
encarga de fragmentar y comprimir cada mensaje, para luego aplicarle una
función hash a cada uno de los bloques, proceso con el cuál pretende asegurar
la integridad de los mismos. Por último realiza el cifrado de los datos y los
envia.al otro extremo donde el mismo protocolo realizará un proceso inverso
de reconstrucción.
Una sesión SSL puede comprender múltiples conexiones. Adicionalmente,
se pueden establecer múltiples sesiones SSL simultaneas, cada una de ellas es
controlada por una máquina de control de estados.
74
CAPÍTULO 3. PROTOCOLOS VPN
3.4.4.
Aplicaciones e Implementaciones de SSL
Una de las ventajas de SSL es que es independiente del protocolo de aplicación, ya que es posible ubicarlo por encima del mismo en forma transparente.
Este protocolo tiene multitud de aplicaciones en uso actualmente, la mayoría
de ellas son versiones seguras de programas que emplean protocolos que no
lo son. Hay versiones seguras de servidores y clientes de protocolos como el
HTTP (HTTPS en este caso), NNTP, LDAP, IMAP, POP3, etc.
Existen multitud sSnde implementaciones del protocolo, tanto comerciales
como de libre distribución, una de las más populares es la biblioteca OpenSSL,
que constituye la base del software OpenVPN, disponible bajo licencia GNU.
El lenguaje Java también incluye soporte para el protocolo con la Extensión
de Sockets Seguros de Java (JSSE).
Cada una de las aplicaciones SSL tiene las siguientes propiedades:
Privada: después de un proceso inicial de handshake en el cual se define
una clave secreta, se envía la información encriptada por medio de algún
método simétrico (DES, RC4).
Segura: aporta identidad de cada extremo, es autenticada usando métodos de cifrado asimétricos o de clave pública (RSA, DSS).
Confiable: el transporte del mensaje incluye un control de la integridad
del mismo usando una MAC cifrada con SHA y MD5.
3.4.5.
Conceptos y Técnicas de VPN-SSL
El acceso remoto seguro basado en SSL aglutina diversas tecnologías, basados en cuatro conceptos básicos:
Proxy: todos los dispositivos y software SSL-VPN ofrecen al menos
la función de proxy de páginas Web. Cuando el usuario se conecta a
un servidor Web, éste descarga la página solicitada y se la envía a su
navegador sobre una conexión SSL.
Conversión de aplicaciones: las cosas se complican cuando se trata
de cualquier otros datos que no sean una página Web. Surge entonces la
conversión de aplicaciones. Cuando, por ejemplo, los dispositivos SSLVPN han de tratar los servidores de ficheros, por lo general hablará
3.4. VPN-SSL
75
Figura 3.17: Advertencia de Instalación de Plugins en Internet Explorer.
como protocolo nativo CIFS (de Microsoft), o FTP. Por ello, habrá de
convertirlos a HTTP y HTML, a fin de que el usuario final vea el servidor
de ficheros como si fuera una página Web; es decir, la aplicación se
websifica.
Port forwarding: pero la conversión de aplicaciones sólo funciona efectivamente con ciertas transacciones. Se impone, entonces, la técnica port
forwarding, que requiere en el sistema cliente una herramienta del tipo
Java o ActiveX (Pluning de Microsoft). Consiste en dedicar a cada aplicación un puerto determinado en el que se tunelizan los paquetes dentro
de conexiones SSL. El server SSL-VPN los abre y los envía al servidor
de aplicaciones. Se trata de una técnica muy efectiva pero muestra serias
limitaciones, por ejemplo, sólo funciona con aplicaciones muy predecibles
en cuanto a sus requerimientos y necesidades de conectividad de red. La
figura 3.17 de la página 75 muestra un mensaje de advertencia en el
navegador Internet Explorer, antes la instalación de un ActiveX correspondiente al software cliente de un dispositvo de la empresa Cisco.
Extensión de red: conecta el sistema del usuario final a la red corporativa mediante controles de acceso exclusivamente basados en información
de nivel de red, como dirección IP de destino y número de puerto. Dependen del sistema operativo que se utiliza y requiere acceso administrativo
al sistema local. Las extensiones de red SSL-VPN corren en lo alto del
protocolo SSL, sacrificando la mayor seguridad que ofrece IPSec.
76
CAPÍTULO 3. PROTOCOLOS VPN
3.4.6.
Inconvenientes de las VPN-SSL
Secure Sockets Layer (SSL) para realizar el acceso remoto se basa en un
concepto simple, utilizar la encriptación y capacidades de autenticación incorporado en todos los navegadores web para proporcionar acceso remoto seguro
a aplicaciones corporativas.
Una ironía de las VPN-SSL es que su activo más importante es su aspecto
más problemático. La libertad y la movilidad del navegador significa que los
usuarios puedan ejecutar aplicaciones y recursos de la red de acceso desde
cualquier parte, un kiosco del aeropuerto, un café Internet, incluso la casa de
un amigo. Mientras que la libertad puede aumentar la productividad, también
expone su red a un número ilimitado de equipos de seguridad cuyo estado es
desconocido. Su red puede experimentar un mayor riesgo de virus, troyanos y
otros códigos maliciosos, tales como capturadores de teclado [10].
El acceso basado en navegador tiene otras complicaciones también como la
de autenticación de usuario, por defecto está limitado a un nombre de usuario
y contraseña, que es notoriamente inseguro. Por último, los costos de los
dispositvos VPN-SSL (Hardware) son elevados, aunque exista una variedad
de precios entre las opciones que ofrecen los distintos fabricantes, existe una
gran diferencia de precios con otros dispostivos que manejan protocolo como
L2TP e IPSec. Esta última desventaja o inconveniente se podria decir que es
relativa, porque una implementación IPsec puede ser redituable en costos de
hardware pero costosa en tiempo de configuración y mantenimiento.
3.4.7.
Ventajas de SSL-VPN sobre IPSec
Las principales ventajas son las siguientes:
SSL-VPN son a menudo mucho menos costoso que el despliegue de redes
VPN IPSec. Esto se debe a que, con clientes SSL-VPN, no hay costo
de licencias de software de propiedad del cliente, sin gastos generales
de administración involucrados en la instalación de software cliente, y
menos tiempo necesario para el apoyo técnico de clientes debido a la
facilidad de uso [11].
SSL-VPN permite a las organizaciones a crear la identidad del usuario
de acceso basado en políticas, que ofrece acceso a la red granular a los
empleados, socios y clientes sobre la base de la identidad del usuario y
el perfil de trabajo [11].
3.4. VPN-SSL
77
SSL utiliza el puerto TCP 443, que normalmente se abre en los cortafuegos, trabajará a través de firewalls sin ninguna configuración especial [10].
IPSec usa puertos UDP específicos, si no están en uso, estos puertos
estarán bloqueados por el servidor de seguridad.
SSL-VPN también puede proporcionar una ventaja de seguridad. Cuando el acceso está restringido a aplicaciones específicas, las posibilidades
de acceso no autorizado se reducen.
Hoy en día, SSL-VPN ofrece también protección de datos en el navegador, después de que el usuario cierra la sesión, a fin de eliminar la
información sensible que pueda haber sido utilizado durante el curso de
un acceso seguro. Esto incluye la eliminación de cualquier caché las credenciales de usuario y la eliminación de la cola o temporal en caché de
archivos. Algunos SSL-VPN pueden ser configuradas para evitar que un
usuario realize copias locales de la información sensible de la empresa en
un equipo de trabajo.
Conexiones pobres, intermitentes e interrumpidas no causan la caída de
la VPN.
Permite mediante un certificado digital, usar su navegador para verificar
la autenticidad del sitio y comunicarse con él en forma segura.
3.4.8.
Software VPN-SSL
Aunque se emplea SSL para crear túneles no existe un estándar que especifique cómo funciona una VPN-SSL, sino que hay distintas implementaciones que funcionan bastante bien. Entre las más interesantes se encuentran
OpenVPN del movimieto Open Source y el protocolo SSTP (Secure Socket
Tunneling Protocol) de Microsoft.
OpenVPN
OpenVPN es una solución de conectividad basada en software: SSL (Secure Sockets Layer) bajo la librería OpenSSL y VPN Virtual Private Network
(Red Virtual Privada). Soporta diferentes medios de autenticación como certificados, smart cards, y / o usuarios / contraseñas, y permite políticas de
control de acceso para usuarios o grupos usando reglas de firewall aplicadas a
78
CAPÍTULO 3. PROTOCOLOS VPN
las interfaces virtuales de la VPN. Esta solución resulta una muy buena opción
en tecnologías Wi-Fi (redes inalámbricas EEI 802.11) y soporta una amplia
configuración, entre ellas balanceo de cargas entre otras. Está publicado bajo
licencia de código libre (Open Source).
Es una solución multiplataforma que ha simplificado mucho la configuración de VPN’s dejando atrás los tiempos de otras soluciones difíciles de
configurar como IPSec haciéndola más accesible para gente inexperta en este
tipo de tecnología [12].
Esta arquitectura está implementada sobre la capa 2 y capa 3 del modelo
OSI, de esta manera los túneles de OpenVPN pueden transportar tramas
Ethernet, paquetes IPX, y los paquetes NETBIOS del navegador (Explorer)
de la red Windows, que son un problema en la mayoría de las otras soluciones
VPN.
Algunas de características de OpenVPN son:
Protección de sesión con el cortafuego interno: en una sesión
conectada con la oficina central de su compañía mediante un túnel VPN
puede cambiar el setup de su red en su ordenador portátil, para enviar
todo su tráfico de la red a través del túnel. Una vez que OpenVPN
haya establecido un túnel, el cortafuego central en la oficina central de
la compañía puede proteger el ordenador portátil, aún cuando él no sea
una máquina local. Solamente un puerto de la red se debe abrir de forma
local para trabajar la sesión. El cortafuego central protege al empleado
siempre que él o ella esté conectado a través del VPN.
Las conexiones de OpenVPN pueden ser establecidas a través de casi
cualquier cortafuego, se dice que “si tienes acceso a Internet y si puedes tener
acceso a la Web, los túneles de OpenVPN deben poder trabajar”.
Soporte de Proxy y configuraciones: OpenVPN tiene soporte de
Proxy y se puede configurar para funcionar como un servicio de TCP
o de UDP, y como servidor o cliente. Como servidor, OpenVPN espera
simplemente hasta que un cliente solicita una conexión, mientras que
como cliente, intenta establecer una conexión según su configuración.
Apertura de un solo puerto en el cortafuegos para permitir conexiones entrantes: desde OpenVPN 2.0, el modo especial del servidor
permite conexiones entrantes múltiples en el mismo puerto del TCP o
del UDP, mientras que todavía usa diversas configuraciones para cada
3.4. VPN-SSL
79
Figura 3.18: Interfaz GUI de OpenVPN Para Sistemas Operativos Windows.
conexión. Los interfaces virtuales permiten reglas muy específicas del
establecimiento de una red y del cortafuegos donde todas las reglas,
restricciones, mecanismos de la expedición, y conceptos como NAT se
pueden utilizar con los túneles de OpenVPN.
Alta flexibilidad con posibilidades extensas de lenguaje interpretado (scripting): OpenVPN ofrece numerosos puntos durante la
conexión para la ejecución de los scripts individuales. Estos scripts se
pueden utilizar para una gran variedad de propósitos de la autentificación, recuperación en caso de fallos (failover) entre otros.
Soporte transparente y alto rendimiento para IP’s Dinámicas:
si se usa OpenVPN, no hay necesidad de utilizar más IPs estáticas de
cualquier lado del túnel. Ambas puntos finales del túnel pueden tener
acceso barato de ADSL con el IPs dinámicas y los usuarios no notarán
un cambio del IP de cualquier lado. Las sesiones del Terminal Server
de Windows y las sesiones seguras de Shell (SSH) parecerán congeladas
solamente por algunos segundos, pero no terminarán y continuarán con
la acción solicitada después de una corta pausa.
Instalación simple en cualquier plataforma: la instalación y el uso
son increíblemente simples. Especialmente, si se ha intentado instalar
IPSec con diversas configuraciones, se apreciará la facilidad de instalación de OpenVPN. En plataformas Windows se cuenta con una interfaz gráfica muy amiglable que permite el monitero de la Red Privada
Virtual, la cual puede ser visualizada en la imagen 4.27 de la página 119.
80
CAPÍTULO 3. PROTOCOLOS VPN
Diseño modular: el diseño modular consta de un alto grado de simplicidad en seguridad y el establecimiento de una red virtual es excepcional.
Ninguna otra solución VPN puede ofrecer la misma gama de posibilidades a este nivel de seguridad. Con respecto a la estabilidad, OpenVPN es un programa muy robusto y ofrece la posibilidad de implementar
esquemas de servidores redundantes y con balance de carga [13].
Las principales desventajas de OpenVPN son las que se mencionan seguidamente:
Todavía existe poca gente que conoce como usar OpenVPN.
Al día de hoy sólo se puede realizar conexiones entre computadoras. Pero
ésto empieza a cambiar, dado que ya existen compañías desarrollando
dispositivos con clientes OpenVPN integrados.
No tiene compatibilidad con IPSec que justamente es el estándar actual
para soluciones VPN [12].
SSTP (Secure Socket Tunneling Protocol)
El protocolo Secure Socket Tunneling Protocol (SSTP) de Microsoft es,
por definición, un protocolo de capa de aplicación que encapsular tráfico PPP
por un canal SSL del protocolo HTTPS. El uso de habilita la compatibilidad
con métodos de autenticación seguros, como EAP-TLS. El empleo de HTTPS
significa que el tráfico pasa a través del puerto 443 (TCP), un puerto que se
suele usar para el acceso web y eliminando así los problemas asociados con las
conexiones VPN basadas en L2TP o PPTP (conocido error 800 - problemas
de conectividad ), que pueden ser bloqueadas por algunos proxies Web, firewall
y routers en las configuraciones de los carrier’s.
La Capa de sockets seguros (SSL) proporciona seguridad de nivel de transporte con negociación, cifrado y comprobación de integridad de claves mejorados.
SSTP se basa en el protocolo SSL en lugar de PPTP o IPSec, a pesar de que
está estrechamente relacionado con SSL, no se puede hacer una comparación
directa entre SSL y SSTP, porque SSTP es sólo una diferencia de protocolo de
túnel SSL. Existen muchas razones para elegir SSL y no IPSec como base para
SSTP, las ventajas mensionadas en el apartado anterior son validas también
para este protocolo, otras razones son:
3.4. VPN-SSL
81
Debido a que IPSec se ha desarrollado para conexión seguras de sitio
a sitio, es probable que presente problemas para usuarios remotos que
intentan conectarse desde un lugar con un número limitado de direcciones
IP.
IPSec no soporta dinamic DNS.
Esta tecnología sólo está soportada por Windows Server 2008 y Windows
Vista Service Pack 1; existen también paquetes de software como IAG 2007,
un software que funciona como punto de bastión en interfaces de entrada a
redes LAN’s Corporativas [13].
Funcionamiento Básico de SSTP Cuando se inicia una conexión
VPN-SSTP sucede lo siguiente:
1. EL software cliente (SSTP client) establece una conexion TCP con el
servidor SSTP entre un puerto dinámico del cliente y el puerto 443 del
servidor.
2. El cliente SSTP envía un SSL Client-Hello, indicando que el cliente
quiere crear una sesión SSL con el servidor.
3. EL servidor SSTP envía su certificado de máquina al cliente.
4. El Cliente SSTP valida el certificado de equipo, determina el método de
cifrado para la sesión SSL, genera una clave para la misma y cifra esta
con la clave pública del certificado del servidor SSTP, y a continuación
lo envía al servidor.
5. El servidor SSTP descifra la clave de sesión SSL mandada por el cliente
con su clave privada. Todas las comunicaciones posteriores se realizan
ya con la nueva clave negociada.
6. El cliente SSTP envía una petición de HTTP sobre SSL al servidor de
SSTP.
7. El cliente SSTP negocia un tunel SSTP con el servidor SSTP.
8. El cliente SSTP negocia una conexion PPP con el servidor SSTP. Esta negociación incluye las credenciales de autenticación del usuario, el
metodo de autenticación y la configuracion de IPv4 e IPv6.
9. El cliente SSTP comienza a enviar tráfico IPv4 o IPv6 sobre el enlace
PPP.
82
CAPÍTULO 3. PROTOCOLOS VPN
Capítulo 4
Implementaciones VPN’s
4.1.
Introducción
En este capítulo se describen cómo se llevaron o a cabo las tareas de implementación de Redes Virtuales Privadas (VPN) en el Instituto de Obra Social
de la Provincia de Corrientes (I.O.S.COR). Esta institución presta servicios de
cobertura médica como así también apoyo social a los empleados provinciales
desde 1977. Hoy en día cuenta con más de 160.000 afiliados, 36 delegaciones
ubicadas en distintas ciudades del interior de la provincia, bocas de expendio
en puntos estratégico de la capital y una Casa Central ubicada en la calle San
Juan 1060, donde se concretan sus funciones elementales como el procesamiento de todos sus datos.
La institución posee una red LAN con más de 170 estaciones (PC’s) en el
edificio de su Casa Central, y otras 60 estaciones ubicados en delegaciones, los
cuales estaban conectadas mediante una VPN que funcionaba bajo el protocolo
PPTP (Protocolo de Tunel Punto a Punto).
Ante la necesidad de conectar nuevas delegaciones y agregar estaciones
de trabajo en el edificio surgieron los siguientes incovenientes: en un intento
de ampliar la VPN se detectó que el dispositivo Server de la red (VPN) se
encontraba saturado con un número de conexiones que superaban el límite de
capacidad descripto en sus especificaciones técnicas. Además, la red LAN no
podía asignar nuevas direcciones IP’s debido a la gran cantidad de estaciones
de trabajo conectadas, lo que implicaba una división de la misma en segmentos
de distinto dominio.
Se llevó a cabo una solución provisoria adquiriendo hardware VPN de
menor rango del requerido e implementaciones VPN’s por software, las cuales
83
84
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
actualmente (marzo/2010) cumplen sus funciones de forma eficiente.
Como solución definitiva se planteó la necesidad de adquirir un dispositivo
Server-VPN de alto rango, que manege protocolos de última generación como
SSL (Security Layer Socket) e IPsec (Security IP). El objetivo es lograr el
funcionamiento óptimo de la red institucional, aprovechando al máximo las
capacidades del nuevo equipamiento.
4.2.
Escenario Previo del I.O.S.COR.
A grandes rasgos se podría decir que la red LAN del I.O.S.COR. se encontraba soportada sobre una única red lógica IP configurada sobre una única
VLAN (Lan Virtual). Todas las estaciones de trabajo estaban conectada a
esta única estructura lógica, dentro del edificio se las identificaba con una dirección IP estática, mientras que para las estaciones remotas existía un rango
de direcciones reservado para la asignación por medio de un servidor DHCP.
Contaba con dos conexión a Internet mediante cable-modem y ambas con IP’
fijas, una de ella proveía Internet a las máquinas del edificio mientras que la
otra estaba destinada al uso exclusivo del servidor VPN-PPTP para aceptar
las solicitudes de conexiones que provenían de las delegaciones.
En general la mayoría de los dispostivos de red del Instituto estaban saturados, la falta de actualización de los equipos y la sobrecarga de trabajo por
la adición constante de nuevas estaciones de trabajo crearon una red dificil
de administrar, saturada en puntos claves (como en los routers) y sin la
posibilidad de expandirse.
4.2.1.
Red LAN Institucional
A continuación se describe en detalle la estructura lógica-física de la Red
Institucional, como así también los elementos que la componen, su configuración y las funciones que cumplían éstos elementos en aquel escenario previo.
La figura 4.1 de la página 85 describe la estructura de la red, muestra la ubicación de cada uno de sus elemento y las conexiones con redes externas a la
institución.
Red LAN Institucional
• Características técnicas:
• Tipo de Topología: Estrella.
4.2. ESCENARIO PREVIO DEL I.O.S.COR.
Figura 4.1: Escenacio Previo de la Red LAN Institucional.
85
86
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
•
•
•
•
Estandar: IEEE 802.3 10/100mbps.
Estandar de cableado: TIA/EIA-568-B.
Dirección: 192.168.0.0. / 255.255.255 (clase C).
Cantidad de PC: 170.
Router 3Com OfficeConnect Cable/DSL
• Especificaciones Técnicas:
◦ Estandar: IEEE 802.3 10/100 mbps.
◦ Soporte para 256 usuarios bajo un conexión ADSL de 256 mbps
de ancho de banda.
◦ No posee soporte para gestionar de VLAN’s.
◦ Funciones de cliente VPN con soporte para PPTP, L2TP e
IPSec.
• Funciones:
◦ Trabaja como Puerta de Enlace para la salida a internet de las
estaciones de trabajo de la Casa Central.
◦ Trabaja como componente central de la topología estrella de la
red.
La figura 4.2 de la página 86 corresponde a la imagen del router 3Com
Office Connect.
Figura 4.2: Router 3Com Office Connect.
Switch de Capa 2 3Com Baseline 20244
• Especificaciones Técnicas:
◦ Estandar: 802.3 10/100 mbps.
4.2. ESCENARIO PREVIO DEL I.O.S.COR.
87
◦ 48 puertos 10/100 mbps.
◦ Dispositivo de capa 2 no gestionable.
• Funciones de cada uno:
◦ Encargados de distribuir los paquetes que se transmiten al
router central en cada uno de los pisos del edificio.
◦ Uno de estos dispositivos trabaja como elemento principal de
la topología estrella, permite conectar a los demás switches.
• Estado del dispositivo:
◦ Funciomamiento óptimo.
En la figura 4.3 de la página 87 se puede apreciar un Rack Mural con
dos de estos dispositivos (color celeste), cada uno conectado a un PatchPanel de 48 puertos (RJ45). Esta misma presentación se repite en el
centro de la estrella de la topología, como así también, en cada uno de
los pisos del edificio.
Figura 4.3: Rack Mural en uno de los Pisos del Edificio.
Problemas Detectados en la LAN
Los principales problemas detectados son los que se detallan seguidamente:
Dispositivo central 3Com Office Connect ADSL saturado: Este
dispositivo se encontraba sobrecargado al tener que gestionar el uso
88
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
de una conexión ADSL de 3 mbps entre 170 estaciones de trabajo
dispuestas en el edificio; fue diseñado para soportar 256 mbps de
ancho de banda aproximadamente, que eran las velocidades que se
manejaban en el tiempo en que fue fabricado el dispositivo.
La cantidad de estaciones de trabajo a punto de exeder su
límite máximo: la red LAN contaba con 170 puesto de trabajo
en el edifico de Casa Central, más otras 50 estaciones en el interior
de la Provincia, de las caules sólo algunas estaban conectadas a la
red.
Una red LAN que fuera concebida bajo el estandar IEEE 802.3
(Ethernet) tiene como restricción la cantidad máxima de 253 estaciones de trabajo por cada dominio, lo que implica que es necesaria
una segmentación de la red en varias subredes, con el objetivo de
disponer de un rango más amplio de direcciones IP.
Si bien la cantidad de estaciones de trabajo de la red se encuentraba
relativamente próxima a su límite máximo, se consideró justificable
comenzar con una división de la red, ya que un proyecto de esta
envergadura requiere de tiempo para realizar pruebas y corregir
errores.
4.2.2.
Red Virtual Privada (VPN) Institucional
La Red Virtual Privada de la institución estaba constituida básicamente
de la siguiente manera: en un extremo existía un único dispositivo ServerVPN (PPTP) que aceptaba solicitudes entrantes a través de una conexión a
Internet dedicada (Casa Central), mientras que en los otros extremos existían
las Delegaciones y Bocas de Expendio, que formaban túneles mediante clienteVPN por sofware, nativo del sistema operativo en la totalidad de los casos.
A pesar de que las delegaciones son consideradas como clientes estáticos,
la arquitectura de los túneles VPN era de tipo Acceso Remoto, inclusive en
aquellas delegaciones en donde existían más de una estación de trabajo y
demandaban varios túneles por localidad.
Los problemas más comunes se presentaban en localidades donde los ISP’s
bloqueaban los puertos claves del protocolo PPTP (puerto no : 1023), lo que
causaba el conocido error 800 tan característico del mismo. Otro inconveniente
eran las caídas de la conexión y cortes intermitentes que se presentaban en
localidades donde el ancho de banda de las conexiones a Internet que proveían
los ISP’s locales eran muy escasos. Por ejemplo, la delegación de Colonia Liebig
contaba con un servicio de 54 kbps de ancho de banda.
4.2. ESCENARIO PREVIO DEL I.O.S.COR.
89
A continuación, la figura 4.4 de la página 89 muestra los túneles que
conectan las delegaciones del interior,con la Casa Central del I.O.S.COR.
Figura 4.4: Túneles PPTP formados con las Delegaciones del Interior.
La figura 4.5 de la página 89 muestra los túneles formados con departamentos, divisiones y bocas de expendios ubicadas en distintos hospitales, ademas
del tipo de conexión a Internet que tiene cada punto remoto, siempre dentro
de la ciudad de Corrientes Capital.
90
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Figura 4.5: Túneles PPTP en la Ciudad de Corrientes Capital.
4.2. ESCENARIO PREVIO DEL I.O.S.COR.
91
Cliente VPN en Corrientes Capital
Cliente PPTP
Túneles
Hospital Juan Pablo II 1
Hospital Vidal
1
Hospital Escuela
1
Hospital Llano
1
Dep. Sumarios
1
Div. Archivos
1
Total
6
A continuación se detallan las características técnicas del servidor 3Com
Office Connect VPN Firewall:
3Com Office Connect VPN Firewall:
• Especificaciones Técnicas:
Soporte standars 802.3 10/100 mbps.
Soporte para aceptar 15 tuneles PPTP.
Soporte para aceptar 5 tuneles IPsec.
Funciones de cliente VPN con soporte para PPTP, L2TP e
IPsec.
◦ Encriptación: AES-128, DES (56-bit) y 3DES (168-bit) IPSec
encryption.
◦ Soporte para DNS dinámico (DynDNS support).
◦
◦
◦
◦
• Funciones:
◦ Servidor VPN.
• Configuración:
◦ Interfaz WAN: IP Pública fija.
◦ Servidor DHCP: activado, con un rango de 20 direcciones IP
para la asignación a los clientes-VPN’s.
Configuración de los Túneles
La configuración en todos los casos es mediante acceso remoto con clientes
PPTP por software, también llamado Road Warrior, usando el cliente nativo
del sistema operativo Windows XP, cuyos parámetros se detallan a continuación:
Parametros del Servidor PPTP
Los parámetros son los siguientes:
92
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Dispostivo: 3Com Office Connect VPN.
Tipo de Servidor: PPP (Protocolo Punto a Punto).
Interfaz WAN: IP pública fija asignada por el ISP contratado en la ciudad
de Corrientes.
DHCP activo: asigna direcciones IP dentro de un rango determinado
(192.168.0.XXX a 192.168.0.XXX1 ).
Firewall activo: usa el puerto no 1023 para recibir las solicitudes entrantes de conexión.
Pass-through no disponible.
Compresión: ninguna.
Los parametros de autenticación y cifrado no están disponibles por cuestiones de seguridad.
La siguiente figuras 4.6 y 4.7 de la pág. 4.7 corresponde al Panel de
Configuración del servidor PPTP y un Panel de Estado de cada uno de
los túneles formados con las delegaciones del interior.
Parametros de los Clientes PPTP
Los parámetros se detallan a continuación:
Sistema Operativo: Windows XP SP3.
Tipo de Servidor: PPP (Protocolo Punto a Punto).
Interfaz WAN: dirección IP Pública dinámica asignada por el ISP de su
localidad.
Interfaz Virtual VPN: dirección IP dinámica asignada por el ServerVPN de Casa Central.
Firewall: activo.
Pass-through no disponible.
Compresión: ninguna.
1
XXX corresponde a un número que no se indica por razones de seguridad.
4.2. ESCENARIO PREVIO DEL I.O.S.COR.
Figura 4.6: Panel de Configuración del Server PPTP.
93
94
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Figura 4.7: Panel de Estado de los Túneles en Server PPTP.
4.2. ESCENARIO PREVIO DEL I.O.S.COR.
95
Los parametros de autenticación y cifrado en los Clientes-VPN tampoco
están disponibles por cuestiones de seguridad.
La siguiente figuras 4.8 de la página 95, corresponde al Cliente VPN
nativo de Windows XP, el mismo también se puede ulitizar para los protocolo L2TP y L2TP/IPsec, es decir, L2TP sobre una conección IPsec.
Figura 4.8: Cliente VPN Nativo del S.O. Windows XP.
Problemas Detectados en la VPN
El Server-VPN constituía un único punto de falla: al no contar
con otro dispositivo que cumpla las funciones de Server-VPN, una falla
en en este router provocaría la caída total de la Red Virtual Privada.
El Server-VPN se encontraba saturado: este dispositivo gestionaba
una totalida de 30 túneles, excediendo los parametros máximos fijados
en las especificaciones técnicas del router.
96
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Problemas del Protocolo PPTP: este protocolo de red es la versión
más antigua de los protocolos VPN (desarrollado en 1995), su seguridad
fue corrompida varias veces en pruebas oficiales realizadas. Otros problemas asosiados con este protocolo son las caídas de la conexión y la
mala gestión que realiza con aquellos túneles que están soportados sobre
conexiones de excaso ancho de banda.
4.2.3.
Modificaciones a Realizar
Además de los problemas detectados en la estructura lógico - física de la
red institucional, el escenario exigía otros requerimientos como:
1. Agregar 4 puestos de trabajo en las delegaciones de Alvear, Monte Caseros,
Bella Vista, Curuzú Cuatiá y Paso de los Libres.
2. Cambiar a una arquitectura Lan-to-Lan en las delegaciones donde exitan
más de dos túneles VPN de Acceso Remoto.
3. Crear una VPN-backup (redundante), totalmente operativa que se desempeñe en un dominio de red distinto y trabaje de forma paralela con
la VPN oficial. Esta VPN-backup sería levantada en un plan de contingencia tomando las funciones de la VPN oficial, con el objetivo de que
la instinución pueda seguir operando normalmente ante cualquier falla,
por ejemplo, en el dispositivo central.
Para cubrir cada uno de estos requerimientos se propuso una solución
provisoria, la cual constituiría una primer etapa de la solución definitiva detallada en el final de este capítulo. En esta primer etapa, se
solucionaría la mayoría de los inconvenientes de la red LAN, además de
poder expandirla, se la preparía para un inminente cambio de escenario.
4.3.
Solución Provisoria
La solución provisoria se divide en tres conjuntos de tareas bien definidas:
la Segmentación de la Red LAN, la Redistribución de Carga de Trabajo entre
los routers VPN’s, y por último, la Implementación de una VPN-Backup por
software.
Como se mencionó en la introducción de este capítulo, esta etapa comienza
con la adquisición de un nuevo dispositivo Router VPN-SSL, el cuál se detalla
según las especificaciones técnicas del fabricante.
4.3. SOLUCIÓN PROVISORIA
97
Router Linksys RVL 200 SSL/IPsec
Especificaciones Técnicas:
• Estandars IEEE 802.3, IEEE 802.3u, IEEE 802.1q, IEEE 802.1p,
RFC791 (IP Protocol).
• Servidor de 5 túneles SSL para cliente de Acceso Remoto (requiere
ActiveX habilitado Navegadores, por ejemplo, Internet Explorer y
Netscape).
• Soporte para un túnel IPSec Lan-to-Lan.
• Cifrado DES/3DES/AES, MD5/SHA1.
• Soporte de cliente VPN de PPTP, L2TP e IPSec.
• Autenticación: Radius-PAP , NTDomain, Active Directory, CHAP.
Funciones / Configuración:
• Servidor de acceso a Internet: trabaja como Puerta de Enlace para
la salida a Internet de las estaciones de trabajo de Casa Central.
• Firewall de la conexión-1 a Internet.
• Servidor VPN-SSL bajo arquitectura Acceso Remoto.
• Servidor IPsec bajo arquitectura Lan-to-Lan.
• Interfaz WAN: IP Pública fija.
• Interfaz LAN: 192.168.0.0/255.255.255.0.
• Servidor DHCP: desactivado.
La figura 4.9 de la página 97 corresponde a la imagen del router Linksys
RVL 200.
Figura 4.9: Dispositivo Linksys RVL200.
Con la adquisición de este dispositivo se pretendió corregir algunos de los
problemas más urgentes relacionados con los túneles PPTP como son:
98
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
- Conexiones más estables en aquellas delegaciones con escaso ancho de banda
(Internet).
- Evitar los problemas de cierre de puertos claves, siendo que SSL trabajo
sobre puerto 443 y resulta imposible para los ISP bloquearlo.
4.3.1.
Segmentación de la Red LAN
Con la intención de liberar direcciones IP y mejorar la performance de
la Red Institucional, se llevó a cabo la segmentación de la red 192.168.0.0
en 6 redes LAN’s de distintos dominios, como se detalla en la figura 4.10 de
la página 99, la cual muestra además la distribución de los dispositivos en el
escenario incluyendos los nuevos.
A continuación se detallan la configuración de cada dispositvios y la función
cumplen dentro del nuevo escenario:
Router 3Com Office Connect
• Parametros:
◦
◦
◦
◦
Interfaz WAN: 192.168.0.XX/255.255.255.255.0.
Sevidor DHCP: desactivado.
Firewall: desactivado.
Puerta de enlace: router Linksys RVL 200.
• Funciones:
◦ Segmentan la red principal.
◦ Se encargan de enrutar el tráfico de cada piso.
Switch de capa 2 3Com Baseline 20244
• Cumple las mismas funciones que en el escenario previo.
Algunas de las ventajas que se consiguieron gracias a la segmentación son:
• Aumenta la eficiencia de la Red.
• Se reduce el tráfico global aportando más espacio para tráfico legítimo, lo
que implica mayor velocidad.
4.3. SOLUCIÓN PROVISORIA
Figura 4.10: Segmentación de la Red LAN.
99
100
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
• Escalabilidad.
• Se facilita la tarea del administrador de la red.
• Las fallas quedan limitadas al segmento y permite que el resto de la red
siga funcionando normalmente.
• Facilita la detección de errores. Por ejemplo se puede identificar fácilmente
una estación que este transmitiendo broadcast en exceso como también
detectar estaciones con direcciones IP duplicadas.
• Cada subred reduce el tamaño de colisión al menos uno por piso con la
segmentación de salas correspondiente.
• Otro punto a considerar es la seguridad ya que podemos limitar el acceso
entre dos segmentos, estableciendo una LAN de acceso restringido a una
LAN de acceso general.
4.3.2.
Redistribución de Carga de Trabajo Entre los Routers
VPN’s
Con la puesta en marcha del router Linksys VPN-SSL, el nuevo escenario
quedaría dispuesto de la siguiente manera, descripta en la figura 4.11 de la
página 101.
DNS Dinámico (DDNS)
Al no contar con la posibilidad de poseer una IP fija (servicio corpotativo
del ISP) en las delegaciones remotas, se aprovechó el soporte de DNS Dinámico (DDNS) que exitía en los dispositivos dispuestos en ambos extremos del
túnel. De esta manera, se adquirió una cuenta gratuita del Servicio DynDNS
(www.dyndns.org), la cual esta asociada con el cliente VPN de la delegación
de Goya (Router 3Com Office Connect).
Los dispositivos 3Com Office Connect por ejemplo, possee el software
cliente DDNS incorporado en su hardware, y de forma transparente se encarga de actualizar la dirección IP correspondiente al dominio adquirido (cuenta
DDNS), cada vez que el ISP asigna una nueva IP. La figura 4.12 de la página
102 corresponde a una captura de pantalla de la configuración de la cuenta
dyndns.
La siguinentes figuras muestra las pruebas de Resolución de Nombres que
se realizaron sobre la dirección goya2.atx.cx (cuenta DDNS), mediante el uso
4.3. SOLUCIÓN PROVISORIA
Figura 4.11: Nuevo Escenario VPN.
101
102
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Figura 4.12: Cliente DNS Dinámico en dispositivo 3Com.
de los comandos ping (acusa la conectividad con una dirección determinada)
y nslookup (describe los nombre de servidores DNS y su correspondiente direción IP), ambos comandos pertenecientes a la familia de protocolo TCP-IP.
La figura 4.13 de la página 103 muestra los resultados correctos arrojados
por el comando ping mientras que la siguiente figura 4.14 de la página 103
corresponden al comando nslookup .
Configuración Acceso Remoto SSL
Parametros del Servidor VPN-SSL
Dispostivo: Linksys RVL200 VPN-SSL.
Tipo de Servidor: PPP (Protocolo Punto a Punto).
Recursos compartidos LAN: activado.
Interfaz WAN: IP Pública Fija asignada por el ISP contratado en la
ciudad de Corrientes.
4.3. SOLUCIÓN PROVISORIA
Figura 4.13: Pruebas de Conectividad con el Comando Ping.
Figura 4.14: Resultados del Comando Nslookup.
103
104
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
DHCP activo: asigna direcciones IP dentro de un rango determinado
(192.168.5.XXX a 192.168.5.XXX)
Firewall activo: usa el puerto No 433 (abierto por defecto en todos los
routers) para recibir las solicitudes entrantes de conexión.
Pass-through no disponible.
Compresión: ninguna.
Los parametros de autenticación y cifrado no están disponibles por cuestiones de seguridad.
La siguiente figura 4.15 de la pág. 104 corresponde al Panel de Estado
de los Túneles del servidor VPN-SSL.
Figura 4.15: Panel de Estado de Túneles SSL en Linksys RVL200.
Autenticación del Servidor por Medio de Certificados
Como solución provisoria se optó por autenticar solamente el ServidorVPN mediante un certificado SSL X.509, bajo el formato de archivo PEM
4.3. SOLUCIÓN PROVISORIA
105
(Certificado codificado en Base64). Este certificado fué generado de forma local
usando una función propia del dispositivo server; debido a que no está firmado
por una Autoridad Certificadora conocida, como son Thawte o Verisign, los
navegadores generalmente rechazan la solicitud de conexión, o en otros casos,
advierten como medida de seguridad que está a punto de ingresar a un sitio
inseguro. La solución que se planteó a este problema en las delegaciones fué
catalogar a la dirección del servidor VPN (Linksys RVL200) como un Sitio Seguro dentro de la configuración de cada browser. De esta manera se evita toda
reestricción de seguridad, permitiendo cualquier solicitud proveniente de esta
dirección como por ejemplo la instalación de un Pluging, condición necesaria
para el establecimiento del tunel-SSL.
En la figura 4.16 de la página 105 se puede apreciar un ejemplo de un
certificado X.509 bajo un formato de archivo PEM.
Figura 4.16: Ejemplo de un Certificado X.509.
Parametros del Cliente VPN-SSL
Como todo cliente VPN-SSL no tiene configuración, aunque este dispositivo en especial exige que en el navegador del cliente se tenga activado funciones
de javascript ademas de otras, solamente se debe hacer referencia a la dirección
IP del servidor VPN, (ej: https://ip-del-servidor).
La figura 4.17 de la página 106 muestra el Portal Web de Acceso para el
cliente VPN-SSL.
Al pasar la validación en el Servidor, éste envía al cliente un Plugins de
descarga, el cual permitirá extender la red, característica de las VNP-SSL
descriptas en la sección Protocolo SSL del capitulo I . De esta manera la
PC remota pasa a ser una nueva estación de trabaja legítima de la red LAN
106
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Figura 4.17: Interfaz Web del Cliente SSL del Dispositvio Linksys RVL200.
institucional, a partir de aquí, puede utilizar servicios, compartir recursos, etc.,
como si estuviera fisicamente ubicada en el edificio de Casa Central (ver figura
4.18 de la pág. 107).
Arquitectura Lan-to-Lan Sobre IPsec en Linksys RVL 200
En esta implementación, al intentar conectar dispositivos de distintas marcas (3Com y Linksys) se detectaron problemas de interoperatividad, a pesar
de estar usando el protocolo IPsec descripto como un estandar abierto en los
RFCs 4301 y 4309. Los problemas radican en el dispositivo Linksys RVL200,
que sólo acepta conexiones con dispositivos perteneciente a la misma familia
en los modelos RVL200, RVL48 o RVL82, dejando a un lado la ventaja más
grande que proporciona IPsec ( la interoperabilidad de dispositivos descripta
en en capitulo I ). En la figura 4.19 de la página 107 se puede apreciar la interfaz gráfica de la conexión Lan-to-Lan, la cual resulta muy intituiva a la hora
de establecer el túnel pero escasa en información acerca de errores y estado de
los túneles.
4.3. SOLUCIÓN PROVISORIA
107
Figura 4.18: Mensaje de Advertencia Ante la Instalación del Plugins en Internet Explorer 7.0.
Figura 4.19: Interfaz de Configuración de Arquitectura Lan-to-Lan.
108
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Arquitectura Lan-to-Lan sobre IPsec en 3Com Office Connect VPN
El objetivo de esta implementación es reemplazar los 4 tuneles PPTP de
Acceso Remoto por un solo tunel Lan-to-Lan IPsec, el cuál, sería compartido
por todas las estaciones de trabajo de la red LAN perteneciente a la delegación
de Goya. Esta configuración, seria la correcta para este tipo de escenario,
reduce la carga de trabajo en el saturado Server VPN de Casa Central, como
asi también, disminuye la cantidad de inforamción de control transmitida y
reduce los requisitos de ancho de banda en la delegación remota.
Aunque las configuraciones de Acceso Remoto queden dispuestas en las
estaciones de trabajo por una eventual caida del tunel Lan-to-Lan, éstas no
afectarán el renidmiento de la VPN, ya que no serán un Servicio que se inicien
al bootear el Sistema Operativo que trabaje con el tunel Lan-to-Lan.
Detalles del Tunel Lan-to-Lan IPsec
A continación de detallan los parametros que se escogieron para establencer
el tunel, los cuales coinciden en ambos dispositivo (cliente y servidor):
Protocolo de Tunel: IPsec (Internet Protocol security).
Nombre del Tunel: goya.
Protocolo de Encriptación: DES (Data Encryption Standard).
Protocolo de Autenticación: MD5 (Message-Digest Algorithm 5).
Life time (tiempo de vida de los paquetes): 28800ms.
Clave compartida: clavejemplo.
Servidor VPN Tunel Lan-to-Lan IPsec
Red Local: 192.168.0.0/255.255.255.0.
Dirección de red Local: xxx.xxx.xxx.xxx (IP).
Red Remota: 192.168.8.0.
Dirección de red Remota: goya2.ath.cx (IP resuelta por DNS).
En la siguiente figura 4.20 de la página 109 muestra un panel correspondiente al estado de los tuneles VPN en servidor VPN.
4.3. SOLUCIÓN PROVISORIA
109
Figura 4.20: Panel de Estado de Tuneles en Server PPTP.
Configuración del Puente HUAWEI SmartAX 810 Este dispositvo es
el provisto por el ISP, es un Moden-Router y en este escenario cumple funciones
de puente de capa 2 (Modelo OSI). El objetivo de esta configuración es usar
a este dispositivo como nexo conector de distinto tipo de hardware, uniendo
el estandar IEEE 802.3 (Ethernet) de la red LAN, con la conexión WAN
corresponiente a la Red Telefónica Conmutada . La conexión entre los dos
dispositivos está constituida por medio de un cable cruzado (conexión puente
RJ45) a través de las interfaces RJ45, como se detalla en la siguiente figura
4.21 de la página 109.
Figura 4.21: Conexión Física del Puente de Capa 2.
De esta manera se anulan las funciones de Ruteo, Servidor NAT y Cliente
PPPoE (cliente WAN) en el router Huawei, delegando estas tareas al router
3Com Office Connect ADSL, el cual también cumple otras funciones como la
110
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
de cliente VPN.
Los parámetros de configuración del dispositivo HUAWEI SmartAX
810 son los siguientes:
• Modo: Bridge.
• Encapsulation: RFC2684.
• Main IP address: 10.0.0.2.
• DHCP: activado.
• NAT Status: desactivado.
(ver figura 4.22 de la página 110.)
Figura 4.22: Configuración del Modo Puente en Dispositivo Huawei MT882.
4.3. SOLUCIÓN PROVISORIA
111
Parámetros del Servidor VPN Lan-to-Lan sobre IPsec:
• Modo: Router.
• Red Local: 192.168.0.0/255.255.255.0.
• Tipo IP Pública: fija.
• Red Remota (VPN): 192.168.8.0.
• Dirección de la red Remota: goya2.ath.cx (IP resuelta por DNS).
La siguiente figura 4.23 de la página 111 muestra un panel correspondiente
al estado de los tuneles VPN en servidor VPN.
Figura 4.23: Panel de Estado de los Túneles en 3Com Officce Connect ADSL.
Cliente VPN Lan-to-Lan 3Com Office Connect ADSL:
• Tipo de IP Pública: dinámica.
• DHCP-LAN: activado.
• NAT Status: activado.
• CLiente PPPoE: activado.
Las siguiente figura 4.24 de la página 112 muestras la interfaz de configuración del cliente PPPoE del router 3Com.
Parametros del Cliente VPN:
• Dirección de red Local: goya2.ath.cx (IP resuelta por DDNS).
• Red Local: 192.168.8.0.
• Red Remota: xxx.xxx.xxx.xxx. (IP).
• Dirección de red Local Remota: 192.168.0.0.
112
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Figura 4.24: Cliente PPPoE.
4.3. SOLUCIÓN PROVISORIA
Figura 4.25: Configuración Lan-to-Lan en 3Com Office Connect.
113
114
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
La figura 4.25 de la página 113 muestra los parametros del tunel IPsec
en el cliente VPN .
Parámetros del Cliente VPN :
- Dirección de red Local: goya2.ath.cx (IP resuelta por DDNS).
- Red Local: 192.168.8.0.
- Red Remota: xxx.xxx.xxx.xxx. (IP).
- Dirección de red Local Remota: 192.168.0.0.
4.3.3.
Implementación de una VPN-Backup por Software
Basándose en las grandes ventajas que existen entre las VPN sobre SSL y
demás protocolos, se decidió usar el software OpenVPN para implementarlo
tanto en los clientes como en el servidor VPN de la red institucional. La
arquitectura elegida es de tipo Road Warrior, bajo una infraestructura de
llave pública (IKE) para incremantar la seguridad de dicha red.
Arquitectura Road Warrior en Modo Tunneling
Una de las posibilidades que brinda OpenVPN es crear una Red de Túnel
tipo IP (alternativa al puente Ethernet de capa 2), que permita encaminar
todo el tráfico de la red local del servidor (192.168.0.0 en este caso) a las
estaciones de trabajo remotas de la VPN y viceversa, de tal forma que sea
posible compartir recursos entre PC’s de distintas redes. Para lleva a cabo
una arquitectura como ésta es necesario que el equipo server-VPN cumpla
también funciones router (encaminador IP).
En este caso, se decidió trabajar bajo un entorno Linux en su distribución
Ubuntu versión 9.10, implementando las funciones de ruteo mediantes reglas
IPTABLES (Firewall del Kernel de Linux), además de otras funciones como
son funciones NAT (Traducción de Dirección de Red) y directivas de control
de acceso.
Reglas IPTABLES de Linux Las siguientes reglas IPTABLES están guardadas en un archivo local del servidor y se ejecutan al bootear el equipo:
Reglas de función de Ruteo o Encaminador
Esta función es necesaria en el servidor para que el tráfico IP pueda ser
encaminado desde la interfaz física (eth0) hacia la intrefaz virtual (tun0) y
4.3. SOLUCIÓN PROVISORIA
115
viceversa. Una vez que los paquetes IP atraviesan cada interfaz, las funciones
NAT se encargan de encontrar cada una de las direcciones IP que posean los
paquetes en sus destinos. A continuación se puede aprecias la regla IPTABLE
necesaria para dicha función, la cuál se conoce como regla de habilitación del
IP forwarding (desabilitada por defecto):
echo 1 > /proc/sys/net/ipv4/ip_forward
Reglas para la función NAT
Al igual que en una conexión a Internet compartida entre 2 PC o más,
las funciones NAT hacen posible que una IP (pública en esta ejemplo) pueda
ser compartida por varias PC usando la dirección de puerto destino de cada
paquete para identificar a estas (PC’s). En nuestro escenario, la dirección IP
de la interfaz física del Servidor (eth0) es compartida por todos clientes-VPN
y mediante ésta, pueden acceder a cualquier pc de la red local, simulando ser
el mismo servidor-VPN, el cúal se encargará de redireccionar los paquetes a
los clientes-VPN destino por medio de la interfaz virtual (tun0). Esta configuración se considera válida, ya que el servidor-VPN es considerada una estación
legítima para ambas redes.
La siguiente regla IPTABLE correspondiente a ésta función:
iptables -A FORWARD -s 192.168.0.0/24 -o tun0 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -m state —state ESTABLISHED,
RELATED -i tun0 -j ACCEPT
Reglas de Control de Acceso
Por medidas de seguridad y a modo de ejemplo, se exponen las siguientes
reglas de control de acceso totalmente permisivas, las cuales permiten que el
esquema funcione permitiendo que atraviese cualquier tipo de tráfico IP por
el firewall:
• iptables
iptables
iptables
iptables
iptables
-A
-A
-A
-A
-A
INPUT -i tun0 -j ACCEPT
OUTPUT -i tun0 -j ACCEPT
FORWARD -i tun0 -j ACCEPT
INPUT -p udp —dport 1194 -j ACCEPT
INPUT -p tcp —dport 1194 -j ACCEPT
116
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Infraestructura de Clave Pública (IKE) con OpenVPN
Mediante el uso de las mismas herramientas que ofrece OpenVPN se pudo
llevar a cabo este tipo de implementación; si bien éstas no son propias del
software, se trata de un conjunto de funcionalidades de la librería openSSL, la
cuál se copia al sistema de archivos al instalar el programa. Mediante éstas,
se crearon los siguientes elementos: certificados X.509 del Servidor y Clientes
VPN, parámetros Diffie Hellman y la propia Autoridad Certifacadora (AC).
Autoridad Certificadora IOSCOR Fue necesario crear la autoridad certificador IOSCOR con el objetivo de ser usada exclusivamente en esta VPN.
Esta AC se encarga de verificar la validez de los certificados en cada petición
de conexión que envían los clientes-VPN, radica en el mismo equipo ( Servidor
Ubuntu) donde ofrece sus servicios el server-OpenVPN.
Para esta ocación no fué necesario contratar una Autoridad Certificadora
Conocida para los navegadores, ya que OpenVPN no hace uso de un navegador
web, las configuraciones se realizan sobre un archivo de texto plano e inclusive
para los S.O. Windows, existe un GUI (Intefaz Gráfica de Usuario) que permite establecer los túneles de una manera muy sensilla como se describe más
adelante.
Certificados OpenVPN Cada uno de los certificados fue creado respetando el estandar X.509 y físicamente están almacenados como archivos “ *.CER
”. Todos los clientes-VPN del interior usan en principio el mismo certificado
para validarse en el servidor; en una optimización de este esquema de seguridad se podrán crear certificados particulares para cada uno de ellos, como así
también una forma más segura de almacenarlos como por ejemplo en tarjetas
magnéticas.
En la figura 4.26 de la página 117 se puede ver el certificado cliente VPN
emitido por la Autoridad Certificadora IOSCOR 2 .
Servidor OpenVPN
La siguiente configuración corresponde al Server OpenVPN, se encuenta
almacenada en el directorio OpenVPN dentro de un archivo *.conf, cada una
de sus líneas está acopañada por una descipción en forma de comentario (líneas
que comienzan con el signo ‘#’):
2
En el Certificado no se hace referencia a los parametro por cuestiones de seguirdad.
4.3. SOLUCIÓN PROVISORIA
Figura 4.26: Certificado Emitido por la A.C. IOSCOR.
117
118
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
# puerto de escucha del servidor
port 1194
# protoco que se usara
proto udp
# conexión tipo tunelamiento IP
dev tun
# ruta y nombre de cada certificado
ca etc/OpenVPN/key/ca.crt
cert etc/OpenVPN/key/server.crt
key etc/OpenVPN/key/\server.key
dh etc/OpenVPN/key/\dh1024.pem
#Direcciones que se asignaran a los clientes, el server es .1
server 192.168.3.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#Ruta para que los clientes alcancen la red local del server (56.0/24)
push route 10.0.0.0 255.255.255.0"
# parametro de conexión del tunel
persist-key
persist-tun
keepalive 10 120
comp-lzo
status openvpn-status.log
verb 4
Cliente OpenVPN
El siguiente detalle corresponde a la configuración de los clientes OpenVPN, en este caso están almacenados en un archivo *.opvn, bajo un entorno
Windows XP.
#especifica que es un cliente
tls-client
client
nobind
# modo tuneling IP
4.3. SOLUCIÓN PROVISORIA
119
dev tun
#se usa el protoco
proto udp
#dirección pública del servidor OpenVPN
remote xxx.xxx.xxx.xxx
float #es porque la ip del DDNS es dinamica
# ruta de acceso y nombre de los certificados
ca Ç:\\Archivos de programa\\OpenVPN\\ca.crt"
cert Ç:\\Archivos de programa\\OpenVPN\\cliente.crt"
key Ç:\\Archivos de programa\\OpenVPN\\cliente.key"
#parametros de conexción del tunel
resolv-retry infinite
persist-key
persist-tun
comp-lzo
verb 4
Interfaz de Usuario Cliente OpenVPN (GUI) de Windows Una de
las ventajas que tiene OpenVPN es que para el usuario común existe una
interfaz gráfica (GUI) muy amigable, que le permite usar al Cliente-OpenVPN
de una manera muy fácil. Esta interfaz es también de código libre y gratuita,
permite establecer el túnel con el servidor mediante un simple doble-clik en el
ícono que se puede apreciar en la figura 4.27 de la página 119.
Figura 4.27: Interfaz Gráfica de OpenVPN para S.O. Windows.
120
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
Permite también desconectar el túnel, reiniciar,configurar un servidor Proxy,
entre otras.
Configuraciones en la Puerta de Enlace del Servidor VPN (router
Linksys RVL200)
Debido a que el Servidor OpenVPN no es justamente la puerta de enlace
de la red o bien no cumple funciones de máquina anfitriona de Internet, es
necesario realizar algunas configuraciones en el equipo que esté compliendo
esas funciones; en este caso se trata del nuevo dispositivo Linksys RVL200.
Los ajustes necesarios son redireccionamiento de puertos y las nuevas rutas
estáticas, que se detallan a continuación.
Port Forwarding (Redireccinamiento de Puertos) en Linksys RVL200
Los cliente OpenVPN envían solicitudes de conexión desde las delegaciones a
la dirección IP pública del IOSCOR, pero, ¿cómo encontrarían al Servidor
OpenVPN dentro de la Red Privada Intitucional?.
Este problema se soluciona redireccionando todo los paquetes con puerto
destino nro1194 (puerto de escucha de OpenVPN) a la dirección de la interfaz
física del servidor OpenVPN. Esta regla se configura en la puerta de enlace
de la red instutucional, como se detalla a continuación en la figura 4.28 de la
página 120.
Figura 4.28: Redireccionamiento de Puertos (Port Forwarding).
4.4. SOLUCIÓN DEFINITIVA
121
Rutas Estáticas en Linksys RVL200 Fue necesario también agregar la
siguiente ruta estática para que las PC’s de la red institucional puedan alcanzar
la dirección 192.168.8.0 correspondiente a la VPN. La configuración se podría
traducir “como todo lo que va a la red 192.168.8.0 se envía a la dirección de
192.168.xxx.xxx” (ver figura 4.29 de la pág. 121).
Figura 4.29: Configuración de Rutas Estáticas en Linksys RVL200.
4.4.
Solución Definitiva
Para terminar con este capítulo, se considero como Solución Definitiva la
unificación de los protocolos VPNs usados en la institución, en este caso se
optó por usar unicamente SSL (Security Layer Socket), por lo que es necesario
la adquisición de un nuevo dispositvio de alto rango acorde para desempeñar
las funciones de Servidor-SSL.
La VPN del I.O.S.COR. quedaria entonces resumida en un LAN que conecta a las delegaciones del interior con la red institucional, acompañada de la
122
CAPÍTULO 4. IMPLEMENTACIONES VPN’S
VPN-Backup (bajo OpenVPN) descripta anteriormente.
Luego de un amplio relevamiento de información entre los distintos sitios
de fabricantes de dispositivos de redes más conocidos (ej: Cisco, 3Com, Barracuda, etc), se les propuso a las autoridades del I.O.S.COR., las siguientes
opciones detalladas por orden de prioridad en la figura 4.30 de la pág.122.
Figura 4.30: Servidores VPN-SSL de Distintos Fabricantes.
Entre estos dispositvos, se destaca el router Cisco 5510 perteneciente a
la familia ASA 5500, el cual cumple con todos los requisitos necesarios para
desempeñar las funciones de Server-VPN en lo que consideramos el esquema
óptimo correspondiente a este escenario. En la figura 4.31 de la pág. 123 se
puede ver un detalle de las características de dicho dispositivo.
4.4. SOLUCIÓN DEFINITIVA
Figura 4.31: Router Cisco ASA 5510.
123
Capítulo 5
E-Learning
5.1.
Introducción al e-learning
5.1.1.
El Concepto de Aprendizaje Electrónico
En este primer capítulo se presenta una introducción sobre las nociones
básicas del Aprendizaje Electrónico.
El aprendizaje electrónico es un término que ha adquirido cada vez más
125
126
CAPÍTULO 5. E-LEARNING
popularidad en lo que respecta a la capacitación digital y en línea; “e-learning”,
s el término en inglés.
El aprendizaje electrónico significa algo más que sólo la transmisión digital
de conocimientos en línea, o la capacitación basada en la computación a través
de la Red WWW. Se refiere a dos componentes importantes:
• La experiencia del aprendizaje.
• La tecnología electrónica.
La experiencia que se logra del aprendizaje electrónico resalta lo importante de las metodologías y técnicas de capacitación que:
• Hacen que el alumno desee investigar más el tema.
• Proporcionan una práctica simulada de aptitudes y procedimientos.
• Ayuden, apoyen y dirijan a los alumnos.
• Permitan que el alumno interactúe con otros que también están aprendiendo.
Definición de Aprendizaje Electrónico
El término “e-learning” viene de dos siglas en inglés‚la “e” de e-learning
se corresponda a la palabra “electronic” en inglés, así forma un sustantivo
compuesto cuyo núcleo es la palabra learning que se traduce como aprendizaje. Ante esta combinación el término se traduce de manera apropiada como
“Aprendizaje Electrónico” o aprendizaje por medios electrónicos.
Este nuevo concepto hace referencia al aprendizaje por medio de equipos
electrónicos, como una computadora, el correo electrónico, equipos y servicios
relacionados, la red WWW y la tecnología del CD-ROM; ofreciendo de esta
forma, una nueva y mejor posibilidad de capacitar a los alumnos y al personal de una determinada organización, que necesitan aprender rápidamente
nuevas técnicas y asimilar nueva información, para competir eficazmente en la
actualidad y no mantenerse aislados.
También es una de las formas que ha adoptado la llamada educación a
distancia, al desarrollarse y masificarse las intranets y redes de área amplia,
como es la Red Internet.
5.1.2.
¿Por qué el E-Learning?
Quizá decir que el e-learning es “la respuesta” para todas las personas y
empresas, sea demasiado pretencioso. Pero desde luego sí que es una respuesta
5.1. INTRODUCCIÓN AL E-LEARNING
127
cualitativa (respecto a contenidos, tecnología, metodología, servicios) y cuantitativa (en tiempos, costes, número de participantes) a la realidad de nuestro
tiempo.
Si recordamos los elementos característicos que configuran la organización
empresarial actual podemos constatar que e-learning responde a las necesidades que nuestra empresa tiene, ya que:
Permite un fácil acceso a la formación y actualización tanto del personal
como de la empresa.
La mayor participación del alumno en el proceso formativo favorece la
adquisición y asimilación de conocimientos y habilidades.
Reduce costes indirectos al evitar desplazamientos (formación en el propio puesto de trabajo).
Puede realizarse en cualquier lugar, en cualquier momento (anywhere,
anytime).
Supone una reducción de un 40-60 % de coste respecto a la formación
tradicional.
Crea hábitos de uso de nuevas tecnologías, que son aplicables en el trabajo diario.
5.1.3.
La Tecnología y el Acceso
Internet se presenta como una respuesta lógica para cubrir las nuevas demandas de educación y formación.
Teniendo en cuenta la tendencia de crecimiento, las previsiones del mercado
de las TIC para el año 2006 son verdaderamente positivas, lo cual proporciona
al e-Learning una posición estructural muy favorable.
Los obstáculos técnicos tales como el acceso, los estándares, las infraestructuras o el ancho de banda no serán un problema.
El crecimiento del World Wide Web, la gran capacidad de las redes corporativas y los grandes avances en las computadoras personales proporcionarán
la estructura tecnológica suficiente para que el aprendizaje online pueda estar
disponible 24 horas al día y 7 días a la semana (24x7).
128
CAPÍTULO 5. E-LEARNING
5.1.4.
La Globalización de Mercados
Los mercados, los productos y la educación cada vez son más globales.
Las barreras de la localización están siendo solventadas día a día a través
de mercados de productos y de servicios (incluyendo la educación) abiertos o
activos 24 horas al día y 7 días a la semana (24x7) a través de la utilización de
métodos y tecnologías apropiadas. La sociedad debe adaptarse a estos cambios
para resultar competitiva.
5.2.
Qué es el E-Learning: Sus Características y Segmentación del Mercado
5.2.1.
E-Learning vs. Online Learning
La terminología tecnológica está en continuo desarrollo, al igual que el
entorno en el que se genera y sobre todo los términos “e-” que abarcan aspectos
muy amplios y muy diversos dependiendo de las organizaciones y de los grupos
de usuarios.
El término “e-Learning” hizo sus primeras apariciones a finales de 1997
y principios de 1998 y se utiliza actualmente para cubrir casi cualquier
tipo de aprendizaje basado en las tecnologías de la información y la comunicación (TIC) en su significado más amplio. Según Elliot Marie, uno
de los pioneros y gurús del e-Learning, “el e-Learning no es un curso puesto en un PC” sino una nueva mezcla de recursos, interactividad,
rendimiento. Una nueva estructura para el aprendizaje, una combinación
de servicios de enseñanza proporcionados a través del uso de herramientas tecnológicas que proporciona un alto valor añadido: a cualquier hora
y en cualquier lugar (anytime, anywhere).
Por lo tanto, el e-Learning se refiere tanto al entorno como a los procesos
de aprendizaje, siendo los contenidos electrónicos solamente una parte del
sistema.
El término e-Learning se entiende como un método de enseñanza aprendizaje que hace uso de herramientas tecnológicas, recogiendo un amplio
abanico de aplicaciones y procesos entre los que se incluye el aprendizaje
a través de una computadora personal (PC), el aprendizaje basado en
tecnologías Web, clases virtuales, colaboraciones digitales, etc.
5.2. QUÉ ES EL E- LEARNING
129
El e-Learning implica la entrega de contenidos por medios electrónicos
como Internet, intranets, extranets, televisión interactiva, CD ROMs,
etc. Así pues, el e-Learning incluye aquellas sesiones presenciales que
utilicen herramientas digitales o electrónicas como medio para la difusión
y la práctica de los contenidos de un curso.
Online learnining se describe como contraposición al c-learning (Classroom learning), es decir, como el aprendizaje basado en Web. Online
learning constituye sólo una parte del e-Learning e implica un sistema
de enseñanza-aprendizaje vía Internet, intranets o extranets.
Los niveles de sofisticación del online learning varían desde sistemas
muy básicos de transmisión de los textos y gráficos de un curso, ejercicios, exámenes, etc. a niveles más sofisticados como animaciones, simulaciones, secuencias de vídeo y audio, grupos de discusión entre expertos
y entre compañeros, enlaces a materiales de la Intranet, etc. e-Training:
es el término utilizado para describir la formación empresarial conducida
vía e-Learning.
Los tres tipos de sistemas de enseñanza-aprendizaje pueden ser sincrónicos y/o asincrónicos:
• Las entregas de cursos sincrónicos suponen un sistema de enseñanzaaprendizaje llevado por un tutor/facilitador en tiempo real, en el
cual todos los participantes pueden comunicarse directamente entre ellos en el mismo espacio de tiempo. Ejemplos de este tipo de
cursos son las clases virtuales, o incluso las clases presenciales que
utilizan las tecnologías de la información y la comunicación (TIC)
como herramienta para la enseñanza-aprendizaje.
• Las entregas de cursos asincrónicos son aquellos en los que los procesos de comunicación entre los participantes se producen obligatoriamente con un desfase de tiempo.
5.2.2.
Reducción de Costes
Tanto a nivel empresarial como individual dentro de los costes de la educación o de formación hay que incluir los costes de transporte, alojamientos
y manutención o dietas (dependiendo de los casos) en el lugar físico donde
tiene lugar la actividad formativa en cuestión. Para aquellos individuos que
quieren optar por universidades, cursos o maestrías internacionales los costes
de transporte, alojamiento y manutención suponen un coste tan elevado o más
130
CAPÍTULO 5. E-LEARNING
que el del curso que se desea seguir. Esto supone un impedimento para muchas
personas que no se pueden permitir estos costes adyacentes a la educación pero
que sí se podrían permitir el precio de la actividad formativa en cuestión.
Si consideramos el derecho a la educación como un servicio de primera
necesidad, se puede decir que, el e-Learning da un paso adelante a favor de
la democratización de la educación (aunque siga aquí quedando pendiente el
tema de los info-ricos e info-pobres).
Para las empresas, aproximadamente dos tercios del coste de formación
de los empleados se destina a gastos de transportes y dietas para los empleados que asisten a los cursos, lo cual supone una disminución notable de los
beneficios netos de formación de la empresa. Otro aspecto que las empresas
consideran a la hora de optar por el e-Learning o e-Training es el hecho de
que los cursos se pueden ofrecer en sesiones más cortas y durante periodos
de tiempo más largos sin que la formación monopolice todo el tiempo de los
empleados pudiendo compaginar la formación con sus obligaciones dentro de
la empresa, o con su vida personal.
5.2.3.
Incremento de la Retención de los Contenidos
El e-Learning permite un mayor espacio para los distintos ritmos y estilos de aprendizaje a través de un proceso más personalizado. Con un acceso
24x7 los estudiantes pueden aprender a su propio ritmo y revisar los materiales tantas veces como lo necesiten. El hecho de que sea el estudiante el que
gestione su tiempo y materiales de acuerdo a sus posibilidades individuales ha
demostrado que la curva de aprendizaje se acelera un 60 % con respecto a las
clases presenciales.
5.2.4.
Las Mejoras de la Interactividad en el E-Learning
Las nuevas tecnologías aplicadas a las plataformas de e-Learning han eliminado muchas de las barreras de comunicación y de interactividad que se han
identificado como una de las principales desventajas del e-Learning. Sin embargo, algunos de los principales inconvenientes que identifican todavía al eLearning son: 1) falta de relación personal 2) falta de calidad pedagógica y
3) escasa participación. A nivel tecnológico ya es posible crear un ambiente
interactivo online a través de estudios de casos, demostraciones, juegos de
rol, simulaciones, difusión online de vídeos, tutorías personalizadas, grupos de
discusión, trabajos en grupo, chats, e-mail, tablones de anuncios, tutoriales,
etc.
5.3. VENTAJAS DEL E-LEARNING
131
Según varios estudios, los alumnos tienden a profundizar más en los temas
cuando el aprendizaje se produce online, esto se debe en parte a que en el
e-Learning el profesor/facilitador no monopoliza toda la atención.
Respecto a la escasa participación, merece la pena prestar atención al hecho
de que el aprendizaje online “intimida” menos que las clases presenciales ya
que los alumnos pueden cometer errores sin exponerse físicamente.
Con el e-Learning se refleja que los estudiantes tienen menos problemas en
volver a intentarlo después de haber cometido un error. El e-Learning elimina
la “vergüenza” de equivocarse frente a un grupo de iguales.
5.3.
Ventajas del e-learning
Las principales ventajas se señalan a continuación:
• Puede ampliar el aprendizaje a toda la organización. Con las tecnologías
de aprendizaje electrónico, se puede llegar al personal gerencial y administrativo de todos los niveles con el mismo contenido de capacitación y apoyo educativo. Por ejemplo, al descentralizar sus servicios, las organizaciones tienen que
desarrollar la capacidad del personal a nivel distrital y local. Con la infraestructura física adecuada, los administradores de esos niveles pueden recibir la capacitación y las herramientas gerenciales necesarias.
• Puede llegar a un gran número de alumnos. El desarrollo gerencial y
administrativo a menudo requiere que un gran número de administradores
instituyan prácticas y técnicas nuevas. Las tecnologías de aprendizaje electrónico potencialmente pueden llegar y ayudar a capacitar, en el corto plazo,
a esa masa crítica de administradores necesarios para un
desarrollo eficaz.
• Puede adecuar las actividades de aprendizaje electrónico a la medida de
los individuos. La instrucción que emplea una estrategia basada en el aprendizaje electrónico puede organizarse para permitir que los alumnos avancen a
su propio ritmo, concentrándose en temas que se adecúen a sus necesidades
individuales. Se pueden saltar las partes con las que ya están familiarizados o
repetir las partes difíciles.
• Puede facilitar ayuda por instructores entre sus colegas. Muchos creen
que los tutores deben ser personas cuyo ejemplo se debe seguir, y éste es uno de
los componentes más importantes en el desarrollo gerencial y de liderazgo. En
los programas de las carreras universitarias tradicionales, los tutores actúan
como tutores y las relaciones que se establecen con los estudiantes de por vida
132
CAPÍTULO 5. E-LEARNING
constituyen una base clave para desarrollar el
potencial de liderazgo. El aprendizaje electrónico y las comunicaciones electrónicas brindan una mayor posibilidad de desarrollar relaciones a largo plazo
entre los alumnos y sus educadores.
5.3.1.
Qué Nos ha Llevado a Elegir E-learning
Los aspectos que nos llevan a apostar por el e-learning, como metodología
formativa son:
Su capacidad de respuesta:
1. Aumenta y complementa las posibilidades formativas al ofrecer diversidad dentro de las modalidades existentes, formación presencial y a
distancia.
2. Amplía y mejora la oferta formativa tanto en contenido como en el
número de personas que van a recibir la formación.
3. Combinando la flexibilidad de la metodología y la rapidez aportada por
el medio (Internet) permite la adaptación a las necesidades particulares
de:
Empresas: configurando planes de carrera individuales, reduciendo tiempos de inversión en formación y manteniendo sus áreas de trabajo permanente actualizadas para afrontar los cambios.
Usuarios (alumnos): responder a las necesidades de cada uno (en contenido, ritmos de aprendizaje), y sobre todo con una gran rapidez para
adaptarse a los del mercado de trabajo.
La Innovación:
1. Apostar por e-learning puede parecer en sí mismo una acción innovadora por el hecho de romper con los métodos y modalidades de
formación tradicionales.
Pero no, la innovación radica en que supone la incorporación de nuevas
tecnologías y metodologías al desarrollo de la formación.
El uso de las Tecnologías de la Información y la Comunicación (TIC) se
encuentra estrechamente relacionado con el desarrollo tecnológico de la
5.3. VENTAJAS DEL E-LEARNING
133
sociedad. Por lo que utilizar un método de formación que pone plenamente en contacto al alumno con las TIC, e-learning, favorece la incorporación y uso de nuevas tecnologías en la empresa y en el puesto de
trabajo, generando a su vez una cultura de Internet.
Los resultados de un mayor conocimiento de las Tecnologías de la Información y las Comunicaciones son:
Aumento de las competencias y cualificación de los trabajadores,
además de su “empleabilidad” a través de la formación continua.
Aumento de la concienciación de la sociedad sobre el uso de las
Nuevas Tecnologías, y las bondades que éstas pueden aportar tanto
a nuestra vida personal como profesional, rompiendo una lanza a
favor del cambio.
Mejora de la utilización del capital humano a través de una mejora
de la cualificación de los empleados.
2. La metodología e-learning, se caracteriza por ser:
Sensorial: a través de la utilización de multimedia se aprovechan al
máximo los canales sensitivos, logrando una mayor asimilación de
los conocimientos.
Interactiva: el alumno puede manejar la información como lo desee;
puede imprimirla, copiarla a otro archivo, realizar conexiones a enlaces
de interés, organizar el ritmo de lectura, detener en el momento que desee su estudio y continuar en el mismo sitio que lo dejó. Además tiene
la posibilidad de conexión con otras personas: Tutor, alumnos,
Participativa: implica al alumno como sujeto activo y protagonista
del aprendizaje al ofrecer posibilidades de acción, variación, decisión, rompiendo con la pasividad y acentuando la implicación y
responsabilidad del propio alumno en el proceso. El alumno puede
realizar en el momento que lo desee una consulta sin tener que
esperar de forma unidireccional recibir información.
Comunicativa: el uso de tutorías on-line como técnica de conversación dirigida, con formato de mensajería instantánea o Chat,
basado en preguntas más que en una discusión libre, permite la
creatividad y el flujo de ideas y mejora las habilidades de expresión
escrita.
134
CAPÍTULO 5. E-LEARNING
Adaptable: aunque la información, contenidos, estén organizados y
estructurados, el alumno puede seleccionar dentro de esa organización el camino que considera más adaptado a sus características.
De esta forma rompe con la linealidad, ofreciendo un recurso flexible, que
se adapta a las características personales, ritmos, gustos y aspiraciones
del alumno.
Sencilla: el entorno y las herramientas utilizadas no requieren conocimientos ni habilidades específicas. Esto permite atender el curso a diferentes alumnos con diferentes condiciones y horarios. La seguridad
del entorno permite el acceso de diferentes alumnos al mismo material, aunque protegiendo el propio, e impidiendo que sus ideas y
respuestas sean borradas por otros alumnos.
3. La superación de dificultades:
Permite superar barreras tanto de espacio (dimensiones del aula o centro formativo), como de tiempo (adecuación a horarios, desplazamientos
para acceder a los centros de formación) y distancia (dispersión geográfica de los alumnos, lejanía de los centros de conocimiento).
El e-learning posibilita que la acción formativa tenga lugar desde cualquier
lugar y en cualquier momento. Esta ventaja permite que, como personas
que viven alejadas de los núcleos importantes de población donde se
concentran escuelas y centros de conocimiento; como aquellas que por
sus jornadas de trabajo les resulte incompatible el trabajo y el reciclaje
profesional, tengan acceso a la formación.
Otra gran ventaja del e-learning es que se puede acceder veinticuatro
horas al día y los siete días de la semana (24x7), pudiendo así elegir cada
cual el momento de estudio adecuado a sus necesidades y posibilidades.
Eliminar el espacio físico-temporal posibilita que se pueda dar formación
a un número muy superior de personas que a las posibles a través de la
tradicional (presencial), se calcula que hasta unas diez veces más.
4. El ahorro:
Se estima que alrededor del 60 % del coste empresarial de una acción
formativa se destina a partidas que no son estrictamente formación. La
tecnología posibilita que allí donde haya un ordenador conectado a la
red exista un punto desde el cual formarse.
5.3. VENTAJAS DEL E-LEARNING
135
El e-learning supone un ahorro en costes, de un 40-60 % respecto a la
formación tradicional, directos (coste propio de la formación) e indirectos
(desplazamientos, comidas, horas de trabajo, etc.).
Además, la formación on-line también puede llegar a reducir en un 60 %
el tiempo que una persona tarda en adquirir determinados conocimientos
respecto a la enseñanza tradicional y, así mismo, el nivel de retención de
conocimientos aumenta hasta un 75 % debido a la metodología utilizada.
5. El conocimiento:
El conocimiento es posible hacerlo llegar a más personas una vez que
superamos las barreras señaladas anteriormente en el punto 3. Además
esta metodología posibilita la cooperación y comunicación bidireccional
(alumno-profesor, alumnos-alumnos,), así como el desarrollo de habilidades (uso de las TIC) y actitudes (responsabilidad, organización, autoaprendizaje,) trasladables posteriormente al puesto de trabajo.
Ventajas Para los Usuarios de Formación e-Learning (alumnos)
Acceso en cualquier momento, en cualquier lugar (anytime, anywhere).
Acceso a una amplia oferta formativa al superarse las barreras geográficas.
Acceso inteligente a la información. Disponibilidad del contenido 24x7
(24 horas al día, 7 días a la semana).
Agilidad en la comunicación (consultas, comunicación entre participantes...).
Alumno como sujeto activo y protagonista del proceso formativo.
Personalización del aprendizaje (ritmos de aprendizaje, tutorías personalizadas,...).
Mayor interacción entre participantes y profesores. Posibilidad de formación síncrona.
Desarrollo de la formación en entornos colaborativos y dinámicos.
Aunque hemos descubierto las múltiples ventajas del e-learning, y una de
ellas ha sido el ahorro, es importante también insistir en que la formación
online no va a sustituir por completo a la formación tradicional, ya que algunas personas y empresas considerarán que para ciertas materias es necesario,
cuando no imprescindible, la formación presencial. [14]
136
5.4.
CAPÍTULO 5. E-LEARNING
¿Qué Frena al E-learning en el Presente, y lo
Traslada a un Desarrollo Pleno en el Futuro?
Cierto es que el e-learning es una realidad presente, pero a la vez es “un
¡ya!, pero todavía no”. ¿Qué queremos decir? Pues que aunque actualmente son
numerosas las empresas que desde sus Departamentos de Recursos Humanos
han apostado por esta metodología formativa y muchas las empresas dedicadas
al negocio de la formación a través de Internet, no podemos obviar que existen
dificultades que impiden su desarrollo pleno a día de hoy y por tanto trasladan
la consolidación del e-learning a un futuro próximo.
Algunos de los inconvenientes con que nos encontramos son:
1. LA CULTURA
La lenta incorporación de las empresas al uso de las Nuevas Tecnologías.
La visión localista frente a la visión global de Internet.
Pasar de la formación tradicional a un nuevo modelo de formación.
Falta de “cultura de aprendizaje” sobre la pantalla de un PC.
La falsa creencia de que el e-learning es totalmente individualista.
2. LAS INFRAESTRUCTURAS
La baja calidad de las infraestructuras de comunicaciones con las
que contamos es otro de los motivos de retraso en el despegue del
e-learning.
El hecho de que la banda ancha no haya llegado a todas las empresas
y hogares (por su coste,) condiciona el desarrollo de los contenidos,
ya que implementar todos los recursos posibles hoy en día al alcance de la tecnología supone, en muchos casos para el alumno, un
alto tiempo de espera; lo cual desalienta en el proceso formativo
pudiendo provocar abandonos.
3. LA MADUREZ
Internet, las empresas y filosofía “punto com” siguen considerándose
como un medio no maduro y genera desconfianza.
5.4. QUÉ FRENA AL E-LEARNING
137
Además aunque existe una gran variedad de oferta, la misma está muy segmentada, siendo difícil que una empresa encuentre en
un solo proveedor respuesta a todas sus necesidades tecnológicas y
formativas.
5.4.1.
Mediadores e Interoperabilidad en E-Learning
La revolución de las nuevas tecnologías y el crecimiento acelerado de Internet han permitido la creación de un gran número de plataformas de e-Learning
y a su vez la necesidad de regular e interoperar estas plataformas.
1. La interoperabilidad es definida por la IEEE como “la habilidad de
dos o más sistemas o componentes para intercambiar información y para
usar la información que ha sido intercambiada” [15]. En los sistemas de
e-Learning, la interoperabilidad permite el intercambio y reutilización
de recursos educativos (cursos, documentos, videos, tutoriales, etc.) que
han sido desarrollados en plataformas educativas heterogéneas, lo cual
permite:
Incrementar la calidad y variedad de recursos educativos disponibles
en el mercado.
Preservar el capital invertido en tecnología y desarrollo de recursos
educativos, ya que un recurso educativo podrá ser intercambiado o
usado sin la necesidad de realizar costosas modificaciones.
Garantizar que los usuarios con diferentes plataformas hardware
y software puedan acceder a recursos educativos de fuentes heterogéneas, con perdidas mínimas tanto de contenido como de funcionalidad.
Para lograr la interoperabilidad en e-Learning es necesario:
Definir una sintaxis y semántica común para la descripción de los
recursos educativos (estándares y tecnologías del Web Semántico).
2. Estándares y especificaciones en e-Learning, en lo que respecta a
las tecnologías de la información, los objetivos primordiales de los estándares consisten en lograr un “lenguaje común”, que facilite la integración
e interoperabilidad entre diferentes sistemas y tecnologías, con pérdidas
mínimas, tanto de contenido como de funcionalidad. La estandarización
de las tecnologías aplicadas al aprendizaje pretende posibilitar la reutilización de recursos educativos y la interoperabilidad entre sistemas
software heterogéneo. Los estándares en e-Learning permiten: [16] [17]
138
CAPÍTULO 5. E-LEARNING
Accesibilidad: Proporcionar acceso de contenido desde cualquier lugar a través de un navegador de
Internet sin importar la plataforma o el contenido en sí mismo.
Interoperabilidad: El contenido debería ser independiente de herramienta o plataforma, de tal manera de poder utilizar diferentes
plataformas para accesar un mismo contenido. También se refiere a
la posibilidad de usar un contenido en una plataforma diferente.
Adaptabilidad: Los estándares se refieren al hecho de poder facilitar
la adaptación o personalización del entorno de aprendizaje.
Re-usabilidad: Solo el uso de estándares nos facilitará el diseñar
contenidos que puedan ser utilizados una y otra vez en diferentes
asignaturas, cursos o programas educativos.
Durabilidad: El contenido debería poder utilizarse sin importar
cambios en la tecnología base en el cual se elaboró. Esto sin necesidad de tener que re-codificar o re-compilar programas de software.
Productividad: Si los proveedores de tecnología e-Learning desarrollan sus productos siguiendo estándares comúnmente aceptados,
la efectividad de eLearning se incrementa significativamente y el
tiempo y costos serán reducidos
3. Mediadores educativos, Simultáneamente a la especificación de estándares para la descripción de recursos educativos, en el campo de los
sistemas de información, la investigación sobre sistemas de integración
ha tenido grandes avances. Los mediadores se definen como sistemas que
soportan vistas integradas sobre múltiples fuentes de información. Un
mediador es un módulo de software que emplea el conocimiento codificado de una serie de datos para crear información para una capa superior
de aplicaciones. [18]
Entre las principales características de los mediadores educativos
se tiene:
Son usados para integrar repositorios de información (Ej.
Bases de datos y bases de conocimiento)
Actúan como intermediarios entre las aplicaciones y los
repositorios de información.
Tienen capacidades de representación del conocimiento para
el manejo de datos heterogéneos e incompatibles. Contiene
5.5. TENDENCIAS FUTURAS DEL E-LEARNING
139
conocimiento que va más allá del almacenamiento el cual es usado para analizar, combinar, reducir y homogeneizar una serie de
posibles datos heterogéneos originados desde múltiples repositorios.
La arquitectura de un esquema mediador. Logra la interoperabilidad entre
los sistemas de información, usando módulos inteligentes (mediadores) para
procesar las consultas de los usuarios. Una arquitectura de mediación comprende 4 capas: aplicaciones del usuario, mediador, wrappers (envoltorios) y
los repositorios de información.Ver figura 5.1 de la pagina 139.
Figura 5.1: Arquitectura de Sistema Mediador.
5.5.
Tendencias Futuras del e-learning
Hoy los educadores se debaten sobre la verdadera eficacia de las tecnologías
de aprendizaje electrónico basadas en las computadoras. Por la evidencia existente se sugiere que los métodos de aprendizaje electrónico son tan eficaces
para la enseñanza o aún más, que las aulas tradicionales.
Mas allá de esto, queda claro que las tecnologías de aprendizaje electrónico
pueden proporcionar oportunidades de aprendizaje para personas que de otra
manera no tendrían acceso a nuevos conocimientos. Los métodos de aprendizaje electrónico pueden ser más eficaces que otros para la enseñanza de algunos
140
CAPÍTULO 5. E-LEARNING
Figura 5.2: El Mundo Conectado por un Solo Click.
tipos de contenidos. Las combinaciones de aprendizaje en aulas y aprendizaje
electrónico podrían constituir la mejor estrategia educativa.
El e-learning es el negocio del futuro. Esto no significa la muerte de la
educación presencial, ésta con el entrenamiento a distancia, siempre van a
coexistir, pero en proporciones diferentes (ver figura 5.2 de la página 140).
Capítulo 6
Aplicación e-Learning Para
VPN
6.1.
Introducción
En este capítulo se describe la aplicación en su totalidad, es decir, cómo
está estructurada cada una de sus secciones, la forma en que se accede a
sus funcionalidades, como así también, se describe el escenario en el que se
encuentra soportada, donde se detallan aspectos fundamentales de hardware
y software.
La Aplicación e-Learning Para Redes Virtuales Privadas permite, entre
otras cosas, la gestión de los usuarios que tienen acceso a la aplicación, de los
temas (protocolo VPN), autoevaluaciones y pruebas sobre túneles VPN reales
como parte de actividades de prácticas.
Por la naturales del tema (VPN), el establecimiento de los túneles determina que el usuario ha adquirido los conocimientos necesarios para configurar los
Clientes-VPN y entiende cómo funcionan las VPNs, por otro lado, la aplicación
también permite evaluar los conocimiento teóricos del usuario que incluyen las
configuraciones del lado del Servidor-VPN.
6.2.
Escenario de la Aplicación
Como se puede apreciar en la figura 6.1 de la página 142, el escenario
incluye dispositivos físicos como PC servidores, PC clientes, routers y otros
dispositivos lógicos como en el caso de los Servidores VPN virtualizados me141
142
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
diante el software VirtualBox. A continuación se detallan cada uno de los
elementos del escenario acompañado de una breve descripción de la función
que cumplen y su configuración en algunos casos.
Figura 6.1: Escenario de la Aplicación.
6.2.1.
Usuario del Sistema - (a)
El usuario del sistema es aquel que ocupa el rol de alumno, luego de
acceder como un usuario válido puede acceder a todas las funcionalidades del
6.2. ESCENARIO DE LA APLICACIÓN
143
sistema mediante un Cliente Web (Browser).
Por otro lado, en el módulo de Prácticas con Túneles Reales (ver sección
correspondiente en este capítulo) el usuario utiliza otro software cliente, en este
caso un Cliente-VPN para establecer los túneles con los servidores virtuales.
Vale aclarar que ambos clientes son independiente uno del otro, e incluso de
la plataforma en donde se encuentran funcionando.
6.2.2.
Router Huawei MT882 - (b)
Este dispositivio, además de encaminar paquetes hacia sus destinos correspondientes, cumple otras funciones, como son:
Cliente PPPeE: mediante un usuario y una contraseña otorgada por
el ISP local establece la conexión a Internet que permitirá a los usurios
alcanzar el Servidor Web y también será el medio de transporte que
soportará los túneles VPN.
Redireccionador de Puertos (IP-Forwarding): en este escenario
se hace uso de una única dirección IP Pública, la cuál es compartida
entre todos los servidores VPN y el mismo servidor Web que soporta la
aplicación E-Learning. Para que los usuario puedan acceder a cada uno
de estos Servidores, resulta necesario identificarlos de alguna manera
para poder referenciarlos, por tal motivo, se utiliza el número de puerto
destino de los paquetes IP para encaminarlos al servidor correspondiente.
Cada protocolo de red tiene su propio número de puerto asignado oficialmente por IANA (Internet Assigned Numbers Authority), por medio de este
puerto escucha las peticiones de conexión de los clientes (ver figura 6.2 de la
página 144).
En la figura 6.3 de la pág. 144 se puede apreciar la configuración necesaria
en el router para la redirección de puertos, en una breve explicación se podría
decir, por ejemplo, que todos los paquetes provientes de la interfaz WAN con
puerto destino número 80 deben ser encaminados a la dirección 10.0.0.3 por
medio de la interfaz Ethernet conectada a la red local (LAN).
6.2.3.
Servidor E-Learning - (c)
Este servidor consiste en una PC (física) provista de dos interfaces de red
(una real Ethernet y una virtual VirtualBox); se lo considera el componente
144
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.2: Números de Puertos por cada Protocolo de Red.
Figura 6.3: Redireccionamiento de Puertos en el Router Huawei MT882.
6.2. ESCENARIO DE LA APLICACIÓN
145
principal de la aplicación porque sobre el mismo está soportada toda la estructura, tanto la aplicación de e-Learning, la base de datos, como la virtualización
de los servidores VPN. A continación se detallan cada una de sus funciones:
Servidor Web - Tomcat v5.3: es el servidor correspondiente a la
aplicación de e-Learning, mediante el cual los usuarios accederán a la
misma y podrán descargar archivos en formato PDF,Word, etc.
Servidor de Base de Datos - DB2: aparte de interactuar con el
servidor web (aplicación e-Learning) en la actualización de los datos de
usuarios, este servidor de base de datos también acepta conexiones desde
aplicaciones web alojadas en los servidores virtuales.
Virtualización de Servidores - VirtualBox: sobre este servidor se
encuentra instalado el software de virtualización, las máquinas virtuales
están almacenadas como archivos y cada una se ejecuta asignándole una
parte de los recursos físicos de la PC. Por ejemplo, para el ServidorPPTP, se le asigna un disco virtual de 6 GB, 256 MB de la memoria
principal, entre otros recursos.
6.2.4.
Servidores Virtuales
Todos los servidores virtuales tiene una aplicación en común; se trata de
una aplicación web que se conecta al servidor de base de datos (b), con el
objetivo de actualizar los datos de aquellos usuarios que hayan establecido
correctamente los túneles VPN (sección correspondiente a Establecimiento de
Túneles con Servidores Reales).
La configuración de los servidores varía según los parametros de conexión
que incluye cada práctica que realizan los usuarios. Por ejemplo, se puede
asignar una dirección IP a los clientes VPN mediane DHCP o bien, se le envía
al usuario la dirección IP como un parámetro de conexión. A continuación se
detallan la características básicas de cada Servidor-VPN:
Servidor PPP (Acceso Telefónico a Redes):
• Sistema Operativo: Windows Server 2003.
• Capacidad Disco Virtual: 6 GB.
• Memoria Principal: 256 MB.
• Interfaz de Red : VirtualBox Host-Only Ethernet Adapter.
146
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
• Protocolos: PPPeE.
• Servidor PPP: activado.
• Dirección IP: 10.0.1.1/8.
• DHCP: activado según las prácticas.
• Validación: Base de Datos Local.
Servidor PPTP / L2TP:
• Sistema Operativo: Windows XP SP3.
• Capacidad Disco Virtual: 6 GB.
• Memoria Principal: 256 MB.
• Interfaz de Red : VirtualBox Host-Only Ethernet Adapter.
• Protocolos: PPTP y L2TP.
• Servidor PPP: activado.
• Dirección IP: 10.0.1.2 /8.
• DHCP: activado según las prácticas.
• Validación: Base de Datos Local.
Servidor OpenVPN:
• Sistema Operativo: Linux Ubuntu Desktop 10.4.
• Capacidad Disco Virtual: 10gb.
• Memoria Principal: 256 MB.
• Interfaz de Red : TAP-Win32 Adapter V8.
• Protocolos: SSL (OpenVPN).
• Dirección IP: 10.0.1.3./8
• DHCP: activado según las prácticas.
• Esquema: Infraestructura de Clave Pública (PKI).
• Validación: Certificados X.509.
• Reglas de Firewall IPTables:
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
6.2. ESCENARIO DE LA APLICACIÓN
147
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o 192.168.3.0/24
-j MASQUERADE
#iptables -t nat -I POSTROUTING -o 192.168.0.0/24 -s 192.168.3.0/24
-j MASQUERADE
#iptables -t nat -I POSTROUTING -o 192.168.3.0/24 -j MASQUERADE
iptables -t nat -I POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE
iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -o tun0 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -m state —state ESTABLISHED,
RELATED -i tun0 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A INPUT -p udp —dport 1194 -j ACCEPT
iptables -A INPUT -p tcp —dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
• Configuración del archivo server.conf:
port 1194
proto udp
dev tun
ca /etc/openvpn/key/ca.crt
cert /etc/openvpn/key/server.crt
key /etc/openvpn/key/server.key
dh /etc/openvpn/key/dh1024.pem
#Direcciones que se asignaran a los clientes, el server es .1
server 192.168.3.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#Ruta para que los clientes alcancen la red local del server (192.168.0.0/24)
push route 10.0.0.0 255.255.255.0"
#route 10.0.0.0 255.255.255.0 192.168.3.1
#push route-gateway 192.168.0.1"
148
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.3.1
client-to-client
persist-key
persist-tun
keepalive 10 120
comp-lzo
status openvpn-status.log
verb 4
6.3.
Descripción de la Aplicación Web
6.3.1.
Pantalla de Inicio
La pantalla de inicio consta de un menú principal que cuenta con las opciones más importantes como se detalla a continación (ver figura 6.4 de la pág.
149):
Inicio.
Usuario.
Profesor.
Ayuda.
Gestión de Usuarios
El primer paso para poder acceder a la aplicación es ingresar al sistema
como un usuario válido, para ello, la persona interesada debe ingresar sus datos
personales en el siguiente formulario (ver figura 6.5 de la pág. 150).
6.3.2.
Menú de Usuarios
Para poder acceder a las opciones del “Sistema e-Hearling VPN” el usuario
debe ingresar su nombre de usuario y contraseña, si es que está registrado. Al
presionar el botón aceptar, la aplicación valida los datos, ya sea si los campos
están vacíos o el usuario y contraseña son incorrectos o no existen. En el caso
de que los datos sean incorrectos o no existan, el sistema da aviso del error.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
Figura 6.4: Pantalla de Inicio de la Aplicación.
149
150
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.5: Formulario de Alta de Usuario.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
151
Una vez que el Usuario haya ingresado al sistema dispone de las siguientes
opciones (ver figura 6.6 de la pág. 152 ):
Teoría sobres VPN.
Autoevaluar mis Conocimeintos .
Actividades con Túneles Reales.
Consultar Resultados.
Teoría sobre VPN
Esta sección se que se muestra en la figura 6.7 de la página 153 y permite
al usuario seleccionar el tema sobre el cual desea aprender; por cada uno de
los temas tendrá la posibilidad de descargar un archivo de extención *.doc o
*.pdf con toda la documentación correspondiente. La lectura de este material
por parte del usuario es muy importante, porque sobre estos documentos están
basadas las preguntas de Autoevaluación y las prácticas de Túneles.
Autevaluar mis Conocimientos
Cuando el usuario decide en qué tema desea evaluarse, se abre un cuestionario con cinco preguntas múltiple opción, donde sólo una es la correcta,
y se inicia un cronómetro que está programado para que el alumno tenga un
límite de tiempo determinado para evaluarse (ver figura 6.8 de la pág. 154).
Todas las preguntas tienen que tener marcadas una respuesta. El sistema
muestra los resultados de la evaluación y pregunta si desea seguir rindiendo.
Sólo se puede rendir 3 veces el mismo tema.
Prácticas con Túneles Reales
Las Prácticas con Túneles Reales son una forma de verificar los conocimientos adquiridos por los usuarios de la aplicación. El objetivo de esta sección es
que el usuario sea capaz de establecer un Túnel VPN haciendo uso de un
software Cliente mediante el cuál, deberá intentar conectarse a alguno de los
Servidores VPN que forma parte del escenario de la aplicación e-Learning.
Aquellos usuarios que fueron capaces de establecer los túneles tendrán
acceso a un portal Web (sección distribuida de la aplicación e-Learning) donde
152
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.6: Menú de Usuario.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
Figura 6.7: Menú de Descarga de Teoría.
153
154
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.8: Cuestionario de Autoevaluación.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
155
podrán ingresar sus datos, dejando asentado así, que concluyeron de forma
satisfactorio la práctica correspondiente.
Esta es una forma automática de evaluar a los usuarios y tiene la ventaja
de que no necesita de un administrador que esté monitoreando cada una de
las prácticas. A continuación se detallan los pasos que deberán respetar los
usuarios para aprobar cada una de las prácticas:
1o Paso: El usuario ingresa a la sección Prácticas con Túneles Reales
que figura en el menú de usuarios, donde deberá seleccionar el protocolo
VPN correspondiente a la práctica que quiere realizar. A partir de aquí,
podrá descargar un instructivo que le ayudará a completar la práctica
acompañado de los párametros del Túnel, entre los cuales figuran según
la práctica algunos de los siguientes:
• Protocolo de Túnel.
• Método de Encriptación.
• Método de Autenticación.
• Arquitectura VPN.
• Dirección IP Privada del Portal de Validación.
• Dirección IP del Cliente-VPN.
• Dirección IP del Servidor-VPN.
• Puerta de Enlaces.
• Horario de Conexión al Servidor.
• Certificados en casos de una Infraestructura de Clave Pública.
En la figura 6.9 de la pág. 156 se puede apreciar un ejemplo de una
práctica en formato PDF, la cual es usuario la descarga desde la
aplicación.
2o Paso: Ayudados por las instrucciones y mediante los parámetros del
túnel, los usuarios deberán establecer correctamente el túnel VPN para
poder llegar al portal de validación donde dejarán asentados sus datos
(usuario y contraseña). La dirección del servidor web corresponde a la IP
Privada de la red Virtual Privada a la que pertenece, y la única manera
de llegar a éste es perteneciendo a la misma red privada. En la figura
6.2 de la pág. 157 se puede ver un esquema en donde un usuario llega al
Portal de Actualización por medio de un túnel VPN.
156
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.9: Prácticas con Túneles Reales.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
Figura 6.10: Prácticas con Túneles Reales.
157
158
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
En la figura 6.11 de la pág. 158 se puede ver la interfaz gráfica de la
aplicación Actualiza (portal de actualización), donde el usuario asentará sus
datos en el sistema para antes de pasar por su correspondientes validaciones.
Figura 6.11: Portal de Actualización de Túnel Establecido Correctamente.
Cada Portal Web forma parte de la aplicación e-Learning, se lo podría
considerar como parte de un sistema distribuido ya que están alojados en
distintos servidores. Los portales poseen una conexión ODBC (Open DataBase
Connectivity) con la base de datos de la aplicación, mediante la cuál pueden
actualizar los datos de los usuarios.
3er Paso: En este último paso, los Portales de Validación se encargan
de asentar los datos de los usuarios que aprobaron las prácticas, cuya
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
159
tarea es transparente tanto para los usuarios como el administrador de
la aplicación (ver figura 6.12 de la pág. 159).
Figura 6.12: Conexión OBDC de un Portal Web con la Base de Datos de la
Aplicación
Una vez que son ingresados los datos del usuario, el sistema valida si son
correctos y en ese caso, detalla un resumen con los valores y parámetros de la
conexión como se ve en la figura 6.13 de la página 160.
Consultar Resultados
Esta página se divide en dos cuadros:
1. Actividades Realizadas: en este cuadro se puede consultar sobre todas
las actividades con túneles reales que realizó el usuario. Si el usuario desea,
puede descargar también un informe detallado de cada conexión.
2. Resultados de Autoevaluación: se detallan cada una de las evaluaciones que rindió el usuario.
En la figura 6.14 de la pág. 161 se detalla las secciones de consultas del
usuario.
160
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.13: Detalle de la Conexión VPN.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
161
Figura 6.14: Resultados de las Prácticas y Evaluaciones de los Usuarios.
162
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
6.3.3.
Menú Profesor
Al igual que el usuario del sistema, el Profesor o también denominado
Administrador del sistema, debe ingresar su usuario y contraseña para poder
ingresar al sistema como se ve en la figura 6.15 de la pág. 162 .Una vez que
el administrador se ha validad conrrectamente puede acceder a un menú con
las siguientes opciones de administración para cada uno de los temas de la
aplicación (ver figura 6.16 de la pág. 163).
Autoevaluaciones (Agregar, eliminar y modificar las preguntas).
Actualizar los temas.
Actualizar las actividades.
Figura 6.15: Validación de Profesor.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
Figura 6.16: Menu de Administración.
163
164
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Autoevaluaciones
Por medio de esta sección, el usuario puede acceder a funciones ABM (Alta,
Baja y Modificaciones) sobre las preguntas correspondientes a las autoevaluaciones.
1- Agregar preguntas:
El profesor selecciona el tema en el cual desea agregar una pregunta. La
pantalla que muestra el sistema es la de la figura 6.17 de la pág. 165. Se carga
la pregunta con cinco opciones de respuestas, donde sólo una es la correcta.
La respuesta correcta tiene que estar marcada.
Se puede ver cuántas preguntas actualmente contiene cada tema, a través
de una leyenda que muestra el sistema en esta página. Mientras más preguntas
cargue el profesor por tema, el alumno a la hora de evaluarse en el mismo tema
(como las preguntas del cuestionario son elegidas al azar) obtendrá mayor
diversidad de preguntas.
El sistema validará los datos al cargar una pegunta y mostrará mensajes
de error, en caso de que:
Los campos estén vacíos.
Haya respuestas iguales.
No haya marcado la respuesta correcta.
La pregunta ya existe.
Si ninguno de estos errores existe la carga se realizará exitosamente.
2- Modificar una pregunta:
Se elige el tema y se selecciona la pregunta a modificar a través de una
lista que contiene todas las preguntas del tema seleccionado, luego se procede
a modificar ya sea, la pregunta, las respuestas o la respuesta correcta y se
presiona el botón modificar, la pregunta se actualizará según la modificación
hecha.
3- Eliminar una pregunta:
Se procede de la misma forma que cuando se quiere modificar, sólo que
antes de eliminar, el sistema muestra un mensaje si está seguro o no de realizar
esta operación.
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
Figura 6.17: Alta de Pregunta de Autoevaluación.
165
166
CAPÍTULO 6. APLICACIÓN E-LEARNING PARA VPN
Figura 6.18: Actualización de Apuntes
Actualizar los Apuntes
Para actualizar los apuntes el primer paso es elegir el tema al cuál pertenece
el apunte en cuestión. Por cada uno de los apuntes se cuenta con la posibilidad
de agregar apuntes y visualizar los disponibles, como así también modifarlos
y eliminarlos (ver figura 6.18 de la pág. 166).
Actualizar Actividades
Se presenta la siguiente pantalla donde el profesor selecciona el tema con
el que desea trabajar, al igual que en la actualización de los apuntes, cuenta
6.3. DESCRIPCIÓN DE LA APLICACIÓN WEB
167
con un menú con opciones como agregar, modificar o eliminar actividades (ver
figura 6.19 de pág. 167).
Figura 6.19: Actualización de Actividades de Túnles.
Capítulo 7
Herramientas
7.1.
Introducción al Lenguaje Java
Java es un lenguaje orientado a objetos. Esto significa que posee ciertas
características que hoy día se consideran estándares en los lenguajes OO:
Objetos.
Clases.
Métodos.
Subclases.
169
170
CAPÍTULO 7. HERRAMIENTAS
Herencia simple.
Enlace dinámico.
Encapsulamiento.
Para programar orientado a objetos es necesario primero diseñar un conjunto de clases. La claridad, eficiencia y mantenibilidad del programa resultante
dependerá principalmente de la calidad del diseño de clases. Un buen diseño
de clases significará una gran economía en tiempo de desarrollo y mantención.
Lamentablemente se necesita mucha habilidad y experiencia para lograr
diseños de clases de calidad. Un mal diseño de clases puede llevar a programas
OO de peor calidad y de más alto costo que el programa equivalente no OO
[19].
Por qué entonces la ventaja de programar en un lenguaje OO, si se requiere
una experiencia que probablemente una persona nunca tendrá el tiempo de
práctica para llegar a obtenerla. La respuesta a este interrogante es que Java es
un lenguaje multiparadigma (como muchos otros lenguajes de programación).
No se necesita hacer un diseño de clases para programar una aplicación de mil
líneas.
Entonces otro interrogante podrá ser porque no programar con otro lenguaje más simples, como puede ser Visual Basic, si no se necesita que sea OO. La
respuesta a ésto es la gran ventaja de un lenguaje OO, que son las bibliotecas
de clases que se pueden construir para la aplicación [20]. Una biblioteca de
clases cumple el mismo objetivo de una biblioteca de procedimientos en una
lenguaje como C. Sin embargo:
Una biblioteca de clases es mucho más fácil de usar que una biblioteca de
procedimientos, incluso para programadores sin experiencia en orientación a
objetos. Esto se debe a que las clases ofrecen mecanismos de abstracción más
eficaces que los procedimientos.
Se puede distinguir entre varios tipos de programadores en Java:
• El diseñador de clases: es el encargado de definir qué clases ofrece
una biblioteca y cuál es la funcionalidad que se espera de estas
clases. Esta persona tiene que ser muy hábil y de mucha experiencia. Un diseño equivocado puede conducir a clases que son incomprensibles para los clientes de la biblioteca.
• El programador de clases de biblioteca: sólo programa la clases
especificadas por el diseñador de clases. Esta persona debe entender
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
171
orientación a objetos, pero no requiere mayor experiencia en diseño
de clases.
• El cliente de bibliotecas: es el programador de aplicaciones. Él sólo
usa las clases que otros han diseñado y programado. Como en el
caso anterior necesita entender orientación a objetos y conocer la
biblioteca que va usar, pero no necesita mayor experiencia.
Tanto programadores de clases como clientes de bibliotecas pueden llegar
a convertirse en buenos diseñadores de clases en la medida que adquieran
experiencia, comparando los diseños de las bibliotecas que utilicen.
Por lo tanto es importante destacar que no se necesita gran experiencia en
diseño orientado a objetos para poder aprovechar las ventajas de la orientación
a objetos [21].
Bibliotecas de Clases Estándares de Java
Toda implementación de Java debe tener las siguientes bibliotecas de
clases:
Manejo de archivos.
Comunicación de datos.
Acceso a la red Internet..
Acceso a bases de datos.
Interfaces gráficas.
La interfaz de programación de estas clases es estándar, es decir en todas
ellas las operaciones se invocan con el mismo nombre y los mismos argumentos.
Java es Multiplataforma
Los programas en Java pueden ejecutarse en cualquiera de las siguientes
plataformas, sin necesidad de hacer cambios:
Windows/95 y /NT.
Power/Mac.
Unix (Solaris, Silicon Graphics, ...).
La compatibilidad es total:
172
CAPÍTULO 7. HERRAMIENTAS
A nivel de fuentes: el lenguaje es exactamente el mismo en todas las
plataformas.
A nivel de bibliotecas: en todas las plataformas están presentes las mismas
bibliotecas estándares.
A nivel del código compilado: el código intermedio que genera el compilador
es el mismo para todas las plataformas. Lo que cambia es el intérprete del
código intermedio.
Características del Lenguaje Java
Se características son las siguientes:
Robustez: En Java no se pueden cometer los cuatro errores que se mencionarán a continuación:
• Java siempre chequea los índices al acceder a un arreglo. Java realiza chequeo de tipos durante la compilación (al igual que C). En
una asignación entre punteros el compilador verifica que los tipos
sean compatibles. Además, Java realiza chequeo de tipos durante la
ejecución (cosa que C y C++ no hacen). Cuando un programa usa
un cast para acceder a un objeto como si fuese de un tipo específico,
se verifica durante la ejecución que el objeto en cuestión sea compatible con el cast que se le aplica. Si el objeto no es compatible,
entonces se levanta una excepción que informa al programador la
línea exacta en donde está la fuente del error.
• Java posee un recolector de basuras que administra automáticamente la memoria. Es el recolector el que determina cuando se
puede liberar el espacio ocupado por un objeto. El programador no
puede liberar explícitamente el espacio ocupado por un objeto.
• Java no posee aritmética de punteros, porque es una propiedad que
no se necesita para programar aplicaciones. En C sólo se necesita la
aritmética de punteros para programa malloc/free o para programar
el núcleo del sistema operativo.
• Por lo tanto Java no es un lenguaje para hacer sistemas operativos
o administradores de memoria, pero sí es un excelente lenguaje para
programar aplicaciones.
Flexibilidad: Java combina flexibilidad, robustez y legibilidad gracias a
una mezcla de chequeo de tipos durante la compilación y durante la ejecución. En Java se pueden tener punteros a objetos de un tipo específico
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
173
y también se pueden tener punteros a objetos de cualquier tipo. Estos
punteros se pueden convertir a punteros de un tipo específico aplicando
un cast, en cuyo caso se chequea en tiempo de ejecución de que el objeto
sea de un tipo compatible. El programador usa entonces punteros de
tipo específico en la mayoría de los casos con el fin de ganar legibilidad y
en unos pocos casos usa punteros a tipos desconocidos cuando necesita
tener flexibilidad. Por lo tanto Java combina la robustez de Pascal con la
flexibilidad de Lisp, sin que lo programas pierdan legibilidad en ningún
caso.
Administración Automática de la Memoria: En Java los programadores
no necesitan preocuparse de liberar un trozo de memoria cuando ya no lo
necesitan. Es el recolector de basuras el que determina cuando se puede
liberar la memoria ocupada por un objeto.
Un recolector de basuras es un gran aporte a la productividad. Se ha
estudiado en casos concretos que los programadores han dedicado un 40 %
del tiempo de desarrollo a determinar en qué momento se puede liberar un
trozo de memoria. Además este porcentaje de tiempo aumenta a medida que
aumenta la complejidad del software en desarrollo. Es relativamente sencillo
liberar correctamente la memoria en un programa de 1000 líneas. Sin embargo,
es difícil hacerlo en un programa de 10000 líneas. Y se puede postular que es
imposible liberar correctamente la memoria en un programa de 100000 líneas.
Resumiendo, se puede concluir que: todo programa de 100000 líneas que
libera explícitamente la memoria tiene errores latentes, sin un recolector de
basuras no hay verdadera modularidad y un recolector de basuras resuelve
todos los problemas de manejo de memoria en forma trivial.
El interrogante sería cuál es el impacto de un recolector de basura en el
desempeño de un programa. El sobrecosto de la recolección de basuras no es
superior al 100 %. Es decir si se tiene un programa que libera explícitamente la
memoria y que toma tiempo X, el mismo programa modificado de modo que
utilice un recolector de basuras para liberar la memoria tomará un tiempo no
superior a 2X. Este sobrecosto no es importante si se considera el periódico
incremento en la velocidad de los procesadores.
El impacto que un recolector de basura en el tiempo de desarrollo y en la
confiabilidad del software resultante es muchos más importante que la pérdida
en eficiencia.
174
CAPÍTULO 7. HERRAMIENTAS
7.1.1.
Estructura General de un Programa Java
En el siguiente ejemplo se presenta la estructura habitual de un programa
realizado en cualquier lenguaje orientado a objetos u OOP (Object Oriented
Programming), y en particular en el lenguaje Java:
import java.awt.*;
import java.lang.String;
import java.lang.Integer;
import java.awt.event.WindowEvent;
import java.util.*;
import java.awt.TextField;
public class Simu extends Frame implements ActionListener,ItemListener{
MenuBar barra;
m1 =new Menu(“Archivo”);
barra.add(m1);
m2 =new Menu(“Ver”);
barra.add(m2);
....
public static void main(String argv [ ]){
Simu menus = new Simu();
menus.setTitle(“Simulación de Redes”);
menus.setVisible(true);
}
}
Aparece una clase que contiene el programa principal Simu (aquel que
contiene la función main()) y algunas clases de usuario (las específicas de la
aplicación que se está desarrollando) que son utilizadas por el programa principal. La aplicación se ejecuta por medio del nombre de la clase que contiene
la función main(). Las clases de Java se agrupan en packages, que son librerías de clases. Si las clases no se definen como pertenecientes a un package,
se utiliza un package por defecto (default) que es el directorio activo.
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
7.1.2.
175
Conceptos Básicos
Clase
Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos. A estos datos y funciones
pertenecientes a una clase se les denomina variables y métodos o funciones
miembro. La programación orientada a objetos se basa en la programación
de clases [21, Joyanes]. Un programa se construye a partir de un conjunto de
clases.
Una vez definida e implementada una clase, es posible declarar elementos
de esta clase de modo similar a como se declaran las variables del lenguaje (int,
double, String). Los elementos declarados de una clase se denominan objetos
de la clase. De una única clase se pueden declarar o crear numerosos objetos.
La clase es lo genérico: es el patrón o modelo para crear objetos. Cada objeto
tiene sus propias copias de las variables miembro, con sus propios valores, en
general distintos de los demás objetos de la clase. Las clases pueden tener
variables static, que son propias de la clase y no de cada objeto [22, Bosz].
Ejemplo:
public abstract class FuncionActivacion implements Cloneable,Serializable{
/*constructor sin argumentos que permite la herencia */
public FuncionActivacion () {
}
}
Herencia
La herencia permite que se puedan definir nuevas clases basadas en clases
existentes, lo cual facilita reutilizar código previamente desarrollado. Si una
clase deriva de otra (extends) hereda todas sus variables y métodos. La clase
derivada puede añadir nuevas variables y métodos y/o redefinir las variables
y métodos heredados.
En Java, a diferencia de otros lenguajes orientados a objetos, una clase sólo
puede derivar de una única clase, con lo cual no es posible realizar herencia
múltiple en base a clases. Sin embargo es posible “simular” la herencia múltiple
en base a las interfaces.
Interface
176
CAPÍTULO 7. HERRAMIENTAS
Una interface es un conjunto de declaraciones de funciones. Si una clase
implementa (implements) una interface, debe definir todas las funciones especificadas por la interface. Una clase puede implementar más de una interface,
representando una forma alternativa de la herencia múltiple.
Una interface puede derivar de otra o incluso de varias interfaces, en cuyo
caso incorpora todos los métodos de las interfaces de las que deriva.
Ejemplo: La clase TangenteHiperbólica se extiende de la clase FunciónActivación que implementa la interface Serializable.
/*función de activación tangente hiperbólica */
public class TangenteHiperbolica extends FuncionActivacion implements Serializable{
/*constructor sin argumentos */
public TangenteHiperbolica () {
}
}
Package
Un package es una agrupación de clases. Existen una serie de packages
incluidos en el lenguaje.
Además el programador puede crear sus propios packages. Todas las clases
que formen parte de un package deben estar en el mismo directorio.
Los packages se utilizan con las siguientes finalidades:
1. Para agrupar clases relacionadas.
2. Para evitar conflictos de nombres. En caso de conflicto de nombres entre clases importadas, el compilador obliga a cualificar en el código los
nombres de dichas clases con el nombre del package.
3. Para ayudar en el control de la accesibilidad de clases y miembros.
Por las razones citadas, durante la etapa de Diseño del Software desarrollado, se ha decido crear dos paquetes, calculos e interfase, utilizando la sentencia
package.
package myprojects.simu;
import myprojects.calculos.*;
import myprojects.interfase.*;
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
7.1.3.
177
Variables Dentro del Lenguaje Java
Una variable en Java es un identificador que representa una palabra de
memoria que contiene información. El tipo de información almacenado en una
variable sólo puede ser del tipo con que se declaró esa variable.
En Java hay dos tipos principales de variables:
1. Variables de tipos primitivos. Están definidas mediante un valor
único y almacenan directamente ese valor siempre que pertenezca al
rango de ese tipo. Por ejemplo una variable int almacena un valor entero
como 1, 2, 0, -1, etc. Esto significa que al asignar una variable entera
a otra variable entera, se copia el valor de la primera en el espacio que
ocupa la segunda variable.
2. Variables referencia. Las variables referencia son referencias o nombres de una información más compleja: arrays u objetos de una determinada clase. Una referencia a un objeto es la dirección de un área en
memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new. Al asignar una variable de tipo referencia a
objeto a otra variable se asigna la dirección y no el objeto referenciado
por esa dirección. Esto significa que ambas variables quedan referenciando el mismo objeto. En Java una variable no puede almacenar directamente un objeto, como ocurre en C y C++. Por lo tanto cuando se dice
en Java que una variable es un string, lo que se quiere decir en realidad
es que la variable es una referencia a un string.
Desde el punto de vista de su papel dentro del programa, las variables
pueden ser:
1. Variables miembro de una clase. Se definen en una clase, fuera de
cualquier método; pueden ser tipos primitivos o referencias.
2. Variables locales. Se definen dentro de un método o más en general
dentro de cualquier bloque entre llaves {}. Se crean en el interior del
bloque y se destruyen al finalizar dicho bloque. Pueden ser también tipos
primitivos o referencias.
En la Tabla 7.1 de la pág. 178 se muestra una declaración, el nombre de
la variable introducida y el tipo de información que almacena la variable:
En la Tabla 7.2 de la pág. 178 se muestran las dos grandes categorías de
tipos para las variables en Java:
178
CAPÍTULO 7. HERRAMIENTAS
Declaración
int i;
String s;
int a [];
int[]b;
Identificador
i
s
a
b
Tipo
entero
referencia a string
referencia a arreglo de enteros
referencia a arreglo de enteros
Cuadro 7.1: Tipos de Variables.
Tipos Primitivos
int, short, byte, long
char, boolean
float, double
Referencias a Objetos
Strings
Arreglos
otros objetos
Cuadro 7.2: Categorías de Variables.
En la Tabla 7.3de la pág. 178 se indica para cada tipo primitivo el número
de bits que se emplea en su representación y el rango de valores que se puede
almacenar en las variables de estos tipos.
Tipo
int
short
byte
long
boolean
char
float
double
Bits
32
16
8
64
1
16
32
64
Rango
−231 ..231 − 1
−215 .,215 − 1
−27 .,27 − 1
−263 .,263 − 1
n/a
n/a
IEEE
IEEE
Ejemplos
0,1,5,-120,...
0,1,5,-120,...
0,1,5,-120,...
0,1,5,-120,...
false, true
‘a’,‘A’,‘0’,‘*’,...
1.2
1.2
Cuadro 7.3: Tipos Primitivos de Variables.
Se dice que un tipo A es de mayor rango que un tipo B si A es un superconjunto de B. Esto quiere decir que las variables de tipo B siempre se pueden
asignar a variables de tipo A (eventualmente con pérdida de significancia).
Por ejemplo int es de mayor rango que short, que a su vez es de mayor
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
179
rango que byte. Float y double son de mayor rango que int. Double es de mayor
rango que float.
Esto se puede quedar resumido de la siguiente manera:
double > float > long > int > short > byte
Se entiende por visibilidad, ámbito o scope de una variable, la parte de la
aplicación donde dicha variable es accesible y por lo tanto puede ser utilizada
en cualquier expresión. En Java todos las variables deben estar incluidas en
una clase. En general las variables declaradas dentro de unas llaves {}, es decir
dentro de un bloque, son visibles y existen dentro de estas llaves. Por ejemplo
las variables declaradas al principio de una función existen mientras se ejecute
la función; las variables declaradas dentro de un bloque if no serán válidas
al finalizar las sentencias correspondientes a dicho if y las variables miembro
de una clase (es decir declaradas entre las llaves {} de la clase pero fuera de
cualquier método) son válidas mientras existe el objeto de la clase.
Las variables miembro de una clase declaradas como public son accesibles
a través de una referencia a un objeto de dicha clase utilizando el operador
punto (.). Las variables miembro declaradas como private no son accesibles
directamente desde otras clases. Las funciones miembro de una clase tienen
acceso directo a todas las variables miembro de la clase sin necesidad de anteponer el nombre de un objeto de la clase. Sin embargo las funciones miembro
de una clase B derivada de otra A, tienen acceso a todas las variables miembro de A declaradas como public o protected, pero no a las declaradas como
private. Una clase derivada sólo puede acceder directamente a las variables y
funciones miembro de su clase base declaradas como public o protected. Otra
característica del lenguaje es que es posible declarar una variable dentro de
un bloque con el mismo nombre que una variable miembro, pero no con el
nombre de otra variable local. La variable declarada dentro del bloque oculta
a la variable miembro en ese bloque. Para acceder a la variable miembro oculta
será preciso utilizar el operador this.
Uno de los aspectos más importantes en la programación orientada a objetos (OOP) es la forma en la cual son creados y eliminados los objetos.La
forma de crear nuevos objetos es utilizar el operador new.La eliminación de
los objetos la realiza el denominado garbage collector, quien automáticamente
libera o borra la memoria ocupada por un objeto cuando no existe ninguna
referencia apuntando a ese objeto.
180
7.1.4.
CAPÍTULO 7. HERRAMIENTAS
Operadores en Java
Java es un lenguaje rico en operadores, que son casi idénticos a los de
C/C++. Estos operadores se describen brevemente a continuación.
Operadores Aritméticos
Son operadores binarios (requieren siempre dos operandos) que realizan
las operaciones aritméticas habituales: suma (+), resta (-), multiplicación (*),
división (/) y resto de la división ( %).
Operadores de Asignación
Los operadores de asignación permiten asignar un valor a una variable.
El operador de asignación por excelencia es el operador igual (=). La forma
general de las sentencias de asignación con este operador es:
variable = expression;
Java dispone de otros operadores de asignación. Se trata de versiones abreviadas del operador (=) que realizan operaciones “acumulativas” sobre una
variable.
La siguiente Tabla 7.4 de la pág. 180, muestra estos operadores y su equivalencia con el uso del operador igual (=).
Operador
+=
-=
=*
=/
%=
Utilización
op1 + = op2
op1 - = op2
op1 * = op2
op1 / = op2
op1 % = op2
ExpresiónEquivalente
op1 = op1 + op2
op1 = op1 - op2
op1 = op1 * op2
op1 = op1 / op2
op1 = op1 % op2
Cuadro 7.4: Operadores de asignación.
Operadores Unarios
Los operadores más (+) y menos (-) unarios sirven para mantener o cambiar el signo de una
variable, constante o expresión numérica. Su uso en Java es el estándar de
estos operadores.
Operadores Incrementales
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
181
Java dispone del operador incremento (++) y decremento (—). El operador
(++) incrementa en una unidad la variable a la que se aplica, mientras que (—)
la reduce en una unidad. Estos operadores se pueden utilizar de dos formas:
1. Precediendo a la variable (por ejemplo: ++i ). En este caso primero se incrementa la variable y luego se utiliza (ya incrementada) en la expresión
en la que aparece.
2. Siguiendo a la variable (por ejemplo: i++). En este caso primero se
utiliza la variable en la expresión (con el valor anterior) y luego se incrementa.
En muchas ocasiones estos operadores se utilizan para incrementar una
variable fuera de una expresión. En este caso ambos operadores son equivalente. Si se utilizan en una expresión más complicada, el resultado de utilizar
estos operadores en una u otra de sus formas será diferente. La actualización
de contadores en bucles for es una de las aplicaciones más frecuentes de estos
operadores.
Operadores Relacionales
Los operadores relacionales sirven para realizar comparaciones de igualdad,
desigualdad y relación de menor o mayor. El resultado de estos operadores
es siempre un valor boolean (true o false) según se cumpla o no la relación
considerada. La siguiente Tabla 7.5 de la pág. 181 muestra los operadores
relacionales de Java.
Operador
>
>=
<
<=
==
!=
Utilización
op1 > op2
op1 >= op2
op1 < op2
op1 <= op2
op1 == op2
op1 != op2
El resultado es true
si op1 es mayor que op2
si op1 es mayor o igual que op2
si op1 es menor que op 2
si op1 es menor o igual que op2
si op1 y op2 son iguales
sio p1 y op2 son diferentes
Cuadro 7.5: Operadores relacionales.
Estos operadores se utilizan con mucha frecuencia en las bifurcaciones y
en los bucles, que se verán luego.
Ejemplo de Operadores Incrementales y Operadores Relacionales en un
método.
182
CAPÍTULO 7. HERRAMIENTAS
public void cambiarParesEntrenamiento(double[ ] paresEntrenamiento){
/* inicialización de sus valores a partir de los valores pasados como argumentos
*/
for(int i = 0; i< paresEntrenamiento.length; i++)
{for(int j = 0; j< numeroNeuronasEntrada; j++)
{entradaEntrenamiento[i][j] = paresEntrenamiento[i][j];
}
for(int j = 0; j< numeroSalidas; j++)
{salidaEntrenamiento[i][j] = paresEntrenamiento[i][j+numeroNeuronasEntrada];
}
}
}
Operador de Concatenación de Cadenas de Caracteres (+)
El operador más (+) se utiliza también para concatenar cadenas de caracteres. Por ejemplo, para escribir una cantidad con un rótulo puede utilizarse
la sentencia:
editor.append(“Error Obtenido:” + String.valueOf(imprimoError) + “\n”);
editor.append(“Iteraciones:”+ String.valueOf(imprimoIteraciones) + “\n”);
editor.append(“Inicio: ” + horaInicial.toString() + “\n”);
editor.append(“Final: ” + horaFinal.toString() + “\n”);
Donde el operador de concatenación se utiliza dos veces para construir
la cadena de caracteres que se desea imprimir. Las variables imprimoErrror,
imprimoIteraciones, horaInicial, horaFinal son convertidas en cadena de caracteres para poder concatenarlas.
Precedencia de Operadores
El orden en que se realizan las operaciones es fundamental para determinar
el resultado de una expresión. Por ejemplo, el resultado de x/y*z depende de
7.1. INTRODUCCIÓN AL LENGUAJE JAVA
183
qué operación (la división o el producto) se realice primero. La Tabla 7.6 de la
pág. 183 muestra el orden en que se ejecutan los distintos operadores en una
sentencia, de mayor a menor precedencia:
Nombre
Postfijos
Unarios
De creación
Multiplicativo
Adición
Shift
Relacional
Igualdad
AND
Or Excluyente
Or Incluyente
Logico AND
Logico OR
Condicional
Asignación
Sintáxis
[ ] .(params) expr++ expr++expr —expr +expr -expr !
(type) expr
* /%
+<< >> >>>
<> <= >= instanceof
== !=
&
^
|
&&
||
?:
= += -= *= /= %= &= ^= |= <<= >>= >>>=
Cuadro 7.6: Precedencia de Operadores.
En Java, todos los operadores binarios, excepto los operadores de asignación,
se evalúan de izquierda a derecha. Los operadores de asignación se evalúan de
derecha a izquierda, lo que significa que el valor de la izquierda se copia sobre
la variable de la derecha.
184
CAPÍTULO 7. HERRAMIENTAS
7.2.
WebSphere
7.2.1.
¿Que es WebSphere?
WebSphere es una plataforma de Software para e-business.
IBM WebSphere es una plataforma de IBM para desarrollo y gestión de
sitios web y aplicaciones destinadas al comercio electrónico.
WebSphere posee una amplia gama de servidores y aplicaciones para
proporcionar todo tipo de capacidades de negocio y ayuda al desarrollo
de las aplicaciones.
La Plataforma de Software WebSphere está compuesta por un conjunto
de herramientas de e-business integradas y basadas en estándares abiertos de mercado.
WebSphere es ideal para todas las fases de un e-business, comenzando
desde pequeños sitios Web a mega sitios.
La figura 7.1 de la pág. 185 representa la plataforma virtual de WebSphere.
7.2.2.
Plataforma de Software
Se necesita una plataforma completa, escalable y flexible que proporcione
soporte a la construcción y diseminación de aplicativos de e-business. Las
soluciones de software WebSphere ofrecen las herramientas necesarias para
alcanzar los objetivos de e-business.
7.2. WEBSPHERE
Figura 7.1: Plataforma de WebSphere
185
186
CAPÍTULO 7. HERRAMIENTAS
Al proporcionar un banco de trabajo abierto que integre y simplifique
diferentes tareas, roles y herramientas, el software WebSphere ayuda a que el
equipo desarrolle, entregue y administre los aplicativos de e-business [23].
El ambiente de desarrollo del software WebSphere:
Da soporte al desarrollo y cambios rápidos de nuevos aplicativos utilizando un paradigma de desarrollo basado en reglas, permitiendo que
todos utilicen el mismo ambiente y reduciendo costes de entrenamiento.
Proporciona código pre-construido, pre-testeado.
Proporciona herramientas especializadas para página Web y desarrollo
de módulos migrables.
Adicionalmente, servicios basados en estándares Web permiten mezclar y
combinar componentes funcionales de diferentes orígenes de tal forma que se
puede proveer nuevos procesos y servicios al mercado rápida y eficientemente.
La capacidad de un portal de negocios tiene importancia crítica para permitir que las personas interactúen y transaccionen de forma personalizada
con diversos recursos de negocios. Empieza dejando a la medida los ambientes de usuarios para sus necesidades específicas, integrándolo entonces con
otros usuarios para permitir colaboración en tiempo real, y con los diversos
ambientes de TI.
WebSphere ofrece un amplio portafolio de soluciones clasificadas en tres
áreas críticas:
Infraestructura y herramientas de Desarrollo (Fundation & Tools):
• Application server.
• WebSphere studio:
◦ IBM WebSphere Studio Site Developer.
◦ IBM WebSphere Studio Application Developer.
◦ IBM WebSphere Studio Application Developer Integration Edition.
◦ IBM WebSphere Studio Enterprise Developer.
◦ IBM WebSphere Studio Homepage Builder.
• Host Access.
Alcance y experiencia con el usuario (Business Portals):
7.2. WEBSPHERE
187
• WebSphere Portal.
• WebSphere Everyplace.
• WebSphere Commerce.
Integración de negocio (Business Integration):
• WebSphere Business Integrator.
• WebSphere MQ Integrator.
7.2.3.
Application Server
La plataforma de alto desempeño y extrema escalabilidad para diseminar
aplicativos dinámicos de e-business, WebSphere Application Server, Versión
5.1, proporciona las funciones esenciales de e-business de manipulación de
transacciones y ampliación de datos back-end del negocio y aplicativos para
la Web. La plataforma ayuda a construir aplicativos que ejecutan esas
funciones con seguridad sólida, fiabilidad y escalabilidad.
Application Server. Advanced Edition
La Edición Avanzada es la oferta del principal servidor de aplicativo dirigido a desarrolladores profesionales de tecnología Java que necesitan funcionalidad de servicios J2EE y Web para aplicativos dinámicos de e-business.
La Edición Avanzada del WebSphere Application Server Versión 5.1, está
disponible en tres configuraciones distintas:
Edición Avanzada:
188
CAPÍTULO 7. HERRAMIENTAS
Proporciona integración sólida a las bases de datos, middleware orientado
a mensajes, y sistemas preexistentes y aplicativos, en conjunto con soporte de
agrupación. Esta configuración se ajusta a la mayoría de los escenarios de la
empresa e interesa a los negocios que necesitan construir aplicativos altamente
transaccionales, administrables, disponibles y escalables que ofrecen seguridad
distribuida y administración remota.
Edición Avanzada del Single Server:
Proporciona el mismo modelo de programación esencial J2EE y Web Services con administración simplificada. Esta configuración interesa a departamentos, negocios de tamaño mediano y aplicativos piloto que necesitan un
coste bajo, opción de ejecución rápida, distribución de carga de trabajo o
administración remota asociados a administración de multi-servidor.
Edición Avanzada del IBM WebSphere Application Server V4.0, para
Linux en zSeries:
La Edición Avanzada del WebSphere Application Server V4.0, para Linux
en zSeries continúa cumpliendo el compromiso de IBM en cuanto a mantener
cobertura amplia para plataformas para el WebSphere Application Server.
Este producto WebSphere tiene la combinación potente de un conjunto de
dispositivos rico y soporte a estándares abiertos del WebSphere Application
Server y el ambiente operacional familiar del sistema operativo Linux.
También contiene los recursos de administración, alta fiabilidad, y la intensa velocidad de comunicación de datos internos del hardware de la plataforma
zSeries.
Application Server. Enterprise Edition
La Edición empresarial del IBM WebSphere Application Server Versión
4.1, en conjunto con IBM WebSphere Studio Application Developer Integration Edition, ofrece una combinación potente de tiempo de ejecución y herramienta que permite integrar activos IT existentes, mejorar la productividad
del desarrollador y crear y mantener aplicativos de e-business flexibles.
Juntos, el IBM’s WebSphere Application Server 4.1 Enterprise Edition y
el WebSphere Studio Application Developer Integration Edition ofrecen ahora
a los desarrolladores la capacidad de:
Coreografiar visualmente y componer servicios de la Web y componentes
de aplicativo J2EE a través de una interfase de simple drag-and-drop.
7.2. WEBSPHERE
189
Construir potentes adaptadores de aplicativo basados en J2EE Connector Architecture (JCA) para integrar sistemas back-end con servicios
Web y aplicativos J2EE.
Crear una paleta de componentes de aplicativos que puede ser rápidamente montada para desarrollar nuevos aplicativos fácilmente publicada
como servicio Web.
Evitar la repetición del desarrollo y diseminación de aplicativos debido a
condiciones cambiantes del mercado, separando las políticas del negocio
de la lógica de aplicativos esenciales.
Obtener una infraestructura completa de servicios Web que impulse un
ambiente único, eficaz en cuanto a coste de tiempo de ejecución del
servidor de aplicativo administrativo y operacional.
Application Server. Standard Edition
La Edición Estándar para desarrolladores de la web y autores de contenido
incluye mejorías de facilidad de uso en toda su extensión, comprendiendo un
Quick Installation que elimina conjeturas en cuanto al Enhanced Java, impulsando el Software Development Kit del Java 2 V1.2.2 en todos los sistemas
operativos soportados.
Servidor HTTP
IBM WebSphere Application Server trabaja con un servidor HTTP para
manejar las peticiones de servlets y otros contenidos dinámicos desde las aplicaciones Web.
El servidor HTTP y el servidor de aplicaciones se comunican utilizando
el plug-in HTTP de WebSphere para el servidor HTTP. El plug-in HTTP
utiliza un archivo de configuración XML de fácil lectura para determinar si la
petición la debe gestionar el servidor Web o el servidor de aplicaciones. Utiliza
el protocolo HTTP estándar para comunicarse con el servidor de aplicaciones.
También se puede configurar para implementar seguridad en el servidor
HTTP, si fuera necesario. El plug-in HTTP está disponible para los servidores
Web más conocidos.
Servidor de Aplicaciones
El servidor de aplicaciones colabora con el servidor Web intercambiando
peticiones de clientes y respuestas de aplicaciones. Puede definir varios servidores de aplicaciones, cada uno de ellos ejecutándose en su propia Máquina
Virtual Java (JVM).
190
CAPÍTULO 7. HERRAMIENTAS
Contenedor de EJB
El contenedor de EJB proporciona los servicios de tiempo de ejecución
necesarios para desplegar y gestionar componentes EJB, de ahora en adelante
conocidos como enterprise beans. Es un proceso de servidor que maneja peticiones para beans de sesión y beans de entidad.
Los enterprise beans (dentro de los módulos EJB) instalados en un servidor de aplicaciones no se comunican directamente con el servidor; en su lugar,
el contenedor de EJB ofrece una interfaz entre los enterprise beans y el servidor. Juntos, el contenedor y el servidor proporcionan el entorno de tiempo de
ejecución del bean.
El contenedor proporciona muchos servicios de bajo nivel, incluido el soporte de hebras y transacciones. Desde un punto de vista administrativo, el
contenedor gestiona el almacenamiento y la recuperación de datos para los
beans que contiene. Un solo contenedor puede gestionar más de un archivo
JAR de EJB.
Contenedor Web
Los servlets y los archivos JSP (Java Server Pages) son componentes del
servidor que se utilizan para procesar peticiones de clientes HTTP como, por
ejemplo, navegadores Web. Se encargan de la presentación y el control de
la interacción del usuario con los datos de aplicación subyacentes y la lógica
empresarial. También pueden generar datos formateados, como XML, para
que los utilicen otros componentes de aplicación.
El contenedor Web procesa servlets, archivos JSP y otros tipos de inclusiones de servidor. Los servlets anteriores a J2EE se ejecutarán en un motor
de servlets. Cada contenedor Web contiene automáticamente un único gestor
de sesiones.
Cuando se manejan los servlets, el contenedor Web crea un objeto de petición y un objeto de respuesta, e invoca el método de servicio de servlets. El
contenedor Web invoca el método destroy() del servlet cuando corresponda y
descarga el servlet, y después la JVM ejecuta la recolección de basura.
Contenedor de Clientes de Aplicaciones
Los clientes de aplicaciones son programas Java que se ejecutan normalmente en un sistema de sobremesa con una interfaz gráfica de usuario (GUI)
. Tienen acceso a toda la gama de componentes y servicios de servidor J2EE.
El contenedor de clientes de aplicaciones maneja programas de aplicaciones
de Java que acceden a los beans enterprise, Java Database Connectivity (JDBC) y las colas de mensajes de Java Message Service. El programa Cliente de
7.2. WEBSPHERE
191
aplicaciones J2EE se ejecuta en las máquinas cliente.
Este programa sigue el mismo modelo de programación Java que otros programas Java; no obstante, el cliente de aplicaciones J2EE depende del tiempo
de ejecución del cliente de aplicaciones para configurar su entorno de ejecución,
y utiliza el espacio de nombres JNDI (Java Naming and Directory Interface)
para acceder a los recursos.
Contenedor de Applets
Un applet es una clase Java de cliente que se ejecuta normalmente en un
navegador Web, pero que también se pueden ejecutar en otros dispositivos y
aplicaciones de cliente.
Los applets se utilizan a menudo junto con páginas HTML para mejorar
la experiencia de usuario que ofrece el navegador Web. También se pueden
utilizar para pasar parte de la carga de trabajo de proceso del servidor al
cliente.
El contenedor de applets maneja applets de Java incorporados en documentos HTML (HyperText Markup Language) que residen en una máquina
cliente remota respecto al servidor de aplicaciones. Con este tipo de cliente, el
usuario accede a un bean enterprise en el servidor de aplicaciones mediante el
applet de Java en el documento HTML.
Sistema Principal Virtual
Un sistema principal virtual es una configuración que permite que una única máquina de sistema principal parezca varias máquinas de sistema principal.
Los recursos asociados con un sistema principal virtual no pueden compartir
datos con recursos asociados con otro sistema principal virtual, incluso si los
sistemas principales virtuales comparten la misma máquina física.
Los sistemas principales virtuales permiten al administrador asociar aplicaciones Web con un sistema principal particular configurado para la máquina
que ejecuta la aplicación.
7.2.4.
Arquitecturas de Tres Niveles
WebSphere Application Server proporciona la capa de la lógica de aplicación en una arquitectura de tres niveles, lo que permite a los componentes
de cliente interactuar con los recursos de datos y las aplicaciones heredadas.
De manera colectiva, las arquitecturas de tres niveles son modelos de programación que permiten la distribución de la funcionalidad de la aplicación
entre tres sistemas independientes, normalmente:
192
CAPÍTULO 7. HERRAMIENTAS
Componentes de cliente que se ejecutan en estaciones de trabajo locales
(nivel uno).
Procesos que se ejecutan en servidores remotos (nivel dos).
Una colección discreta de bases de datos, gestores de recursos y aplicaciones de sistema principal (nivel tres).
Primer nivel:
• La responsabilidad de la presentación y la interacción con el usuario
reside en los componentes del primer nivel. Estos componentes de
cliente permiten al usuario interactuar con los procesos del segundo
nivel de forma segura e intuitiva. WebSphere Application Server da
soporte a varios tipos de clientes.
• Los clientes no acceden directamente a los servicios del tercer nivel.
Por ejemplo, un componente de cliente proporciona un formulario
en el que el cliente solicita los productos.
• El componente de cliente entrega este pedido a los procesos del
segundo nivel, que comprueban las bases de datos del producto y
realizan las tareas necesarias para la facturación y el envío.
Segundo nivel (capa de la lógica de aplicación):
• Los procesos del segundo nivel se conocen normalmente como la
capa de la lógica de aplicación. Estos procesos gestionan la lógica
empresarial de la aplicación y pueden acceder a los servicios del
tercer nivel.
• La capa de la lógica de aplicación es donde se produce la mayor
parte del trabajo de los procesos.
• Varios componentes de cliente pueden acceder simultáneamente a
los procesos del segundo nivel, por lo que esta capa de la lógica de
aplicación debe gestionar sus propias transacciones.
• Si varios clientes intentan realizar un pedido del mismo artículo,
del que sólo queda uno, la capa de la lógica de aplicación debe
determinar quién tiene derecho a ese artículo, actualizar la base
de datos para reflejar la compra e informar a los otros clientes de
que el artículo ya no está disponible. Sin una capa de la lógica de
aplicación, los componentes de cliente acceden a la base de datos
del producto directamente.
7.3. INTRODUCCIÓN A DB2
193
• La base de datos es necesaria para gestionar sus propias conexiones,
normalmente bloqueando un registro que se está procesando. El
bloqueo se puede realizar simplemente cuando un artículo se coloca
en un carro de compra, para evitar que los demás clientes consideren
la posibilidad de compra.
• La separación del segundo y el tercer nivel reduce la carga en los
servicios del tercer nivel, puede mejorar el rendimiento general de
la red y permite una gestión de conexiones más elocuente.
Tercer nivel:
• Los servicios del tercer nivel están protegidos del acceso directo de
los componentes de cliente al residir en una red segura.
• La interacción debe producirse a través de los procesos del segundo
nivel.
Los tres niveles deben poder comunicarse entre ellos. Los protocolos abiertos estándar y las API expuestas simplifican esta comunicación. Los componentes de cliente se pueden escribir en cualquier lenguaje de programación
como, por ejemplo, Java o C++, y se puedan ejecutar en cualquier sistema
operativo, siempre que pueden comunicarse con la capa de la lógica de aplicación.
De la misma forma, las bases de datos del tercer nivel pueden tener cualquier
diseño, siempre que la capa de la lógica de aplicación pueda consultarlas y manipularlas. La clave de esta arquitectura es la capa de la lógica de aplicación.
7.3.
Introducción a DB2
194
CAPÍTULO 7. HERRAMIENTAS
7.3.1.
DB2 Universal Database (DB2 UDB)
DB2 Universal Database, es una base de datos universal. Es completamente
escalable, veloz y confiable. Corre en modo nativo en casi todas las plataformas,
como Windows NT, Sun Solaris, HP-UX, AIX, y OS/2 [24].
Características y funciones:
• DB2 UDB es el producto principal de la estrategia de Data Management de IBM.
• DB2 UDB es un sistema para administración de bases de datos relacionales (RDBMS) multiplataforma, especialmente diseñada para
ambientes distribuidos, permitiendo que los usuarios locales compartan información con los recursos centrales.
Integridad:
DB2 UDB incluye características de integridad, asegurando la protección
de los datos aún en caso de que los sistemas sufran un colapso; y de seguridad,
permitiendo realizar respaldos en línea con distintos grados de granularidad,
sin que esto afecte la disponibilidad de acceso a los datos por parte de los
usuarios.
Múltiples usos:
Provee la capacidad de hacer frente a múltiples necesidades, desde procesamiento transaccional de misión crítica (OLTP), hasta análisis exhaustivo de
los datos para el soporte a la toma de decisiones (OLAP).
Escalabilidad:
Sus características distintivas de escalabilidad le permiten almacenar información en un amplio rango de equipos, desde una PC portátil hasta un
complejo ambiente de mainframes procesando en paralelo.
Web enabled para e-business:
Incluye tecnología basada en Web que permite generar aplicaciones en las
Intranets y responder a las oportunidades de negocios disponibles en Internet.
Además, DB2 UDB provee soporte a Java.En la figura 7.2 de la pág. 195 se
grafica el almacenamiento de documentos XML mediante DB2.
7.3. INTRODUCCIÓN A DB2
Figura 7.2: Almacenamiento XML de DB2.
195
196
CAPÍTULO 7. HERRAMIENTAS
Facilidad de instalación y uso:
La primera versión de DB2 para NT fue reconocida en el mercado como
una base de datos muy poderosa, pero difícil de instalar y usar. En esta versión (DB2 UDB), IBM agregó muchas herramientas gráficas para facilitar el
uso tanto de usuarios, como administradores y desarrolladores. Incluye guías
para operaciones como instalación, configuración de performance, setup, etc.
Además, se agregaron herramientas para facilitar las tareas de integración
con otras bases de datos, tecnologías de networking y desarrollo de aplicaciones [25].
Universalidad:
DB2 UDB es la única base de datos realmente universal, es multiplataforma
(16 plataformas - 10 no IBM), brinda soporte a un amplio rango de clientes,
soporta el acceso de los datos desde Internet y permite almacenar todo tipo
de datos incluyendo texto, audio, imágenes y video o cualquier otro definido
por el usuario.
7.3.2.
Funciones Complementarias
Conectividad.
Las herramientas de conectividad permiten acceder a los datos más allá de
donde ellos se encuentren. El slogan “cualquier cliente, a cualquier servidor,
en cualquier red” está completamente sustentado por la funcionalidad que sus
herramientas ofrecen. EL DB2 Connect permite acceder a los datos de DB2 en
mainframe o AS/400, desde Windows NT, Windows 95 / 98, OS/2 o cualquiera
de los Unix soportados. Además, el producto Datajoiner posibilita acceder de
forma única y transparente a los datos residentes en Oracle, Sybase, Informix,
Microsoft SQL Server, IMS, VSAM y otros.
Data Warehousing.
DB2 UDB provee la infraestructura necesaria para soportar el proceso de
toma de decisiones en cualquier tamaño y tipo de organización. Está dirigido
a resolver la problemática a nivel departamental (Data Marts), ya que un
único producto provee la capacidad para acceder a datos en Oracle, Sybase,
Informix, Microsoft SQL Server, VSAM o IMS, además de la familia DB2.
Permite de forma totalmente gráfica acceder, transformar y distribuir los datos
automáticamente y sin programar una línea de código.
7.3. INTRODUCCIÓN A DB2
197
Data Mining.
DB2 UDB posibilita el análisis orientado al descubrimiento de información escondida en los datos, realizando modelización predictiva, segmentación
de la base de datos, análisis de vínculos, o detección de desviaciones. Incluye
las siguientes técnicas: clustering (segmentación), clasificación, predicción, descubrimiento asociativo, descubrimiento secuencial de patrones y secuencias
temporales. Todas las técnicas mencionadas permiten realizar segmentación
de clientes, detección de fraudes, retención de clientes, ventas cruzadas, etc.
Partición Simple sobre un Único Procesador.
Este entorno se basa en memoria y disco, conteniendo una única CPU.
Este ambiente ha sido denominado de diversas maneras : base de datos aislada
(standalone database), base de datos cliente/servidor (client/server database),
base de datos serial (serial database), sistema uniprocesador (uniprocessor
system), y entorno nodo simple/ no paralelo (single node/non-parallel).
La base de datos en este ambiente sirve para cubrir todas las necesidades
de un departamento o de una pequeña oficina de una empresa donde los datos
y los recursos del sistema (incluyendo un único procesador o CPU) son administrados por un único administrador de la base.
Capacidad y Escalabilidad.
A este ambiente se le pueden agregar mas discos. Al tener uno o más
servidores de entrada-salida para mas de un disco permite que más de una
operación de entrada-salida ocurra al mismo tiempo.
Un sistema de procesador único esta limitado por la cantidad de espacio
en disco que pueda manejar dicho procesador. Sin embargo, como la carga de
trabajo aumenta, una sola CPU puede llegar a ser insuficiente para satisfacer
las peticiones solicitadas por los usuarios, aún sin importar cuántos discos y/o
memoria adicional hayan sido agregados [26].
Si se ha alcanzado la máxima capacidad o escalabilidad, se podría considerar cambiarse a un sistema de partición única con múltiples procesadores. A
continuación se describe esta configuración.
• Partición Simple con Múltiples Procesadores
Este entorno se compone de varios procesadores de igual potencia dentro de
la misma máquina, llamándose a este ambiente Sistema Simétrico Multiprocesador (symmetric multi-processor o SMP). Los recursos tales como espacio de
198
CAPÍTULO 7. HERRAMIENTAS
disco y memoria son compartidos. En esta máquina se encuentran más discos
y memoria en comparación a una base de datos de partición simple, en el
ambiente de procesador único.
Este entorno es de fácil administración, debido a que todo esta ubicado en
una sola máquina y además los discos y memoria están compartidos.
Con varios procesadores disponibles, diferentes operaciones de la base de
datos pueden ser completadas significativamente más rápido que en bases de
datos asignadas a un solo procesador. DB2 también puede dividir el trabajo
de una consulta simple entre los procesadores disponibles para mejorar la
velocidad de procesamiento.
Otras operaciones de la base de datos, tales como el resguardo (backup)
y creación de índices sobre datos existentes pueden también aprovechar la
ventaja de trabajar con múltiples procesadores.
•
◦ Capacidad y Escalabilidad
En este entorno se pueden agregar más procesadores. Sin embargo, es posible que los distintos procesadores traten de acceder al mismo dato en el mismo tiempo, lo cual generará la aparición de limitaciones a medida que las
operaciones de se incrementen. Con discos y memoria compartidos, se puede
efectivamente compartir todos los datos de la base.
Una aplicación en un procesador puede estar accediendo un dato al mismo
tiempo que otra aplicación lo hace en otro procesador, causando así que la
segunda aplicación espere para acceder a ese dato.
Se puede incrementar la capacidad de entrada-salida de la partición de la
base de datos asociada a un procesador, así como también el número de discos.
También se pueden establecer servidores de entrada-salida para repartir las
solicitudes de entrada-salida. Al tener uno o mas servidores de entrada-salida
para cada disco permite que una o mas operaciones de entrada-salida tengan
lugar al mismo tiempo.
Si se ha alcanzado la máxima capacidad o escalabilidad, se puede considerar la idea de cambiar la base a un sistema de partición múltiple, descrito a
continuación.
7.3.3.
Configuraciones de Particiones Múltiples
Además de los entornos antes mencionados, se puede dividir la base de
datos en particiones múltiples, cada una en su propia máquina. Y además
7.3. INTRODUCCIÓN A DB2
199
varias máquinas con particiones múltiples de una base de datos pueden ser
agrupadas.
Esta sección describe las siguientes configuraciones de particiones posibles
:
Particiones en sistemas cada uno con un procesador.
Particiones en sistemas cada uno con múltiples procesadores.
Particiones lógicas de base de datos.
7.3.4.
Resúmen del Paralelismo Mejor Adaptable a cada Entorno de Hardware
La siguiente tabla 7.7 de la pág. 199 resume los tipos de paralelismo que
mejor se adaptan a los diferentes entornos de hardware.
Entorno de
Hardware
Paralelismo
I/O
Si
Paralelismo Inter
Consulta
Paralelismo Intra
Partición
No
Paralelismo Inter
Consulta
Paralelismo Inter
Partición
No
Partición Simple,
Único Procesador
Partición Simple,
Múltiples
Procesadores
Particiones Múltiples,
Un Procesador
Particiones Múltiples,
Múltiples
Procesadores
Particiones Lógicas
de Base de Datos
Si
Si
No
Si
No
Si
Si
Si
Si
Si
Si
Si
Cuadro 7.7: Paralelismo mejor Adaptable a cada Entorno de Hardware
Herramientas de Administración
Desde el punto de vista del administrador de base de datos, el DB2 incluye
una larga lista de herramientas DBA. Además de esto hay: utilidades para
200
CAPÍTULO 7. HERRAMIENTAS
B/R, reorganizador, importar/exportar y alta velocidad de llamadas, están
incluidas y pueden ser ejecutadas a través de un objeto GUI Browser.
DB2 Administración de Servidores.
El DB2 administración de servidores (DAS) es una instancia de DB2 que
habilita administración remota de servidores DB2. Esta instancia es creada y
usada en una forma similar a cualquier instancia de DB2. Se puede tener una
sola DAS sobre la máquina.
Asistente para la Configuración de clientes.
El asistente de configuración de clientes ayuda a manejar las conexiones
de las bases de datos con servidores de base de datos remotas [27].
Este puede correr bajo servidores OS/2 y Windows NT, así como el cliente
corre bajo OS/2, Windows NT y Windows 95. Con el asistente de configuración
de clientes se podrá :
• Definir conexiones a base de datos de modo que éstas pueden ser
utilizadas por aplicaciones. Existen 3 métodos:
◦ Examinar la red por base de datos disponibles y seleccionar
una. El cliente automáticamente se configura para esa base de
datos.
◦ Usar los perfiles de acceso a base de datos que provee el administrador para definir automáticamente las conexiones.
◦ Configuración manual de conexiones a base de datos para modificar algunos parámetros de conexión requeridos.
• Remover base de datos catalogadas o modificar sus propiedades.
• Testear la conexión con la base de datos identificada en el sistema
para asegurar que se puede establecer la conexión con el servidor
que necesita.
• Enlazar aplicaciones a una base de datos seleccionando utilidades
o enlazar archivos de una lista.
• Establecer conexiones con servidores DRDA si la conexión DB2 está
instalada.
Administrador
7.3. INTRODUCCIÓN A DB2
201
El administrador es usado para monitorear y cambiar el mejoramiento de
aplicaciones que corren a través de la base de datos.
Consiste en dos partes:
• Una utilidad de frente-final.
• Un dominio.
Cuando arranca el administrador, se ejecuta el comando de inicio del administrador de utilidades de front-end, quienes ejecutan el dominio. Por default,
el dominio es iniciado sobre toda partición en una base de datos particionada, pero se puede también usar la utilidad front-end para iniciar un dominio
simple de una partición específica para monitorear la actividad a través de la
partición de base de datos encontradas allí. O un dominio puede monitorear
la actividad sobre una partición-simple de base de datos.
Además un administrador de dominio colecciona estadísticas sobre las aplicaciones que corren a través de la base de datos. Estas son chequeadas a través
de reglas que pueden ser especificadas en el archivo de configuración del administrador aplicadas a esa base de datos específica.
El administrador actúa de acuerdo a éstas reglas. Por Ej.: una regla puede
indicar que la aplicación esta usando demasiados recursos. En éste caso el
administrador puede cambiar las prioridades de la aplicación o forzarla a dejar
la base de datos, de acuerdo con las instrucciones específicas en el archivo de
configuración del administrador.
Si la acción asociada con ésta regla cambia las prioridades de la aplicación,
el administrador cambia las prioridades del solicitante sobre la partición de la
base de datos en la que el administrador detecta la violación de recurso. Si la
acción asociada con la regla es de forzar la aplicación, ésta será forzada siempre
que el administrador que ha detectado la violación del recurso esté corriendo
sobre el nodo coordinador de la aplicación o en un entorno particionado de la
base de datos.
El administrador también almacena (logs) cualquier acción que tome, se
pueden consultar éstos archivos log para rever las acciones tomadas por el
administrador.
Estándares Soportados en DB2
La UDB DB2 se adapta muy bien a los estándares industriales haciéndola
muy integrable con otros productos IBM y también con aquellos que no lo son.
La UDB DB2 soporta estándares API incluyendo ANSI SQL92E, Microsoft
OBDC y JAVA/JDBC.
202
CAPÍTULO 7. HERRAMIENTAS
La UDB DB2 también puede ser integrada con servicios de seguridad para
administrar servidores de nombre y direcciones. DB2 también soporta SNMP y
puede ser monitoreada desde cualquier Sistema de Administración de Servers
de IBM.
Para poder establecer una comunicación con otras bases de datos relacionales, la UDB DB2 soporta la Arquitectura de Base de Datos Relacional
(DRDA). Esta arquitectura también incluye el Servidor de Aplicaciones (AS)
y gracias a ella DB2 puede correr sobre TCP/IP en forma nativa, haciendo más
fácil la implementación de un entorno abierto de redes. La UDB DB2 también
incluye las innovaciones en SQL, que satisfacen diferentes requerimientos:
7.3.5.
DB2 UDB Versión 8.1
Cada nueva versión de DB2 Universal Database se crea sobre la base sólida
de la versión anterior. En la Versión 8.1 ofrece incluso un soporte más potente
para Business Intelligence, Gestión de Datos y Soluciones e-business.
DB2 Universal Database Versión 8.1 contiene muchas características nuevas,
que incluyen el Centro de desarrollo, funciones ampliadas de XML Extender,
soporte de Linux para DB2 Warehouse Manager, integración de Spatial Extender con herramientas de IBM Business Intelligence, un nuevo Centro de
duplicación, mejoras de enlace y rendimiento de DB2 Data Links Manager.
Nuevas herramientas de gestión y supervisión de bases de datos, soporte de 64
bits ampliado y nuevos asistentes de Instalación de DB2 y Centro de control
de DB2.
Centro de Desarrollo
En la versión 8.1, el Centro de desarrollo sustituye al Stored Procedure
Builder y proporciona un funcionamiento incrementado. Mediante el Centro
de desarrollo, el usuario puede desarrollar procedimientos almacenados y funciones definidas por el usuario.También es posible correlacionar tipos estructurados de los Enterprise JavaBeans. Los asistentes simplifican las tareas de
desarrollo.
Las nuevas características incluyen:
Soporte de varios proyectos y conexiones de base de datos.
La Vista de servidor para examinar los objetos de desarrollo en el servidor.
Depurador de SQL para depurar rutinas; incluye vistas para puntos de
interrupción, variables y pila de llamadas.
7.3. INTRODUCCIÓN A DB2
203
Una interfaz mejorada para controlar el entorno de desarrollo.
Asistentes para construir funciones definidas por el usuario para MQSeries,
fuentes de datos OLE DB y documentos XML.
Asistentes para exportar, importar y desplegar rutinas e información de
proyectos Productos y Paquetes Nuevos.
WebSphere
Utilizando una tecnología parecida a la que se encuentra en el Centro de
desarrollo, WebSphere Studio Application Developer proporciona también un
creador de procedimientos almacenados y un creador de funciones definidas por
el usuario. Si utiliza WebSphere para desarrollar aplicaciones, puede acceder a
muchas de las mismas características del Centro de desarrollo y aprovecharse
tanto del conjunto de productos WebSphere como de la potencia de DB2.
DB2 Warehouse Manager
Se han añadido nuevas características y mejoras a DB2 Warehouse Manager:
Con el soporte de carga paralela nativa para DB2 Universal Database
Enterprise Server Edition, es posible cargar grandes volúmenes de datos
con más rapidez.
DB2 Warehouse Manager tiene capacidades ampliadas, por lo que se
puede incrementar y mejorar el rendimiento de las operaciones de depósito, manipular y localizar metadatos más deprisa, y ejecutar el agente
de depósito, programas y transformadores en Linux.
Los conectores para la Web y SAP se han mejorado en el paquete de
DB2 Warehouse Manager.
DB2 Warehouse Manager (cont.)
Ahora, el Gestor de catálogos de información soporta un rango más
amplio de sistemas operativos. El Centro de catálogos de información,
que es una nueva interfaz, proporciona unas funciones y un uso mejorados
para trabajar con metadatos comerciales.
Ahora se soportan XP de Linux y de Windows(R) para el agente de depósito, además de los sistemas operativos que ya se soportaban: Windows
NT, Windows 2000, AIX(R) y Solaris Operating Environment(R).
204
CAPÍTULO 7. HERRAMIENTAS
El transformador de limpieza realiza ahora transformaciones con SQL,
lo que tiene como resultado un mejor rendimiento.
Centro de depósito de datos de DB2
Se han añadido nuevas características al Centro de depósito de datos:
El soporte de servidor de depósito se amplía a AIX. El servidor de depósito y el iniciador de sesiones de depósito, que se ejecutan como servicios
en Windows, se ejecutan como daemons en AIX.
Es posible exportar e importar metadatos del lenguaje de código y exportar estos objetos:
• Tablas, archivos y vistas de origen
• Tablas y archivos de destino
El proceso en cascada (varios intervalos) permite gestionar varios pasos
definiendo y habilitando una planificación y un flujo de tareas para los
procesos que contienen los pasos.
Con el nuevo paso Select and Update de SQL, se puede actualizar una
tabla de destino del depósito de datos sin sustituir la tabla completa ni
grabar código adicional.
Ahora, la Guía de aprendizaje de Business Intelligence se compone de dos
guías de aprendizaje más cortas: Guía de aprendizaje de Business Intelligence: Introducción al Centro de depósito de datos y Guía de aprendizaje
de Business Intelligence: Lecciones ampliadas sobre depósito de datos.
DB2 Spatial Extender
Se han añadido nuevas características a Spatial Extender:
Ahora, Spatial Extender está integrado en las herramientas de IBM
Business Intelligence, que incluyen QMF, Centro de depósito de datos y
OLAP.
Ahora es posible acceder a datos de DB2 para iSeries y de DB2 para
z/OS con soporte federado.
El soporte de plataformas incluye ahora los sistemas operativos siguientes: AIX, HP-UX, Linux, Solaris Operating Environment y Windows.
7.3. INTRODUCCIÓN A DB2
205
El Index Advisor, una nueva herramienta de indexación, tiene dos modalidades operativas:
Analizar un índice espacial existente y crear y analizar un índice virtual.
Analizar la geometría de una columna espacial que aún no tiene un índice
espacial.
La interfaz de Spatial Extender está ahora orientada al objeto.
DB2 Spatial Extender (cont.)
Ahora, Spatial Extender ha mejorado su rendimiento y funciones:
Se ha mejorado el rendimiento de las funciones de importación y exportación.
Se han reestructurado las vistas de Catálogos espaciales.
Se han ampliado los procedimientos almacenados soportados.
Ahora se puede añadir fácilmente un geocodificador de terceros a Spatial
Extender.
Se han ampliado las funciones existentes.
Ahora se tiene acceso a funciones espaciales adicionales.
Gestión de los Datos
Las nuevas características de DB2 Universal Database Versión 8.1 incluyen:
Un Servidor de administración de bases de datos rediseñado.
Agrupamiento multidimensional de los datos.
El Centro de desarrollo de DB2.
El Centro de salud de DB2.
Una supervisión mejorada de los puntos muertos.
SQL en funciones definidas por el usuario.
Un instalador basado en Java en UNIX(R).
206
CAPÍTULO 7. HERRAMIENTAS
La posibilidad de cambiar parámetros en línea.
Mejoras en la duplicación.
Duplicación (DB2 DataPropagator)
El DataPropagator de DB2 Versión 8.1 ha mejorado el uso, la fiabilidad,
el rendimiento, las posibilidades de servicio y la seguridad. El nuevo Centro
de duplicación facilita la configuración, el mantenimiento y la supervisión de
duplicaciones. La duplicación se ejecuta con más rapidez que antes.
Nuevo Centro de duplicación
Las nuevas características del Centro de duplicación incluyen:
Un iniciador que le permitirá configurar con rapidez el escenario de duplicación de extremo a extremo.
La posibilidad de especificar “perfiles” específicos del servidor y del sistema operativo, así como de denominar convenios y propiedades para las
tablas de destino, tablas de CD y tablas de control.
La posibilidad de iniciar y detener los programas Capture, Apply y Monitor desde el Centro de duplicación.
Un supervisor de alertas que envía alertas por correo electrónico cuando
se superan los umbrales definidos por el usuario o se producen problemas.
La posibilidad de calcular estadísticas tales como relación de productividad, valores de latencia y el número de errores de los programas Capture
y Apply.
Una comprobación mejorada de los errores y una validación de las operaciones de duplicación.
En la figura 7.3 de la página 207 se puede observar el nuevo esquema de
funcionamiento junto con las nuevas características del Centro de Duplicación
de la versión 8.0.
Posibilidades de Gestión
Fundaciones de Bases de Datos de Autogestión Disponibles
A partir de DB2 Universal Database Versión 8.1, verá incorporada en DB2
una apasionante tecnología inteligente; la base de datos se supervisa a sí misma y aconseja a los administradores de bases de datos cuando se requiere una
7.3. INTRODUCCIÓN A DB2
207
Figura 7.3: Centro de Duplicación de DB2 versión 8.0.
acción. Esta tecnología de bases de datos inteligentes libera a los administradores de bases de datos de las tareas mundanas, de forma que se pueden
centrar en las actividades que hacen prosperar el negocio.
Visualizador de Memoria
El Visualizador de memoria ayuda a los administradores de bases de datos a
supervisar, gráficamente y en tiempo real, el rendimiento relativo a la memoria
de una instancia y las bases de datos de la misma.
Supervisor de salud
Herramienta para la “gestión por excepción”, el Supervisor de salud evalúa
la salud del sistema de bases de datos y notifica al usuario, por correo electrónico o mediante un buscapersonas, los problemas potenciales o existentes.
El supervisor se ejecuta sobre cada una de las instancias de DB2.
Soporte de plataformas
Con el soporte de 64 bits, se dispone de más espacio de direcciones para
almacenar más datos en la memoria y poder acceder a ellos con mucha mayor
rapidez.
Los productos DB2 Versión 8.1 siguientes proporcionan soporte de 64 bits:
DB2 Personal Edition.
DB2 Enterprise Server Edition.
DB2 Connect Personal Edition.
208
CAPÍTULO 7. HERRAMIENTAS
DB2 Connect Enterprise Edition.
DB2 Application Development Client.
DB2 Administration Client.
DB2 Run-Time Client.
DB2 Warehouse Manager.
DB2 Spatial Extender.
7.4.
Sun VirtualBox
Oracle VM VirtualBox es un software de virtualización para arquitecturas
x86, creado originalmente por la empresa alemana Innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de
productos de virtualización. Por medio de esta aplicación es posible instalar
sistemas operativos adicionales, conocidos como sistemas invitados, dentro de
otro sistema operativo anfitrión, cada uno con su propio ambiente virtual.
Por ejemplo, se podrían instalar diferentes distribuciones de GNU / Linux en
VirtualBox instalado en Windows XP o viceversa.
Entre los sistemas operativos soportados (en modo anfitrión) se encuentran
GNU / Linux, Mac OS X, OS / 2 Warp , Windows, y Solaris / OpenSolaris,
y dentro de éstos es posible virtualizar los sistemas operativos FreeBSD, GNU
/ Linux, OpenBSD, OS / 2 Warp, Windows, Solaris, MS - DOS y muchos
otros (ver figura 7.4 de la pág. 209).
La aplicación fue inicialmente ofrecida bajo una licencia de software propietario, pero en enero de 2007, después de años de desarrollo, surgió VirtualBox
OSE (Open Source Edition) bajo la licencia GPL 2. Actualmente existe la versión propietaria Oracle VM VirtualBox, que es gratuita únicamente bajo uso
personal o de evaluación, y está sujeta a la licencia de “Uso Personal y de
Evaluación VirtualBox” (VirtualBox Personal Use and Evaluation License o
PUEL) y la versión Open Source, VirtualBox OSE, que es software libre, sujeta
a la licencia GPL.
En comparación con otras aplicaciones privadas de virtualización, como
VMware Workstation o Microsoft Virtual PC, VirtualBox carece de algunas
funcionalidades, pero provee de otras como la ejecución de maquinas virtuales
de forma remota, por medio del Remote Desktop Protocol (RDP), soporte
iSCSI.
7.5. MICROSOFT VISIO
209
Figura 7.4: Captura de Pantalla de una Máquina Virtual.
En cuanto a la emulación de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales
en un contenedor llamado Virtual Disk Image, incompatible con los demás
software de virtualización.
Otra de las funciones que presenta es la de montar imágenes ISO como
unidades virtuales de CD o DVD, o como un disco floppy [28].
7.5.
Microsoft Visio
Microsoft Visio es un software de dibujo vectorial para Microsoft Windows. Visio comenzó a formar parte de los productos de Microsoft cuando fue
adquirida la compañía Visio en el año 2000.
Las herramientas que lo componen permiten realizar diagramas de oficinas,
diagramas de bases de datos, diagramas de flujo de programas, UML, y más,
que permiten iniciar al usuario en los lenguajes de programación.
El navegador Internet Explorer incluye un visor de diagramas Visio, cuya
extensión es vsd, llamado Visio Viewer.
Aunque originalmente apuntaba a ser una aplicación para dibujo técnico
para el campo de Ingeniería y Arquitectura, con añadidos para desarrollar
diagramas de negocios, su adquisición por Microsoft implicó drásticos cambios
de directrices de tal forma que a partir de la versión de Visio para Microsoft
Office 2003 el desarrollo de diagramas para negocios pasó de añadido a ser
210
CAPÍTULO 7. HERRAMIENTAS
el núcleo central de negocio, minimizando las funciones para desarrollo de
planos de Ingeniería y Arquitectura que se habían mantenido como principales
hasta antes de la compra. Una prueba de ello es la desaparición de la función
property line tan útil para trabajos de agrimensura y localización de puntos por
radiación, así como el suprimir la característica de ghost shape que facilitaba
la ubicación de los objetos en dibujos técnicos. Al parecer Microsoft decidió
que el futuro del programa residía en el mundo corporativo de los negocios y no
en las mesas de dibujo de Arquitectos e Ingenieros compitiendo con productos
como AutoCad, DesignCad, Microstation, etc. [29].
7.6.
OpenVPN
El software OpenVPN es una solución de conectividad basada en software:
SSL (Secure Sockets Layer) bajo la librería OpenSSL y VPN Virtual Private
Network (Red Virtual Privada). Soporta diferentes medios de autenticación
como certificados, smart cards, y / o usuarios / contraseñas, y permite políticas
de control de acceso para usuarios o grupos usando reglas de firewall aplicadas
a las interfaces virtuales de la VPN. Esta solución resulta una muy buena
opción en tecnologías Wi-Fi (redes inalámbricas EEI 802.11) y soporta una
amplia configuración, entre ellas balanceo de cargas entre otras. Está publicado
bajo licencia de código libre (Open Source).
Es una solución multiplataforma que ha simplificado mucho la configuración de VPN’s dejando atrás los tiempos de otras soluciones difíciles de
configurar como IPSec haciéndola más accesible para gente inexperta en este
tipo de tecnología.
Esta arquitectura está implementada sobre la Capa 2 y Capa 3 del modelo
OSI, de esta manera los túneles de OpenVPN pueden transportar tramas
Ethernet, paquetes IPX, y los paquetes NETBIOS del navegador (Explorer)
de la red Windows, que son un problema en la mayoría de las otras soluciones
VPN.
Algunas de características de OpenVPN son:
Protección de sesión con el cortafuego interno: en una sesión
conectada con la oficina central de su compañía mediante un túnel VPN
puede cambiar el setup de su red en su ordenador portátil, para enviar
todo su tráfico de la red a través del túnel. Una vez que OpenVPN
haya establecido un túnel, el cortafuego central en la oficina central de
la compañía puede proteger el ordenador portátil, aún cuando él no sea
7.6. OPENVPN
211
una máquina local. Solamente un puerto de la red se debe abrir de forma
local para trabajar la sesión. El cortafuego central protege al empleado
siempre que esté conectado a través del VPN.
Las conexiones de OpenVPN pueden ser establecidas a través de casi
cualquier cortafuego, se dice que “si tienes acceso a Internet y si puedes tener
acceso a la Web, los túneles de OpenVPN deben poder trabajar”.
Soporte de Proxy y configuraciones: OpenVPN tiene soporte de
Proxy y se puede configurar para funcionar como un servicio de TCP
o de UDP, y como servidor o cliente. Como servidor, OpenVPN espera
simplemente hasta que un cliente solicita una conexión, mientras que
como cliente, intenta establecer una conexión según su configuración.
Apertura de un solo puerto en el cortafuegos para permitir conexiones entrantes: desde OpenVPN 2.0, el modo especial del servidor
permite conexiones entrantes múltiples en el mismo puerto del TCP o
del UDP, mientras que todavía usa diversas configuraciones para cada
conexión. Los interfaces virtuales permiten reglas muy específicas del
establecimiento de una red y del cortafuegos donde todas las reglas,
restricciones, mecanismos de la expedición, y conceptos como NAT se
pueden utilizar con los túneles de OpenVPN.
Alta flexibilidad con posibilidades extensas de lenguaje interpretado (scripting): OpenVPN ofrece numerosos puntos durante la
conexión para la ejecución de los scripts individuales. Estos scripts se
pueden utilizar para una gran variedad de propósitos de la autentificación, recuperación en caso de fallos (failover) entre otros.
Soporte transparente y alto rendimiento para IP’s Dinámicas:
si se usa OpenVPN, no hay necesidad de utilizar más IPs estáticas de
cualquier lado del túnel. Ambas puntos finales del túnel pueden tener
acceso barato de ADSL con el IPs dinámicas y los usuarios no notarán
un cambio del IP de cualquier lado. Las sesiones del Terminal Server
de Windows y las sesiones seguras de Shell (SSH) parecerán congeladas
solamente por algunos segundos, pero no terminarán y continuarán con
la acción solicitada después de una corta pausa [30].
Capítulo 8
Conclusiones
Las Redes Virtuales Privadas representan una gran solución para las empresas en cuanto a servicios de conectividad seguros; la facilidad de instalación
y mantenimiento, la posibilidad de ejecución en la mayoría de las plataformas,
y otras razones, las hacen idóneas para ser implementadas tanto en grandes
corporaciones como en las instalaciones de pequeños usuarios para proteger
sus redes.
Hace unos años era común que una mediana o gran empresa tuviera su
propio RAS corporativo para que sus empleados accedieran a la base de datos
de la compañía desde cualquier lugar del país realizando una llamada de larga
distancia.
La llegada de Internet le brindó a las empresas una opción viable a los
costosos enlaces dedicados y otras soluciones brindadas por empresas de telecomunicaciones. ¿Pero por qué usar Internet?, porque Internet se encuentra
en todas partes, porque el comportamiento del mercado es y seguirá siendo
más velocidad (entendiéndose como ancho de banda) por menos precio. Las
empresas se dieron cuenta que por medio de Internet sus trabajadores podrían
acceder a sus redes corporativas desde casi cualquier parte del mundo. Otro
motivo es la mejora en los tiempos de entrega y los costos de sus productos
si mantenían su inventario en línea, realizando pedidos en tiempo real a sus
proveedores.
Las redes VPN disminuyen significativamente costos adicionales por comunicación y/o compartición de recursos entre dependencias de una misma
empresa que se encuentran geográficamente distantes; a diferencia de enlaces
WAN que representan altos costos mensuales.
Los siguientes son los principales factores a tener en cuenta para realizar
213
214
CAPÍTULO 8. CONCLUSIONES
una adecuada elección de la tecnología VPN en una implementación:
¿Se necesita acceso remoto y/o LAN-to-LAN?. ¿Cúal es el presupuesto?.
Dependiendo de la respuesta se debe escoger qué tipo de implementación
realizar. Si sólo se necesita acceso remoto, el presupuesto es bajo y la seguridad
que se requiere es mínima, lo recomendable es montar una solución con un
servidor PPTP bajo Windows Server 2003 o en un entorno Linux en cualquier
de sus distribuciones. Ya que es muy sencilla, requiere poca administración, es
muy versátil dado que prácticamente todos los usuarios remotos tendrán PCs
con ambientes Windows. Si se necesita mayor seguridad, se podría optar por
montar una Infraestructura de Llave Pública (IKE) haciendo uso del software
OpenVPN en su configuración Road Warrior.
Si sólo se necesita LAN-to-LAN y el presupuesto es bajo, lo recomendable
es montar un gateway seguro IPSec bajo Linux, en cada sede, siempre y cuando
se cuente con personal capacitado. Ahora bien, si se disponde de los recursos,
el escenario óptimo sería una solución por hardware con routers o equipos
diseñados para hacer VPN (LAN-to-LAN) aparte de gestionar la conexión de
Internet. En LAN-to-LAN no se evalúa la seguridad necesaria, ya que se asume
que ésta debe ser alta, y bajo ese principio se parte.
¿Cuantos usuarios remotos se atenderán?. ¿Con qué frecuencia de intervalos de tiempo?.
Esta pregunta es necesaria para comparar qué solución VPN es conveniente
implementar. Si los usuarios remotos son pocos y el servicio no es crítico,
bastará con una VPN por software bajo un protoco simple de implementar (ej.:
PPTP), si los usuarios son muchos y el servicio requiere de alta disponibilidad,
la solución debe llevarse por hardware usando un dispositivo servidor de marca
líder, como ser Cisco , 3Com, entre otros.
También se debe considerar la Movilidad de los cliente VPN, esto hace
pensar en una solución usando el protocolo SSL para prescindir del software
clientes-VPN en el establecimiento de los túneles y que no tenga ningún inconveniente con Servidores Proxy (en el caso de PPTP) y Servidores Nat (es
el caso de IPsec) que puedan encontrarse como dispositivos intermediarios.
Entre todas las soluciones VPN se destaca el Software OpenVPN, por su
gran seguridad a nivel empresarial, facilidad de uso y riqueza de características. Esta solución multiplataforma bajo licencia GPL simplificó mucho la
configuración de VPN’s dejando atrás los tiempos de otras soluciones difíciles
de configurar como IPsec y haciéndola más accesible a más gente.
8.1. LÍNEAS FUTURAS
215
Otra cuestión está relacionada con empresas que poseen sistemas monolíticos y no cuentas con los recursos necesarios (u otras razones) para implementar una arquitectura Cliente-Servidor. La solución VPN permite remediar este
problema pero será necesario para estas empresas, una migración a nuevas tecnologías que funcionen en entornos Web haciendo uso de conexiones seguras
SSL.
Por último se podría decir que el único inconveniente que pudieran tener las
VPN es que si al implementarlas no se establecen correctamente las políticas
de seguridad y de acceso, pueden existir consecuencias serias. La seguridad
concentrada en el transporte de los datos en las VPN es muy eficiente con los
métodos de encriptación y de autenticación.
A los efectos de facilitar el proceso de enseñanza - aprendizaje referido a
estas tecnologías, se ha desarrollado un sistema de e-learning que, mediante
la utilización de tecnologías web y bases de datos multiplataforma, facilita el
proceso mencionado precedentemente, incluyendo la posibilidad de consultar
acerca de los aspectos teóricos de las VPN, descargar material de estudio y
realizar pruebas de conexión reales.
Respecto de las herramientas utilizadas en la realización del presente trabajo, cabe destacar la potencia de las mismas, como así también su facilidad
de integración necesaria para la concreción de los objetivos planteados, que
fueron logrados plenamente.
8.1.
Líneas Futuras
En lo referente al trabajo concreto de aplicación de las tecnologías VPN
en el IOSCOR, se considera que debería profundizarse en el trabajo realizado,
ampliándolo a sectores que aún no tienen acceso a las conexiones VPN, tanto
en la Sede Central de Capital como en las bocas de expendio de Capital y las
delegaciones del Interior de la Provincia.
En cuanto a la aplicación de enseñanza - aprendizaje desarrollada, sería
conveniente mejorar el hardware utilizado, la gestión de la seguridad en cuanto
a los diferentes perfiles de usuarios, y la incorporación de nuevas funcionalidades para prácticas interactivas.
Bibliografía
[1] G. Brollo. Redes Virtuales Privadas. Brollo, Argentina, 2009.
[2] Kim Lew Spanier and Stevenson. Internetworking Technologies Handbook.
Cisco Press, USA, 1997.
[3] Network Magazine. Internet-based VPNs: Business or Cattle Class. Revista Network Magazine, USA, 2004.
[4] RFC2402. IP Authentication Header. RFC2402, USA, 1999.
[5] Wikipedia. L2TP - Layer 2 Tunneling Protocol. www.wikipedia.org, USA,
2009.
[6] RFC2401.
Security Architecture
www.wikipedia.org, USA, 1998.
for
the
Internet
Protocol.
[7] RFC2406. IP Encapsulating Security Payload (ESP). RFC2406, USA,
1999.
[8] RFC2409. The Internet Key Exchange (IKE). RFC2409, USA, 1999.
[9] RFC2408. Internet Security Association and Key Management Protocol
- ISAKM. RFC2408, USA, 1999.
[10] D. Piscitello. Completing the Secure Application Access Puzzle: SSL VPNs offer the Greatest Promise, but their Capabilities Still need some Enhancement. Business Communications Review, USA, 2005.
[11] Cyberoam White. SSL VPN over UTM Ű Secure Remote Access. Business
Communications Review, USA, 2005.
[12] Wikipedia. SSL VPN. Wikipedia, USA, 2009.
[13] www.microsoft.com. SSTP en Windows Server 2008. Microsoft, USA,
2010.
217
218
BIBLIOGRAFÍA
[14] G. Sánchez Ruipérez. E-leusis.net. EuCarPrint, España, 2004.
[15] IEEE. IEEE Standard Computer Dictionary: A Compilation of IEEE
Standard Computer Glossaries. IEEE Press, USA, 1990.
[16] Fernández M. J. Caeiro M. Santos J. M. Gomez J. S. Llamas M. Anido,
L. E. Educational metadata and brokerage for learning resources. Computers and Education 38: 351-374, USA, 2002.
[17] W. Hodgins. IEEE LTSC Learning Technology Standards Committee
P1484. ADLNET, USA, 2001.
[18] M. Genesereth G. Wiederhold. The Conceptual basis for mediation services. IEEE Computer, 38-46, USA, 1997.
[19] E. Castillo; A. Cobo; P. Gómez; C. Solares. JAVA - Un Lenguaje de
Programación Multiplataforma para Internet. Paraninfo, Madrid-España,
1997.
[20] L. Joyanes Aguilar; I. Zahonero Martínez. Estructura de Datos - Algoritmos, Abstracción y Objetos. Mc Graw Hill/Interamericana de España,
S.A.U., España, 1998.
[21] L. Joyanes Aguilar. Programación Orientada a Objetos - Segunda Edición. Mc Graw Hill/Interamericana de España, S.A.U., España, 1998.
[22] L. Boszörményi. Why Java is not my Favourite First-course Language.
Software - Concepts & Tools, N◦ 19, 141-145, 1998.
[23] IBM. WebSphere Comerse V5.5 Architecture. IBM Press, USA, 2003.
[24] IBM. IBM DB2 Warehouse Manager Guía de Instalación Versión 7. IBM
Press, USA, 2001.
[25] IBM Corporation. IBM DB2 Universal Database para Windows Guía
Rápida de Iniciación Versión 7. IBM Press, USA, 2000.
[26] IBM Corporation. IBM DB2 Universal Database Suplemento de Instalación y Configuración Versión 7. IBM Press, USA, 2000.
[27] IBM Corporation. IBM DB2 Universal Database Personal Edition Guía
Rápida de Iniciación Versión 7. IBM Press, USA, 2000.
[28] Wikipedia. VirtualBox. Wikipedia, USA, 2010.
BIBLIOGRAFÍA
[29] Wikipedia. Visio. Wikipedia, USA, 2010.
[30] Wikipedia. OpenVPN. Wikipedia, USA, 2010.
219
Índice alfabético
AAA, 24
active directory, 30
AES, 70
AIX, 194
API, 201
Applets
contenedor de, 191
ATM, 7, 8, 46, 47, 51
Authentication Header (AH), 58
B/R, 200
base de datos
Segmentación de la, 197
bibliotecas
de clases, 170
BRI, 12
Business Intelligence, 202
Centro de Desarrollo, 202
CHAP, 20, 24, 50
clear channel, 4
conectividad
herramientas de, 196
controlador de dominio, 45
DAS, 200
Data Marts, 196
Datajoiner
El producto, 196
DB2
Introducción a, 193
Universal Database, 194
DB2 Connect, 196
db2 Data Links Manager, 202
DB2 UDB Versión 8.1, 202
DB2 Warehouse Manager, 202
DBA, 199
DDNS, 100
DES, 51, 70
DHCP, 84
Diffie Hellman, 116
Diffie-Hellman, 28, 64, 70
DNS, 17
DRDA, 200
DSA, 70
e-business
Web enabled para, 194
e-learning, 125, 128, 136
EAP, 16, 50
EAP-TLS, 44, 80
ECP, 51
ejemplo de
operadores incrementales y relacionales, 181
enterprise beans, 190
ESP, 60
ETHERNET, 109
Ethernet, 41, 78, 88, 210
Firewall, 57
Fortezza, 70
Frame Relay, 4, 5, 7, 8, 41, 45—47, 51
front-end
221
222
ÍNDICE ALFABÉTICO
Administrador de utilidades, 201
Gestión de Datos, 202
globalización, 128
GPL2, 208
granularidad
grados de, 194
GRE, 40—44
cabecera mejorada, 44
GUI, 190
GUI Browser, 200
hash, 24, 27, 60, 65
HDLC, 17
HMAC, 64
HP-UX, 194
HTTP, 70
HTTPS, 80
IANA, 143
IBM
Data Management de, 194
IDEA, 70
IEEE, 210
IETF, 45, 64, 69
IKE, 20, 63—65, 116, 214
IMAP, 70
IMS, 196
Informix, 196
Internet, 2, 13, 34, 46, 47, 69
Intranets, 194
introducción
a la sociedad de la información y
el conocimiento, 141
IPCP, 17, 51
IPSec, 34, 51—53, 55, 56, 63—67, 78,
210
IPsec, 106
IPTABLES, 114
IPv4, 52
IPv6, 52, 81
IPX, 46
ISAKMP, 64
ISP, 98
IT, 188
ITU-T, 7
J2EE, 187
Java, 171, 194
características, 172
conceptos, 169
conceptos básicos, 175
estructura general de un programa, 174
flexibilidad de, 172
JCA, 189
JDBC, 190
JNDI, 191
JSP, 190
JVM, 189
L2F, 39, 45, 46
L2TP, 33, 34, 46, 47, 50—52, 95
LAN, 2, 5, 13, 34, 37, 41, 45, 46, 214
LDAP, 70
Linux, 114, 208
listas de capacidades, 30
listas de control de acceso, 29
MD5, 70
Microsoft SQL Server, 196
Microsoft Visio, 209
middleware, 188
modelización predictiva, 197
MPLS, 38
MPPC, 17
MPPE, 17, 40, 44, 51
MS-CHAP, 44, 50
multiplataforma, 196
Multiprocesador
Sistema Simétrico, 197
ÍNDICE ALFABÉTICO
NAS, 16, 25, 42
NAT, 79, 211
NCP, 17
NETBEUI, 46
NSLOOKUP, 102
NT
Windows, 194
NTFS, 45
223
PPTP, 33, 34, 39—46, 51, 83, 96
PPTP / L2TP, 146
PRI, 12
protocolo de autenticación extensible,
16
proxy, 78, 211
Quick Installation, 189
RADIUS, 24, 45
Oakley, 64
RAS, 13, 28, 213
OBDC, 158
RC2, 70
OLAP, 194
RC4, 70
OLTP, 194
RDBMS, 194
OOP, 174
RDSI, 10—12
Open Source, 78, 210
Red Telefónica Conmutada, 109
OpenSSL, 74, 77, 210
Redes Virtuales Privadas, 1
OpenVPN, 114, 116, 146, 210
RFC, 69
operadores
RSA, 44, 51, 70
de concatenación de cadenas de RSDI, 4
caracteres, 182
RTPC, 10
precedencia de, 182
S/KEY, 24
Oracle, 196
SAD, 55
OS/2, 194
serial database, 197
OS/400, 194
Server
OSI, 4, 33, 70
Application
packages, 174
Enterprise Edition, 188
PAP, 20, 24
servlets, 190
particiones múltiples, 198
SHA, 70
password únicos, 23
single node/non-parallel, 197
password tradicionales, 23
SMP, 197
perfiles de acceso, 200
SNMP, 202
PING, 102
software, 176
PKI, 65, 67, 70
Soluciones e-business, 202
plataforma
Spatial Extender, 202
de software, 184
SPD, 55
plug-in, 189
SQL, 202
POP, 36—38
SSL, 33, 37, 69—73
PPP, 13, 15—17, 33, 39, 41—47, 50—52, SSL/TLS, 69
80, 92, 145
SSTP, 80
224
standalone database, 197
Sun
Solaris, 194
Sybase, 196
TACKCS+, 45
TCP, 20, 40, 42, 43, 54, 70, 78, 211
TCP-IP, 13, 71
TCP/IP, 202
triple DES, 70
tunelamiento, 32
UDP, 20, 47, 54, 78, 211
uniprocessor system, 197
UNIX, 29
VirtualBox, 208
VLAN, 84
VPN, 2, 10, 13, 214
Institucional, 88
VPN-SSL, 68, 69
VSAM, 196
WAN, 4, 7
Web Services, 188
WebSphere
para el comercio, 184
Wi-Fi, 78, 210
X.25, 5, 46, 51
X.509, 72, 104, 116
XML Extender, 202
ÍNDICE ALFABÉTICO
Documentos relacionados
Descargar