“el aprendizaje electrónico y auto-evaluación de tcp/ip” · software de base que permite el...

256
Universidad Nacional del Nordeste Facultad de Ciencias Exactas, Naturales y Agrimensura Trabajo Final de Aplicación “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” Alumna: Silvana María Marino Pezzarini LU: 30590 Prof. Coordinador: Agr. Castor F. Hermann Prof. Orientador: Mgter. David L. la Red Martínez Licenciatura en Sistemas de Información Corrientes - Argentina 2007

Upload: others

Post on 27-Dec-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Universidad Nacional del NordesteFacultad de Ciencias Exactas, Naturales y Agrimensura

Trabajo Final de Aplicación

“El Aprendizaje Electrónico y Auto-Evaluación deTCP/IP”

Alumna: Silvana María Marino PezzariniLU: 30590

Prof. Coordinador: Agr. Castor F. HermannProf. Orientador: Mgter. David L. la Red Martínez

Licenciatura en Sistemas de InformaciónCorrientes - Argentina

2007

Page 2: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 3: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

A Mamá y a Papá, por la precencia, el esfuerzo, elsacrificio, el honor... con Amor.

A mi esposo, por el apoyo y la presencia incondicional...por el futuro juntos.

A mi hija, Ana Paula... por su vida.

Page 4: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

PREFACIO

En muchos países, Internet es ya un término doméstico.

Mientras la sociedad comienza a emplear el término de superautopistas dela información, las computadoras interconectadas son ya algo cotidiano. Dealguna manera se está desarrollando la “Cultura de Internet”: todo el mundohabla de ella.

Por supuesto, las redes han existido desde mucho antes. La conexión decomputadoras para formar una red local se hace habitual desde hace mucho,bien para pequeñas instalaciones, o bien para grandes empresas que interco-munican sus redes locales usando líneas de comunicación proporcionadas porcompañías telefónicas.

Internet se ha convertido en una forma de vida para facilitar el crecimientoempresarial ante todo.

Hablar de redes siempre implica hablar de Protocolos de Comunicación.Por supuesto, el más importante es TCP/IP.

Partiendo de esta realidad, e intentando trasladarla a la educación; paraeste trabajo se realizó un análisis sobre los requerimientos de un alumno in-teresado en el protocolo, fundamentando la aplicación mediante la utilizaciónde metodología UML (Lenguaje Unificado Modificado).

Respecto de la implementación del sistema; el mismo parte del estudio desoftware de base que permite el desarrollo de aplicaciones Web multiplata-forma con acceso a bases de datos y el desarrollo de una aplicación Web deautoevaluación, seguimiento de exámenes propios y aplicación de la tecnologíae-learning. El alumno podrá acceder al sistema aplicativo y hacer uso de éstefácil y rápidamente.

Se encarga del registro de las evaluaciones, es decir la información quebrinda el registro de los alumnos, evaluaciones y notas que se generan en lasmismas.

Objetivos

El objetivo inicialmente planteado fue la realización de una aplicación Webmultiplataforma desarrollada en Java, mediante la cual el alumno interesadoen TCP/IP pudiera contar con un medio de ayuda para evaluar a distanciasu nivel, mediante autoevaluaciones, sobre conocimientos propios o los que

Page 5: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

v

pudiera incorporar o ampliar a través de temas que la aplicación le ofrece.

Etapas de Desarrollo

• Se ha efectuado una amplia recopilación bibliográfica específica de la me-todología para el análisis de requerimientos, y los productos de softwareque se emplearon para la concreción del Trabajo Final.

• Basados en la metodología de análisis UML, se utilizaron Diagramas deCasos de Uso y Enterprise Architect como Herramienta Case, para losque se han realizado los estudios necesarios y así emplearlos de formacorrecta.

• Como consecuencia de las gestiones realizadas por el Profesor Orientadorante IBM Argentina se han recibido materiales tanto en CD’s como enlibros de dicha empresa, en el marco del Scholars Program de la misma,necesarios para la realización del presente Trabajo Final los referentesa productos de software tales como el WebSphere Studio ApplicationDeveloper versión 5.0 y 5.1.2, como así también el DB2 UDB WorkGroupServer Edition versión 8.1.0 y DB2 UDB Personal Edition versión 8.1.0.

• Se ha realizado un detallado estudio del lenguaje Java, utilizándose laversión JDK 1.5.

• Se ha estudiado el entorno de trabajo Scientific WorkPlace 2.5.0 para laescritura del libro correspondiente al informe final.

• Se ha hecho un estudio de la plataforma integrada de desarrollo de apli-caciones Web, WebSphere Studio Application Developer.

• Se ha realizado el estudio del Manejador de Bases de Datos (DBMS)multiplataforma DB2 UDB.

• Se ha realizado el desarrollo de la aplicación utilizando páginas HTMLy Servlets de Java en el marco de la herramienta WebSphere StudioApplication Developer en el entorno Windows.

• Se ha comprobado el correcto testeo de la aplicación, utilizando unamáquina como servidor y otra como cliente.

• Al concluir el trabajo se realizó la grabación de un DVD del materialcorrespondiente al trabajo final: una versión de la aplicación, otra dellibro en formato LaTex y el PDF generado, el análisis realizado y eldiagrama presentado en la Herramienta CASE elegida.

Page 6: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

vi

• Se anexaron los instaladores de los productos utilizados para el des-arrollo de la aplicación, siendo estos: DB2 UDB y WebSphere StudioApplication Developer.

Objetivos Logrados

Las expectativas han sido satisfechas cumpliendo así con el objetivo inicialplanteado para este trabajo.

Organización del Informe Final

Para el informe final se ha impreso un libro y grabado un DVD, a los quese anexan un resumen y un resumen extendido.

La impresión del libro está constituida en seis (6) capítulos, indicados acontinuación:

Capitulo 1 - Introducción a la Familia TCP/IP : Contempla la historia delprotocolo, y sus temas relacionados.

Capitulo 2 - Introducción al e-learning : Se señalan los principales concep-tos referidos a e-learning.

Capitulo 3 - Familia de Protocolos TCP/IP : Se hace referencia al protocoloTCP/IP específicamente.

Capitulo 4 - Protocolos más Importantes de TCP/IP : Se señalan todos losaspectos y características que describen al protocolo TCP y al protocolo IP.

Capitulo 5 - Análisis de Seguridad en TCP/IP : Se detallan las falenciasdel protocolo con respecto a la seguridad, los tipos de ataque y sus soluciones.

Capitulo 6 - Descripción del Sistema: Se detallan los aspectos más signi-ficativos de la aplicación desarrollada.

Capitulo 7 - Conclusiones: Se presentan las conclusiones a las que se hanllegado al finalizar el trabajo y las posibles líneas futuras.

El DVD, adjunto al libro impreso, contiene:

• Instaladores del software utilizado.

• Resúmenes del trabajo realizado.

• Libro del informe final.

Page 7: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

vii

• Presentación para la defensa final.

• Copia de seguridad de la base de datos de la aplicación.

• Aplicación desarrollada.

Marino Pezzarini, Silvana MaríaLicenciatura en Sistemas de Información

Universidad Nacional del NordesteCorrientes; 25 de septiembre 2007

Page 8: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

viii

Page 9: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Índice General

1 Introducción 11.1 ¿Cómo surge TCP/IP? . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Interredes . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Internet en Japón . . . . . . . . . . . . . . . . . . . . . 81.1.3 Uso Comercial de Internet . . . . . . . . . . . . . . . . . 91.1.4 La Super Autopista de la Información . . . . . . . . . . 10

1.2 Conocimientos Básicos . . . . . . . . . . . . . . . . . . . . . . . 111.2.1 Puertos y Zócalos . . . . . . . . . . . . . . . . . . . . . . 111.2.2 Puentes, “Routers” y Pasarelas . . . . . . . . . . . . . . 131.2.3 Modelo OSI . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Introducción al E-LEARNING 212.1 Definición de Aprendizaje Electrónico . . . . . . . . . . . . . . 21

2.1.1 Ventajas del e-learning . . . . . . . . . . . . . . . . . . . 222.1.2 ¿Tendencias Futuras del e-learning? . . . . . . . . . . . 242.1.3 La Gestión del conocimiento . . . . . . . . . . . . . . . 242.1.4 Nuevas Formas de Enseñar . . . . . . . . . . . . . . . . 252.1.5 La Enseñanza Virtual . . . . . . . . . . . . . . . . . . . 252.1.6 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . 312.1.7 Desafío . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.8 Solución . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.1.9 Capacitación . . . . . . . . . . . . . . . . . . . . . . . . 342.1.10 Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.1.11 Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . 362.1.12 El Uso de Tecnologías de Aprendizaje Electrónico para

Ayudar a Mejorar el Desempeño . . . . . . . . . . . . . 36

3 Familia TCP/IP 473.1 ¿Qué es TCP/IP? . . . . . . . . . . . . . . . . . . . . . . . . . 47

ix

Page 10: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

x ÍNDICE GENERAL

3.1.1 Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.1.2 Estructura Interna . . . . . . . . . . . . . . . . . . . . . 50

3.2 Protocolos de Aplicación . . . . . . . . . . . . . . . . . . . . . . 52

3.2.1 Características de las Aplicaciones [7] . . . . . . . . . . 523.2.2 TELNET (“Emulación de Terminal”) . . . . . . . . . . 523.2.3 FTP (“Transferencia de Ficheros”) . . . . . . . . . . . . 533.2.4 DNS (“Domian Name Service”) . . . . . . . . . . . . . . 543.2.5 SMTP (“Simple Mail Transfer Protocol”) . . . . . . . . 573.2.6 MIME (“Multipurpose Internet Mail Extensions”) . . . 593.2.7 Protocolos Para el Acceso a Internet . . . . . . . . . . . 613.2.8 Protocolos Para La Gestión de Red . . . . . . . . . . . . 683.2.9 Otros Protocolos de Aplicación . . . . . . . . . . . . . . 77

3.3 Protocolos de la Capa de Enlace [11] . . . . . . . . . . . . . . . 813.3.1 La Capa de Enlace de Datos en Internet . . . . . . . . . 813.3.2 Ejemplos de Protocolos de Enlace de Datos . . . . . . . 82

4 Protocolos de TCP/IP 854.1 Protocolos de la Capa de Transporte . . . . . . . . . . . . . . . 85

4.1.1 UDP: “Protocolo de Datagrama de Usuario” . . . . . . 854.1.2 TCP: “Protocolo de Control de Transporte” . . . . . . . 86

4.2 Protocolos de la Capa de Interred . . . . . . . . . . . . . . . . . 1044.2.1 ARP: “Protocolo de Resolución de Direcciones” . . . . . 1044.2.2 RARP “Protocolo de Resolución de Direcciones Inverso” 1104.2.3 IP: “Protocolo de Internet” . . . . . . . . . . . . . . . . 112

4.3 TCPMON: “Analizador de Protocolos TCP/IP” . . . . . . . . 1434.3.1 Motivación . . . . . . . . . . . . . . . . . . . . . . . . . 1434.3.2 Estructura Interna de TCPMON . . . . . . . . . . . . . 1444.3.3 Características del PC . . . . . . . . . . . . . . . . . . . 1464.3.4 Características del Programa Analizador TCP/IP . . . 1464.3.5 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . 148

5 Análisis de Seguridad de TCP/IP [9] 1515.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515.2 IP Versión 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.3 Historias de las vulnerabilidades . . . . . . . . . . . . . . . . . 1535.4 Vulnerabilidades Genéricas . . . . . . . . . . . . . . . . . . . . 155

5.4.1 Footprinting . . . . . . . . . . . . . . . . . . . . . . . . 1565.4.2 Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . 1575.4.3 Escaneo de Puertos-Vulnerabilidades . . . . . . . . . . . 1585.4.4 Escaneo de Puertos Basado en el Protocolo ICMP . . . 160

Page 11: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

ÍNDICE GENERAL xi

5.4.5 Sniffing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1625.4.6 TCP Initial Sequence Number . . . . . . . . . . . . . . 1635.4.7 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1635.4.8 IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1645.4.9 Comunicaciones Inalámbricas: Wireless . . . . . . . . . 164

5.5 Protecciones y Herramientas . . . . . . . . . . . . . . . . . . . . 1655.5.1 Footprinting . . . . . . . . . . . . . . . . . . . . . . . . 1665.5.2 Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . 1675.5.3 Escaneo de Puertos-Vulnerabilidades . . . . . . . . . . . 1685.5.4 Escaneo Basado en el Protocolo ICMP . . . . . . . . . . 1695.5.5 Sniffing, Eavesdropping y Snooping . . . . . . . . . . . . 1695.5.6 IP Spoofing . . . . . . . . . . . . . . . . . . . . . . . . . 1705.5.7 TCP Initial Sequence Numbers . . . . . . . . . . . . . . 1715.5.8 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1715.5.9 IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

5.6 Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1735.7 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

6 Descripción del Sistema 1776.1 Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

6.1.1 UML (Lenguaje Unificado de Modelado) . . . . . . . . . 1776.1.2 Herramienta CASE (Ingeniería de Software Asistida por

Computador): Entreprise Architect . . . . . . . . . . . . 1836.2 Desarrollo: Sistema de Autoevaluación sobre TCP/IP . . . . . 186

6.2.1 Módulos del Sistema de Autoevaluación . . . . . . . . . 1886.2.2 Estructuras de Datos Utilizadas . . . . . . . . . . . . . . 1996.2.3 Código Fuente Utilizados: Ejemplos . . . . . . . . . . . 202

7 Conclusión 2257.1 Conclusiones del Trabajo realizado . . . . . . . . . . . . . . . . 2257.2 Líneas Futuras de Acción . . . . . . . . . . . . . . . . . . . . . 226

Bibliografía 227

Índice de Materias 229

Page 12: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 13: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Índice de Figuras

1.1 Llamadas del sistema para zócalos para un protocolo orientadoa conexión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2 Modelo de Capas: OSI . . . . . . . . . . . . . . . . . . . . . . . 161.3 Cabeceras Multiples Anidadas. . . . . . . . . . . . . . . . . . . 171.4 Correlación de capas TCP y OSI . . . . . . . . . . . . . . . . . 19

2.1 Personas practicando E-Learning. . . . . . . . . . . . . . . . . . 222.2 El Mundo Conectado . . . . . . . . . . . . . . . . . . . . . . . . 252.3 Formarse es parte de la solución . . . . . . . . . . . . . . . . . 342.4 Productos para e-learning. . . . . . . . . . . . . . . . . . . . . . 402.5 Organización que trabaja con e-learning. . . . . . . . . . . . . . 45

3.1 Dos conjuntos interconectados de redes, cada uno visto comouna red lógica. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.2 Capas y Protocolos del Modelo TCP/IP. . . . . . . . . . . . . . 513.3 Modelo SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.4 SMTP-RSCS/NJE Mail Gateway. . . . . . . . . . . . . . . . . . 593.5 MIME (Multipurpose Internet Mail Extensions) . . . . . . . . . 603.6 Firewall: Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.7 Topología Típica . . . . . . . . . . . . . . . . . . . . . . . . . . 673.8 Definición de un objeto contenido en el MIB. . . . . . . . . . . 693.9 Definición de grupo. . . . . . . . . . . . . . . . . . . . . . . . . 713.10 Indetificador de Objetos. . . . . . . . . . . . . . . . . . . . . . . 723.11 Componentes de SNMP. . . . . . . . . . . . . . . . . . . . . . . 733.12 Componentes de CMIP sobre TCP/IP. . . . . . . . . . . . . . . 743.13 LPP (Lightweight Presentation Protocol). . . . . . . . . . . . . 753.14 Descripción del DPI de SNMP. . . . . . . . . . . . . . . . . . . 763.15 Formato del Mensaje SNMPv2. . . . . . . . . . . . . . . . . . . 783.16 Componentes del Protocolo NDB. . . . . . . . . . . . . . . . . 79

xiii

Page 14: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

xiv ÍNDICE DE FIGURAS

4.1 Conexión TCP- Procesos X e Y se comunican sobre una cone-xión TCP que emplea datagramas IP. . . . . . . . . . . . . . . 87

4.2 El Principio de la Ventana . . . . . . . . . . . . . . . . . . . . . 904.3 El Principio de la Ventana Aplicado a TCP. . . . . . . . . . . . 914.4 Segmento TCP- Encapsulado en un datagrama IP- . . . . . . . 924.5 Formato del Segmento TCP. . . . . . . . . . . . . . . . . . . . . 934.6 Establecimiento de la Conexión. . . . . . . . . . . . . . . . . . . 944.7 Finalización de la Conexión. . . . . . . . . . . . . . . . . . . . . 954.8 Notación tcpdump. . . . . . . . . . . . . . . . . . . . . . . . . . 964.9 Salida tcpdump. . . . . . . . . . . . . . . . . . . . . . . . . . . 964.10 TCP Half-Close. . . . . . . . . . . . . . . . . . . . . . . . . . . 974.11 Ejemplo TCP Half-Close. . . . . . . . . . . . . . . . . . . . . . 984.12 Estados TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994.13 Estados durante un Establecimiento y Finalización. . . . . . . . 994.14 Nomenclatura. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.15 Diagrama de Transición entre Estados. . . . . . . . . . . . . . . 1004.16 Diagrama de Transición entre Estados. . . . . . . . . . . . . . . 1014.17 Apertura Simultánea. . . . . . . . . . . . . . . . . . . . . . . . 1034.18 Finalización Simultánea. . . . . . . . . . . . . . . . . . . . . . . 1034.19 Protocolo ARP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044.20 Paquete de Petición/Respuesta ARP. . . . . . . . . . . . . . . . 1064.21 Recepción del Paquete ARP. . . . . . . . . . . . . . . . . . . . 1074.22 Host interconextados por un router. . . . . . . . . . . . . . . . 1094.23 Router Proxy-ARP. . . . . . . . . . . . . . . . . . . . . . . . . . 1104.24 Protocolo RARP. . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.25 Paquete de Petición/Respuesta ARP. . . . . . . . . . . . . . . . 1124.26 El Protocolo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134.27 El Datagrama IP. . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.28 Formato del Datagrama. . . . . . . . . . . . . . . . . . . . . . . 1154.29 Precedencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154.30 Flag IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.31 Un Sólo Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.32 Más de un Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.33 Ambos Casos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.34 Algoritmo de Encaminamiento IP. . . . . . . . . . . . . . . . . 1244.35 El problema de la cuenta hasta infinito- Todos los enlaces tienen

una métrica de 1 excepto por la ruta indierecta C a D que tienede métrica 0- . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

4.36 Rutas de cada pasarela a la Red de Destino. . . . . . . . . . . . 127

Page 15: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

ÍNDICE DE FIGURAS xv

4.37 El problema de la cuenta hasta infinito. . . . . . . . . . . . . . 1284.38 Ejemplo de tabla de encaminamiento IP. . . . . . . . . . . . . . 1374.39 Rutas IP- El host A tiene una ruta directa con B y D, y una

indierecta con C. El host D es un router entre las redes 129.1 y129.2- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

4.40 Opción LSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394.41 Opción SSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.42 Opción RR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414.43 Opción IT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424.44 Arquitectura de Red de Windows9x. . . . . . . . . . . . . . . . 1454.45 Configuración de la Captura. . . . . . . . . . . . . . . . . . . . 147

6.1 Diagrama de Casos de Uso-Actores . . . . . . . . . . . . . . . . 1826.2 Diagramas de Casos de Uso-Caso de Uso . . . . . . . . . . . . . 1826.3 Entreprise Architect . . . . . . . . . . . . . . . . . . . . . . . . 1836.4 Actor-Enterprise Arquitect . . . . . . . . . . . . . . . . . . . . 1856.5 Caso de Uso-Enterprise Arquitect . . . . . . . . . . . . . . . . . 1866.6 Diagrama de Casos de Uso-Enterprise Architect . . . . . . . . . 1876.7 Sistema de Autoevaluación-Página Principal . . . . . . . . . . . 1896.8 Alumno-Identificación . . . . . . . . . . . . . . . . . . . . . . . 1906.9 Profesor-Identificación . . . . . . . . . . . . . . . . . . . . . . . 1916.10 Profesor-Ingreso de Datos . . . . . . . . . . . . . . . . . . . . . 1926.11 Profesor-Modificación de Preguntas . . . . . . . . . . . . . . . . 1936.12 Profesor-Tratamiento de Preguntas . . . . . . . . . . . . . . . . 1946.13 Evaluación-Elección de tema . . . . . . . . . . . . . . . . . . . 1956.14 Autoevaluación-Multiplechoise . . . . . . . . . . . . . . . . . . 1966.15 Autoevaluación-Resultado del Exámen . . . . . . . . . . . . . . 1976.16 Apuntes-Temas . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Page 16: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 17: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 1

Introducción a la FamiliaTCP/IP

1.1 ¿Cómo surge TCP/IP?

1.1.1 Interredes

Los diseñadores originales de la pila de protocolos ARPANET, subvencionadospor DARPA (“Defense Advanced Research Projects Agency”) introdujeronconceptos fundamentales tales como la estructura de capas y el de virtualidaden el mundo de las redes, bastante antes de que ISO se interesase en lasredes [11] [5].

El organismo oficial de esos investigadores fue el grupo de trabajo en red(“Network Working Group”) llamado ARPANET, que tuvo su última reunióngeneral en octubre de 1971.

DARPA ha continuado su investigación en busca de una pila de protocolosde red, desde el protocolo host-a-host NCP ( “Network Control Program”) ala pila de protocolos TCP/IP, que adoptó la forma que tiene en la actualidadalrededor de 1978. En esa época, DARPA era un organismo famoso por serpionero en la conmutación de paquetes a través de redes de radio y canales desatélite.

La primera implementación real de Internet se produjo sobre 1980, cuando

1

Page 18: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2 CAPÍTULO 1. INTRODUCCIÓN

DARPA comenzó a convertir las máquinas de su red de trabajo (ARPANET) alos nuevos protocolos de TCP/IP. En 1983 la transición fue completa y DAR-PA exigió que todos los ordenadores que quisieran conectarse a ARPANETusaran TCP/IP.

DARPA contrató además a Bolt, Beranek, y Newman (BNN) para desarro-llar una implementación de los protocolos TCP/IP para el UNIX de Berkeleysobre el VAX y dotaron a la Universidad de California en Berkeley para quedistribuyese ese código de modo gratuito con su sistema operativo UNIX.

El primer lanzamiento de la distribución del sistema de Berkeley que in-cluyó el protocolo TCP/IP estuvo disponible en 1983 (BSD 4.2). Desde esemomento, TCP/IP se ha difundido rápidamente entre universidades y centrosde investigación y se ha convertido en el estándar de subsistemas de comuni-cación basados en UNIX.

El segundo lanzamiento (BSD 4.3) se distribuyó en 1986, que se actualizóen 1988 (BSD 4.3 Tahoe) y en 1990 (BSD 4.3 Reno). BSD 4.4 fue distribuidoen 1993. Debido a limitaciones de fondos, el BSD 4.4 será la última distribu-ción que hará el grupo de investigación de sistemas informáticos (“ComputerSystems Research Group”) de la Universidad de California en Berkeley.

A medida que TCP/IP se extendía rápidamente, nuevas WANs se fueroncreando y uniendo a ARPANET en los Estados Unidos. Por otro lado, redes deotros tipos, no necesariamente basadas en TCP/IP, se añadieron al conjuntode redes interconectadas. El resultado fue lo que hoy se conoce como Internet.Distintos ejemplos de redes que han jugado papeles clave en este desarrollo sedescriben en las siguientes secciones.

Internet

¿Qué es exactamente?. En primer lugar, la palabra Internet es simplementeuna contracción de la frase red interconectada. Sin embargo, escrita con ma-yúscula hace referencia a un conjunto mundial de redes interconectadas, detal forma que Internet es una red interconectada, aunque no a la inversa. AInternet se le llama a veces “Interred Conectada” (“Connected Internet”).

Internet está constituída por los siguientes grupos de redes:

• Troncales: grandes redes que existen principalmente para interconec-

Page 19: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.1. ¿CÓMO SURGE TCP/IP? 3

tar otras redes. Actualmente las redes troncales son NSFNET en US,EBONE en Europa y las grandes redes troncales comerciales.

• Redes regionales: conectan, por ejemplo, universidades y colegios.

• Redes comerciales: suministran acceso a troncales y suscriptores, y redespropiedad de organizaciones comerciales para uso interno que tambiéntienen conexión con Internet.

• Redes locales: como por ejemplo, redes a nivel de campus universitario.

En muchos casos, particularmente en redes de tipo comercial, militar ygubernamental, el tráfico entre éstas y el resto de Internet está restringido.Esto conduce a la pregunta: ¿cómo sé si estoy conectado a Internet?.

Un enfoque viable es preguntarse: ¿puedo hacer un ping al host ds.internic.net?.El ping es un programa usado para determinar si un host de una red es alcan-zable; está implementado en cualquier plataforma TCP/IP.

Si la respuesta es no, entonces no se está conectado.

Esta definición no implica necesariamente que se esté totalmente aisladode Internet: muchos sistemas que fallarían en este test tienen, por ejemplo,pasarelas de correo electrónico a Internet.

NSFNET

NSFNET (“National Science Foundation Network”), es una red de tres nivelessituada en los Estados Unidos y consistente en:

• Una troncal : una red que conecta redes de nivel medio administradasy operadas por separado y centros de superordenadores fundados porel NSF. Esta troncal tiene además enlaces transcontinentales con otrasredes como por ejemplo EBONE, la red troncal europea de IP.

• Redes de nivel medio: de tres clases (regionales, basadas en una disciplinay redes formadas por un consorcio de superordenadores).

• Redes de campus: tanto académicas como comerciales, conectadas a lasde nivel medio.

Page 20: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4 CAPÍTULO 1. INTRODUCCIÓN

La Primera Troncal

Establecida originalmente por el NSF (“National Science Foundation”) co-mo una red de comunicaciones para investigadores y científicos para acceder alos superordenadores del NSF, la primera troncal de NSFNET usaba seis mi-croordenadores DEC LSI/11 como conmutadores de paquetes, interconectadospor líneas arrendadas de 56Kbps.

Existía una interconexión primaria entre la troncal de NSFNET y ARPA-NET en el Carnegie Mellon, que permitía el encaminamiento de datagramasentre usuarios conectados a esas redes.

La Segunda Troncal

La necesidad de una nueva troncal se manifestó en 1987, cuando la primeraquedó sobrecargada en pocos meses (el crecimiento estimado en ese momentofue de un 100% anual).

El NSF y Merit Inc., un consorcio de redes de ordenadores de ocho uni-versidades estatales de Michigan, acordaron desarrollar y gestionar una nuevatroncal de alta velocidad con mayores capacidades de transmisión y de con-mutación.

Para gestionarla definieron el IS (“Information Services”) que está com-puesto del Centro de Información y el Grupo de Soporte Técnico.

El Centro de Información es responsable de distribuir información, la ges-tión de recursos informativos y la comunicación electrónica.

El grupo de soporte técnico proporciona apoyo técnico directamente sobreel campo de trabajo.

El propósito de esto es suministrar un sistema integrado de informacióncon interfaces fáciles de usar y administrar, accesible desde cualquier punto dela red y apoyado por toda una serie de servicios de formación.

MERIT y NSF dirigieron este proyecto con IBM y MCI.

IBM proporcionó el software, equipo para la conmutación de paquetes y lagestión de redes, mientras que MCI aportó la infraestructura para el transportea largas distancias.

Instalada en 1988, la nueva red usaba inicialmente circuitos arrendadosde 448 Kbps para interconectar 13 sistemas nodales de conmutación (NSS)

Page 21: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.1. ¿CÓMO SURGE TCP/IP? 5

suministrados por IBM.

Cada NSS estaba compuesto de nueve sistemas RT de IBM (que usabanuna versión IBM del BSD 4.3) conectados a través de dos redes en anillo deIBM (por redundancia).

En cada una de las 13 localizaciones se instaló un IDNX (“IntegratedDigital Network Exchange”) de IBM, para permitir:

• Encaminamiento dinámico alternativo.

• Reserva dinámica de ancho de banda.

La Tercera Troncal

En 1989, la topología de los circuitos de NFSNET fue reconfigurada des-pués de haber medido el tráfico y la velocidad de las líneas arrendadas seincrementó a T1 (1.544 Mbps) usando principalmente fibra óptica.

Debido a la necesidad constantemente creciente de mejoras en la conmu-tación de paquetes y en la transmisión, se añadieron tres NSSs a la troncal yse actualizó la velocidad de las conexiones.

La migración de NFSNET de T1 a T3 (45Mbps) se completo a finales de1992.

Advanced Network & Services Inc. (compañía fundada por IBM, MCI,Merit Inc.) es en la actualidad el organismo proveedor y gestor de NFSNET.

La migración a niveles de gigabits ya ha empezado.

EBONE

EBONE (“Pan-European Multi-Protocol Backbone”) juega en el tráfico de In-ternet en Europa el mismo papel que NSFNET en US.

EBONE tiene conexiones a nivel de kilobit y megabit entre cinco grandescentros.

Page 22: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6 CAPÍTULO 1. INTRODUCCIÓN

CREN

Completado en octubre de 1989, el organismo fusionador de las dos famosasredes CSNET (“Computer + Science Network”) y BITNET (“Because It’sTime Network”) formó el CREN (“Corporation for Research and EducationalNetworking”).

CREN abarca la familia de servicios históricas de CSNET y BITNET paraproporcionar una rica variedad de opciones en la conexión de redes.

X.25 Net

Es una red de CSNET conectada a Internet que suministra un servicio com-pleto, usa protocolo TCP/IP sobre X.25 [7] [5].

Es habitual que los miembros internacionales se conecten a CSNET, yaque pueden usar su red pública de datos (“Public Data Network”) X.25 paraalcanzar a Telenet en US.

Aporta transferencia de ficheros, telnet, así como servicio inmediato decorreo electrónico entre host de X.25Net.

Cypress

Cypress es una red sobre líneas arrendadas que permite tener un sistema deconmutación de paquetes de bajo coste e independiente del protocolo, usadoprincipalmente para interconectar sitios pequeños a redes de Internet sobreTCP/IP.

Establecido en origen como parte de un proyecto de investigación conjuntocon CSNET, ahora es independiente de CSNET.

No hay restricciones sobre su uso, aparte de las impuestas por otras redes.De este modo el tráfico comercial puede pasar entre dos sitios industriales atraves de Cypress.

Los sitios industriales no pueden pasar tráfico comercial sobre Internetdebido a restricciones impuestas por agencias gubernamentales que controlanlas redes troncales (por ejemplo, NFSET).

Page 23: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.1. ¿CÓMO SURGE TCP/IP? 7

DRI

TWN (“Terrestrial Wideband Network”) o Red Terrestre de Banda Anchaes una WAN con el propósito de proporcionar una plataforma para la in-vestigación con protocolos y aplicaciones en redes de alta velocidad (papelrepresentado inicialmente por ARPANET).

Este sistema incluye servicios tanto orientados a conexión como no orien-tados a conexión, broadcast y conferencia en tiempo real.

La TWN fue construida y puesta en marcha por BNN Systems y Techno-logies Corporation durante la primera mitad de 1989 como parte de la faseinicial del DRI (“Defense Research Internet”).

Su principal finalidad era transportar a lo largo y ancho del país el tráficode datagramas asociado a proyectos subvencionados por DARPA.

Estaba compuesto de pasarelas de Internet y conmutadores de paquetesWPSs (“Terrestrial Wideband Network packet switches”) que se comunicabanentre sí usando el HAP (“Host Access Protocol”) especificado en RFC 1221.

Se usó el WB-MON (“Wideband Monitoring Protocol”) entre los WPSs yel centro de monitorización.

La troncal soportaba también un entorno de investigación para conferenciamultimedia y conferencia con voz y vídeo empleando pasarelas que utilizabanun protocolo orientado a conexión en tiempo real (ST-II - Stream Protocol -RFC 1190) sobre un red no orientada a conexión.

EARN

EARN (“European Academic Research Network”) iniciada en 1983, fue la pri-mera y mayor red en dar servicio a instituciones académicas y de investigaciónen Europa, Oriente Medio y África.

EARN comenzó su trayectoria con la ayuda de IBM. Evolucionó para con-vertirse en una red sin ánimo de lucro y basada en tráfico no comercial que daservicio a instituciones académicas y de investigación.

Page 24: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

8 CAPÍTULO 1. INTRODUCCIÓN

RARE

RARE (“Réseaux Associés pour la Recherche”) fundada en 1986, es la asocia-ción de organizaciones de redes europeas y sus usuarios.

La asociación tiene 20 FNM (“Full National Members”; todos países eu-ropeos), numerosos ASN (“Associate National Members”; algunos países eu-ropeos y asiáticos), IM (“International Members”; por ejemplo EARN) y LM(“Liason Members”; por ejemplo CREN).

Soporta los principios de los sistemas abiertos tal como se definen en ISOademás de un número de grupos principalmente europeos, como el EWOS(“European Workshop for Open Systems”) y el ETSI (“European Telecom-munications Standards Institute”).

RIPE

El “Réseaux IP Européens” (RIPE) coordina las redes TCP/IP para la comu-nidad científica en Europa.

Opera bajo los auspicios de RARE. RIPE lleva funcionando desde 1989.A comienzos de los ’90 más de 60 organizaciones participaban en este trabajo.

El objetivo de RIPE es asegurar la coordinación administrativa y técnicanecesaria para permitir el funcionamiento de la red IP pan-Europea. Se de-be notar que RIPE no gestiona ninguna red de su propiedad. RIPE puededefinirse como la actividad IP de RARE.

Una de las actividades de RIPE es mantener una base de datos de redes IPeuropeas, dominios DNS y sus contactos. El contenido de esta base de datosse considera de dominio público.

1.1.2 Internet en Japón

Japón tiene muchas redes distintas. Las siguientes son algunas de las princi-pales:

• La BITNET japonesa comenzó a funcionar en 1985. Fue fundada porla Universidad de la Ciencia de Tokyo y parte de sus miembros. Esta

Page 25: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.1. ¿CÓMO SURGE TCP/IP? 9

red conecta con CUNY (“City University of New York”) a través de unenlace a 56 Kbps.

• N-1net es gestionada por el NACSIS (“National Center for Science andInformation Systems”), un instituto de investigación fundado por el Mi-nisterio de Educación de Japón. Empezó a funcionar en 1980 usandouna red de conmutación de paquetes X.25. N-1net tiene una conexiónde 50 Kbps con el NSF en Washington.

• El TISN (“International Science Network”) de Todai es usado por físicosy químicos. TISN tiene un enlace de 128 Kbps entre Todai y Hawaii.

• WIDE (“Widely Integrated Distributed Environment”) es la versión ja-ponesa de Internet. Comenzó como un proyecto de investigación en1986.

1.1.3 Uso Comercial de Internet

En años recientes Internet ha crecido en tamaño y extensión a una ritmo ma-yor de lo que nadie podría haber previsto. En particular, más de la mitadde los hosts conectados hoy a Internet son de carácter comercial. Esta es unárea conflictiva, potencial y realmente, con los objetivos iniciales de Internet,que eran favorecer y cuidar del desarrollo de las comunicaciones abiertas en-tre instituciones académicas y de investigacién. Sin embargo, el crecimientocontinuado en el uso comercial de Internet es inevitable por lo que será útilexplicar como está teniendo lugar esta evolución.

Una iniciativa importante a tener en cuenta es la de AUP (“Acceptable UsePolicy”).

La primera de estas políticas se introdujo en 1992 y se aplica al uso deNSFNET.

En el fondo AUP es un compromiso “para apoyar la investigación y laeducación abierta”. Bajo “usos inaceptables” está la prohibición de “uso paraactividades lucrativas”, a menos que se hallen incluidas en el Principio Generalo como un uso específico aceptable.

Sin embargo, a pesar de estas instancias aparentemente restrictivas, NSF-NET se ha ido usando cada vez más para un amplio abanico de actividades,incluyendo muchas de naturaleza comercial.

Page 26: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

10 CAPÍTULO 1. INTRODUCCIÓN

Aparte del AUP de NSFNET, muchas de las redes conectadas a NSFNETmantienen sus propios AUPs. Algunos de ellos son relativamente restrictivosen su tratamiento de las actividades comerciales mientras que otros son rela-tivamente liberales. Lo importante es que los AUP tendrán que evolucionarmientras continúe el inevitable crecimiento comercial en Internet.

Se considerará ahora a los proveedores de servicios en Internet que handesarrollado mayor actividad en la introducción de usos comerciales de Inter-net. Dos dignos de mencionar son PSINet y UUNET, que a finales de los ’80comenzaron a ofrecer acceso a Internet tanto a negocios como a individuos.

Una compañía sin ánimo de lucro, ANS (“Advance Network and Services”), fue formada por IBM, MCI y Merit,Inc. con el fin de operar conexionestroncales T1 para NSFNT. Este grupo ha permanecido activo e incrementandosu presencia comercial en Internet.

ANS formó también una subsidiaria orientada comercialmente denominadaANS CO+RE para proporcionar enlaces entre clientes comerciales y dominioseducacionales y de investigación. ANS CO+RE suministra además accesolibre de AUPs a NSFNET al estar conectada a CIX.

1.1.4 La Super Autopista de la Información

Una importante iniciativa ha sido la creación del Consejo Estadounidense deAsesoramiento sobre la Infraestructura Nacional de Información (“US Ad-visory Council on the National Information Infrastructure”) dirigido por AlGore.

En esencia, la iniciativa hace de la creación de una “red de redes” unaprioridad nacional. Esta red debería ser similar a Internet en algunos aspectos,pero con el gobierno y la industria contribuyendo cada uno con lo mejor de símismo.

Desde una perspectiva más internacional, el Grupo de los Siete (“TheGroup of Seven (G7)”) ministros se reunió en Bruselas en febrero de 1995para discutir sobre la incipiente GII (“Global Information Infrastructure”).

Los ministros de tecnología y economía de Canadá, el Reino Unido, Fran-cia, Japón, Alemania, Italia, y los Estado Unidos acudieron a la conferencia,y se concentraron en las implicaciones tecnologicas, culturales y económicasconcernientes al desarrollo de la infraestructura nacional.

Page 27: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.2. CONOCIMIENTOS BÁSICOS 11

Una revista electrónica gratuita llamada G7 Live se utilizó para hacerllegar diariamente a los usuarios de Internet los comentarios y noticias sobrela conferencia.

Aspectos específicos cubiertos por G7 Live incluyen los derechos de la pro-piedad intelectual, construcción de infraestructuras, consideraciones culturalesy legislativas, y descripciones de las más de 100 exhibiciones tecnológicas pre-sentes en la conferencia.

Tanto el NII como el GII descritos anteriormente son iniciativas impor-tantes que en última instancia deberían conducir a la “super autopista de lainformación” que es en la actualidad el objeto de tanta discusión en los mediosde comunicación.

1.2 Conocimientos Básicos

1.2.1 Puertos y Zócalos

Puertos

Cada proceso que se desea comunicar con otro se identifica en la pila de pro-tocolos TCP/IP con uno o más puertos. Un puerto es un númro de 16 bits,empleado por un protocolo host - a host para identificar a qué protocolo delnivel superior o programa de aplicación se deben entregar los mensajer recibi-dos [6].

Como algunas aplicaciones son ya de por sí protocolos estandarizados,como TELNET y FTP, emplean el mismo número de puerto en todas lasimplementaciones TCP/IP.

Estos puertos “asignados” se conocen como puertos bien conocidos, y a susaplicaciones, aplicaciones bien conocidas.

Estos puertos son controlados y asignados por IANA (“Internet AssignedNumbers Authority”) y en la mayoría de los sistemas sólo los pueden utilizarlos procesos del sistema o del programa que ejecutan los usuarios privilegiados.

Ocupan número de puerto comprendidos en el rango de 0-1023. Los puertoscon números en el rango de 1024 a 65535 no los controla IANA y en la mayorparte de los sistemas los pueden usar programas de usuario.

Page 28: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

12 CAPÍTULO 1. INTRODUCCIÓN

La confusión que se produce cuando dos aplicaciones distintan intentanusar los mismos puertos en un host se evita haciendo que soliciten un puertodisponible a TCP/IP. Como este número se asigna dinámicamente, puede serdiferente en cada ejecución de una misma aplicación.

UDP, TCP, y ISO TP-4 están todos basados en el mismo principio de usode los puertos. En la misma medida de lo posible, se usan los mismos númerospara los servicios situados sobre UDP, TCP y ISO TP-4.

Zócalos

En primer lugar, conviene definir los siguientes términos [6]:

• Un zócalo es un tipo especial de descriptor de ficheros que un procesousa para solicitar servicios de red al sistema operativo.

• Una dirección de zócalos es la tripleta: {protocolo, dirección local, pro-ceso local}.

• Una conversación es el enlace de comunicaciones entre dos procesos.

• Una asociación es la quintupla que especifica completamente los dos pro-cesos comprendidos en una conexión: {protocolo, dirección local, procesolocal ,dirección exterior, preceso exterior}.

• Una medio-asociación es: {protocolo, direción local, proceso local}.

• La medio asociación se denomina también zócalo o dirección de trans-porte. Es decir, un zócalo es una de tantas APIs con los protocolosde comunicación. Se introdujo por primera vez en el UNIC BSDD 4.2.Aunque no ha sido estandarizada, se ha convertido en un estándar defacto.

Llamadas Básicas de Zócalos A continuación se muestran algunas llama-das básicas de la interfaz de zócalos:

• Inicializar un zócalo.

• Registrar un zócalo en una dirección de puerto.

Page 29: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.2. CONOCIMIENTOS BÁSICOS 13

• Indica disponibilidad para recibir conexiones.

• Acepta una conexión.

• Solicita la conexión con el servidor.

• Envía o recibe datos.

• Cierra un zócalo.

Ejemplo: considérese las llamadas del sistema de zócalos para un protocoloorientado a conexión (ver figura 1.1 de la pág. 14).

1.2.2 Puentes, “Routers” y Pasarelas

La formación de una red conectando múltiples redes se consigue por medio delos “routers”. Es importante distinguir entre un “router”, un puente y unapasarela [6].

Puente

Interconecta segmentos de LAN a nivel de interfaz de red y envía tramas entreellos.

Un puente realiza la función de retransmisión MAC, y es independientede cualquier capa superior (incluyendo el enlace lógico). Proporciona, si senecesita, conversión de protocolo a nivel MAC.

Un puente es transparente para IP. Es decir, cuando un host envía undatagrama a otro host en una red con el que se conecta a través de un puente,envía el datagrama al host y el dar cruza el puente sin que el emisor se décuenta.

Router

Interconecta redes en el nivel de red y encamina paquetes entre ellas.

Debe comprender la estructura de direccionamiento asociada con los pro-tocolos que soporta y tomar la decisión de si se han de enviar, y cómo se hade hacer, los paquetes.

Page 30: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

14 CAPÍTULO 1. INTRODUCCIÓN

Figura 1.1: Llamadas del sistema para zócalos para un protocolo orientado aconexión.

Page 31: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.2. CONOCIMIENTOS BÁSICOS 15

Los “routers” son capaces de elegir las mejores rutas de transmisión así co-mo tamaños óptimos para los paquetes. La función básica de encaminamientoestá implementada en la capa IP. Por lo tanto, cualquier estación de trabajoque ejecute TCP/IP se puede usar como “router”.

Un “router” es visible para IP. Es decir, cuando un host envía un darIP a otro host en una red conectada por un “router”, envía el datagrama al“router” y no directamente al host de destino.

Pasarela

Interconecta redes a niveles superiores que los puentes y los “routers”.

Una pasarela suele soportar el mapeado de direcciones de una red a otra,así como la transformación de datos entre distintos entornos para conseguirconectividad entre los extremos de la comunicación.

Las pasarelas limitan típicamente la conectividad de dos redes a un sub-conjunto de los protocolos de aplicación soportados en cada una de ellas.

Una pasarela es opaca para IP. Es decir, un host no puede enviar undatagrama IP a través de una pasarela: sólo puede enviarlo a la pasarela.La pasarela se ocupa de transmitirlo a la otra red con la información de losprotocolos de alto nivel que vaya en él.

Estrechamente ligado al concepto de pasarela, está el de cortafuegos (“fi-rewall”) o pasarela cortafuegos, que se usa para restringir el acceso desdeInternet a una red o un grupo de ellas, controladas por una organización, pormotivos de seguridad.

1.2.3 Modelo OSI

¿Qué es OSI?

Se han diseñado varias herramientas para ayudar a los diseñadores de protoco-los a entender las partes del problema de la comunicación y planear la familiade protocolos.

Una de estas herramientas y muy importante es el modelo de capas esto essolo una manera de dividir el problema de la comunicación en partes llamadas

Page 32: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

16 CAPÍTULO 1. INTRODUCCIÓN

capas.

La familia de protocolos puede diseñarse especificando un protocolo quecorresponda a cada capa.

Así, la Organización Internacional de Normalización ISO definió uno delos modelos más importantes y muy utilizado Modelo de Capas: OSI (verfigura 1.2 de la pág. 16).

Figura 1.2: Modelo de Capas: OSI

Este modelo es conocido porque ofrece una explicación sencilla de la rela-ción entre los complejos componentes del hardware y de protocolo de red. Enél la capa inferior corresponde al hardware y las capas sucesivas al softwareque usa la red.

Pilas: Software en Capas

Cuando se diseña de acuerdo a un modelo de capas, el protocolo se apega a laorganización en capas.

El protocolo de cada computadora se divide en módulos, de los que cada

Page 33: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.2. CONOCIMIENTOS BÁSICOS 17

uno corresponde a cada capa. Es más, las capas determinan las interaccionesentre los módulos; en teoría cuando el software de protocolo envía o recibedatos, cada módulo sólo se comunica con el módulo de la siguiente capa másalta y el de la siguiente más baja.

Así, los datos de salida pasan hacia abajo en cada capa y los de entradasuben por cada capa.

Cada computadora contiene el software de una familia de protocolos. Losproveedores usan el término pila para referirse a este software, puesto que elmodelo de capas del que se construye muchas veces se fibuja como un grupode rectángulos.

Como se ha dicho anteriormente cada capa de software de protocolo re-suelve una parte del problema de comunicación, para hacerlo, el software decada capa de la computadora transmisora también agrega información a losdatos de salida y el sofware de la misma capa de la computadora receptorausa la información adicional para procesar los datos de entradas.

En general, cada capa contiene información adicional en la cabecera antesde enviar los datos a una capa inferior, por lo tanto un cuadro que viaja poruna red contiene una serie de cabeceras anidadas como se ilustra a continuación(ver figura 1.3 de la pág. 17).

Figura 1.3: Cabeceras Multiples Anidadas.

Page 34: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

18 CAPÍTULO 1. INTRODUCCIÓN

TCP/IP y OSI

Diferencias El modelo de internet sólo puede equipararse funcionalmenteal modelo OSI de ISO, ya que existen diferencias básicas tales como:

• En la pila de protocolos de internet, una capa representa un encapsula-miento de una función. La presepectiva de ISO, por otro lado, trata alas capas como grupos funcionales bastante reducidos, intentando forzarla modularidad al requerir capas adicionales para funciones adicionales.en los protocoos TCP/IP, un protocolo dado puede ser usado otros pro-tocolos en la misma capa, mientras que en el modelo OSI se definiría doscapas en las mismas circunstancias.

• Eficiencia y viabilidad. Las normas de OSI tienden a ser prescriptivas,mientras que los protocolos de TCP/IP tienden a ser descriptivos, y de-jan un máximo de libertad a los implementadores. Una de las ventajasdel enfoque de TCP/IP es que cada implementación concreta puede ex-plotar características dependientes del sistema, de lo que suele derivarseuna mayor eficacia, al mismo tiempo que asegura la interoperabilidadcon otras aplicaciones. Otra forma de ver esto es que la mayoría de pro-tocols de internet se han desarrollado primero antes de ser descritos loque muestra claramente su viabilidad.

Consideraciones con Respecto a la Comparación de TCP/IP y OSI

• Se basan en el concepto de un gran Nro. de protocolos independientes.

• Las capas por encima de la de transporte, incluída ésta, deben prestarun servicio de transporte de extremo a extremo.

• Las capas sobre la de transporte son ususarios del servicio de transporteorientado a aplicaciones.

• En OSI son fundamentales los conceptos de servicios, interfaces y pro-tocolos.

• Las ideas y conceptos fundamentales de OSI ajustan muy bien con lasideas modernas acerca de la Programación Orientada a Objetos.

• TCP/IP originalmente no distinguía claramente entre servicio, interfazy protocolo, pero luego se fue ajustando y se hizo más similar a OSI.

Page 35: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

1.2. CONOCIMIENTOS BÁSICOS 19

• En OSI, se ocultan mejor los protocolos que en TCP/IP y se puedenreemplazar con relativa facilidad al cambiar la tecnología.

• OSI se desarrolló antes que los protocolos: no se orientó a ningún pro-tocolo y se ganó en generalidad, hubo dificultades para definir qué fun-cionalidad poner en cada capa.

• TCP/IP se desarrolló después de los protocolos: no hubo que ajustar losprotocolos al modelo, el modelo no se ajustaba a ninguna otra pila deprotocolos por lo que se no gano en generalidad (ver figura 1.4 de pág.19).

Figura 1.4: Correlación de capas TCP y OSI

Page 36: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 37: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 2

Introducción alE-LEARNING

2.1 Definición de Aprendizaje Electrónico

El término e-learning viene de dos siglas en inglés la e de e-learning se co-rresponde a la palabra electronic en inglés, así forma un sustantivo compuestocuyo núcleo es la palabra learning que se traduce como aprendizaje [2] [8].

Ante esta combinación el término se traduce de manera apropiada comoAprendizaje Electrónico o aprendizaje por medios electrónicos [2].

Este nuevo concepto hace referencia al aprendizaje por medio de equiposelectrónicos, como una computadora, el correo electrónico, equipos y serviciosrelacionados, la red WWW y la tecnología del CD-ROM; ofreciendo de estaforma, una nueva y mejor posibilidad de capacitar a los alumnos y al per-sonal de una determinada organización, que necesitan aprender rápidamentenuevas técnicas y asimilar nueva información, para competir eficazmente en laactualidad y no mantenerse aislados.

También es una de las formas que ha adoptado la llamada educación adistancia, al desarrollarse y masificarse las intranets y redes de área amplia,como es la Red Internet. (ver figura 2.1 de la pág. 22)

21

Page 38: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

22 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

Figura 2.1: Personas practicando E-Learning.

2.1.1 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íasde aprendizaje electrónico, se puede llegar al personal gerencial y admi-nistrativo de todos los niveles con el mismo contenido de capacitación yapoyo educativo. Por ejemplo, al descentralizar sus servicios, las organi-zaciones tienen que desarrollar la capacidad del personal a nivel distritaly local. Con la infraestructura física adecuada, los administradores deesos niveles pueden recibir la capacitación y las herramientas gerencialesnecesarias.

• Puede llegar a un gran número de alumnos. El desarrollo gerencial y ad-ministrativo a menudo requiere que un gran número de administradoresinstituyan prácticas y técnicas nuevas. Las tecnologías de aprendiza-je electrónico potencialmente pueden llegar y ayudar a capacitar, en elcorto plazo, a esa masa crítica de administradores necesarios para undesarrollo eficaz.

Page 39: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 23

• Puede adecuar las actividades de aprendizaje electrónico a la medida delos individuos. La instrucción que emplea una estrategia basada en elaprendizaje electrónico puede organizarse para permitir que los alumnosavancen a su propio ritmo, concentrándose en temas que se adecúen asus necesidades individuales. Se pueden saltar las partes con las que yaestán familiarizados o repetir las partes difíciles.

• Puede facilitar ayuda por instructores entre sus colegas. Muchos creenque los tutores deben ser personas cuyo ejemplo se debe seguir, y éste esuno de los componentes más importantes en el desarrollo gerencial y deliderazgo. En los programas de las carreras universitarias tradicionales,los tutores actúan como tutores y las relaciones que se establecen con losestudiantes de por vida constituyen una base clave para desarrollar elpotencial de liderazgo. El aprendizaje electrónico y las comunicacioneselectrónicas brindan una mayor posibilidad de desarrollar relaciones alargo plazo entre los alumnos y sus educadores.

• Puede facilitar los vínculos institucionales y profesionales. El intercam-bio profesional y el hecho de compartir experiencias son elementos crucia-les para el desarrollo gerencial y el liderazgo. El aprendizaje electrónicoproporciona una oportunidad para romper el aislamiento a nivel local,regional o en todo el país y suministrar y recibir información referente alas iniciativas de mejoras gerenciales exitosas.

• Puede introducir herramientas gerenciales nuevas al software disponible.Así, fortalece las aptitudes del personal con respecto al uso de tecnolo-gías de computación y de la Internet. Al utilizar herramientas gerencia-les estandarizadas suministradas a través del programa de aprendizajeelectrónico, las organizaciones pueden desarrollar una serie de aptitudescomunes y estandarizar los procedimientos y prácticas gerenciales. Lastecnologías de aprendizaje electrónico ofrecen los medios para:

-Apoyar la capacitación e información para operaciones de sistemas.

-Apoyar continuamente (por ejemplo, herramientas gerenciales suministra-das a través de la Internet) con el fin de lograr mejoras gerenciales y adminis-trativas.

• Mejorar la calidad de los programas de capacitación. Mediante el uso deherramientas estandarizadas, probadas en el campo, en lugar de confiaren las intervenciones locales ad hoc.

Page 40: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

24 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

2.1.2 ¿Tendencias Futuras del e-learning?

Hoy los educadores se debaten sobre la verdadera eficacia de las tecnologíasde aprendizaje electrónico basadas en las computadoras. Por la evidenciaexistente se sugiere que los metodos de aprendizaje electrónico son tan eficacespara la enseñanza o aún más, que las aulas tradicionales.

Más allá de esto, queda claro que las tecnologías de aprendizaje electrónicopueden proporcionar oportunidades de aprendizaje para personas que de otramanera no tendrían acceso a nuevos conocimientos.

Los métodos de aprendizaje electrónico pueden ser más eficaces que otrospara la enseñanza de algunos tipos de contenidos. Las combinaciones de apren-dizaje en aulas y aprendizaje electrónico podrían constituir la mejor estrategiaeducativa.

El e-learning es el negocio del futuro. Esto no significa la muerte de laeducación presencial, ésta con el entrenamiento a distancia, siempre van acoexistir, pero en proporciones diferentes.

Se está apostando fuertemente a las ventajas del e-learning, siendo las másrelevantes las siguientes:

• Aprovechar mejor el tiempo disponible.

• Optimizar los procesos de aprendizaje.

• Maximizar los resultados utilizando adecuadamente los recursos tecno-lógicos.

• Quebrar las barrreras geográficas.

2.1.3 La Gestión del conocimiento

Una forma destada mediante la cual las instituciones académicas materializanla gestión del conocimiento es a través de la enseñanza virtual porque permitecolaborar, innovar y tener la capacidad de respuesta ante los cambios que seestán produciendo en la sociedad. (ver figura 2.2 de la pág. 25 [8]

Page 41: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 25

Figura 2.2: El Mundo Conectado

2.1.4 Nuevas Formas de Enseñar

Se considera que la enseñanza tradicional debe evolucionar a la velocidadque lo hacen las tecnologías de la información, pero generalmente no es así,entonces es necesaria una nueva forma de enseñanza que manteniendo lasventajas de la enseñanza tradicional pueda satisfacer las nuevas demandas dela sociedad. [2]

2.1.5 La Enseñanza Virtual

Con el transcurso de los años las formas alternativas de enseñanza, como laenseñanza a distancia, han evolucionado de los cursos por correspondencia alos cursos por videoconferencia o satélite. Sin embargo, nunca han llegadoa los niveles de refinamiento de la enseñanza impartida en las aulas. Lasposibilidades de conexión a Internet y una nueva generación de programasinformáticos hacen posible un nuevo modelo de enseñanza en línea de muchamayor calidad y flexibilidad que podría recibir el nombre, más apropiado deenseñanza virtual .

Page 42: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

26 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

La enseñanza virtual, en la que participan tecnologías diversas, métodos deenseñanza, técnicas de colaboración e instructores ,̇ eleva la enseñanza virtuala niveles inalcanzables con los métodos tradicionales, sobre todo en lo querespecta a la flexibilidad y a disponibilidd.

Esta nueva enseñanza permite entre otras cosas, crear material didácticointeractivo para apoyar la educación en cualquier tipo de escuela, por ejemplo,en el caso de los institutos de idiomas se pueden poner al alcance de los alumnoslas mismas lecciones que se ven en clase o complementarias y así además crearun valor agregado en su servicio apoyando actividades de refuerzo a las clases.

Esta una nueva opción de educación vía Web alcanza su máximo, si sedesarrolla la tecnología hasta el punto en que pueda integrar los tres métodosde enseñanza: asíncrona, síncrona y autoformación.

La Enseñanza Asíncrona

Es el método de enseñanaza más flexible porque no impone horarios ya quelos eventos ocurren en momentos distintos. La enseñanza asíncrona con ins-tructor es mucho más eficaz que las iniciativas autodidactas, ya que estimulala comunicación entre el alumnado en todo momento mediante:

• La celebración de debates.

• La asignación de tareas grupales.

• El contacto personalizado con los instructores.

Esto se produce en un entorno que no impone horarios, ni espacios, sólose necesita que en algún momento, tanto alumnos como instructores esténconectados a la red de comunicaciones. De esta forma empuja a los alumnosa tomar las riendas de su educación y ser más aplicados.

El taller colaborativo asincrónico reúne a los alumnos y al instructor en lapantalla de la computadora, pero no es necesario que todos ellos estén en líneaal mismo tiempo. El taller asincrónico brinda un foro conveniente para gruposde alumnos que viven en regiones con distintos husos horarios alrededor delmundo, porque les permite aprender en sus propios horarios.

La capacitación asincrónica basada en la Red combina tecnologías comoel correo electrónico, los grupos de discusión por correo electrónico, páginas

Page 43: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 27

de la Red y programas para autodidactas para que los alumnos e instructoresse comuniquen entre sí. Este tipo de capacitación es adecuado para soste-nes discusiones, hacer presentaciones y realizar investigaciones, evaluaciones yproyectos de equipo con base en la Red.

La Enseñanza Síncrona

Es la más parecida a la enseñanza tradicional por que colabora y genera con-tacto entre los alumnos y profesores, pero difiere de ella en que las actividadesdocentes se producen sin que los alumnos concurran en un mismo sitio.

El instructor y los alumnos interactúan entre sí en el mismo momento enun taller sincrónico. Este tipo de taller “en tiempo real” generalmente requierede equipos especializados como micrófonos, cámaras de video, y programas decomputación especiales.

La computadora debe tener una conexión rápida con la Red Internet , lo quesignifica que la conexión debe tener una mayor amplitud de banda o capacidadpara transmitir la información electrónica.

La interacción en “vivo” entre los participantes en un taller virtual simu-la la interacción personal entre los estudiantes en un aula convencional. Loasalumnos deben estar preparados para interactuar oportunamente con sus com-pañeros de clase, de manera que el equipo especial y la amplitud de banda sonvitales para mantener la agilidad de esta interacción.

Conectándose unos con otros a través de sus computadoras, los alumnosparticipan en actividades como resolución de problemas, lluvias de ideas, de-bates, demostracines, presentaciones y dramatizaciones.

Gracias a los nuevos avances tecnológicos se hace más factible la posibilidadde aprender en un aula virtual.

Las herramientas que más se utilizan para este tipo de enseñanza son:

• Audio y videoconferencia.

• Pizarras electrónicas .

• Compartimiento de aplicaciones.

• Contenidos multimedia basados en Web.

Page 44: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

28 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

• Conversaciones privadas y otras funciones de este tipo.

• Salones de charla o chat rooms.

• Los instructores controlan las presentaciones, formulan preguntas a losalumnos, los orientan y dirigen la comunicación durante la clase.

Con estas tecnologías colaborativas los alumnos pueden expresar sus puntosde vista y compartir información o aplicaciones a través de ellas.

Una pizarra blanca, es un tipo de tecnología que forma parte de un aulasincrónica. Es el equivalente electrónico de un pizarrón en un aula tradicional.

La pizarra blanca es la pantalla sobre la cual los participantes y el instruc-tor pueden turnarse para escribir sus mensajes y presentar información conuna pizarra blanca para las actividades del grupo. Por ejemplo, un grupo deestudiantes, y su intructor pueden ingresar datos en una hoja de cálculo desdediferentes lugares alrededor del mundo.

Al trabajar en línea al mismo tiempo, las personas pueden llenar celdas,corregir fórmulas, o modificar los encabezados de las columnas, mientras cadaintegrante del grupo pude ver exactamente lo que los demás están haciendo.

Los salones de charla ofrecen medios estructurados para que los alumnossostengan un diálogo escribiendo sus comentarios durante una discusión conti-nua en línea a través del correo electrónico. Este tipo de capacitación basadaen la Red permite que los grupos discutan, reflexionen problemas en fomaconjunta a través del aprendizaje en tiempo real.

Las video-conferencias y las audio-conferencias basadas en la Red son tec-nologías empleadas en un aula sincrónica y conceptualmente son similaresa la comunicación a través de imágnes visuales y sonido en las conferenciastradicionales. Ambas permiten que los alumnos se comuniquen de manerainteractiva y escuchen y/o vean a otros participantes y a los instructores. Es-tas tecnologías permiten que los participantes tomen parte en los ejercicios dedramatización, que de otra manera no sería posible.

La Autoformación

Es el tipo de formación que eligen las personas que se instruyen a sí mismasempleando todo tipo de medios:

Page 45: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 29

• Libros.

• Videos.

• Casetes.

• Material informático.

Actualmente uno de los sitios que reúne todos estos medios en uno es laWorld Wide Web, siendo otra posibilidad la utilización de Intranets.

Productos y Servicios de la Enseñanza Virtual

La enseñanza virtual se está configurando como una herramienta de gran uti-lidad porque presenta productos formativos:

• Interactivos: Donde el usuario puede adoptar un papel activo en relaciónal ritmo y nivel de trabajo.

• Multimedia: Por que incorpora textos, imágenes fijas, animaciones, vi-deos, sonidos.

• Abiertos: por que permite una actualización de los contenidos y de las ac-tividades de forma permanente, lo que contrasta con el carácter estáticodel material impreso.

• Sincrónicos y Asincrónicos: Por que permite que los alumnos puedanparticipar en tareas o actividades en el mismo momento independiente-mente del lugar en que se encuentren (sincrónico), o bien la realizaciónde trabajo y estudio individual en el tiempo particular de cada alumno(asincrónico).

• Accesibles: Lo que significa que no existen limitaciones geográficas, porque utiliza todas las potencialidades de la red Internet, de manera quelos mercados de la formación sean abiertos.

• Con recursos on-line: Que los alumnos puedan retomar sus aprendizajesen sus propios ordenadores personales.

• Distribuidos: De manera que los recursos para la formación no tienen porqué concentrarse en un único espacio o institución. Las potencialidades

Page 46: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

30 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

de la red permiten que los alumnos puedan utilizar recursos y materialesdidácticos esparcidos por el mundo en diferentes servidores de Internet.Tambi´én permite poder recurrir a formadores que no necesariamentetienen que estar en el mismo espacio geográfico donde se dicte el curso.

• Con un alto seguimiento: Del trabajo de los alumnos, ya que los for-madores organizan la formación en base a tareas que los alumnos debenrealizar y remitir en tiempo y forma establecida.

• Comunicación horizontal : Entre los alumnos, debido a que la colabo-ración forma parte de las técnicas de formación.

Ventajas de la Enseñanza Virtual

Para el Alumno:

• El trato es personalizado entre el profesor y sus compañeros.

• Puede adaptar el estudio a su horario personal.

• Puede participar de forma meditada gracias a la posibilidad de trabajaroff-line.

• El ritmo de trabajo marcado por sus profesores y sus compañeros puedeseguirse, terminado el dictado.

• El alumno tiene un papel activo, por que no se limita a recibir informaciónsino que forma parte de su propia formación.

• Todos los alumnos tienen acceso a la enseñanza, ya que no se perjudicanaquellos que no pueden acudir periódicamente a clase por motivos comoel trabajo, la distancia, etc.

• Existe un feed-back de información, de manera que el profesor conoce si elalumno responde al método y alcanza los objetivos fijados inicialmente.

• Se beneficia de las ventajas de los distintos métodos de enseñanza y me-dios didácticos tradicionales, evitando los inconvenientes de los mismos.

Para la Universidad :

Page 47: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 31

• Hace posible que se brinde formación a la sociedad sin los costos quesuponen los desplazamientos, alojamientos y viáticos de sus empleados.

• Permite ampliar su oferta de formación a aquellas personas o trabaja-dores que no pueden acceder a los cursos presenciales.

• Hace posible que se supere la calidad de los cursos presenciales.

• Aumenta la efectividad de los presupuestos que se destinan a la educa-ción: En varios países los presupuestos de educación están congeladosaunque la demanda aumenta. Mientras que la financiación disminuye,los gobiernos piden niveles más altos y mayor relevancia del factor pro-fesionalizador de los cursos.

• Responsabilidad del sistema educativo: Los gobiernos no sólo esperanque las instituciones educativas mejoren su relación costoeficacia, sinoque también esperan que éstas justifiquen el uso que hacen del dineropúblico.

La Enseñanza Virtual, los Empleos y el País.

Debe hacerse mucho esfuerzo en varios países, en lo que respecta a la educación,para poder conseguir dar mejores condiciones de vida en esos países. Educares una de esas palabras que permite crear esperanzas.

La esperanza en algo, siempre es el mejor argumento de mercadeo dispo-nible.

La realidad es que hoy día lamentablemente, tener una profesión no ga-rantiza que se conseguirá un trabajo. Por que en los tiempos en que vivimos,se dice que un profesional tendrá que cambiar de actividad por lo menos dosveces, para lograr subsistir adecuadamente. [1]

2.1.6 Antecedentes

Los últimos años del siglo XX han visto la apertura de la economía global yel comienzo de la era de la información. Si bien se fomenta un crecimientosin precedentes, fusiones y adquisiciones, la reciente eliminación de las barre-ras comerciales y los rápidos avances en tecnología han aumentado tambiéndrásticamente la volatilidad del mercado mundial.

Page 48: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

32 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

Las compañías que desean seguir siendo competitivas deben responder efi-cazmente al cambio. Para ello, necesitan asegurarse de que los empleadospuedan aprender rápidamente nuevas técnicas, actualizar las antiguas y asi-milar grandes cantidades de información acerca de nuevos productos, mercadosy competencias.

El aprendizaje electrónico es una forma revolucionaria de dotar a la manode obra con las técnicas y el conocimiento que necesitan para avanzar al mismopaso que los rápidos cambios del mercado. Las personas, las empresas y lospaíses con mayores conocimientos, técnicas y capacidad de crear y compartireficazmente la información son los que más probablemente alcancen el éxitoen la economía de Internet basada en el conocimiento.

2.1.7 Desafío

Las últimas dos décadas han demostrado la explosión de Internet, desde unapequeña red que enlazaba a científicos hasta el mayor forum de intercambiode ideas que la humanidad ha visto nunca. Para competir eficazmente en laactualidad, los hombres de negocios deben absorber grandes cantidades deinformación. Si bien Internet ofrece grandísimas también presenta desafíos:

¿Cómo puede una organización aprovechar a Internet antes que su compe-tencia?.

¿Cómo puede cerrar las lagunas que dejan los métodos tradicionales deformación en los empleados?.

Cuando hacen frente al rápido desarrollo tecnológico, a la desregulación demuchas industrias y a las presiones de la globalización, los ejecutivos debenpreguntarse, tarde o temprano:

¿Pueden mis empleados hacer frente al ritmo de los cambios?.

El reto para los ejecutivos es garantizar que los empleados puedan gestionarlos cambios y no ser víctimas de ellos.

Los empleados necesitan aprender rápidamente nuevas técnicas y asimilarnueva información, pero los métodos de formación tradicionales no son lo bas-tante flexibles para alcanzar los niveles de actualización permanente requeridospor el desarrollo acelerado de las nuevas técnicas y conocimientos.

Page 49: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 33

2.1.8 Solución

El aprendizaje electrónico es la solución a los desafíos de formación y comu-nicación que ha creado la economía de Internet, porque hace referencia a laeducación que se mejora o proporciona a través de Internet. Comenzó en losdepartamentos de formación corporativos, escuelas y universidades como unsuplemento a los métodos de enseñanza tradicionales.

En la actualidad, abarca un gran grupo de soluciones que pueden usarse entoda una organización, desde las comunicaciones corporativas y el marketinga la documentación técnica, soporte al cliente, control de calidad, fabricación,ingeniería, relaciones públicas y relaciones de análisis para compartir informa-ción, experiencia e ideas.

El aprendizaje electrónico puede ofrecer a los empleados la capacidad detransformar los cambios en ventajas aprovechando los recursos de conocimien-to existentes y preparándolos en un formato centrado en el empleado, máspersonalizado y accesible.

Los antiguos modelos de aprendizaje no se ajustan para satisfacer los nue-vos desafíos del aprendizaje mundial. Los sistemas de aprendizaje electrónicopueden mejorar (en lugar de sustituir) los métodos y materiales de enseñanzatradicionales. Los sistemas de aprendizaje electrónico pueden incluir elemen-tos como:

• Objetos de contenido: El material se puede desarrollar en un formatomodular, dividido en objetos que se extraen de una base de datos, se lostrabaja para su aprendizaje y los resultados del mismo, se evalúan en unaprueba interactiva. El resultado es un ruta de aprendizaje personalizada:los estudiantes sólo obtienen lo que necesitan y estudian a su propioritmo.

• Comunidades: Los estudiantes pueden desarrollar comunidades en líneapara proporcionarse ayuda mutua y compartir información.

• Experiencia en línea: Puede haber tutores o expertos disponibles enlínea para ofrecer información y orientación a los educandos, responderpreguntas y mediar las discusiones.

• Oportunidades de colaboración: El software de reunión en línea per-mite un aprendizaje en colaboración sincrónico a través de distanciasgeográficas.

Page 50: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

34 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

Figura 2.3: Formarse es parte de la solución

• Multimedia: Las tecnologías de audio y video bajo demanda puedenpresentar el material de una forma estimulante para cautivar activamentea los estudiantes. (ver figura 2.3 de la página 34)

2.1.9 Capacitación

En esta nueva y cambiante economía global, todos los empresarios quierengarantizar competitividad en el mercado. Por ello, precisan invertir en ac-tualización, entrenamiento y perfeccionamiento constante de los directivos yempleados, condicionarlos para el mejor desenvolvimiento, evitar rotación depersonal y conseguir retener los talentos.

Esta visión generó en los Estados Unidos una forma de conseguirlo pormedio de la educación a distancia, especialmente desde 1997, utilizando lasnuevas tecnologías telemáticas, con eficiencia y a muy bajo costo. El e-learninges una de las formas que ha adoptado la llamada educación a distancia, paraactualizar personal, como complemento al aprendizaje presencial. Se ofrecenrevistas digitales, cursos virtuales de diversos temas, entre otros.

Las empresas de esta forma utilizan Internet para la capacitación y el

Page 51: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 35

entrenamiento de personal.

Cuando los primeros sistemas de e-learning se lanzaron en 1999 en Argen-tina, el mayor desafío fue la resistencia al cambio, tanto de las empresas comode los funcionarios. En el 2000, las inversiones en tecnologías de aprendizajeelectrónico (e-learning) fueron muy bajas en comparación con otros segmentosde las Tecnologías de Información (TI).

Para los próximos años se tienen expectativas mayores de inversión ene-learning, consiguiendo así, una expansión considerable, que beneficiará enforma decisiva el progreso de los negocios y del país. La conveniencia y fle-xibilidad de horarios del aprendizaje virtual, así como la ventaja de no exigirel traslado de los capacitandos, en un contexto amplio, son los beneficios másaparentes de esta forma de aprendizaje.

Los empresarios ya conocen que la capacitación continua es fundamentalpara el éxito de las empresas, y que es una importante forma de mantenerla competitividad de los negocios a largo plazo. Todas las empresas tienenahora esa posibilidad con las facilidades que esa capacitación continua puedeser hecha por medio de Intranets o de la Internet.

2.1.10 Ventajas

En todas las múltiples formas, el aprendizaje electrónico ofrece una multitudde beneficios de incalculable valor para los empleados y quienes les contratan:

• Experiencia de aprendizaje personalizada: Las opciones de aprendizajeautodidacta permiten a los estudiantes avanzar a su propio ritmo, se-leccionar el tipo de contenido y los vehículos de entrega con base en laspreferencias individuales y ensamblar módulos de contenidos apropiadosa sus necesidades.

• Reducción de costos: Las empresas pueden reducir, e incluso suprimir,los gastos de viaje para formación, eliminar los costos de las aulas yreducir el tiempo que los empleados pierden lejos de la oficina y de susobligaciones normales.

• Acceso: Los usuarios pueden acceder a los contenidos en cualquier lugarque tenga una conexión a Internet. Esto significa que los contenidosde aprendizaje electrónico pueden llegar a una audiencia prácticamente

Page 52: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

36 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

ilimitada y los estudiantes no están forzados por las diferencias en laszonas horarias.

• Aprendizaje colaborativo: El aprendizaje electrónico tiene en cuenta laexposición del conocimiento y el soporte entre los grupos.

• Responsabilidad: El seguimiento de graduación, prueba, evaluación ycertificación están automatizados, de forma que todos los participantespuedan hacerse cargo de las responsabilidades en los procesos de apren-dizaje.

2.1.11 Desventajas

El reto que confronta todo consultor o nuevo líder, cuando quiere hacer mejo-ran en una organización es modificar una cultura arraigada que no se ajustaa las nuevas circunstancias comerciales o tecnológicas. Las culturas organi-zacionales demasiado arraigadas son una carga para la empresa que pretendeadaptarse a los cambios del mercado y de entornos.

Las culturas organizacionales profundamente arraigadas dan a las personasque se encuentran dentro de ellas una gran seguridad.

Frente a cualquier cambio que se proponga por mínimo que sea, que modi-fique la cultura establecida, confronta rechazos inmediatos, aunque son parael beneficio de todos.

La mayoría opina que es posible cambiar la cultura de una organización,pero es un proceso lento que puede durar muchos años, incluso si el cambio sellega a producir reconocen que será parcial.

2.1.12 El Uso de Tecnologías de Aprendizaje Electrónico paraAyudar a Mejorar el Desempeño

Se puede tomar parte en el aprendizaje electrónico de muchas maneras, uti-lizando una computadora y la Red WWW . Se puede obtener informaciónde una amplia gama de fuentes. Se puede intercambiar opiniones con otraspersonas en uno o varios grupos de discusión, y se puede inscribir a diversostipos de talleres o “aulas virtuales” basadas en la Red. [1]

Page 53: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 37

Con un CD-ROM y una computadora se puede también practicar nuevasaptitudes según convenga empleando tutorías para autodidactas.

También se describe cómo se puede:

• Acceder a recursos de información para la adopción de acciones admi-nistrativas.

• Practicar métodos autodidactas de aprendizaje.

• Colaborar en varios tipos de talleres.

• Utilizar entrenadores electrónicos para mejorar los talleres reales “caraa cara”.

• Beneficiarse de las prácticas de aprendizaje electrónico.

1. Accesos a los recursos para adoptar acciones administrativas.

2. Colaboración en los talleres basados en aomputadora.

3. Dirigir y guiar como instructor para mejorar la capacitación enpersona “cara a cara”.

4. Sesiones prácticas de aprendizaje electrónico.

Planificar e Implementar una Actividad de E-learning

Suponiendo que la organización apoya los objeticos de aprendizaje electrónico,y que las condiciones en el lugar de trabajo son adecuadas para implementaruna iniciativa de aprendizaje electrónico, se decide añadir un componente deaprendizaje electrónico al programa de capacitación [?].

Se pretende saber:

¿Cómo adoptar cursos de acción?

¿En qué se debería pensar?

Entonces las siguientes preguntas ayudan a planificar e implementar unainiciativa de aprendizaje electrónico para una organización, con cinco pasos:

1. Determinar qué tipo de aprendizaje electrónico se podría ofrecer a laorganización.

Page 54: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

38 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

2. Preparar a la organización para las actividades de aprendizaje electróni-co.

3. Formar un equipo de aprendizaje electrónico.

4. Evaluar la experiencia con el aprendizaje electrónico.

Determinación del Tipo de Aprendizaje Electrónico que se PuedeOfrecer a la Organización

El aprendizaje electrónico trata primero y primordialmente sobre aprendizaje.

Antes de introducir el aprendizaje electrónico a la organización, se debedeterminar si el entorno de trabajo apoya el aprendizaje en el lugar de trabajoy en qué forma el aprendizaje electrónico puede appoyar los objetivos de ca-pacitación y educación de la organización. Para comenzar el proceso se deberesponder a:

• ¿Fortalecería el aprendizaje electrónico al programa de capacitación delaorganización?. ¿Por qué?.

• ¿Mejoraría el aprendizaje electrónico la calidad de laexperiencia de apren-dizaje?. Si así fuera, ¿en qué forma?.

• ¿Simplificaría el aprendizaje electrónico proporcionar instruccción queno estaría disponible de otra manera?.

• ¿Reduciría el aprendizaje electrónico los costos de capcitación?.

Preparar una Organización para el Aprendizaje Electrónico

Para introducir efectivamente las actividades de aprendizaje electrónico a unaorganización, se debe lpreparar tanto al personal como a la organización en sí.

El aprendizaje electróncio es un esfuerzo colaborativo y cooperativo, demanera que el personal debe comprender a fondo el propósito y el uso al cualestá destinada la actividad de aprendizaje electróncio.

La organización se responsabilizará de introducir la enseñanza electróni-ca a personal y explicar en qué forma puede ayudar a cubrir las necesidades

Page 55: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 39

de capacitación y desarrollo profesional. Para que el aprendizaje electróni-co sea introducido exitosamente, se deben instituir políticas nuevas, normasdiferentes y un conjunto nuevo de recompensas.

La organización debe encarar también otros aspectos como el acceso a lascomputadoras, la compra de equipos, la capacitación en el uso de tecnologíasinformáticas y el desarrollo de servicios de apoyo para las comunicaciones y lainformación con el objeto de obtener y mantener la infraestructura informáticay de ocmputación así como una conexión a Internet.

Tecnologías y Servicios Necesarios para el Aprendizaje Electrónico

Debido a que las diferentes formas de aprendizaje electrónico requieren dedistintas tecnologías, se debe identificar cuáles de los siguientes componentesestarían disponibles para una organización antes de seleccionar un enfoque deaprendizaje electronico específico.

Actividades de Aprendizaje basadas en el Correo Electrónico

• Servicio telefónico y suministro de energía eléctrica seguros.

• Una computadora personal equipada con un programa de corereo elec-trónico.

• Un modem para traducir las señales electrónicas entre la computadoray e sistema de telefonía.

• Un proveedor de servicios de Internet, para transmitir y recibir los men-sajes de correo electrónico y direcciones para la organización del perso-nal.

• Una impresora para imprimir los mensajes y otros documentos.

Actividades de Aprendizaje basadas en el CD-ROM

• Servicio telefónico y suministro de energía seguros.

• Una computadora personal con un lector de CD-ROM, una tarjeta desonido, una tarfeta de video y el softuare requerido para que éstos fun-cionen.

Page 56: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

40 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

Actividades de Aprendizaje basados en la Red

• Todos los compnentes detallados bajo las actividades de aprendizaje ba-sados en el correo electrónico.

• Una conexión a Internet de un PSI con una velocidad media.

• Un navegador para explotar la Red.

• Equipo de computación y software para generar y/o recibir señales deaudio y video, para las actividades de aprendizaje con multimedia.

(ver figura2.4 de la pág. 40)

Figura 2.4: Productos para e-learning.

Formación del Equipo de Aprendizaje Electrónico

Para que el aprendizaje electrónico tenga éxito se requiere de un buen lider quecomprenda y apoye el aprendizaje electrónico, así como un equipo eficaz de

Page 57: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 41

profesionales seleccionados estratégicamente de los varios departamentos. Elequipo de aprendizaje electrónico debería incluir representantes de los depar-tamentos de capacitación, tecnología y finanzas de la organización, así comouno o dos de los partricipantes potenciales de la actividad de aprendizaje elec-tronico.

El equipo se responsabiliza de dirigir el esfuerzo y deberá:

1. Decidir cómo el aprendizaje electrónico beneficiará a la organización,paralelamente con la actividad de capacitación actual.

2. Establecer un proceso claro para la toma de decisiones referentes alaprendizaje electrónico.

3. Desarrollar un plan y un presupuesto para una actividad piloto de apren-dizaje electrónico.

4. Seleccionar y dirigir la actividad piloto de aprendizaje electrónico.

5. Evaluar la experiencia que se logró con el aprendizaje electrónico.

Dirección de la Primera Actividad de Aprendizaje Electrónico.

Una buena manera de introducir el aprendizaje electróncio a una organiza-ción consiste en dirigir una actividad piloto de aprendizaje electrónico, con laayuda de un equipo de aprendizaje electrónico recientemente conformado. Asíse estará en condiciones de experimentar el aprendizaje electrónico desde laperspectiva de un alumno así como de un administrador.

Para desarrollar el proyecto piloto de aprendizaje electrónico, se debe:

• Determinar las necesidades de mejoramiento del desempeño de una or-ganización.

• Identificar los objetivos para la capacitación del personal que ayudarána encarar las necesidades.

• Determinar cómo el aprendizaje electrónico podría apoyar y ampliar losobjetivos de capacitación.

• Seleccionar las actividades de aprendizafe electrónico apropiadas paralas tareas y para el entorno de trabajo.

Page 58: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

42 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

Una vez seleccionada la actividad, se podrá organizar al personal clave queparticipará en el evento de aprenizaje apropiado.

Selección de los programas de aprendizaje electrónico: Cuando se trabajaen la Red, es fácil perder de vista la distinción entre la comunicación y elaprendizaje. La mayoría de las páginas Web son similares a revistas, que soncomunicadores de una sola dirección para un lector pasivo. Los productos deaprendizaje electrónico, por otro lado, son herramientas de comunicación dedos vías: logran la participación activa de los alumnos haciéndose tomar parteen el proceso de aprendizaje. En el mejor de los casos, el aprendizaje elec-trónico hace posible que los alumnos practiquen y apliquen nuevas aptitudesbajo la supervisión de un instructor experimentado.

Al seleccionar un taller de aprendizaje electrónico o un curso en la Red, sedebe considerar los objetivos de aprendizaje. Se puede emplear los siguientescriterios para seleccionar tecnologías y servicios de aprendizaje electrónico.Idealmente, las tecnologías y servicios de aprendizaje electrónico deberían:

• Hacer participar activamente al alumno y basarse en el mismo.

• Funcionar fluidamente con la infraestructura y la tecnología disponible.

• Proporcionar ayuda en línea.

• Incluir ejemplos que sean significativos para los alumnos.

• Seguir estrategias de aprendizaje que se adecúen a los objetivos de Ins-trucción.

• Funcionar a distintos niveles de aprendizafe, dependiendo de las necesi-dades e intereses de los alumnos.

• Ser de uso fácil para el ususario.

• Incluir los medios para evaluar la experiencia de aprendizaje.

• Presentar conceptos en una diversidad de medios para adecuarse a losdiferentes estilos de aprendizaje.

• Tener una eficacia demostrada en escenarios similares a los de la organi-zación.

Los cursos adecuados basados en la Red generalmente:

Page 59: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 43

• Permiten que los alumnos sostengan conferencias regulares con los ins-tructores y otros expertos.

• Apoyan la colaboraciónentre los diferentes alumnos.

• Proporcionan vínculos con otras páginas de la Red que tienen un conte-nido afin.

Evaluación de la Experiencia de Aprendizafe Electrónico

El paso final para incoporar el aprendizaje electrónico al programa de capa-citación de la organización consiste en evaluar el proyecto piloto. Se debenevaluar tres aspectos de la actividad:

• En primer lugar, ¿fue efectiva la capacitación en términos de los objetivosy medida a través de los resultados actuales del aprendizaje electrónicoy el impacto real de la actividad sobre el desempeño del personal?

• En segundo lugar, ¿era la tecnología de aprendizaje electrónico apropiadapara la tarea y funcionó correctamente?.

• En tercer lugar, si los profesores o instructores estuvieron directamenteinvolucrados, ¿proporcionaron instrucción y apoyo adecuados durante elcurso?

Empleo del Aprendizaje Electróncio para Encarar Retos Gerenciales

En el entorno económico actual de los servicios de aulas, con costos opera-tivos crecientes y demandas que compiten por los recursos presupuestarios,los administradores deben encontrar nuevas solucines para mantenerse al díacon respecto a los conociemientos nuevos y seguir cubriendo las necesidadescambiantes de los clientes.

Comunicaciones innovadoras están trayendo consigo nuevos recursos al al-cance de la educación continua y del desarrolo profesional. Estos recursosofrecen nuevas oportunidades a medida que se encuentran a disposición en

Page 60: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

44 CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING

el lugar de trabajo, para mejorar la prestación de srvicios y otros aspectosrelativos al desempeño.

La organización se puede beneficiar de estos recursos nuevos creando ini-ciativas de aprendizaje electrónico, para ayudar a desarrollar nuevas aptitudesy a tomar decisiones informadas. La calidad de los servicios puede mejorar, yla organización estará en mejores condiciones de lograr la misión. Al fin y lacabo, ése es el objetivo final de la iniciativa de aprendizaje electrónico.

Lista de Verificación para una Actividad Piloto de Aprendizaje Elec-trónico

La lista debería incluir lo siguiente:

1. Determinar en qué manera el aprendizaje electrónico podría mejorar elprograma de capacitación de una organización.

2. Evaluar el estado de preparación tecnológica de la organización para unprograma de aprendizaje electrónico. Tener el equipo de computación,software, los servicios de apoyo y la planta física de oficina requeridos.

3. Evaluar el estado de preparación de los colegas para comprometerse a ac-tividades de aprendizaje electrónico. Tener aptitudes comprometedorasadecuadas así como una actitud y motivación apropiadas.

4. Establecer un equipo de aprendizaje electrónico, compuesto por perso-nal de los departamento de capacitación, tecnología, informática y definanzas y los participantes potenciales para el aprendizaje electrónico.

5. Hacer que el equipo organice e implemente un programa piloto de apren-dizaje electrónico según los siguientes lineamientos:

Paso 1 : Determinar las necesidades del desempeño en la organización.

Paso 2 : Identificar los objetivos para la capacitación de personal quepodría ayudar a encarar las necesidades.

Paso 3 : Determinar en qué forma el aprendizaje electrónico apropiadaspara las tareas y para el entorno de trabajo.

Paso 4 : Seleccionar las actividades de aprendizaje electrónico apropia-das para las tareas y para el entorno de trabajo.

Paso 5 : Dirigir la implementación de la actividad piloto.

Page 61: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO 45

6. Evaluar la experiencia piloto con un equipo, incluyendolaefectividad delaprendizaje y la relación costo-beneficio de los esfuerzos organizacionales.

7. Considerar la formulación de plazos incorporar actividades de aprendi-zaje electrónico que beneficiarían mejor al programa de capcitación dela organización y al programa regular de trabajo. (ver figura 2.5 de lapágina 45)

Figura 2.5: Organización que trabaja con e-learning.

Page 62: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 63: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 3

Familia de ProtocolosTCP/IP

3.1 ¿Qué es TCP/IP?

La pila TCP/IP se llama así por dos de sus protocolos más importantes:

• TCP: Protocolo de Control de Transporte. [11]

• IP: Protocolo de Internet.

Otro nombre es Pila de Protocolos de Internet, y es la frase oficial usadaen documentos oficiales de estándares. En este documento utilizaremos eltérmino TCP/IP .

La familia de Protocolos TCP/IP caracteriza un estándar de protocolosde comunicaciones entre sistemas informáticos. El protocolo TCP/IP actual-mente constituye la infraestructura tecnológica más extendida y desarrolladasobre la que circulan las comunicaciones electrónicas (datos, voz, multime-dia...). Su expansión se ha debido principalmente al desarrollo exponencial dela red mundial Internet.

Dentro de los equipos que poseen una implementación de la pila de proto-colos TCP/IP, se distinguen de forma más detallada dos grupos:

47

Page 64: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

48 CAPÍTULO 3. FAMILIA TCP/IP

• Sistemas: Son los equipos que engloban tanto a los clientes de un servi-cio o comunicación, ya sean PCs de sobremesa o estaciones de trabajo(que ejecutarán un sistema operativo cliente: Windows, Unix, MacOs...)así como dispositivos móviles (PDAs, teléfonos móviles,....), como a losservidores que proporcionan el servicio, típicamente ejecutando un sis-tema operativo servidor: Unix (incluyendo todas sus variantes: HP-UX,Linux, Solaris, AIX, ...), AS/400, Windows NT/2000, Novell Netware.Principalmente serán estos últimos el objetivo de los hackers, al contenerinformación relevante.

• Dispositivos de red: Son los encargados de que el tráfico de red fluyadentro o entre redes. Por tanto, engloban a los repetidores, puentes obridges, concentradores o hubs, conmutadores o switches, encaminadoreso routers, cortafuegos o firewalls, servidores de terminales y acceso (RAS)(que contienen un conjunto de módems o accesos RDSI), dispositivosde almacenamiento (storage appliance)...; los principales fabricantes sonCisco, 3com, Lucent, Nort, HP...

TCP/IP está diseñado según una estructura de capas, fundamentada en elestándar de los protocolos de comunicaciones que diseñó la organización ISO,denominado OSI [9].

Cada una de las capas es responsable de llevar a cabo una tarea específicade la comunicación.

3.1.1 Redes

La primera meta de diseño de TCP/IP fue construir una interconexión deredes que proporcionase servicios de comunicación universales: una red, oInternet.

Cada red física tiene su propia interfaz de comunicaciones dependiente dela tecnología que la implementa, en la forma de una interfaz de programaciónque proporciona funciones básicas de comunicación (primitivas).

Las comunicaciones entre servicios las proporciona el software que se eje-cuta entre la red física y la aplicación de usuario, y da a estas aplicaciones unainterfaz común, independiente de la estructura de la red física subyacente. Laarquitectura de las redes físicas es transparente al usuario.

Page 65: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.1. ¿QUÉ ES TCP/IP? 49

El segundo objetivo es interconectar distintas redes físicas para formar loque al usuario le parece una única y gran red. Tal conjunto de redes interco-nectadas se denomina “Internetwork” o Internet.

Para poder interconectar dos redes, se necesita un ordenador que estéconectado a ambas redes y que pueda retransmitir paquetes de una a la otra;tal máquina es un “router”. El término “router” en IP también se usa porquela función de encaminamiento es parte de la capa IP de la pila TCP/IP (verfigura 3.1 de la página 49).

Figura 3.1: Dos conjuntos interconectados de redes, cada uno visto como unared lógica.

Las propiedades básicas de un “router” son:

• Desde el punto de vista de la red, es un host normal.

• Desde el punto de vista del usuario, es invisible. El usuario sólo ve unagran red.

Page 66: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

50 CAPÍTULO 3. FAMILIA TCP/IP

Para ser capaz de identificar un host en la red, a cada se le asigna unadirección, la dirección IP.

Cuando un host tiene múltiples adaptadores de red, cada adaptador tieneuna dirección IP separada. La dirección IP consta de dos partes:

dirección IP = <número de red><número de host>

El número de red lo asigna una autoridad central y es unívoco en Internet.La autoridad para asignar el número de host reside en la organización quecontrola la red identificada por el número de red.

3.1.2 Estructura Interna

El modelo básico de Internet es el modelo Cliente / Servidor .

Modelo Cliente / Servidor [11]

TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo.Las aplicaciones, sin embargo, utilizan un modelo Cliente / Servidor en lascomunicaciones.

Un Servidor es una aplicación que ofrece un servicio a usuarios de Internet;un Cliente es el que pide ese servicio.

Una aplicación consta de una parte de servidor y una de cliente, que sepueden ejecutar en el mismo o en diferentes sistemas.

Los usuarios invocan la parte cliente de la aplicación, que construye unasolicitud para ese servicio y se la envía al servidor de la aplicación que usaTCP/IP como transporte.

El servidor es un programa que recibe una solicitud, realiza el serviciorequerido y devuelve los resultados en forma de una respuesta. Generalmenteun servidor puede tratar múltiples peticiones (múltiples clientes) al mismotiempo.

La arquitectura de Internet está basada en capas. Esto hace más fácil im-plemetar nuevos protocolos. El conjunto de protocolos de TCP/IP, al estarintegrado plenamente en Internet, también dispone de este tipo de arquitec-tura.

Page 67: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.1. ¿QUÉ ES TCP/IP? 51

Según se ha desarrollado en el capítulo 1 el modelo de capas TCP/IP esalgo diferente al propuesto por el modelo OSI.

Su representación conduce al término pila de protocolos. Se puede usarpara situar pero no para comparar funcionalmente TCP/IP con otras pilascomo SNA y OSI.

Capas de TCP/IP [10]

La arquitectura de Internet está basada en capas. Esto hace más fácil deimplementar nuevos protocolos. El conjunto de protocolos TCP/IP, al estarintegrado plenamente en Internet, también dispone de este tipo de arquitec-tura.

El modelo de capas de TCP/IP es algo diferente al propuesto por ISO (In-ternational Standard Organization) para la interconexión de sistemas abiertosOSI.

Esta representación conduce al término pila de protocolos. Se puede usarpara situar, pero no para comparar funcionalmente TCP/IP con otras pilascomo SNA y OSI (ver figura 3.2 de la página 51).

Figura 3.2: Capas y Protocolos del Modelo TCP/IP.

Page 68: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

52 CAPÍTULO 3. FAMILIA TCP/IP

3.2 Protocolos de Aplicación

3.2.1 Características de las Aplicaciones [7]

Todos los protocolos de alto nivel tienen algunas características en común:

• Pueden ser aplicaciones escritas por el usuario o aplicaciones estandari-zadas y distribuidas con un producto TCP/IP. De hecho, la pila TCP/IPincluye protocolos de aplicación tales como:

— TELNET para el acceso interactivo de una terminal a un host re-moto.

— FTP (“File Transfer Protocol”) para transferencias de alta veloci-dad de un disco a otro.

— SMTP (“Simple Mail Tranfer Protocol”) como sistema de correo deInternet. Esas son aplicaciones implementadas más ampliamente,pero existen muchas otras.

• Usan UDP o TCP como mecanismo de transporte. Recordar que UDPno es fiable ni ofrece control de flujo, por lo que en este caso la aplicaciónha de proporcionar sus propias rutinas de recuperación de errores y decontrol de flujo. Suele ser más fácil desarrollar aplicaciones sobre TCP,un protocolo fiable, orientado a conexión.

La mayoría de los protocolos de aplicación utilizan TCP, pero algunasaplicaciones se construyen sobre UDP para proporcionar un mejor rendimientoreduciendo la carga del sistema que genera el protocolo.

La mayoría de ellas usa el modelo de interacción Cliente/Servidor.

3.2.2 TELNET (“Emulación de Terminal”)

Una de las primeras utilidades que se encuentra a la interconexión de ordena-dores es la posibilidad de acceder desde un único teclado y un único monitor(por comodidad), y con un único cable, a varios ordenadores, alguno de loscuales puede estar bastante distante (de manera que ciudadanos de un ladode un continente puedan acceder sin desplazarse a superordenadores especia-lizados).

Page 69: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 53

El estándar en acceso remoto es TELNET.

Define un Terminal Virtual (NVT) y al inicio de la conexión negocia si-métricamente (no hay cliente ni servidor en el protocolo, el cliente TELNETy el servidor se tratan como iguales) opciones del mismo, tales como TerminalSpeed (1907), Terminal Type (1091), variables de entorno (1408). De estamanera en cada sentido se envía mensajes DL/WILL, DON‘T/WONT .

Aunque pueda no parecerlo, se trata de un protocolo complejo (por suflexibilidad) aunque muy bien diseñado.

Permite emular cualquier tipo de terminal, adaptándose a sus peculiarida-des: manejo de la pantalla de distintos tamaños y con secuencias de controldiferentes, manejo del teclado, juegos de caracteres, velocidades y temporiza-dores.

De hecho probablemente en DARPA, cuando surge el proyecto Internet,vieran como un beneficio a corto plazo el simplificar sus complejas instalacionescon tantos ordenadores de tantas marcas.

Utiliza NVT ASCII (7 bits), aunque hay opción para usar 8 bits. Lasemulaciones más frecuentes son las (digital), y también es frecuente la IBMTN 3270 (que usa EBCDIC y zonas reservadas en pantalla).

Hay muchas emulaciones para PC con distintas emulaciones de terminalesconcretos, definición de teclas de función, etc.

Existe un carácter especial seleccionable para pasar a modo comando.

Los comandos son close, open, mode, display, set echo...

Se basa en TCP, soporta datos fuera de banda y utiliza el algoritmo deNAGLE (nunca más de un segmento sin asentir).

3.2.3 FTP (“Transferencia de Ficheros”)

Permite intercambiar sobre TCP ficheros entre ordenadores con sistemasoperativos diferentes UNIX, VMS, NT, DOS.

Existen otras aplicaciones más simples como RCP (Remote Copy) o TFTP(sobreUDP, para cargar workstations sin disco).

Pero FTP no es una simple aplicación de uso de TCP, tiene su complejidad

Page 70: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

54 CAPÍTULO 3. FAMILIA TCP/IP

al tener un interfaz de usuario (con comandos o gráfico) y haber de manejardistintos sistemas de ficheros (con sus directorios/.., ficheros de caracteres (de7, 8 o 9 bits) u organizados en registros) y mecanismos de control de acceso.

Tiene dos conexiones: Una es para transferir comandos de control (alpuerto 21), gestionada por un autómata de estados, por lo que se procesa unatransferencia de cada vez, y se establece otra en sentido opuesto (se debe tenercuidado con los firewalls) por cada fichero.

El interfaz de usuario permite ejecutar comandos de conexión: open,close, user, password, de navegación por el sistema de directorio y transfe-rencia.

Algunos se transforman en órdenes para el servidor y otros son órdenespara ejecutar localmente.

La semántica de las operaciones hay que entenderla desde el cliente:

• get: traer al ordenador donde se está ejecutando el cliente.

• put: para enviar un fichero local hacia el servidor comando.

En general se supone que se está en el sistema de ficheros remoto:

• dir: para obtener el contenido de un directorio del servidor.

Hay versiones que permiten intercambio de ficheros entre dos máquinas re-motas, sin pasar por el cliente, y la mayoría de los servidores recientes aceptanla orden reconnect, de manera que si se corta una transferencia, no es necesarioempezar desde el principio.

3.2.4 DNS (“Domian Name Service”)

Muchos usuarios prefieren utilizar un nombre que sea más fácil de recordarque una dirección numérica. Para hacer esto, un servidor debe transformar elnombre en la dirección correcta.

Esto se hacía originalmente en Internet mediante una tabla única situadaen un servidor central, donde estaban contenidos todos los nombres de host.

Page 71: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 55

Esto era posible debido a que sólo existían unos cientos de servidores, perodebido a un gran aumento del número de servidores, fue necesario descen-tralizar el servidor de nombres y dividirlo en múltiples DNS (Servidores deNombres de Dominio).

Esto redujo el tiempo de respuesta del servidor, y disminuyó el tráfico enla red.

La estructura del sistema de dominios es similar a la estructura de direc-torios del DOS o del UNIX. Es decir, es una estructura en forma de árbol, ylos archivos están identificados con una ruta de acceso.

La diferencia es que en el DNS la ruta empieza con el nombre del nodo envez del directorio raíz. Además, las rutas en un servidor DNS se escriben ensentido inverso a las del DOS.

Desde el punto de vista de un programa el funcionamiento de este servicioen muy simple. El programa proporciona un nombre de dominio, y el DNS ledevuelve su direccion IP.

Nombres de Dominio

El programa de usuario proporciona el nombre de dominio como una se-cuencia de palabras. Las palabras están listadas de izquierda a derecha, y laque representa la zona más cercana al usuario es la primera.

Los programas DNS manipulan el nombre del dominio proporcionado porel usuario de manera que sea fácilmente interpretado por otros programas.

Para los programas, cada nombre de dominio contiene una secuencia deetiquetas, y cada etiqueta contiene un octeto de longitud seguido por unacadena de caracteres de un subconjunto de caracteres . Este subconjunto estáformado por caracteres alfa (A-Z), dígitos (0-9) y un signo menos (-).

Arquitectura del DNS

DNS es un protocolo de la capa de aplicación y está clasificado como unautilidad por convenio entre los usuarios y el administrador del sistema, en vezde una parte integrada en los servicios de usuario.

Elementos de Programas de DNS

Siguiendo el modelo Cliente / Servidor, DNS consiste en un usuario, uncliente, un servidor de nombres local y un servidor de nombres remoto. En

Page 72: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

56 CAPÍTULO 3. FAMILIA TCP/IP

términos de las especificaciones, DNS consiste en un programa de usuario, uncliente, un servidor de nombres, y un servidor de nombres remoto.

Cada host debe implementar un mecanismo utilizando el cliente DNS paraconvertir nombres de host en direcciones IP.

Elementos de Datos de DNS

Un nodo DNS se representa por una etiqueta en el interior del nombrede dominio, y todos los nodos tienen unos Archivos de Recursos (ResourceRecords (RRs)) que contienen información que habilita el programa DNS paraencontrar el nombre de dominio solicitado.

Funcionamiento del DNS

Un programa manda una solicitud a un cliente (resolver) que contiene unnombre de dominio para el cual se quiere la dirección IP asociada.

La solicitud se suele hacer con una subrutina, o un puntero hacia el nombrede dominio en la pila del sistema. Los nombres de dominio en el cache delResolver (cliente) están en un formato estándar contenido en RRs.

Existen tres posibles respuestas de un Resolver al programa de usuario:

• Uno o más RRs conteniendo la dirección IP solicitada. En el caso deque el nombre proporcionado fuera un alias, el Resolver simplementedevuelve el nombre de dominio al que hace referencia el alias.

• Un mensaje de error en el nombre, que significa que el nombre propor-cionado no existe.

• Un error de datos no encontrado, que significa que el nombre proporcio-nado existe, pero no se refiere a ninguna dirección IP.

Formato de un Mensaje DNS

El Protocolo DNS utiliza mensajes enviados por el UDP para trasladarsolicitudes y respuestas entre servidores de nombres.

La transferencia de zonas completas la hace el TCP.

El formato de un mensaje DNS tiene cinco partes:

• Cabecera define el formato de las otras partes.

Page 73: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 57

• Pregunta es el objetivo a resolver.

• Respuesta es la resolución del objetivo.

• Autoridad es la referencia a un servidor autorizado.

• Adicional es información relacionada, pero no la respuesta.

3.2.5 SMTP (“Simple Mail Transfer Protocol”)

El corre electrónico (E-Mail) es probablemente la aplicación TCP/IP másusada. Los protocolos de correos básicos proporcionan intercambio de correoy mensajes entre hosts TCP/IP ; se han añadido servicios para la transmiciónde datos que no se pueden representar con texto ASCII de 7 bits.

Hay tres protocolos estándares que se aplican a este tipo de correo. Todosson recomendados.

El término SMTP se emplea con frecuencia para referirse a la combinaciónde los tres protocolos, por su estrecha interrelación, pero estrictamente hablan-do, SMTP es sólo uno de los tres. Normalmente, el contexto hace evidente decuál de los tres se está hablando. Cuando haya ambiguedad, se emplearán losnúmeros STD o RFC. Los tres estándares son:

• Un estándar para el intercambio de correo entre dos ordenadores queespecifica el protocolo usado para enviar correo entre hosts TCP/IP.Este estándar es SMTP.

• Un estándar para el formato de los mensajes de correo, contenido en dosRFCs. Uno de ellos describe la sintaxis de las cabeceras y su interpreta-ción, otro describe como un conjunto de documentos de tipos diferentesdel texto ASCII plano se pueden usar en el cuerpo del correo.

El nombre oficial para este estándar es MAIL.

• Un estándar para el encaminamiento de correo usando el DNS . El nom-bre oficial del protocolo para éste es DNS-MX.

El STD 10/RFC 821 establece que los dos datos enviados por SMTP sonASCII de 7 bits, con el bit de orden superior a cero. Esto es adecuado para

Page 74: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

58 CAPÍTULO 3. FAMILIA TCP/IP

mensajes en inglés, pero no para otros lenguajes o datos que no sean texto.Hay dos estrategias para superar estas limitaciones:

• MIME (“Multipurpose Internet Mail Extensions”), definido en los RFCs1521 y 1522, que especifica un mecanismo para codificar texto y datosbinarios en ASCII de 7 bits.

• SMTPSE (“SMTP Servie Extensions”), que define un mecanismo paraextender las posibilidades de SMTP más allá de las limitaciones impues-tas por RFC 821.

Cómo funciona SMTP

SMTP está basado en la entrega punto a punto; un cliente SMTP contac-tará con el servidor SMTP del host de destino directamente para entregar elcorreo. Guardará el correo hasta que se haya copiado con éxito en el receptor.

Esto difiere del principio de retransmisión común a muchos sistemas decorreo en las que el correo atraviesa un número de host intermedios de lamisma red y donde una transmisión con éxito implica sólo que el correo haalcanzado el host correspondiente al siguiente salto.

En varias implementaciones, existe la posibilidad de intercambiar correoentre los sistemas de correo locales y SMTP. Estas aplicaciones se denominanpasarelas o puentes de correo. Enviar correo a través de una pasarela puedealterar la entrega punto a punto, ya que SMTP sólo garantiza la entrega fiablea la pasarela, no al host de destino, más allá de la red local. La transmisiónpunto SMTP en estos casos es host-pasarela, pasarela-host o pasarela-pasarela.

SMTP no define lo que ocurre más allá de la pasarela.

CSNET proporciona un interesante ejemplo de servicio de pasarela decorreo. Diseñada en principio como un servicio barato para interconectarcentros científicos y de investigación, CSNET opera una pasarela que permitea sus suscriptores enviar y recibir correo en Internet con sólo un módem condial. La pasarela sondea a los suscriptores a intervalos regulares, les entregasu correo y recoge el correo de salida. A pesar de no ser una entrega punto-a-punto, ha demostrado ser un sistema muy útil (ver figura 3.3 de la página59).

Pasarela SMTP

Page 75: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 59

Figura 3.3: Modelo SMTP

Una pasarela SMTP es un host con dos conexiones a redes distintas. Laspasarelas SMTP se pueden implementar de forma que conecten distintos tiposde redes.

Una pasarela SMTP-RSCS/NJE se configura utilizando un fichero de con-figuración SMTP como el que se muestra abajo. Para configurar un host queno es pasarela, no se debe especificar la sentencia GATEWAY (ver figura 3.4de la página 59).

Figura 3.4: SMTP-RSCS/NJE Mail Gateway.

Page 76: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

60 CAPÍTULO 3. FAMILIA TCP/IP

Figura 3.5: MIME (Multipurpose Internet Mail Extensions)

3.2.6 MIME (“Multipurpose Internet Mail Extensions”)

MIME es un estándar que incluye mecanismos para resolver estos problemasen una forma con un alto grado de compatibilidad con los estándares RFC822.

Como el correo atraviesa una pasarela se puede dirigir a otras pasarelas,que pueden usar distintos protocolos de mensajería, en el caso general al emisorno le es posible determinar el mínimo común denominador de las capacidadesde cada una de las etapas que atraviesa el mensaje. Por este motivo, MIMEasume el caso: transporte ASCII de 7 bits, que puede no seguir estrictamenteel RFC 821.

No define ninguna extensión al RFC 821, sino que se limita sólo a lasextensiones incluidas en el RFC 822. De esta forma, un mensaje MIME puedeser enrutado a través de cualquier número de redes capaces de transmitirmensajes RFC 821. Se describe en dos partes:

• Protocolos para incluir objetos distintos de los mensajes de correo USASCII , dentro de mensajes RFC 822. El RFC 1521 los describe.

• Un protocolo para codificar texto no US ASCII en los campos de ca-becera según el RFC 822. El RFC 1522 lo describe.

Aunque el RFC 1521 proporciona un mecanismo adecuado para describirdato de texto de mensajes X.400 en una forma no compatible con el RFC 822

Page 77: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 61

no dice cómo se han de mapear las partes de los mensajes X.400 a las de losmensajes MIME. Esta conversión está definida en los RFCs 1494, 1496 queactualizan los protocolos de conversión de RFC 822 a X.400.

El MIME es un borrador. Su status es electivo.

¿Cómo funciona MIME?

Un mensaje MIME debe contener un campo de cabecera con el siguientetexto:

MIME-Version: 1.0

Como en el caso de las cabeceras RFC 822, los nombres de los campos de lacabecera MIME no son sensibles a mayúsculas y minúsculas, pero los valoresde los campos pueden serlo, según su nombre y contexto. Los valores de loscampos MIME señalados abajo no lo son, a menos que se diga lo contrario.

La sintaxis general para los campos de la cabecera MIME es la misma queen RFC 822, por lo que el siguiente campo: MIME-Version: 1.0 (comentario).

Es válido ya que las frases entre paréntesis se tratan como comentarios yse ignoran.

En MIME se definen cinco campos de cabecera.

3.2.7 Protocolos Para el Acceso a Internet

WWW (World Wide Web) [11]

Es un sistema de información hipermedia que ha revolucionado Internet en losaños 90.

Se basa en un protocolo de transferencia de información (HTTP), que uti-lizan los programas cliente (navegador o browser) para recuperar datos enforma de páginas en un formato normalizado (HTTP) provenientes de servi-dores dispersos por Internet.

El usuario puede seleccionar otras páginas definidas mediante URLs queaparecen resaltadas en las páginas como hiperenlaces mediante un interfazamigable.

La publicación es un método rápido (porque la actualización tiene efectos

Page 78: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

62 CAPÍTULO 3. FAMILIA TCP/IP

inmediatos en quienes acceden a la información) y económico de poner infor-mación a disposición de cualquiera (en todo el mundo) que toma la iniciativa(igualdad de oportunidades) de pedirla.

El modelo inicial de navegar de página en página buscando informaciónse ha enriquecido con la proliferación de herramientas de búsqueda (spiders,crawlers, robots) así como el acceso a páginas generadas dinámicamente comorespuesta a consultas interactivas (CGI).

Las capacidades iniciales de visualización se han extendido con la evolu-ción de HTML y la aparición de otros lenguajes para representación de objetostridimensionales (VRML), ejecución en local de aplicaciones (JAVA) aumen-tando la interactividad.

La riqueza del entorno ha provocado una demanda para incorporarle ca-racterísticas de seguridad mejorada (SSL) que permitan extender el modelo deacceso a la información a aspectos que pueden cambiar tanto el mundo comoel comercio electrónico (SET).

Protocolo HTTP (HyperText Transfer Protocol)

Es un protocolo sin estado: el servidor no conoce anteriores consultas delclientes. No sabe qué ha pedido antes, ni qué puede pedir en el futuro.

Para guardar el estado hay que usar cookies.

El cliente navega libremente y en cada transacción trae un documento:

• Inicia una conexión .

• Se trae (si puede) el documento.

• Cierra la conexión.

Si la página tiene varios componentes (gráficos), cada uno supone una cone-xión (por defecto hacen 4 concurrentes) aunque sea contra el mismo servidor.

Está pensado para sistemas de información hipermedia distribuido y cola-borativo, aunque su uso se extiende a otras aplicaciones. Surge en WWW en1990.

La primera versión permitía simplemente transferencia de datos en brutopor Internet, HTTP siguiente mejora al incorporar formato tipo MIME con

Page 79: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 63

metainformación respecto de los datos y modificadores en la semántica petición/ respuesta.

Pero causa problemas de prestaciones en el servidor backoff de cada cone-xión, una conexión por elemento de la página en lugar de una única.

El cliente envía un método, URI y versión del protocolo, y después puedenir modificadores de la petición en formato MIME con información sobre lascapacidades del cliente y el posible contenido del cuerpo. Acaba la peticiónuna línea en blanco.

La evolución es constante, incorporando cosas como que el cliente no ten-ga que esperar a recibir una respuesta del servidor para enviar una nuevapetición, que las cookies se normalicen o que se propongan un mecanismo deautenticación mediante extracto.

Aunque no ha tenido mucha difusión, SUN propuso WebNFS, un protocoloalternativo para descargar bajo demanda sólo partes de la página a visualizarde manera que según el usuario avanza va descargando más partes del docu-mento (con HTTP han de bajarse completas, y si los gráficos no tienen sutamaño definido, los visores no visualizan nada hasta tenerlos. Por todo ello,se recomienda que las páginas sean pequeñas y que para documentos grandesse emplee Acrobat o Envoy).

HTTP es un protocolo rico y complejo que sigue en evolución. HTTPngtendrá características que permitan utilizarlo para aplicaciones distribuidas deotros tipos, con redirección a otros protocolos para audio/video (no necesaria-mente sobre transporte TCP) y con nivel de presentación.

Protocolo HTML (Hyper Text MarkUp Lenguaje)

Es un lenguaje basado en marcas para identificar las partes del documento.

Define la estructura del documento, no su apariencia. El programa clienteinterprerta el documento recibido (y recupera todos sus componentes gráficossino se ha optado por prescindir de las imágenes) y lo visualiza, por lo que esel navegador quien decide la apariencia final.

No todos los navegadores muestran igual documento. Es más, algunos sidetectan algún defecto en la secuencia de códigos HTML de la página optanpor no visualizarla.

La documentación se genera con editores (basta uno de texto plano, aunque

Page 80: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

64 CAPÍTULO 3. FAMILIA TCP/IP

conforme se añade riqueza van siendo necesarios otros especializados y concapacidad de gestionar el conjunto de las páginas).

Se almacena en los servidores y los clientes solicitan, recuperan y muestranel documento elegido. Además también pueden recuperarse para otros fines,como indexar la información.

Es un meta-lenguaje formal sin semántica, que se concreta mediante DTDs(Document Type Definitions) que definen la información de estilo para forma-tear su presentación.

Los datos y la estructura son independientes, esto es bueno cuando gruposde personas colaboran en introducir información que debe tener aparienciasimilar, a diferencia de los procesadores WYSIWYG.

Extendiendo HTML

Los documentos se pueden clasificar en:

• Estáticos: Sólo cambian cuando el autor modifica el fichero.

• Dinámicos: Páginas creadas por el servidor en el momento que le llegala petición, por programa que se ejecutan en el servidor (CGI), y quetoman información, de una base de datos y la muestran mediante unapágina HTML.

• Activos: Una aplicación en el cliente actualiza la presentación. La apli-cación se descarga desde el servidor, con el que interactúa.

Hay un tag para forzar que se refresque el contenido periódicamente (elbrowser vuelva a cargar las páginas). Puede utilizarse para recuperar pági-nas estáticas que se sabe que el servidor cambia cada cierto tiempo pero queno se generan dinámicamente en cada petición (por ejemplo, un servidor deteletipos). Alto gasto de ancho de banda.

La generación de documentos activos se basa en que al descargarla sebajan instrucciones interpretadas por el navegador (scripts) o aplicacionesejecutables.

Los scripts permiten crear sencillas aplicaciones que respondan a ciertoseventos que captura el navegador y tienen el control sobre lo que visualiza oinvoca.

Page 81: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 65

Netscape incorporó a su navegador LiveScript, que junto con SUN hizoque evolucionara comercialmente a JavaScript. Sólo se parece a JAVA en lasintaxis y el nombre.

Las instrucciones vienen en la propia página HTML en tags que solo in-terpretan algunos navegadores.

La alternativa de Microsoft es VBScript. EXMAscript parece ser la víahacia la normalización de esta rápida forma de aportar interactividad.

Protocolo Firewalls (Cortafuegos)

Uno de los principales problemas de seguridad son los accesos externos no au-torizados a la información almacenada en los ordenadores, ya estén dedicadosa servir información a Internet o bien estén en las redes privadas conectadasa Internet aunque sin intención de ser accedidos desde ella. Por ello hay quedefinir una política de accesos e implementarla, a ser posible en un punto único(es más fácil vigilar una puerta que cien) que deseablemente debe ser invisiblee inaccesible desde el exterior.

Los cortafuegos (firewalls) son sistemas o grupos de sistemas que imple-mentan una política de control de acceso entre dos redes, prohibiendo o per-mitiendo explícitamente una determinada comunicación, en función del lugarde procedencia, el tipo de servicio o los parámetros que se configuren.

Estos dispositivos se colocan en el acceso de una red considerada segura aotra que se considera insegura (como Internet), de modo que se controlan losmensajes que pasan de una a otra y se permite su progresión o no.

Este control se realiza de muy diversas maneras (por tipo de servicio, porusuario, por direcciones de origen y/o destino) Además, la mayoría de loscortafuegos informan de los intentos de acceso no permitido, estableciendo ac-ciones de alarma al detectarse actividades sospechosas, y generan estadísticasvarias.

El firewall constituye un punto único donde fijar toda la seguridad, enlugar de obligar a una más cuidadosa gestión de todos los sistemas, por ellodebe ser un elemento de la máxima confianza, cuestión fundamental a la horade su elección.

Por ser los elementos más expuestos a ataques (deberían ser transparentes

Page 82: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

66 CAPÍTULO 3. FAMILIA TCP/IP

para evitarlo),deben someterse a auditorías periódicas, de manera que seanrealmente eficaces en una detección precoz de problemas que puedan afectarla integridad (accesos fraudulentos) o a las prestaciones (tráfico que deteriorela capacidad del enlace con Internet).

Tipos de Cortafuegos (Firewalls)

Se podrían clasificar de la siguiente manera (aunque los productos concre-tos pueden cumplir varias de estas funciones simultáneamente):

• Filtrado de paquetes: se trata de routers con reglas que permiten oimpiden pasar a datagramas según ciertas características (entrantes, apuertos o deseados). Son muy rápidos (trabajan a muy bajo nivel). Losmás sofisticados incluso entienden los protocolos FTP comprobando lasecuencia de mensajes y el estado de las conexiones. Los routers bienconfigurados hacen esto:

Nivel de aplicación (proxies): un host con dos interfaces (dual comed)pero que no encamina ofrece información al exterior y realiza las consultasque solicitan los clientes de la red privada como si partieran de él. Al serintermediarios a muy alto nivel, han de configurarse para cada aplicación, yse consideran más seguros, seguramente porque un fallo por omisión suponeuna falta de servicio, no una filtración (ver figura 3.6 de la pág. 66).

Figura 3.6: Firewall: Proxy

Topología Típica

Aspectos Fundamentales

Los aspectos principales son:

Page 83: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 67

Figura 3.7: Topología Típica

• El firewall debe ser invisible (no se ataca lo inalcanzable).

• Debe estar bien configurado (dado que confiamos en su buena configu-ración en lugar de en la configuración máquina por máquina): deshabi-litarlo todo y luego ir habilitando lo que vaya haciendo falta:

— A qué máquinas se puede acceder desde fuera (rutas, listas de con-trol de acceso).

— Qué servicios ofrecen las máquinas accesibles y desde dónde.

— Quiénes pueden salir y cómo (proxies, socks). Las direcciones ori-gen, incluso desde la red privada, deben ser direcciones InterNIC.

— Pasarela de correo electrónico.

• Monitorizar el tráfico para detectar plantillas de ataques.

• Almacenar logs de acceso y comprobarlos. (Si ocurre lo peor, aún serlomás si no sabés cuánto te ha afectado). Suele ser necesario un filtradoautomático y programar eventos.

• Definir procedimientos de auditoría y ejecutarlos periódicamente.

Page 84: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

68 CAPÍTULO 3. FAMILIA TCP/IP

Protocolo GOPHER (Navegación por menús)

Desarrollado en Minnesota, pretende ofrecer un acceso homogéneo a recursosdistribuidos por la red. En esa universidad que tiene por mascota unas ardillaslocales (), querían un interfaz sencillo para que los nuevos alumnos pudiesenacceder a toda información (directorios CSO, normas, etc). Y crearon este sis-tema para que fuera por (go fer) la información sin necesidad de entrenamientoprevio.

Su novedad es que su interfaz senillo abstrae recursos físicos.

Objetos tipados distribuidos, seleccionados desde menú, con un visor paracada uno, se ven igual.

Este objetivo de permitir un acceso homogéneo a recursos de red de tiposvariados es similar (y coetáneo) al de Berners-Lee con su WWW. Pero en estecaso el interfaz del cliente está basado en menús: basta seleccionar el númerode la opción elegida.

Fuerza una estructura jerárquica de la información: hay que registrar cadaservidor para que aparezca en el menú y lo puedan elegir (quién es adminis-trado, localización, tema), lo que supone, salvo que se pida lo contrario, serenlazado en Verónica.

La universidad de Minnesota es la autoridad mundial. En Europa el en-ganche principal está en funet.fi.

También se parece en que maneja objetos tipados, pero o son directorioso son información, no mezcla contenido con referencias (y menos con gráficosentre enlaces). Tiene incluso bookmark para que anote sus enlaces favoritos,y no es case sensitive (no distingue mayúsculas de minúsculas). Hay clientescon capacidad gráfica y muestran cada objeto final en una ventana ( comoWWW en su origen).

Incluso en 1992 se incorpora con Gopher + que al seguir un enlace se puedatraer información con el tipo que quiera (texto, Postscript). Pero, igualmenteno se compara con WWW, es mucho rival.

Page 85: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 69

3.2.8 Protocolos Para La Gestión de Red

SMI (“Structure and Identification of Management Information”)

El SMI define las reglas para describir los objetos gestionados y cómo losprotocolos sometidos a la gestión pueden acceder a ellos. La descripción de losobjetos gestionados se hace utilizandos un subconjuneto de ASN.1 (“AbstractSyntax Notation 1”, Estándar ISO 8824) es un lenguaje de descripción dedatos. La definición del tipo de objeto consta de cinco campos:

• Objeto: Nombre textual, llamado descriptor del objeto, para el tipo delobjeto, junto con su correspondiente identificador de objeto definido aba-jo.

• Sintaxis: La sintaxis abstracta para el tipo de objeto. Las opcionesson SimpleSyntax (entero, octeto de caracteres, identificador de objeto,Null), ApplicationSyntax (dirección de red, contador, escala, tick, opaco)y otro tipo de sintaxis de aplicación.

• Definición: Descripción textual de la semántica del tipo.

• Acceso: Sólo lectura, sólo escritura, lectura-escritura o inaccesible.

• Status: obligatorio, opcional u obsoleto.

Como ejemplo podemos tener: (ver figura 3.8 de la página 69)

Este ejemplo muestra la definición de un objeto contenido en el MIB(“ManagementInformation Base”). Su nombre es sysDescr y pertenece al grupo sistema.

Un objeto gestionado no sólo ha de ser descrito, también debe ser identifi-cado. Esto se hace utilizando el Identificador de Objetos (“Object Identifier”)ASN.1 como si fuera un número de teléfono, reservando grupos de númerospara distintas localizaciones. En el caso de la gestión de red para TCP/IP,el número fue 1.3.6.1.2 y SMI lo usa como base para la definición de nuevosobjetos.

Este número se obtiene al unir a grupos de números con el siguiente signi-ficado:

• El primer grupo define al nodo administrador:

Page 86: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

70 CAPÍTULO 3. FAMILIA TCP/IP

Figura 3.8: Definición de un objeto contenido en el MIB.

— (1) para ISO.

— (2) para CCITT.

— (3) para la unión ISO-CCITT.

• El segundo grupo para el nodo administrador ISO define (3) para su usopor parte de otras organizaciones.

• El tercer grupo define (6) para su uso por parte del DoS (“U.S. Depar-tament of Defense”).

• En el cuarto grupo, el DoD no ha indicado cómo ha de gestionarse sugrupo correspondiente por lo que la comunidad de Internet ha asumido(1).

• El quinto grupo fue aprobado por el IAB para ser:

— (1) para el uso del directorio OSI en Internet.

— (2) para la identificación de objetos con propósitos de gestión.

— (3) para la identificación de objetos con fines experimentales.

— (4) para la identificación de objetos para uso privado.

MIB (“Management Information Base”)

El MIB define los objetos que pueden ser gestionados para cada capa en elprotocolo TCP/IP. Hay dos versiones, MIB-I and MIB-II, está clasificado

Page 87: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 71

ahora como protocolo histórico con status no recomendado (ver figura 3.9 dela página 71)

Figura 3.9: Definición de grupo.

Cada nodo gestionado soporta sólo los grupos apropiados. Por ejemplo, sino hay pasarela, el grupo EGP(“Protocolo de Puerta de Enlace Exterior”) notiene por qué estar incluido. Pero si un grupo es apropiado, todos los objetosen ese grupo deben estar soportados.

La lista de objetos gestionados definidos deriva de aquellos elementos consi-derados esenciales. Este enfoque; consistente en tomar sólo los objetos esencia-les no es restrictivo, ya que el SMI proporciona mecanismos de extensibilidadtales como la definición de una nueva versión de MIB o de objetos privados ono estandarizados.

El grupo de interfaces contiene dos objetos de nivel superior: el número deinterfaces del nodo (ifNumber) y una tabla con información de estas (ifTable).Cada entrada de la tabla (ifentry) contienen los objetos de esa interfaz. Entreellos, el tipo de interfaz (iftype) se identifica en el árbol MIB con notaciónASN.1 como 1.3.6.1.2.1.2.2.1.3 (ver figura 3.10 de la página 72)

Page 88: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

72 CAPÍTULO 3. FAMILIA TCP/IP

Figura 3.10: Indetificador de Objetos.

Page 89: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 73

SNMP (“Simple Network Management Protocol”)

SNMP añadió las mejoras de muchos años de experiencia con SGMP y lepermitió trabajar con los objetos definidos en el MIB con la representacióndel SIM.

NMS (“Network Management Station”) se define como una estación queejecuta aplicaciones de gestión de red (NMA) que monitorizan y controlanelementos de red (NE) como hosts, pasarelas, y servidores de terminales.

Estos elementos usan un agente de gestión (MA) para realizar estas fun-ciones. El SNMP para la comunicación de información entre las NMS y losMA (ver figura 3.11 de la página 73).

Figura 3.11: Componentes de SNMP.

Todas las funciones de los MA son sólo alteraciones (set) o consultas (get)de variables, limitando así el número de funciones esenciales a dos simplifican-do el protocolo. En la comunicación NE-NMS, se utlizan un número limitadode mensajes no solicitados (traps) para informar de eventos asíncronos. Del

Page 90: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

74 CAPÍTULO 3. FAMILIA TCP/IP

mismo modo, en un intento de mantener la sencillez, el intercambio de infor-mación requiere sólo un servicio de datagramas y cada mensaje se envía enun único datagrama. Esto significa que SNMP es adecuado para una granvairedad de protocolos de transporte.

Las entidades que residen en las NMS y los elementos de red que se comu-nican con otros a través de SNMP se denominan entidades de . Los procesosque las implementan son las entidades de protocolo. Un agente SNMP conun conjunto arbitrario de entidades es una comunidad SNMP, en la que ca-da entidad se nombra con un ristra de bytes que debe ser unívoca para esacomunidad.

CMOT (“CommonManagement Information Protocol over TCP/IP”)

CMOT es la arquitectura de gestión de red desarrollada con vistas a mante-ner una relación más estrecha con el CMIP (“Common Management Informa-tion Protocol”) de OSI (“Open System Interconnection”). Con esta premisa,CMOT se divide en un modelo organizacional, funcional e informacional.

En los dos primeros el mismo concepto de OSI se usa en CMOT y SNMP.La identificación de objetos se efectúa empleando el subarbol relacionado conDoD(“U.S. Departament of Defense”) con subdivisiones en lo que respectaa gestión, derectorio, experimental y privado. Todos los objetos de gestiónse definen en el MIB (“Management Information Base”), y se representancon el SMI (“Structure and Identification of Management Information”), unsubconjunto de ASN.1 (“Abstract Syntax Notation 1 de OSI”) (ver figura 3.12de la página 74).

En el mundo OSI, la gestión sólo se puede producir sobre conexiones es-tablecidas por completo entre managers y agentes. CMOT permite el inter-cambio de información de gestión usando servicios no orientados a conexión(datagramas). Pero para mantener la misma interfaz del servicio que requie-re CMIP, llamada CMIS (“Common Management Information Services”) laarquitectura de CMOT define una nueva capa, el LPP (“Lightweigt Presen-tation Protocol”). Esta capa se ha definido para proporcionar los servicios depresentación quenecestia CMIP de tal forma que la totalidad de los estándaresOSI para la gestión de red se adapten a la arquitectura TCP/IP de CMOT(ver figura 3.13 de la página 75).

Page 91: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 75

Figura 3.12: Componentes de CMIP sobre TCP/IP.

Figura 3.13: LPP (Lightweight Presentation Protocol).

Page 92: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

76 CAPÍTULO 3. FAMILIA TCP/IP

El DPI de SNMP (“Dsitributed Programming Interface”)+

SNMP define un protocolo que permite efectuar operaciones en una serie devariables. Este conjunto de variables (el MIB) y un conjunto básico o núcleoestá predefinidas. Sin embargo, el diseño del MIB cuenta con la posibilidad deexpandir este núcleo. Desafortunadamente, las implementaciones convencio-nales de agentes SNMP no suministrarán mecanismos para que el usuario creenuevas variables convencionales de agentes SNMP no suministran mecanismospara que el usuario cree nuevas varibales.

El DPI enfoca esta cuestión proporcionando mecanismos que permiten alusuario añadir, borrar o reemplazr dinámicamente variables en el MIB local sintener que recompilar el agente SNMP. Esto es posible gracias a un subagenteque se comunica con el agente a través del DPI.

El DPI de SNMP habilita a un proceso para registrar la existencia deuna variable MIB en el agente SNMP, que pasará la solicitud al subagente. Elsubagente devuelve a su vez al respuesta apropiada al agente. Éste, finalmente,empaqueta una respuesta SNMP y envía la respuesta a la NMS que inició lasolicitud. El subagente es completamente invisible (transparente) para la NMS(ver figura 3.14 de la página 76).

La comunicación entre el agente SNMP y sus clientes (subagentes) tienelugar sobre un canal. Típicamente se trata de una conexión TCP, pero sepueden emplear otros protocolos de transporte orientados a conexión.

SNMPv2 (“Simple Netword Management Protocol Version 2”)

La infraestructura de la versión 2 de SNMP se publicó en abril de 1993 es unstándar con status electivo.

Esta infraestrcutura consta de las siguientes disciplinas:

• SMI (“structure of Management Information”): Definición del subcon-junto de ASN.1 para la creación de módulos MIB.

• Convenios textuales: Definiciión del conjunto inicial de convenios tex-tuales disponible para todos los módulos MIB.

• Operaciones del protocolo: Definición de las operaciones del protocolocon respecto a las PDUs enviadas y recividas en el RFC 1448.

Page 93: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 77

Figura 3.14: Descripción del DPI de SNMP.

• Mapeados de transporte: Este MIB define los objetos gestionados quedeterminan el comportamiento de la entidad SNMPv2.

El Nuevo Modelo Administrativo

Uno de los propósitos del modelo admistrativo para SNMP v2 es definir como lainfraestructura administrativa se aplica para llevar a cabo una administraciónde red efectiva en diversas configuraciones y entornos.

El modelo administrativo implica el uso de diferentes entidades en el in-tercambio de mensajes. De esta forma, representa abandonar el basado encomunidades del SNMP v1 original. Al identificar sin ambiguedad al emisor yal receptor de cada mensaje, esta nueva estrategia mejora el esquema históricode comunidades ya que permite un diseño de control de acceso a los datos másconveniente así como el empleo de protocolos de seguridad asimétricos (conllave pública) en el futuro (ver figura 3.15 de la página 78).

Page 94: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

78 CAPÍTULO 3. FAMILIA TCP/IP

Figura 3.15: Formato del Mensaje SNMPv2.

3.2.9 Otros Protocolos de Aplicación

Hay una serie de otros protocolos de aplicación que no están documentadosen los RFCs, pero que se implementan en diversos productos. Los siguientessecciones describen algunos de estos protocolos.

NDB (“Network Database”)

El protocolo NDB (“Netwoek Database”) no es un estándar de Internet.

NDB define un protocolo para orientado a sistemas de bases de datosrelacionales en entorno TCP/IP. Tiene los siguientes objetivos:

• Permitir a los usuarios y aplicaciones de cualquier estación de trabajo omainframe lanzar sentencias SQL, bien de modo interactivo o embebidasen los programas de aplicación, para acceder a cualquier base de datosde cualquier sistema operativo.

• Distribuir las aplicaciones de la base de datos de un host a una máquinaconcreta.

NDB se construye sobre RPC (“Remote Procedure Call”), en cualquiera

Page 95: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.2. PROTOCOLOS DE APLICACIÓN 79

de sus implementaciones, utilizando el modelo Cliente / Servidor (ver figura3.16 de la página 79).

Figura 3.16: Componentes del Protocolo NDB.

1. La capa del Cliente / Servidor RPC : Se ocupa del transporte de datos através de redes TCP/IP : creación de zócalos, interfaces con PORTMAP,enviar y recibir datos.

2. La capa del Cliente / Servidor NetDB : gestiona Unidades de Trabajo(“Units of Work”, UOWs), multi-hilos, además de conversión de datosdel/al formato ASN.1 (“Abstract Syntax Notation 1”).

3. La capa de la utilidad DB : Sirve de interfaz con la base de datos real.

NIS (“Network Information Systems”)

El NIS no es un estándar de Internet. Fue desarrollado por Sun Microsystems.Originalmente se le conocía como las Páginas Amarillas.

Es un sistema de bases de datos distribuidas que permite compartir lainformación del sistema de entornos basados en UNIX o AIX. Sus ventajasson:

• Proporcina un espacio de nombres consistente para los identificadores deusuario y grupo en un elevado número de sistemas.

Page 96: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

80 CAPÍTULO 3. FAMILIA TCP/IP

• Reduce el tiempo y esfuerzo del usuario para la gestión de IDs de usuariosy grupo, así como de la propiedad de sistemas de ficheros NFS.

• Reduce el tiempo y esfuerzo de los administradores del sistema para lagestión de IDs de usuario y grupo, así como de la propiedad de sistemasde ficheros NFS.

NIS utiliza el modelo Cliente / Servidor. Un dominio NIS es una colecciónde sistemas consistente en:

Servidor NIS maestro:

Mantiene Mapas, o bases de datos, que contienen información del sistematal como passwords y nombres de hosts.

Servidor(es) NIS esclavo(s):

Se pueden definir para aliviar al servidor NIS maestro de su carga detrabajo o cuando este no está disponible.

Cliente(s) NIS:

Son el resto de los sistemas servidos por serviores NIS.

Los clientes NIS no mantienen mapas NIS, interrogan a los servidores NISacerca de la información del sistema. Cualquier cambio en el mapa NIS de unsistema se efectúa sólo en el servidor NIS maestro, que a su vez propaga loscambios a los servidores NIS esclavos.

La velocidad de una red determina el rendimiento y disponibilidad de losmapas NIS. Al usar NIS, se debería ajustar el número de esclavos con el finde optimizar estos parámetros.

Intefaz de zócalos CICS

El CCICS (“Customes Information Control System”) es un sistema de proce-samiento de alto rendimiento. Se desarrolló en IBM.

CICS es el sistema OLTP (“Online Transaction Processing”) más usadodel mercado en la actualidad. Proporciona a los programas de transaccionespara comunicaciones de datos (con SNA) y bases de datos (con VSAM, IMSo DB2 ).

Page 97: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.3. PROTOCOLOS DE LA CAPA DE ENLACE [?] 81

Dada la necesisdad de interoperabilidad entre protocolos de red hetero-géneos, existe el requerimiento de mejorar la interfaz CICS de comunicaciónde datos para incluir soporte para TCP/IP además de SNA.

RFC 1006

Los programas escritos originalmente para el XTI (“X/Open Transport Inter-face”) pueden usarse con la pila TCP/IP. El RFC 1006 define un componentepara el mapeo entre protocolos de modo que estos programas se puedan utilizaren una red TCP/IP.

3.3 Protocolos de la Capa de Enlace [11]

3.3.1 La Capa de Enlace de Datos en Internet

Internet consiste en máquinas individuales (hosts y enrutadores) y la infraes-tructura de comunicación que las conecta. Dentro de un solo edificio, las LANsse usan ampliamente para la interconexión, pero la mayor parte de la infraes-tructura de área amplia está construida a partir de líneas alquiladas punto apunto.

En la práctica, la comunicación punto a punto se utiliza principalmente endos situaciones.

Primero, miles de organizaciones tienene una o más LANs, cada una concierta cantidad de hosts (computadoras personales, estaciones de trabajo, ser-vidores y otros) junto con un enrutador (o un puente que funcionalmentees parecido). Con frecuencia, los enrutadores se interconectan mediante unaLAN de red dorsal. Por lo general, todas las conexiones al mundo exteriorpasan a través de uno o dos enrutadores que tienen líneas alquiladas punto apunto a enrutadores distantes. Son estos enrutadores y sus líneas arrendadaslas que conforman las subredes de comunicación sobre las que está cosntruidaInternet.

La segunda situación en la que las líneas punto a punto desempeñan unpapel importante en Internet son los millones de personas que tienen conexio-nes domésticas a Internet a través de módems y líneas de acceso telefónico.Generalmente lo que ocurre es que la PC doméstica del usuarios llama a un

Page 98: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

82 CAPÍTULO 3. FAMILIA TCP/IP

enrutador del proveedor de servicios de Internet y luego actúa como host deInternet.

Este método de operación no es diferente de tener una línea alquilada entrela PC y el enrutador excepto que la conexión se termina cuando el usuariotermina la sesión.

Tanto para la conexión por línea alquilada de enrutador a enrutador comopara la conexión de acceso telefónico de host a enrutador, en la línea se requiereun protocolo de enlace de datos punto a punto para el entramado, el controlde errores y las demás funciones de la capa de enlace de datos que se describeen este capítulo. El que se utiliza en Internet se conoce como PPP (ProtocoloPunto a Punto).

3.3.2 Ejemplos de Protocolos de Enlace de Datos

HDLC: Control de Enlace de Datos de Alto Nivel

En esta sección examinaremos un grupo de protocolos íntimamentene relacio-nados que, a pesar de ser un poco antiguos se siguen utilizando ampliamenteen redes de todo el mundo. Todas se derivan del primer portocolo de enlace dedatos usado en los mainframes de IBM : el protocolo SDLC (Control Síncronode Enlace de Datos). Después de desarrollar SDLC, IBM lo sometió al ANSIy a la ISO para su aceptación como estándar de EE.UU. e internacional, res-pectivamente. El ANSI lo modificó convirtiéndolo en ADCCP (ProcedimientoAvanzado de Control de Comunicación de Datos), y la ISO lo modificó paraconvertirlo en HDLC (Control de Enlace de Datos de Alto Nivel).

Lo agradable de los estándares es que hay muchos de donde escoger.

Todos estos protocolos se basan en el mismo principio. Todos son orien-tados a bits y usan el relleno de bits para lograr la transparencia de los datos.Difieren sólo en aspectos menores, aunque irritantes. El análisis de protocolosorientados a bits que se hará a continuación pretende ser una introduccióngeneral.

El campo de dirección es de importancia primordial en las líneas con múl-tiples terminales, pues sirve para identificar una de las terminales. En líneaspunto a punto a veces se usan para distinguir los comandos de las respuestas.

El campo control se utiliza para números de secuencia, confirmaciones de

Page 99: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.3. PROTOCOLOS DE LA CAPA DE ENLACE [?] 83

recepción y otros propósitos.

El campo de datos puede obntener cualquier información y puede tener unalongitud arbitraria, aunque la eficiencia de la suma de verificación dismunuyeconforme al tamaño de la tram aumente, debido a lamayor probabilidad demúltipels errores en ráfaga.

El campo suma de verificación es un código de redundancia cíclica.

La trama está delimitada por otra secuencia de bandera (01111110). Enlíneas punto a punto inactivas se transmiten secuencias de bandera continua-mente. La trama mínima contiene tres campos y un total de 32 bits, y excluyea las banderas de ambos lados.

Hay tres tipos de tramas: de información, de supervisión y no numeradas.El protocolo emplea una ventana corrediza, con un número de secuencia de 3bits. En cualquier momento pueden estar pendientes hasta siete tramas sinconfirmación de recepción.

El campo secuencia es el número de secuencia de la trama. El campo si-guiente es una confirmación de recepción superpuesta. Sin embargo, todos losprotocolos se apegan a la convención de que, en lugar de superponer el núme-ro de la última trama recibida correctamente, usan el número de la primeratrama no recibida (es decir, la trama esperada). La desición de utilizar laúltima trama recibida o la siguiente trama esperada es arbitraria; no importala convención que se utilice, siempre y cuando se use con consistencia.

figuraaaaa3-25

El bit P/F (S/F) significa Sondeo / Final (Poll / Final). Se utiliza cuan-do una computadora o concentrador está sondeado un grupo de terminales.Cuando se usa como P, la computadora está invitando a la terminal a enviardatos. Todas las tramas enviadas por la terminal, excepto la última, tienen elbit P/F establecido en P. El último se establece en F.

En alguno protocolos el bit P/F sirve para obligar a la otra máquina aenviar de inmediato una trama de supervisión, en lugar de esperar tráfico deregreso al cual superponer la información de la ventana. El bit también tienealgunos usos menores en conexión con las tramas sin número.

Page 100: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

84 CAPÍTULO 3. FAMILIA TCP/IP

PPP: Protocolo Punto a Punto

Internet necesita de un protocolo punto a punto para diversos propósitos,entre ellos para el tráfico enrutador a enrutador. Este protocolo PPP, realizadetección de errores, soporta múltiples protocolos, permite la negociación dedirecciones de IP en el momento de la conexión, permite la autenticación ytiene muchas otras funciones.

PPP proporciona tres características:

1. Un método de entramado que delinea sin ambiguedades el final de unatama y el inicio de la siguiente. El formato de trama también maneja ladetección de errores.

2. Un protocolo de control de enlace para activar líneas, probarlas, negociaropciones y desactivarlas ordenadamente cuando ya no son necesarias.Este protocolo se llama .LCP (Protocolo de Control de Enlace) Admitecircuitos síncronos y asíncronos y codificaciones orientadas a bits y acaracteres.

3. Un mecanismo para negociar opciones de capa de red con independenciadel protocolo de red usado. El método escogido consiste en tener un NCP(Protocolo de Control de Red) distinto para cada protocolo de capa dered soportado.

El formato de trama de PPP se escogió de modo que fuera muy parecidoal de HDLC, ya que no había razón para reinventar la rueda. La diferenciaprincipal entre PPP y HDLC es que el primero está orientado a caracteres,no a bits. En particular, PPP usa el relleno de bytes en las líneas de accesotelefónico con módems, por lo que todas las tramas tienen un número enterode bytes. No es posible enviar una trama de 30.25 bytes, como con HDLC. Nosólo pueden mandarse tramas PPP a través de línea de acceso telefónico, sinoque también pueden enviarse a través de SONET o de líneas HDLC auténticasoritnadas a bits.

Las fases por las que pasa una línea son: activada, usada y desactivada.Esta secuencia, se aplica tanto a las conexiones por módem como a las deenrutador a enrutador.

Se comienza con estado MUERTA, lo que significa que no hay una por-tadora de capa física y que no existe una conexión de capa física. Una vez

Page 101: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

3.3. PROTOCOLOS DE LA CAPA DE ENLACE [?] 85

establecida la conexión física, la línea pasa a ESTABLECER. En ese puntocomienza la negociación se opciones LCP (Protocolo de Control de Enlace),que de tener éxito, conduce a AUTENTICAR, ahora las dos partes puedenverificar la identidad del otro, si lo desean.

Al entrar en la fase red, se invoca a NCP (Protocolo de Control de Red)para configurar la capa de red. Si la configuración tiene éxito se llega a ABRIRy puede comenzar el transporte de datos. Al terminar el transporte, la lineapasa a la fase TERMINAR, de donde regresea a MUERTA al liberarse laportadora.

Page 102: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 103: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 4

Los Protocolos MásImportantes de TCP/IP.

4.1 Protocolos de la Capa de Transporte

4.1.1 UDP: “Protocolo de Datagrama de Usuario”

El Protocolo UDP (User Datagram Protocol), proporciona aplicaciones con untipo de servicio de datagrama orientado a transacciones.

El servicio es muy parecido al protocolo IP en el sentido de que no es fiabley no está orientado a la conexión.

El UDP es muy simple, eficiente e ideal para aplicaciones como el TFTP yel DNS . Una dirección IP sirve para dirigir el datagrama hacia una máquina enparticular, y el número de puerto de destino en la cabecera UDP se utiliza paradirigir el datagrama UDP a un proceso específico localizado en la cabecera IP.La cabecera UDP también contiene un número de puerto origen que permiteal proceso recibido conocer como responder al datagrama.

Formato del Mensaje

El datagrama UDP contiene cuatro campos, que son Número del Puerto Ori-gen, Número del Puerto de destino, Longitud del Mensaje y Checksum.

87

Page 104: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

88 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Números de Puerto de Origen y Destino

Estos números, junto con las direcciones IP definen el punto final de lacomunicación. El número del puerto de origen, puede tener valor cero si no seusa. El número del puerto de destino sólo tiene sentido en el contexto de undatagram UDP y una dirección IP en particular.

El número de puerto de origen es un campo de 16 bits. El puerto de destinotiene la misma longitud.

Longitud del Mensaje

Este campo tiene una longitud de 16 bits y contiene el número total deoctetos que forman el datagrama, incluída la cabecera.

Checksum

El uso de checksum es opcional, y este campo debe ponerse a cero si no esutilizado.

Mientras que el checksum del datagrama IP sólo tiene en cuenta la cabeceradel mensaje, el UDP tiene su propio checksum para garantizar la integridadde los datos. La longitud de este campo es de 16 bits, y está formado por lasuma de los campos del UDP, y algunos campos del IP.

Para incluir los campos IP, se construye una pseudo cabecera UDP. Estapseudo cabecera de 12 octetos se utiliza únicamente a efectos de calcular lasuma. [5]

4.1.2 TCP: “Protocolo de Control de Transporte”

TCP es un protocolo estándar. Su status es recomendado, pero en la prácticacualquier implementación de TCP/IP que no se use exclusivamente para elencaminamiento incluirá TCP. [5]

TCP proporciona una cantidad considerablemente mayor de servicios alas aplicaciones que UDP, notablemente, la recuperación de errores, controlde flujo y fiabilidad.

Se trata de un protocolo orientado a conexión a diferencia de UDP. Lamayoría de los protocolos de aplicación de usuario, como TELNET y FTP,usan TCP.

Page 105: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 89

Zócalos

Dos procesos se comunican a través de zócalos TCP. El modelo de zócaloproporciona a un proceso una conexión con un flujo full duplex de bytes conotro proceso.

La aplicación no necesita preocuparse de la gestión de este canal, estosservicios son suministrados por TCP.

TCP usa el mismo principio de puerto que UDP para conseguir multiple-xación. Al igual que UDP, TCP utiliza puertos efímeros y bien conocidos.

Cada extremo de una conexión TCP tiene un zócalo que puede identificarsecon una medio asociación. Si dos procesos se están comunicando sobre TCP,tendrán una conexión lógica identificable unívocamente por medio de los doszócalos implicados, es decir, con la combinación =TCP, dirección IP localpuerto local, dirección IP remota, puerto remoto=. (ver figura 4.1 de la página87)

Figura 4.1: Conexión TCP- Procesos X e Y se comunican sobre una conexiónTCP que emplea datagramas IP.

Page 106: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

90 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Concepto de TCP

El principal propósito de TCP es proporcionar una conexión lógica fiable entreparejas de procesos.

No asume fiablididad de protocolos de niveles inferiores como IP, por loque debe ocuparse de garantizarla.

Básicamente lo podemos definir como:

Un protocolo orientado a conexión que proporciona un servicio de trans-porte fiable de un flujo de bytes entre aplicaciones. Es orientado a conexión osea que previo al intercambio de datos los extremos tienen que establecer unaconexión; fiable, porque garantiza la entrega ordenada del flujo de bytes entrelos extremos. [3]

TCP se puede caracterizar por los siguientes servicios que suministra a lasaplicaciones que lo usan.

• Transferencia de datos a través de un canal: Desde el punto devista de la aplicación, TCP transfiere un flujo continuo de bytes a travésde Internet. La aplicación no ha de preocuparese de trocear los datos enbloques o en datagramas. TCP se encarga de esto al agrupar los bytesen segmentos TCP, que se pasan a IP para ser retransmitidos al destino.Además, TCP decide por sí mismo cómo segmentar los datos y puedeenviarlos del modo que más le parezca convenientes.

A veces, una aplicación necesita estar segura de que todos los datos pasadosa TCP han sido transmitidos efectivamente al destino. Por esta razón, sedefine la función “push”. Esta función mandará todos los segmentos que siganalmacenados al host de destino.

El cierre normal de la conexión también provoca que se llame a esta función,para evitar que la transmisión quede incompleta.

• Fiabilidad: TCP asigna un número de secuencia a cada byte transmi-tido, y espera reconocimietno afirmativo ACK del TCP receptor. Si elACK no se recibe dentro de un intervalo de timeout, los datos se re-transmiten. Como los datos se transmiten en bloques (segmentos TCP),al host destino sólo se le envía el número de secuencia del byte de cadasegmento.

Page 107: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 91

El TCP receptor utiliza los número de secuencia para organizar los segmen-tos cuando llegan fuera de orden, así como para eliminar segmentos duplicados.

• Crontrol de Flujo: El TCP receptor, al enviar un ACK al emisor,indica también el número de bytes que puede recibir aún, sin que seproduzca sobrecarga y desbordamiento de sus buffers internos. Estevalor se envía en el ACK en la forma del número de secuencia máselevado que se pueda recibir sin problemas. Este mecanismo se conocetambién como “mecanismo de ventanas” y se estudiará posteriormenteen este capítulo.

• Multiplexación: Se consigue usando puertos, al igual que en UDP.

• Conexiones lógicas: La fiabilidad y el control de flujo descriptos másarriba requieren que TCP inicialice y mantenga cierta información deestado para cada canal. La combinación de este estado, incluyendo zóca-los, números de secuencia y tamaños de ventanas, se denomina conexiónlógica. Cada conexión se identifica unívocamente por el par de zócalosdel emisor y el receptor.

• Full Duplex: TCP garantiza la concurrencia de los flujos de datos enambos sentidos de la conexión.

El Principio de la Ventana

Un simple protocolo de transporte podría emplear el siguiente principio: en-viar un paquete, y esperar un reconocimiento del receptor antes de enviarel siguiente. Si el ACK no se recibe dentro de cierto límite de tiempo, seretransmite. (ver figura 4.2 de la página 90)

Aunque este mecanismo asegura fiabilidad, sólo usa una parte del anchode banda de la red que está disponible.

Y utiliza las siguientes reglas:

• El emisor puede enviar todos los paquetes dentro de la ventana sin recibirun ACK, pero no debe disparar un cronómetro para el timeout para cadauno de ellos.

• El receptor debe reconocer cada paquete recibido, indicando el númerode secuencia del último paquete bien recibido.

Page 108: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

92 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.2: El Principio de la Ventana

• El emisor desliza la ventana para cada ACK recibido.

Casos Especiales

• El paquete 2 se pierde: el emisor no recibirá ACK 2, por lo que suventana permancerá en posición 1. De hecho, como el receptor no recibióel paquete 2, reconocerá los paquetes 3, 4, 5 con un ACK 1, que fueronlos últimos paquetes recibidos en secuencia. En el extremo del emisor,al final se producirá un timeout para el paquete 2 y se retransmitirá.La recepción de este paquete en el receptor generará un ACK 5, ya quehabrán recibido con éxito los paquetes del 1 al 5, y la ventana del emisorse deslizará cuatro posiciones al recibir el ACK 5.

• El paquete 2 llegó, pero el reconocimiento se perdió: el emisor no recibeACK 2, pero recibe ACK 3, ACK 3 es un reconocimiento de todos lospaquetes hasta el 3 (incluyendo el 2) y el emisor ya puede desllizar suventana hasta el paquete 4.

Conclusiones

Este mecanismo de ventanas asegura:

• Transmisión fiable.

• Mejor aprovechamiento del ancho de banda (mejora del flujo).

Page 109: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 93

• Control de flujo, ya que el receptor puede retrasar la respuesta a unpaquete con un reconocimiento, conociendo los buffers libres de los quedispone y el tamaño de la ventana de comunicación.

El principio de la Ventana Aplicado a TCP. El mecanismo mostradomás arriba se utilliza en TCP, pero con unas cuantas diferencias:

• Como TCP, proporciona una conexión con un flujo de bytes, los númerosde secuencia se asignan a cada byte del canal, TCP divide el flujo debytes en segmentos. El principio de la ventana se aplica a nivel de bytes,es decir, los segmentos enviados y los ACKs recibidos llevarán númerosde secuencia de forma que el tamaño de la ventana se exprese con unnúmero de bytes, en vez del de paquetes.

• El tamaño de la ventana lo determina el receptor, cuando se establecela conexión, y puede variar durante la transmición de datos. Cada ACKincluirá el tamaño de la ventana que acepta el receptor en ese momento.

Ahora el flujo de datos del emisor se puede ver como: (ver figura 4.3 de lapágina 91)

Figura 4.3: El Principio de la Ventana Aplicado a TCP.

Page 110: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

94 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Formato de Segmento TCP Los segmentos TCP se encapsulan en

datagramas IP : (ver figura 4.4 de la página 92) [4]

Figura 4.4: Segmento TCP- Encapsulado en un datagrama IP-

Formato del Segmento TCP (ver figura 4.5 de la página 93)

Campos Cabecera TCP

• Puertos de Origen y Destino: Indican la conexión lógica entre las dosaplicaciones que se están comunicando (FTP , TELNET , SMTP , etc.)

• Números de Secuencia: Posición del primero octeto en el campo de datosen realación con la secuencia original.

• Números de Asentimiento: Número de secuencia siguiente al octeto con-firmado, indica la posición que ocuparía el próximo octeto que se esperarecibir.

• Longitud de Cabecera: Número de palabras de 32 bits que componen lacabecera.

• Reservado: Reservados para uso futuro, deben estar a cero.

• Flags:

— URG : Indica que el campo Puntero Datos Urgentes tiene validez.

— ACK: Indica que el campo Número de Asentimiento tiene validez.

Page 111: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 95

Figura 4.5: Formato del Segmento TCP.

— PSH: Indica que el segmento requiere envío y entrega inmediata.

— RST: Indica aborto de la conexión.

— SYN: Sincroniza números de secuencia en el establecimiento de co-nexión. Confirmación con el ACK.

— FIN: Indica liberación de conexión. Confirmación con ACK.

• Tamaño de la Ventana: Indica e número de octetos, adicionales a apun-tado por ACK, que está dispuesto a aceptar.

• Código de Redundancia: Campo obligatorio qe debe ser calculado por elemisor y verificado por el receptor.

• Puntero de Datos Urgentes: Indica el offset (positivo) que debe ser añadi-do al número de secuencia dle segmento para obtener el número de se-cuencia del segmento para obtener el númeo de secuencia dle últimoocteto de datos urgentes, válido si está activo el flag URG.

• Campos Opcionales: para incluir ociones.

— Tamaño Máximo de datos en un segmento (MSS - Maximun Seg-ment Size): Utilizada en el establecimiento de la conexión. Indica

Page 112: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

96 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

la longitud máxima de datos en un segmento que puede recibir unextremo.

— Escala de la ventana: Expandir el tamaño de la ventana TCP.

• Datos: Opcional

Establecimiento de la Conexión.

• Uso de “three way handshake”.

• Se emplea el bit SYN en la solicitud de conexión y SYN ACK en larespuesta. La respuesta es a su vez confirmada con ACK.

• Se fija el número de secuencia inicial en ambas direcciones.

(ver figura 4.6 de la página 94)

Figura 4.6: Establecimiento de la Conexión.

Finalización de la Conexión.

• Liberación ordenada e independiente por cada uno de los sentidos detransmisión.

Page 113: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 97

• El extremo que desea cesar de transmitir en segmento con FIN, que debeser confirmado por el corresponsal con FIN, ACK. (ver figura 4.7 de lapágina 95)

Figura 4.7: Finalización de la Conexión.

Ejemplos:

• Notación tcpdump

Fuente > destino no secuencia inicial no secuencia final (no de octetos dedatos)

(ver figura 4.8 de la página 96)

• Salida tcpdump

(ver figura 4.9 de la página 96)

TCP Half-Close

• TCP, al establecer una conexión “full-duplex”, cada extremo puede fi-nalizar la transmisión de datos de forma independiente.

Page 114: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

98 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.8: Notación tcpdump.

Figura 4.9: Salida tcpdump.

Page 115: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 99

• Pocas aplicaciones hacen uso de esta característica. (ver figura 4.10 dela página 97)

Figura 4.10: TCP Half-Close.

Ejemplo (ver figura 4.11 de la página 98)

• Programa sort en bdi no puede generar ninguna salida hasta que nohaya recibido el fichero datafile.

• Cuando sun finaliza de transmitir el contenido del fichero realiza un“half-close” de la conexión TCP.

• El host bdi envía la salida de sort a sun y cuando fnaliza cierra laconexión TCP.

Tamaño Máximo de Segmentos.

• MSS: Longitud máxima de datos que se enviarán en un segmento al otroextremo TCP.

Page 116: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

100 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.11: Ejemplo TCP Half-Close.

• El datagrama IP resultante normalmente será 40 octetos mayor que estevalor.

• En el establecimiento de la conexión, cada extremo puede anunciar elMSS que esperea recibir (si no se etablece, por defecto es 536 octetos).

— Se incluye como una opción en segmentos TCP SYN .

— MTU (Unidad Máxima de Transmisión) - Tamaño de cabecera IP- Tamaño de cabecera TCP.

Estados de TCP

(ver figura 4.12 de la página 99)

Estados TCP en un Establecimiento y Finalización “Normal” de laConexión. (ver figura 4.13 de la página 99)

Nomenclatura:

(ver figura 4.14 de la página 100)

Diagrama de Transición entre Estados (ver figura 4.15 de la página

100)

(ver figura 4.16 de la página 101)

Page 117: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 101

Figura 4.12: Estados TCP.

Figura 4.13: Estados durante un Establecimiento y Finalización.

Page 118: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

102 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.14: Nomenclatura.

Figura 4.15: Diagrama de Transición entre Estados.

Page 119: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 103

Figura 4.16: Diagrama de Transición entre Estados.

Estado “2MSL Wait State”

2MSL Wait State = TIME_WAIT

• TCP después de realizar un “active close” y enviar un ACK del FINdebe esperar un tiempo TIME_WAIT.

• ¿Por qué?:

— Permite a TCP reenviar el ACK del FIN si éste se pierde (el otroextremo, en este caso, reenviará el FIN cuando venza su extremo,en este caso, reenviará el FIN cuando venza su temporizador)

• Hasta que no finalice este temporizador no se liberan el par de socketsde la conexión.

• Cada implementación selecciona un valor de MSL (Maximun SegmentLifetime): típicamente 2 minutos o 1 minuto o 30 segundos.

Page 120: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

104 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

“Resetting” de Conexiones

• Se indica activando el flag RST.

• Normalmente generados automáticamente por el software TCP.

• ¿Cuándo se activa el flag RST?

— Llega una petición de conexión y no existe un proceso servidorescuchando en el puerto destino.

— Llega un segmento TCP que no corresponde con ninguna conexiónactiva.

— Abortar una conexión a nivel aplicación (en vez de enviar un FINse envía un RST ):

1. El receptor tira todos los datos pendientes de transmisión.

2. No asiente el segmento RST.

3. Se finaliza la conexión.

Apertura Simultánea

• Dos aplicaciones realizan un “active open” simultáneamente.

• TCP está especialmente diseñado para que en este caso sólo se establezcauna conexión NO dos conexiones (otros protocolos crean dos conexiones).

• La apertura de la conexión requiere el intercambio de 4 segmentos, NO3.

(ver figura 4.17 de la página 103)

Finalización Simultánea

• Dos aplicaciones realizan un “active close” simultáneamente.

• En la finalización de la conexión se siguen intercambiando 4 segmentos.

(ver figura 4.18 de la página 103)

Page 121: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE 105

Figura 4.17: Apertura Simultánea.

Figura 4.18: Finalización Simultánea.

Page 122: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

106 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

4.2 Protocolos de la Capa de Interred

4.2.1 ARP: “Protocolo de Resolución de Direcciones”

El protocolo ARP es un protocolo estándar específico de las redes. Su statuses electivo.

El Protocolo de Resolución de Direcciones es responsable de convertir lasdirecciones de protocolos de alto nivel (direcciones IP) a direcciones de redfísicas [3]. (ver figura 4.19 de la página 104)

Figura 4.19: Protocolo ARP.

Descripción de ARP

En una sola red física, los hosts individuales se conocen en la red a través desu dirección física.

Los protocolos de alto nivel direccionan a los hosts de destino con unadirección simbólica (en este caso la dirección IP). Cuando tal protocolo quiereenviar un datagrama a la dirección IP de destino w, x, y, z, el manejador dedispositivo no entiende.

En consecuencia, se suministra un módulo (ARP) que traducirá la direcciónIP a la dirección física del host de destino. Utilizsa una tabla (llamada a vecescaché ARP) para realizar esta traducción.

Cuando la direción no se encuentra en la caché ARP, se envía un broad-cast en la red, con un formato especial llamado petición ARP. Si una de las

Page 123: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 107

máquinas en la red reconoce su propia dirección IP en la petición, devolveráuna respuesta ARP al host que la solicitó. La respuesta contendrá la direcciónfísica del hardware así como información de encaminamiento (si el paquete haatravesado puentes durante su trayecto) tanto esta dirección como la ruta sealmacenan en la caché del host solicitante.

Todos los posteriores datagramas enviados a esta dirección IP se podránasociar a la dirección física correspondientes, que será la que utilice el mane-jador de dispositivo para mandar el datagrama a la red.

ARP se diseñó para ser usado en redes que soportasen broadcast por hard-ware. Esto significa, por ejemplo, que ARP no funcionará en una red X.25.

Concepto detallado de ARP

ARP se emplea en redes IEEE 802 además de en las viejas redes DIX Ethernetpara mapear direcciones IP a dirección hardware. Para hacer esto, ha de estarestrechamente relacionado con el manejador de dispositivo de red. De hecho,las especificaciones de ARP en RFC 826 sólo describen su funcionalidad, nosu implementación, que depende en gran medida del manejador de dispositivopara el tipo de red correspondiente, que suele estar codificado en el cicrocodigodel adaptador.

Generación del paquete ARP

Si una aplicación desea enviar datos a una determinada dirección IP, el meca-nismo de encaminamiento IP determina primero la dirección IP del siguientesalto del paquete (que puede ser el propio host de destino o un router) y el dis-positivo hardware al que se debería enviar. Si se trata de una red 802.3/4/5,deberá consultarse el módulo ARP para mapear el par 〈tipo de protocolo,dirección de destino〉 a una dirección física.

El módulo ARP intenta hallar la dirección en su caché. Si encuentra el parbuscado, devuelve la correspondiente dirección física de 48 bits al llamador(el manejador de dispositivo). Si no lo encuentra, descarta el paquete (seasume que al ser un protocolo de alto nivel volverá a transmitirlo) y genera unbroadcast de red para una solicitud ARP (ver figura 4.25 de la página 112).

Hardware Address Space:

Page 124: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

108 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.20: Paquete de Petición/Respuesta ARP.

Especifica el tipo de hardware, ejemplos son Ethernet o Packet Radio Net.

Protocol Address Space:

Especifica el tipo de protocolo, el mismo que en el campo de tipo EtherTypeen la cabecera de IEEE 802.

Hardware Address Length:

Especifica la longitud (en bytes) de la dirección hardware del paquete.Para IEEE 802.3 e IEEE 802.5 será de 6.

Protocol Address Length:

Especifica la longitud (en bytes) de la dirección de protocolo en el paquete.Para IP será de 4.

Operation Code:

Especifica si se trata de un petición (1) o una solicitud (2) ARP.

Source/Target Protocol Address:

Contiene las direcciones del protocolo. En TCP/IP sondirecciones IP de

Page 125: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 109

32 bits.

Para el paquete de solicitd, la dirección hardware de desino es el únicocampo indefinido del paquete.

Recepción del paquete ARP

Cuando un host recibe un paquete ARP (bien un broadcast o una respuesta apunto), el dispositivo receptor le pasa el paquete al módulo ARP. (ver figura4.21 de la página 107)

Figura 4.21: Recepción del Paquete ARP.

El host solicitante recibirá esta respuesta ARP, y seguirá el algoritmo yacomentado, para tratarla. Como resultado, la tripleta =tipo de protocolo,dirección de protocolo, dirección de hardware=, para el host en cuestión se

Page 126: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

110 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

añadirá a la cahé ARP.

La próxima vez que un protocolo de nivel superior quiera enviar un paquetea ese host, el módulo de ARP encontrará la dirección hardware, a la que seenviará el paquete.

Notar que debido a que la petición ARP original fue un broadcast en lared, todos los host en ella habrán actualizado la dirección del emisor en supropia caché (sólo si preaviamente ya existía esa entrada) en la tabla.

ARP y Subredes

El protocolo ARP es el mismo aunque haya subredes. Recordar que cadadatagrama IP pasa primero por el algoritmo de encaminamiento IP. Este al-goritmo selecciona el manajedor de dispositivo que debería enviar el paquete.Sólo entonces se consulta al módulo ARP asociado con ese manejador.

Proxy-ARP o Subnetting Transparente

El Proxy-ARP se describe en el RFC 1027- Usando ARP para implementar pa-sarelas de subredes transparentes, que de hecho es un subconjunto del métodopropuesto en el RFC 925- Resolución de direcciones Multi-LAN. Es otro méto-do para construir subredes locales, sin necesidad de modificar el algoritmo deencaminamiento IP, pero con modificaciones en los routers que interconectanlas subredes.

Concepto de Proxy-ARP

El protocolo ARP es un protocolo estándar específico de redes. Su status eselectivo.

Considerar una red IP, dividida en subredes, interconectadas por “routers”.Utilizamos el algoritmo IP viejo, lo que significa que ningún host conoce laexistencia de múltiples redes físicas. Si se toman los hosts A y B, que se hallanen distintas redes físicas dentro de la misma red IP, y un “router” entre lasdos subredes.

(ver figura 4.22 de la página 109)

Page 127: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 111

Figura 4.22: Host interconextados por un router.

Cuando el host A quiere enviar un datagrama IP al host B, primero ha dedeterminar la dirección de red física del host B usando ARP.

Como A no puede diferenciar entre las redes físicas, su algoritmo de en-caminamiento IP piensa que el host B está en su misma red local y envía unbroadcast de petición ARP.

El host B no lo recibe, pero sí el router R.

R entiende de subredes, es decir, ejecuta la versión de subred del algoritmode encaminamiento y será capaz de ver que el destino de la apetición ARP (enel campo de direcciónde protocolo distinto) está localizado en otra red física.Si las tablas de encaminamiento de R especifican que el siguiente salto a otrared se produce a través de un dispositivo diferente, replicará al ARP como sifuera el host B, diciendo que la dirección de B es la del mismo router.

El host A recibe esta respuesta ARP, la introduce en su caché y enviará lossiguientes paquetes dirigidos a B al router R, que los retransmitirá a la subredadecuada.

El resultado es Subnetting Transparente:

• Los host normales (como A y B) desconocen el subnetting, por lo queusan el algoritmo de encaminamiento clásico.

• Los routers entre subredes:

(a) Utilizan el algoritmo IP para subredes.

Page 128: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

112 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

(b) Usan un módulo ARP modificado, que puede responder en nombrede otros hosts.

(ver figura 4.23 de la página 110)

Figura 4.23: Router Proxy-ARP.

4.2.2 RARP “Protocolo de Resolución de Direcciones Inver-so”

(ver figura 4.24 de la página 111 de la página)

Descripción de RARP

Algunos hosts, como por ejemplo estaciones de trabajo, sin disco, descono-cen su propia dirección IP cuando arrancan. Para determinarla, emplean unmecanismo similar al ARP, pero ahora el parámetro conocido es la direcciónhardware el host y el requerido su dirección IP. La diferencia básica con ARPes el hecho de que debe existir un hardware a direcciones de protocolo.

Page 129: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 113

Figura 4.24: Protocolo RARP.

Concepto de RARP

El cálculo de direcciones inversas se efectúa del mismo modo que en ARP. Seusa el mismo formato de paquete. (ver figura 4.25 de la página 112)

Una excepción es el campo “operation code” que ahora toma los siguien-tes valores:

3

para la petición RARP.

4

para la respuesta RARP.

Y, por suspuesto, la cabecera física de la trama indicará ahora que RARPes el protocolo de nivel superior en vez de ARP o IP en el campo EtherType.El mismo concepto de RARP genera algunas diferencias:

• ARP asume sólo que cada host conoce el mapeado entre su propia direc-ción hardware y de protocolo. RARP requiere uno o más hosts en la redpara mantener una base de datos con los mapeados entre direcciones dered, direcciones de protocolo de modo que serán capaces de responder asolicitudes de los host clientes.

• Debido al tamaño que puede tomar esta base de datos, parte de lasfunciones del servidor suelen implementarse fuera del microcódigo del

Page 130: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

114 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.25: Paquete de Petición/Respuesta ARP.

adaptador, con la opción de una pequeña caché en el microcódigo, quesólo es responsable de la recepción y transmisión de tramas RARP, es-tando el mapeado RARP en sí a cargo del software que se ejecuta en elservidor como un proceso normal.

• La naturaleza de esta base de datos también requiere algún software paracrear y actualizar la base de datos manualmente.

• En caso de que haya múltiples servidores RARP en la red, el clienteRARP sólo hará uso de la primera respuesta RARP que reciba a subroadcast, y desechará las otras.

4.2.3 IP: “Protocolo de Internet”

IP es un protocolo estándar. Su status es requerido (ver figura 4.26 de lapágina 113).

Es el protocolo que oculta la red física subyacente creando una vista de redvirtual.

Es un protocolo de entrega de paquetes no fiable y no orientado a conexión,y se puede decir que aplica la ley del mínimo esfuerzo. [11] [5]

Page 131: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 115

Figura 4.26: El Protocolo IP

No aporta fiabilidad, control de flujo o recuperación de errores a los pro-tocolos de red inferiores.

Los paquetes (datagramas) que envía IP se pueden perder, desordenarse, oincluso duplicarse, e IP no manejará estas situaciones. El proporcionar estosservicios depende de protocolos superiores.

IP asume pocas cosas de las capas inferiores, sólo que los datagramasprobablemente serán transportados al host de destino.

El datagrama IP

Es la unidad de transferencia en la pila IP. Tiene una cabecera con informaciónpara IP, y los datos relevantes para los protocolos superiores. (ver figura 4.27de la página 114)

El datagrama IP está encapsulado en la trama de red subyacente, que sueletener una longitud máxima, dependiendo del hardware usado.

En vez de limitar el datagrama a un tamaño máximo, IP puede tratarla fragmentación y el re-ensamblado de sus datagramas. En particular, el IPno impone un tamaño máximo, pero establece que todas las redes deberíanser capaces de manejar al menos 576 bytes. Los fragmentos de datagramastienen todos una cabecera, copiadas básicamente del datagrama original, y delos datos que la siguen. Se tratan como datagramas normales mientras sontransportados a su destino.

Page 132: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

116 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.27: El Datagrama IP.

Sin embargo, sin uno de los fragmentos se pierde, todo el datagrama seconsiderará perdido, y los restantes fragmentos se considerarán perdidos.

Formato del Datagrama IP La cabecera del datagrama IP es de un míni-mo de 20 bytes de longitud:

(ver figura 4.28 de la página 115)

VERS: La versión del protocolo IP. La versión actual es la 5. La 6 esIPng.

LEN: La longitud de la cabecera IP contada en cantidades de 32 bits.Esto no incluye el campo de datos.

TYPE OF SERVICE: El tipo de servicio es una indicación de la calidaddel servicio solicitado para este datagrama IP.

Precedencia: Es una medida de la naturaleza y prioridad de este data-grama (ver figura 4.29 de la página 115).

000: Rutina.

001: Prioridad.

010: Inmediato.

011: “Flash”.

100: “Flash Override”.

Page 133: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 117

Figura 4.28: Formato del Datagrama.

Figura 4.29: Precedencia

Page 134: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

118 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

101: Crítico.

100: Control de Red (“Internetwork Control”).

TOS: “Type Of Service”.

1000: Minimizar Retardo.

0100: Maximizar la densidad de flujo.

0010: Maximizar la fiabilidad.

0001: Minimizar el costo monetario.

0000: Servicio Normal.

MBZ: Reservado para uso futuro (debe ser cero, a menos que participeen un experimento con IP que haga uso de este bit).

Total Length: La longitud del datagram, cabecera y datos, especificadaen bytes.

Identification: Un número único que asigna el emisor para ayudar areembolsar un datagrama fragmentado. Los fragmentos de un datagrama ten-drán el mismo número de identificación.

Flags: Varios flags de control. (ver figura 4.30 de la página 116)

Figura 4.30: Flag IP.

Donde:

0: Reservado, debe ser cero.

DF: No fragmentar (“Don’t Fragment”) con 0 se permte la fragmentación,con 1 no.

MF: Más fragmentos (More Fragments): con 0 significa que se trata delúltimo fragmento del datagram, 1 que no es el último.

Page 135: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 119

Fragment Offset: Usado con datagramas fragmentados, para ayudar alreensamblado de todo el datagrama, el valor es el n´mero de partes de 64 bits.

Time To Live: Especifica el tiempo (en segundos) que se le permiteviajar a este datagrama. Cada “router” por el que pase este datagrama hade sustraer de este campo el tiempo tardado en procesarlo. En la realidad un“router” es capaz de procesar un datagrama en menos de 1 segundo, por ellorestará uno de este campo y el TTL se convierte más en una cuenta de altosqueen unamétrica del tiempo. Cuando el vlaor alcanza cero, se asume queeste datagrama ha estado viajando en un bucle y se desecha. El valor iniciallo debería fijar el protocolo de alto nivel que crea el datagram.

Protocolo Number Spotipprotn: Indica el protocolo de alto nivel alque IP debería entregar los datos deldatagrama. Algunons valores imortantesson:

o: Reservado

1: ICMP (“Internet Control Message Protocol”).

2: IGMP (“Internet Group Management Protocol”).

3: GGP (“Gateway-to-Gateway Protocol”).

4: IP (IP encapsulation).

5: Flujo (“Stream”).

6: TCP (“Transmission Control”).

8: EGP (“Exterior Gateway Protocol”).

9: PIRP (“Private Interior Routing Protocol”).

17: UCP (“User Datagram”).

89: OSPF (“Open Shortest Path First”).

Header Checksum: Es el checksum de la cabecera. Se calcula como elcomplemetno a uno de la suma de los complementos a uno de todas las palabrasde 16 bits de la cabecera. Con el fin de este cálculo, el campo checksumse supone cero. Si el checksum de la cabecera no se corresponde con loscontenidos, en el datagrama se desecha, ya que al menos un bit de la cabeceraestá corrupto, y el datagrama podría haber llegado al destino equivocado.

Page 136: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

120 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Source IP Address: La dirección IP de 32 bits del host emisor.

Destination IP Address: La dirección IP de 32 bits del host receptor.

Options: Longitud variable. No requiere que toda implementación deIP sea capaz de generar ipciones en los datagrams que crea, pero sí que seacapaz de procesar datagramas que contengan opciones. El campo Optionstiene longitud variable. Puede haber cero o más opciones. Hay dos formatospara estas. El formato usado depende del valor del número de opción halladoen el primer byte.

— Un byte de tipo (type byte) sólo. (ver figura 4.31 de la página 118)

Figura 4.31: Un Sólo Bit

— Un byte de tipo, un byte de longitud y uno o más bytes de opciones.(ver figura 4.32 de la página 118)

Figura 4.32: Más de un Bit

El byte de tipo tiene la misma estructura en ambos casos: (ver figura 4.33de la página 119)

Donde:

fc: “Flag copy”, que indica si el campo de opciones se ha de copiar (1) ono (0) cuando el datagrama está fragmentado.

class:Un entero sin signo de 2 bits.

Page 137: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 121

Figura 4.33: Ambos Casos

0: Control

1: Reservado

2: Depurado y mediciones

3: Reservado

Option Number: Entero sin signo de 5 bits.

0: Fin de la lista de opciones, con class a cero, fc a cero, ysin byte delongitud o de datos. Es decir, lalista termina con byte X‘00’. Sòlo se requieresi la longitud de la cabecera IP (que es un múltiplo de 4 bits) no se correspondacon la longitud real de las opciones.

1: No operación: Tiene class a cero, fc a cero y no hay byte de longitudni de datagramas. Es decir, un byte X‘01’ es NOP (No Operation). Se puedeusar para alinear campos en el datagrama.

2: Securidad: Tiene class a cero, fc a uno y el byte de longitud a 11 yel de datos a 8. Se usa para la inforamción de seguridad que necesitan lasespecificaciones del departamento de defensa de US.

3: LSR (“Loose Sourse Routing”): Tiene class a cero, fc a uno y hay uncampo de datos de longitud variable.

4: IT (“Internet Timestamp”): Tiene class a 2, fc a cero y hay un campode datos de longitud variable.

7: RR (“Record Route”): Tiene class a cero, fc a cero y hay un campo dedatos de longitud variable.

8: SID (“Stream ID”, o identificador de flujo): Tiene class a cero, fc auno y hay un byte de longitud a 4 y un byte de datos. Se usa con el sistemaSATNET.

Page 138: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

122 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

9: SSR(“Strict Source Routing”): Tiene class a cero, fc a uno y hay uncampo de datos delongitud variable.

Length: Cuenta la longitud en bytes de la opción, inclulyendo los camposdetipo y longitud,

Option data: No contiene datos relevantes para la opción.

Padding: Si se usa una opción, el datagrama se rellena con bytes a cerohasta la siguiente palabra de 32 bits.

Data: Los datos contenidos en el datagram se pasan a un protocolo denivel superior, como se especifica en el campo protocol.

Fragmentación Cuando un datagrama IP viaja de un host a otro puedecruzar distintas redes físicas. Las redes físicas imponen un tamaño máximode trama, llamado MTU (“Maximum Transmission Unit”), que limita la lon-gitud de un datagrama. Por ello, existe un mecanismo para fragmentar losdatagramas IP grandes en otros más pequeños, y luego reensamblarlos en elhost de destino.

IP requiere que cada enlace tenga un MTU de al menos 68 bytes, deforma que si cualquier red proporciona un valor inferior, la fragamentación yel reensamblado tendrán que implementarse en la capa de la interfaz de redde forma transparente a IP.

68 es la suma de la mayor cabecera IP, de 60 bytes, y del tamaño mínimoposible de los datos en un fragmento. Las implementaciones de IP no estánobligadas a manejar datagrama sin fragmentar mayores de 576 bytes, pero lamayoría podrá manipular valores más grandes, ligeramente más de 8192 bytes,o incluso mayores, y raramente menos de 1500.

Un datagrama sin fragmentar tiene a cero toda la información de fragmen-tación. Es decir, el flag fc y el fo (fragment offset) están a cero. Cuando seha de realizar la fragmentación, se ejecutan los siguientas pasos:

• Se chequea el bit de flag DF para ver si se permite fragmentación. Siestá a uno, el datagrama se desecha y se devuelve un error a emisorusando ICMP.

• Basándose en el valor MTU, el campo de datos se divide en dos o máspartes.

Page 139: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 123

• Todas ls nuevas porciones de datos, excepto la úlima, se alinean a 8bytes.

• Todas las porciones de datos, se colocan en datagamas IP. Las cabecerasse copian de la cabecera original, con algunas modificaciones:

— El bit de flag mf (more fragments) se pone a uno en todos losfragmentos, excepto en el último.

— El campo fo se pone al valor de la localización de la porción dedatos correspondiente en el at original, con respecto al comienzodel mismo. Su valor se mide en unidades de 8 bytes.

— Si se incluyeron opciones en el datagrama original, el bit de ordensuperior del byte “type option” determina si se copiarán o no entodos los fragmentos y por tanto tendrán a uno este bit.

— Se inicializa el campo de longitud (length) del nuevo datagrama.

— Se inicializa el campo de longitud (length) total del nuevo datagra-ma.

— Se recalcula el checksum de la cabecera.

• Cada uno de estos datagramas se envía como un datagrama IP normal.IP maneja cada fragmento de forma independiente, es decir, los frag-mentos pueden atravezar diversas rutas hacia su destino, y pueden estarsujetos a nuevas fragmentaciones si pasan por redes con MTUs inferiores.

En el host de destino, los datos se tienen que reensamblar. El host emisorinicializó el campo ID a un número único (dentro de los límites impuestos porel uso de un número de 16 bits). Como la fragmentación no altera este campo,los fragmentos que le van llegando al destino se pueden identificar, si este IDse usa junto con las direcciones IP fuente y destino (source, destination) deldatagrama. También chequea el campo de protocolo.

Con el fin de reensamblar los fragmentos, el receptor destina un buffer dealmacenamiento en cuanto llega el primer fragmento. Se inicia una rutinapara un contador. Cuando el contador da un timeout y no se han recibidotodos los datagramas, se desecha el datagrama. El valor inicial el contadores el TTL (time-to-live). Depende de la implementación, y algunas permitenconfigurarlo.

Cuando llegan los fragmetos siguientes, antes de que expire el tiempo, losdatagramas se copian al buffer en la localización indicada por el fo (fragment

Page 140: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

124 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

offser). Cuando han llegado todos los datagramas, se restaura el datagramaoriginal y continúa su procesamiento.

IP no proporciona el contador de reensamblado. Tratará cada datagrama,fragmentado o no, de la misma forma. Depende de una capa superior elimplementar un timeout y reconocer la pérdida de fragmentos. Esta capapodría ser TCP para el transporte en una red orientada a conexión o UDP,para el caso contrario.

Encaminamiento entre Redes [11]

Una función importante de la capa IP es el encaminamiento.

Proporciona los mecanismos básicos para interconectar distintas redes físi-cas. Esto significa que un host puede actuar simultáneamente como hostnormal y como router.

El enrutamiento a través de una interred es parecido al enrutamiento enuna sola subred, pero con algunas complicaciones adicionales. Por ejemplo,considere una interred en la que cinco redes están conectadas por seis enru-tadores (posiblemente multiprotocolo). Realizar un modelo de grafo de estasituación es complicado por el hecho de que cada enrutador multiprotocolopuede acceder de manera directa a todos los demás enrutadores conectados acualquier red a la que esté conectado.

Una vez introducido el grafo, pueden aplicarse algoritmos de enrutamientoconocidos, como el algoritmo de vector-distancia y el de estado del enlace, algrupo de enrutadores multiprotocolo. Esto da un algoritmo de enrutamientode dos niveles: en cada red se utiliza un protocolo de puerta de enlace interior(IGP), pero entre ellas se usa un protocolo de puerta de enlace exterior (EGP),(puerta de enlace es un término antiguo para enrutador).

De hecho, debido a que estas redes son independientes, cada una puedeutlilizar un algoritmo diferente del de la otra. Puesto que cada red de unainterred es independiente de las demás, con frecuencia se le llama SistemaAutónomo (AS).

Un paquete de interred típico parte de su LAN hacia el enrutador mul-tiprotocolo local. Al llegar ahí, el código de la capa de red decide por cuálenrutador multiprotocolo reenviará el paquete, usando sus propias tablas deenrutamiento. Si ese enrutador puede alcanzarse usando el protocolo de la red

Page 141: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 125

nativa del paquete, éste se reenvía directamente ahí. De otra manera, se envíapor túnel, encapsulado en el protocolo requerido por la red que interviene.Este proceso se repite hasta que el paquete llega a la red de destino.

Una de las diferencias del enrutamiento entre las redes y el enrutamientode las redes es que el primero con frecuencia requiere el cruce de fronterasinternacionales. De pronto, entran en escena varias leyes, como las estrictasleyes suecas de confidencialidad sobre la exportación de datos personales deciudadanos suecos. Otro ejemplo es la ley canadience que indica que el tráficode datos que se origina en Canadá y llega a un destino en Canadá no puededejar el país.

Otra diferencia entre el enrutamiento interior y el enrutamiento exteriores el costo. Dentro de una sola red, normalmente se aplica un solo algoritmode cargo. Sin embargo, redes diferentes puden estar bajo administracionesdiferentes, una ruta puede ser menos cara que otra. Del mismo modo, lacalidad de servicio ofrecida por diferentes redes puede ser distinta, y éstapuede ser una razón para escoger una ruta y no otra.

Algoritmo de Encaminamiento IP De los principios ya comentados deIP, es fácil deducir los pasos que IP debe tomar con el fin de determinarla ruta para un datagrama de salida. Es lo que se denomina algoritmo deencaminamiento IP.

Se trata de un algoritmo iterativo. Se aplica a todo host que maneje undatagrama, exceptuando al host al que se entrega finalmente el datagrama.(ver figura 4.34 de la página 124)

Tipos de Algoritmos Vector-Distancia

El término Vector-Distancia se refiere a una clase de algoritmos que usanlas pasarelas para actualizar su información de encaminamieto.

Cada router comienza con su conjunto de rutas para aquellas con las que es-tá directamente conectado, y posiblemente algunos routers adicionales a otrasredes o hosts si la topología de la red es tal que el protocolo de encaminamien-to no es capaz de producir el encaminamiento deseado. Esta lista se guardaen una tabla de encaminamiento, en la que cada entrada identifica una red dehost de destino y a la distancia a ella. Esta distancia se denomina métrica yse mide típicamente en saltos.

Page 142: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

126 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.34: Algoritmo de Encaminamiento IP.

Page 143: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 127

Peródicamente cada router envía una copia de su tabla de encaminamientoa cualquier otro router que pueda alcanzar directamente. Cuando un informele llega al router B del A, B examina el conjunto de destinos que recibe y ladistancia a cada uno. B actualizará su tabla de encaminamiento si:

• A conoce un camino más corto a cada destino.

• A lista un destino que B no tiene en su tabla.

• La distancia de A a un destino desde B pasando por A ha cambiado.

En esta clase de algoritmo es fácil de implementar, pero tiene un númerode desventajas:

• Cuando las rutas cambian rápidamente, es decir, aparece una nueva co-nexión o a una falla vieja, la topología de encaminamiento puede noestabilizar la topología cambiada debido a que la información se propa-gue lentamente y mientras se esté propagando, alguno routers tenganinformación de encaminamiento incorrecta.

• Cada router tiene que enviar una copia de toda su tabla de encamina-miento a cada vecino a intervalos regulares. Por supuesto, se puedenusar intervalos más largos para reducir la carga de la red pero eso intro-duce problemas relacionados con la respuesta de la red a cambios en latopología.

Los algoritmos vector - distancia que usan la cuenta de saltos como métricano tienen en cuenta la velocidad o la fiabilidad del enlace.

La tarea más difícil en uno de estos algoritmos es prevenir la inestabilidad.Existen distintas soluciones:

• Cuenta hasta infinito: Se elige un valor de 16 bits para representarinfinito. Suponer que una red se vuelve inestable, todos sus vecinosgeneran un timeout y fijan la métrica de esa red a 16. Podemo considerarque todos los routers vecinos tienen algún elemento hardware que losconecta con la red desaparecida, con un coste de 16. Ya que se tratade su única conexión con esa red, el resto de los router convergerá hacianuevas rutas que pasen por los vecinos con una conexión directa pero

Page 144: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

128 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

no disponible. Una vez que se ha producido la convergencia, todos losrouters tendrán una métrica de 16 para la red desaparecida. Como 15indica infinito, la red está inaccesible para todos.

La cuestión con algunos algoritmos vector-distancia no es si se producirála convergencia, sino cuánto tiempo llevará. (ver figura 4.35 de la página 126).

Figura 4.35: El problema de la cuenta hasta infinito- Todos los enlaces tienenuna métrica de 1 excepto por la ruta indierecta C a D que tiene de métrica 0-

Consideremos ahora sólo las rutas de cada pasarela a la red de destino.(ver figura 4.36 de la página 127)

Consideremos ahora que el enlace de B a D falla. Las rutas se deberíanaujstar para utilizar el enlace de C a D. Los cambios en el encaminamientocomienzan cunado B se da cuenta de que la ruta D ya no es utilizable. EnRIP (Protocolo de Información de Ruteo) esto sucede cuando B no recibe

Page 145: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 129

Figura 4.36: Rutas de cada pasarela a la Red de Destino.

actualización de su enlace durante 180 segundos.

La siguiente imagen muestra la métrica para la red de destino, como apa-rece en la tabla de encaminamiento de cada pasarela (ver figura 4.37 de lapágina 128).

El problema es que B se puede liberar de su ruta a (con un mecanimsode timeout), pero quedan vestigios de esa ruta en el sistema durante muchotiempo (el tiempo entre iteraciones es de 30 segundos en RIP). Inicialmente,A y C todavía piensan que pueden alcanzar a D vía B, así que siguen enviandoactualizaciones con métricas de 3, B las recibirá y, en la siguienrte iteracióndirá que puede llegar a D por A o por C. Por supuesto, no puede, lya quelas rutas dadas por A y C (D alcanzable vía B con métrica 3) ya no están,pero no hay forma de saberlo aún. Incluso cuando descubren que sus rutaspor B han desaparecido, todavía piensan que hay una ruta disponible a travésdel otro. Al final el sistema convergerá, cuando el enlace directo de C a Dtenga menor coste que el recibido (por C) de B a A. Pero el caso es cuandouna red se vuelve completamente inaccesible desde alguna parte del sistema:en ese caso, las métricas se pueden incrementar lentamente de modo parecidoal indicado arriba hasta que finalmente alcance el valor infinito. Por estarazón, el problema se llama cuenta hasta infinito. De esta forma, la elecciónde la infinidad es un compromiso entre el tamaño de la red y la velocidad deconvergencia en el caso de que la cuenta se produzca. Esto explica por qué

Page 146: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

130 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Figura 4.37: El problema de la cuenta hasta infinito.

se elige un valor tan bajo como 16, que es el usado por RIP (Protocolo deInformación de Ruteo).

Estado del enlace. Primero el Camino Más Corto

El crecimiento de las redes durante los últimos años ha forzado los IGPs(Protocolos de Encaminamiento Interior) más allá de sus límites. La alter-nativa primaria a los esquemas vector-distancia es una clase de protocolosconocida como Estado del Enlace, Primero el Camino Más Corto.

Sus características principales son:

• Un conjunto de redes físicas se divide en un número de áreas.

• Todos los routers dentro de un área tiene idénticas bases de datos.

• La base de datos de cada router describe la topología completa del do-minio de encaminamiento (qué routers se conectan a qué redes). La to-pología de un área se representa en una base de datos denominada LSD(“Link State Database”) que es una descripción de todos los enlaces delos routers del área.

Page 147: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 131

• Cada router usa su base de datos para derivar el conjunto de caminosmínimos a todos los destinos de los que construye su tabla. El algoritmousado para determinar los caminos óptimos se llama SPF (“ShortestPath First”).

En general, un protocolo enlace estado trabaja del modo siguiente:

Cada router envía periódicamente una descripción, de su conexión (el es-tado de su enlace) a sus vecinos (aquellos conectados a la misma red). Estadescripción llamada LSA (“Link State Advertisement”), incluye el coste de laconexión. El LSA inunda el dominio del router. Cada router del dominio man-tienen una copia idéntica y sincronizada de una base de datos compuesta dela información del estado del enlace. Esta base de datos describe la topologíadel dominio como las rutas a redes fuera del dominio como son rutas a redesen otros AS (Sistemas Autónomos). Cada router ejecuta un algoritmo sobresu base de datos resultando en un árbol del camino mínimo MST (“MínimunSpanning Tree”), que contiene la ruta más corta para cada oruter y red quepueda alcanzar la pasarela. A partir de él, el coste hasta el destino y el sal-to siguiente para retransmitir un dato se utilizan para construir la tabla deencaminamiento del router.

Este tipo de protocolo, en comparación con los protocolos vector-distancia,envían actualizaciones cuando hay noticias, que pueden ser regulares paraasegurar a los vecinos que la conexión sigue activa. Lo que es más importante,la información intercambiada es el estado del enlace, no los contenidos dela tabla de encaminamiento. Esto significa que los algoritmos de estado delenlace usan menos recursos que su contrapartida vector-distancia, sobre todocuando el encaminamiento es complejo o el AS grande. Sin embargo, tienenun elevado coste computacional. A cambio, los usuarios consiguen respuesta alos eventos de red más rápido, convergencia más veloz, y acceso a servicios dered más avanzados.

Protocolo OSPF “Protocolos de Enrutamiento de Puerta de EnlaceInterior” El protocolo de puerta de enlace interior original de Internet eraun protocolo de vector-distancia RIP (“Routing Information Protocol”) basa-do en el algoritmo de Bellman-Ford heredado de ARPANET. Funcionó bien ensistemas pequeños, pero no así conforme los sistemas autónomos (AS) fueronmás grandes.

También padeció el problema de la cuenta hasta infinito y la convergencia

Page 148: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

132 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

generalmente lenta, por lo que se reemplazó en mayo de 1979 por un protocolode Estado del Enlace. En 1988, la Fuerza de Tarea de Ingeniería de Internetempezó el trabajo en un sucesor. Ese sucesor, llamado OSPF (Abrir Primerola Ruta más Corta), se volvió una norma en 1990. Ahora la mayoría devendedores de enrutadores lo apoyan, y se ha convertido en el protocolo depuerta de enlace interior principal.

Dada la larga experiencia con otros protocolos de enrutamiento, el grupoque diseñó el nuevo protocolo tenía una larga lista de requisitos que cumplir.

Primero, el algoritmo se tenía que publicar en la literatura abierta, de ahíla “O” inicial de OSPF. Una solución patentada poseída por una compañíano lo haría.

Segundo, el nuevo protocolo tenía que apoyar una variedad de métrica dedistancia, como la distancia física, retardo, etcétera.

Tercero, tenía que ser un algoritmo dinámico, uno que se adaptara auto-mática y rápidamente a los cambios de topología.

Cuarto, y esto era nuevo para OSPF, tenía que apoyar el enrutamiento conbase en el tipo de servicio, el nuevo protocolo tenía que poder dirigir el tráficoen tiempo real de una manera y el resto del tráfico de una manera diferente.El protocolo IP tiene un campo Tipo de Servicio, pero ningún protocolo deenrutamiento existente lo usó. Este campo estaba incluído en OSPF perotampoco se usó, y finalmente se lo eliminó.

Quinto, y relacionado con el anterior, el nuevo protocolo tenía que balan-cear la carga, dividiéndose en líneas múltiples. La mayoría de los protocolosanteriores enviaban todos los paquetes por la mejor ruta. La mejor segun-da ruta no se usó en absoluto. En muchos casos, dividir la carga en líneasmúltiples ofrece un mejor desempeño.

Sexto, se necesitó apoyo para los sistemas jerárquicos. En 1988 Internethabía crecido tanto que no se podía esperar que ningún enrutador conocieratoda la topología. Se tuvo que diseñar el nuevo protocolo de enrutamientopara que ningún enrutador tuviera que conocerla.

Séptimo, se requirió una pizca de seguridad para impedir que se engañaraa los enrutadores enviándoles falsa información de enrutamiento.

Finalmente se necesitó una previsión para tratar con enrutadores que seconectaban a Internet mediante un túnel. Los protocolos anteriores no mane-

Page 149: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 133

jaron bien este aspecto.

OSPF soporta tres tipos de conexiones y redes:

• Las líneas punto a punto exactamente entre dos enrutadores.

• Redes multiacceso con difusión (por ejemplo, la mayoría de LANs).

• Redes multiacceso sin difusión (por ejemplo, la mayoría de WANs depaquetes conmutados).

Una red de multiacceso es la que puede tener múltiples enrutadores, cadauno de los cuales se puede comunicar directamente con todos los demás. Todaslas LANs y WANs tienen esta propiedad.

La figura.... muestra un Sistema Autónomo que contienen los tres tipos deredes. Observe que en general los hosts no tienen un papel en OSPF.

OSPF funciona resumiendo la colección de redes reales, enrutadores ylíneas en un grafo dirigido en el que a cada arco se asigna un costo (distancia,retardo, etcétera). Entonces calcula la ruta más corta con base en los pesosde arcos. Una conexión en serie entre dos enrutadores se representa por unpar de arcos, uno en cada dirección. Sus pesos pueden ser diferentes. Una redde multiacceso se representa con un nodo para la red en sí más un nodo paracada enrutador. Los arcos del nodo de la red a los enrutadores tienen peso 0y se omiten del grafo.

Los pesos son simétricos, a menos que se marcaran de otra manera. Loque OSPF hace fundamentalmente es representar la red real com un grafo yentonces calcular el camino más corto de uno a otro enrutador.

Muchos de los Sistemas Autónomos en Internet son grandes por sí mismos ynada sencillos de administrar. OSPF les permite dividirlos en áreas numeradasdonde un área es una red o un conjunto de redes inmediatas. Las áreas nose traslapan ni la necesidad es exhaustiva, es decir, algunos enrutadores nopueden pertenecer a área alguna. Un área es una generalización de una subred.Fuera de un área, su topología y detalles no son visibles.

Cada Sistema Autónomo tienen un área de red dorsal, llamada 0. Todaslas áreas se conectan a la red dorsal, posiblemente por túneles, de modo que esposible entrar desde cualquier área en el Sistema Autónomo a cualquier otraárea en el Sistema Autónomo mediante la red dorsal.

Page 150: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

134 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

En el grafo un túnel se representa como un arco y tiene un costo. Cadaenrutador que se coneta a dos o más áreas es parte de la red dorsal. Comocon otras áreas, la topología de la red dorsal no es visible fuera de ésta.

Dentro de un área, cada enrutador tiene la misma base de datos del estadodel enlace y ejecutrá el mismo algoritmo de la ruta más corta. Su trabajoprincipal es calcular el camino más corto desde sí mismo a cualquier otroenrutador en el área, incluso es un enrutador que se coneta a la red dorsal,de la que debe haber una por lo menos. Un enrutador que conecta dos áreasnecesita las bases de datos para las dos áreas y debe ejecutar el algoritmo dela ruta más corta por separado.

Durante la operación normal, pueden necesitarse tres tipos de rutas: centrodel área, entre áreas y entre Sistemas Autónomos. Las rutas dentro del áreason las más fáciles, puesto que el enrutador de origen ya conoce el caminomáscorto al enrutador de destino. El enrutamiento entre áreas siempre procedeen tres pasos: va del origen a la red dorsal ; va a través de la red dorsal al áreade destino; va al destino. Este algoritmo forza una configuración de estrellaen OSPF con red dorsal actuando como concentrador y las otras áreas comorayos. Los paquetes se enrutan del origen al destino “como están”. No seencapsulan ni se entunelan, a menos que vayan a un área cuya única conexióna la red dorsal sea un túnel. La figura 5-64 muestraparte de Internet consistemas autónomos y áreas.

OSPF distingue cuatro clases de enrutadores:

• Enrutadores internos que están totalmente dentro de un área.

• Enrutadores de límite de área que conectan dos o más áreas.

• Enrutadores de la red dorsal que están en la red dorsal.

• Enrutadores fronterizos de Sistemas Autónomos que se comunican conlos enrutadores de otros sistema autónomos.

Protocolo BGP “Protocolo de Puerta de Enlace de Frontera” Den-tro de un sólo Sistema Autónomo, el protocolo de enrutamiento recomendadoes OSPF (aunque no es ciertamente el único en uso). Entre los sistemas au-tónomos se utiliza un protocolo diferente, el Protocolo de Puerta de Enlace deFrontera (BGP).

Page 151: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 135

Se necesita un protocolo diferente entre Sistemas Autónomos porque losobjetivos de un protocolo de puerta de enlace interior y un protocolo de puertade enlace exterior no son los mismos. Todo lo que tiene que hacer un protocolode puerta de enlace interior es mover lo más eficazmente posible los paquetesdel orihen al destino. No tiene que preocuparse por las políticas.

Los enrutadores de protocolo de puerta de enlace exterior tienen que preo-cuparse en gran manera por la política. Por ejemplo, un Sistema Autónomocorporativo podría desear la habilidad para enviar paquetes a cualquier sitiode Internet y recibir los paquetes de cualquier sitio de Internet. Sin embar-go, podría no estar dispuesto a llevar paquetes de tránsito que se originan enun Sistema Autónomo foráneo con destino a un Sistema Autónomo foráneodiferente, aún cuando su propio Sistema Autónomo estaba en la ruta máscorta entre los dos Sistemas Autónomos foráneos (“Ése es su problema no elnuestro”).

Por otro lado, podría estar dispuesto a llevar el tráfico del tránsito para susvecinos o incluso para otros Sistmas Autónomos específicos que pagaron poreste servicio. Por ejemplo, las compañías telefónicas podrían estar contentasde actuar como empresas portadoras para sus clientes, pero no para otro. Engeneral, los protocolos de puerta de enlace exterior, y BGP en particular, sehan diseñado para permitir que se implementen mucho tipos de políticas deenrutamiento en el tráfico entre Sistemas Autónomos.

Las políticas típicas implican consideraciones políticas, de seguridad o eco-nómicas. Las políticas en cada enrutador de BGP se configura manualmente.No son parte del protocolo.

Desde el punto de vista de un enrutador de BGP, el mundo consiste enSistemas autónomos y las líneas que los conectan. Dos Sistemas Autónomos seconsideran conectados si hay una línea entre un enrutador fronterizo en cadauno. Dado el especial interés de BGP en el transporte de tráfico, las redesse agrupan en tres categorías. La primera son las redes stub, que tienen sólouna conexión con el grafo de BGP. Éstas no se pueden usar para transportartráfico proque no hay nadie en el otro lado. Luego vienen las redes multi-conectadas. Éstas podrían usarse parar el transporte de tráfico excepto quelo rechacen. Finalmente, están las redes de tránsito, como redes dorsales, queestán dispuestas a ocuparse de paquetes de terceros, posiblemente con algunasrestricciones y normalmente por pago.

Los pares de enrutadores de BGP se comunican entre sí estableciendo co-

Page 152: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

136 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

nexiones TCP. Operando de esta manera proporcionan comunicación confiabley ocultan todo detalle de red que pase a través de ellos.

Básicamente, BGP es muy parecido a un protocolo de vector-distancia,pero muy diferente de lamayoría de otros como RIP (Protocolo de Informaciónde Ruteo). En lugar de mantener el costo para cada destino, cada enrutadorde BGP guarda el registro de la ruta utilizada. por lo que se conoce como unprotocolo de vector de ruta. Del mismo modo, en lugar de darle a cada vecinoel costo de cada posible destino estimado periódicamente, cada enrutador deBGP les dice el camino exacto que está usando.

Luego que han llegado todas las rutas de los vecinos, f lags examina para vercuál es la mejor. Desecha pronto las de I y E, porque pasan a través de la propiaF. La opción está entonces entre usar B y G. Cada enrutador BGP contieneun módulo que examina las rutas a un destino dado y las califica, devolviendoun número para la distancia a ese destino por cada ruta. Cualquier ruta queviole una restricción de la política recibe automáticamente una calificación alinfinito. Entonces el enrutador adopta la ruta de la distancia más corta. Lafunción de calificar no es parte del protocolo de BGP y puede ser cualquierfunción que el gerente de sistemas desee.figura

BGP resuelve fácilmente el problema de la cuenta hasta infinito que plagaotros algoritmos de vector-distancia. Por ejemplo, suponga que G se congela oque la línea FG se cae. Entonces F recibe las rutas de sus tres vecinos restantes.Estas rutas son BCD, IFGCD Y EFGCD. Puede ver inmediatamente que lasdos últimas rutas son vanas, ya que atraviesan F, por lo que escoge FBCD comosu nueva ruta. A menudo otros algoritmos de vector-distancia hacen una malaelección porque no saben queénes de sus vecinos tienen rutas independientesal destino y quiénes no.

Tabla de Encaminamiento IP Cada host guarda el conjunto de mapeadosentre las direcciones IP de destino y las direcciones IP del siguiente salto paraese destino en una tabla llamada tabla de encaminamiento IP.

Se puede decir que contiene información acerca de las redes conectadas lo-calmente y de las direcciones IP de otros “routers” localizados en ellas, ademásde las redes con las que están conectados. Se puede extender con informaciónde las redes IP que se hallan aún más lejos, y tener incluso una ruta por de-fecto, pero sigue representando una fracción de Internet. Por ello se le llama“router con información parcial de encaminamiento”.

Page 153: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 137

A estos “routers” se les aplica algunas consideracines:

• No conocen todas las redes de Internet.

• Permiten la autonomía de sitios locales para establecer y modificar rutas.

• Una entrada de encaminamiento errónea en uno de los “routers” puedeintroducir inconsistencias, haciendo por tanto que parte de la red seainalcanzable.

Deberían implementar algún mecanismo de informe de errores via ICMP(“Internet Control Message Protocol”) . Los siguientes errores deberían po-derse enviar al host fuente:

• Destino IP desconocido con un mensaje ICMP Destination Unreachable.

• Redirección del tráfico a “routers” más adecuados enviando mensajesICMP Redirect.

• Problemas de congestión (demasiados datagramas entrantes para el es-pacio disponible en el buffer) con el mensaje ICMP Source Quench.

• El campo TTL (“Time-to-Live”) de un datagrama IP ha llegado a cero.Se comunica con el mensaje ICMP Time Exceeded.

• Además, se deberían soportar las siguientes operaciones y mensajes ICMPbásicos:

— Problema de parámetros.

— Máscara de dirección.

— TS (“Time stamp”).

— Solicitud/Respuesta de información.

— Solicitud/Respuesta de eco.

Hace falta un “router” más inteligente si:

• Ha de conocer las rutas a todas las posibles redes IP, como era el casode las pasarelas del núcleo de ARPANET.

Page 154: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

138 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

• El “router” ha de tener tablas de encaminamiento dinámicas, que seactualizan con poca o ninguna intervención manual.

• El “router” ha de anunciar los cambios locales a los otros “routers”.

Estas formas más avazadas de un “router” usan protocolo adicionales paracomunicarse:

• Usando la terminología de Internet, existe el concepto de AS (“Autono-mous System”), o grupo de redes, que se administra como una unidad.

Los encaminamientos dentro y fuera de un AS se tratan como cuestionesdistintos y existen protocolos diferentes para cada uno.

• Durante unas dos décadas se probaron numerosos protocolos en Internet.Algunos de ellos funcionaron bien, otros tuvieron que ser abandonados.

• La aparición de ASs de distintos tamaños requería diferentes solucionesde protocolos basado en DV (“Distant Vector”). Sin embargo no fun-cionaban bien en redes grandes. Los protocolos LS (“Link State”) sonmucho más adecuados para estas redes.

• Para intercambiar información de encaminamiento entre ASs se desaro-llaron los protocolos de pasarelas fronterizas.

En la tabla se pueden encontrar tres tipos de mapeados:

(a) Rutas directas, para redes conectadas localmente.

(b) Rutas indirectas, para redes accesibles a través de uno o más routers.

(c) Una ruta por defecto, que contiene la ir IP de un “router” que todaslas direcciones IP no contempladas en las rutas directas e indirectashan de usar. (ver figura 4.38 de la página 137)

La tabla de encaminamiento contiene las siguientes entradas:

destination

route via

Page 155: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 139

Figura 4.38: Ejemplo de tabla de encaminamiento IP.

128.10

direct attachment

129.7

128.15.1.2

default

128.10.1.1

Destinos Directos e Indirectos Si el host de destino está conectado a unared a la que también está conectado el host fuente, un datagrama IP puedeser enviado directamente, simplemente encapsulando el datagrama IP en unatrama. Es lo que se llama encaminamiento directo.

El encaminamiento indirecto ocurre cuando el hsot de destino no está enuna red conectada directamente al host fuente. La única forma de alcanzar eldestino es a través de uno o más “routers”.

La dirección del primero de ellos (el primer salto) se llama ruta indirecta.La dirección del primer salto es la única información que necesita el hostfuente: el router que reciba el datagrama se responsabiliza del segundo salto,

Page 156: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

140 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

y así sucesivamente. (ver figura 4.39 de la página 138)

Figura 4.39: Rutas IP- El host A tiene una ruta directa con B y D, y unaindierecta con C. El host D es un router entre las redes 129.1 y 129.2-

Un host puede distinguir si una ruta es directa o indiracta examinando elnúmero de red y de subred de la dirección IP.

1. Si coinciden con una de las direcciones IP del host fuente, la ruta esdirecta.

El host necesita ser capaz de direccionar correctamente el objetivo usandoun protocolo inferior a IP. Esto se puede hacer automáticamente, usando unprotocolo como ARP, que se usan en LANs con broadcast, o estáticamente yconfigurando el host.

1. Para rutas indirectas, el único conocimiento requerido es la dirección IPde un “router” que conduzca a la red de destino.

Page 157: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 141

Las implementaciones de IP pueden soportar también rutas explícitas, esdecir, una ruta a una dirección IP concreta. Esto es habitual en las conexionesque usan SLIP (“Serial Line Internet Protocol”) que no proporciona un meca-nismo para que dos hosts se informen mutuamente de sus direcciones IP. Talesrutas pueden tener incluso el mismo número de red que el host, por ejemploen subredes compuestas de enlaces punto a punto. En general, sin embargo,la información de encaminamiento se genera sólo mediante los números de redy de subred.

Opciones de Encaminamiento del Datagrama IP El campo “options”del datagrama IP admite dos métodos para que el generador del datagrama deexplícitamente información de encaminamiento y uno para que el datagramadetermine a ruta que va a emplear.

LSR (“Loose Source Routing”)

Esta opción, conocida también como LSRR (“Loose Source and RecordRoute”), proporciona un medio para que la fuente del dar suministre informa-ción de encaminamiento explícita que usarán los “routers” que retransmitenel datagrama, y para grabar la ruta seguida. (ver figura 4.40 de la página 139)

Figura 4.40: Opción LSR.

1000011: Es el valor del byte “option” para LSR.

Length: Contiene la longitud de este campo, incluyendo los campos “ty-pe” y “length”.

Pointer: Apunta a los datagramas de la opción en la siguiente direcciónIP a procesar. Es relativo a comienzo de la opción, por lo que su valor mínimoes de cuatro. Si su valor supera la longitud de la opción, se alcanza el finalde la ruta de la fuente y el resto del encaminamiento se ha de basar en ladirección IP de destino (como en los datagramas que no tiene esta opción).

Route Data: Es una serie de direcciones IP de 32 bits.

Page 158: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

142 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Siempre que un datagrama llega a su destino y la ruta de la fuente no estávacía (pointer‹length) el receptor:

• Tomará la siguiente dirección IP de este campo (el indicado por “pointer”y lo pondrá en el campo de la dirección IP de destino el datagrama.

• Pondrá la dirección IP local en la SL (source list) en la localización a laque apunte pointer. La dirección IP local es la correspondiente a la redpor la que se enviará el datagrama.

• Incremetará pointer en 4.

• Transmitirá eL datagrama a la nueva dirección IP de destino.

Este procedimiento asegura qeu la ruta de retorno se graba en “route da-tagram” (en orden inverso) de modo que el receptor use estos datagramaspara construir un LSR en el sentido inverso. Se denomina LSR (“Loose Sour-ce Route”) porque al router retransmisor se le permite usar cualquier ruta ycualquier número de host intermedios para alcanzar la siguiente dirección dela ruta.

El host emisor pone la dirección IP del primer router intermedio en elcampo dirección IP de destino y las direcciones de los demás routers de laruta, incluyendo el destino, en la opción “source route”. La ruta que haygrabada en el datagrama cuando este llega al objetivo contiene las direccionesIP de cada uno de los routers que retransmitió el datagrama.

SSR (“Strict Source Routing”)

Esta opción, llamada también SSRR (“Strict Source and Record Route”),emplea el mismo principio que LSR (“Loose Source Route”) exceptuando queel router intermedio debe enviar el datagrama a la siguiente dirección IP en laruta especificada por la fuente a través de una red conectada directamente yno por medio de un router intermedio. Si no puede hacerlo envía un mensajeICMP “Destination Unreachable” (ver figura 4.41 de la página 141).

1001001: Es el valor del byte “option” para el método SSR.

Length: Tiene el mismo significado que para LSR.

Pointer: Tiene el mismo significado que para LSR.

Route Data: Es una serie de direcciones IP.

Page 159: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.2. PROTOCOLOS DE LA CAPA DE INTERRED 143

Figura 4.41: Opción SSR.

RR (Record Route)

Esta opción proporciona un medio para grabar la ruta de un datagramaIP. Funciona de modo similar al SSR (“Strict Source Routing”) anterior, peroen este caso el host fuente deja el campo de datos de encaminamiento vacío,que se irá llenando a medida que el datagrama viaja. El host fuente debe dejarsuficiente espacio para esta inforamción: si el campo se llena antes de que eldatagrama llegue a su destino, el datagrama se retransmitirá, pero se dejaráde grabar la ruta. (ver figura 4.42 de la página 141)

Figura 4.42: Opción RR.

0000111: Es el valor del byte option para el método RR.

Length: Tiene el mismo significado que para LSR.

Pointer: Tiene el mismo seginificado que para LSR.

Route Data: Su longitud es un múltiplo de cuatro bytes, y loelige elgenerador del datagrama.

IT (“Internert Timestamp”)

El timestamp o sello de tiempo es una opción para forzar a algunos (o atodos) de los routers de la ruta hacia el destino a poner un timestamp en losdatos de la opción.

Los timestamps se miden en segundos y se pueden usar para la depuración.No se pueden emplear para medir el rendimiento por dos razones:

Page 160: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

144 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

• No son lo bastante precisos porque la mayoría de los datagramas seenvían en menos de un segundo.

• No son lo bastante precisos porque los routers no han de tener relojessincronizados. (ver figura 4.43 de la página 142)

Figura 4.43: Opción IT.

Donde:

01000100: Es el valor del byte option para IT.

Length: Contiene la longitud total de esta opción, incluyendo los campostype y length.

Pointer: Apunta al siguiente timestamp a procesar (el primero que estédisponible).

Oflew (overflow):Es un entero sin signo de 4 bits que indica el núemrode módulo IP, que no pueden registrar timestamps, por falta de espacio en elcampo de datos.

Flag: Es un valor de 4 bits que indica cómo se han de registrar los times-tamps. Los valores posibles son:

0: Sólo timestamps almacenados en palabras consecutivas de 32 bits.

1: Cada timestamps se precede con la dirección IP del módulo que efectúael registro.

2: La dirección IP se pre-especifica y un módulo IP sólo realiza el registro

Page 161: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP” 145

cuando encuentra su propia dirección en la lista.

Timestamp: Un timestamp de 32 bits medido en milisegundos desde lamedianoche según UT (GTM).

El host emisor debe compones esta opción con un área de datos bastantegrande para almacenar todos los timestamps. Si el área de los timestamps sellena, no se añaden más.

4.3 TCPMON: “Analizador de Protocolos TCP/IP”

TCPMON es un programa analizador de Protocolos TCP/IP para ayuda enla docencia de redes de computadores.

Diseñado e implementado por el departamento DISCA de la UniversidadPolitécnica de Valencia para sus uso, principalmente, en la docencia de lasasignaturas de redes de computadores.

Es un programa para Windows 9x que permite capturar y analizar lastramas que circulan por la red, lo cual es muy interesante para el estudiantede estas materias.

TCPMON es también una poderosa herramienta para cualquier progra-mador que desarrolle aplicaciones que utilicen la red.

4.3.1 Motivación

Un analizador de protocolos es una herramienta tradicional en el desarrollo ydepuración de protocolos y aplicaciones de red. Es un programa que permiteal ordenador capturar tramas de la red para, posteriormente o en tiempo real,proceder a su análisis.

Por analizar se entiende que el programa es capaz de reconocer que la tra-ma capturada transporta información asociada a un protocolo concreto (porejemplo a TCP, a ICMP,...) y muestra al ususario la información convenien-temente decodificada. De esta manera el ususario puede, de forma cómoda,ver qué es lo que está circulando por la red.

Esto es lo básico para un programador que esté desarrollando un protocolo(o cualquier programa que transmita o reciba datos de la red) ya que le permite

Page 162: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

146 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

comprobar qué es lo que realmente hace el programa.

Es también útil a un estudiante que desee experimentar / comprobar cómofuncionan los protocolos tradicionales de red.

El esdudio de un protocolo puede resultar poco ameno al alumno, sobretodo si el estudio se limita a la estructura y funcionalidad de las unidadesde datos que el protocolo intercambia. El uso de un analizador es muy útilpara clarificar la dinámica de un protocolo, al tiempo que refuerza la curiosi-dad del alumno por saber qué es lo que está pasando en la red. Además, lepermite comprobar la relación entre los diferentes protocolos, lo que facilita lacomprensión de su funcionamiento.

Existen distintos tipos de analizadores disponibles comercialmente, y dedistintos precios, pero normalmente son productos caros o muy caros. Elprecio depende de la capacidad del análisis, de la tecnología de red soportadasy de si se trata sólo de software o si es un equipo hardware especializado.

En cualquier caso, se ha considerado que es interesante desarrollar un ana-lizador con fines docentes, de uso fácil y de libre distribución.

Por uso fácil queremos decir que el programa realiza excusivamente lastareas que hemos considerado son las requeridas por nuestros alumnos. Deesta manera, las opciones de configuración del programa son las justas y norequieren que el alumno sea, en ese momento, un experto capaz de entendertodas las operaciones posibles en un analizador comercial.

4.3.2 Estructura Interna de TCPMON

El programa se basa en la utilización de un Packet Driver que permite elacceso a la interface NDIS de Windows, a su vez, virtualiza el nivel de accesoa red, lo que permite desarrollar aplicaciones independientes del hardware dered utilizado por el PC.

La figura 4.44 de la página 145muestra la arquitectura de red en Windowsy la ubicación de la interface NDIS y Packet Driver. La referencia a “Win32application” puede ser cualquier programa Windows, y en nuestro caso esTCPMON.

Page 163: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP” 147

Figura 4.44: Arquitectura de Red de Windows9x.

Page 164: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

148 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

4.3.3 Características del PC

TCPMON es un programa para plataformas Windows 9x. Para su correctofuncionamiento se requiere que el ordenador en el que se istale cumpla lossiguientes requiesitos:

1. PC compatible 486 o superior con, al menos, 32 Mbytes de RAM y 2Mbytes libres de HD.

2. Sistmea Opertivo Windows 9x y ME.

3. Adaptadore de red con interface NDIS.

El programa analizador ha sido probado satisfactoriamente con tarjetas dered Ethernet, Fast Ethernet y con el Acceso Telefónico a Redes.

La utilización de una CPU o una tarjeta de red poco potentes incrementala posiblidad de pérdida de tramas. Es decir, existe la posibilidad de que elequipo no sea capaz de capturar todas las tramas que circulan por la red.Esta circunstancia, aunque poco frecuente, puede darse incluso en equiposmuy potentes si el tráfico de la red es muy alto.

4.3.4 Características del Programa Analizador TCP/IP

• Captura de tramas (ver figura 4.45 de la página 147).

El proceso de captura pregunta al ususrio qué tipo de tramas desea cap-turar. El programa puede capturar todas, pero sólo almacena las tramas quees capaz de analizar, y éstas son las que contienen protocolos:

— ARP y RARP.

— IP e ICMP.

— UDP y TCP.

— IGMP.

• Análisis de tramas.

Page 165: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP” 149

Figura 4.45: Configuración de la Captura.

Page 166: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

150 CAPÍTULO 4. PROTOCOLOS DE TCP/IP

Esta función es activada autmáticamente tras la captura. También sepuede activar sobre una captura previa almacenada en disco.

El programa muestra la estructura de la trama y los protocolos en ellacontenidos. Por ejemplo, si se trata de una trama que contiene datos de unaaplicación sobre TCP, se muestra:

— Los campos de la trama.

— Los campos de datragrama IP.

— Los campos de segmento TCP, y finalmente..

— Los datos de la aplicación.

— Estadísticas de red.

El programa también suministrará estadísticas, en foramto numérico y enformato gráfico del tráfico capturado. Existe la posibilidad de pedirle al pro-grama que muestre estadísticas del tráfico actual sin quealmacene las tramasque escucha.

• Otras características

Junto a las caracterísitcas prinicpales ya comentadas, el programa disponede un conjunto de facilidades básicas para hacerlo tatalmente funcional, comoson:

— Recuperación y almacenamiento en disco duro de sesiones captura-das.

— Opciones de búsqueda de una trama en una sesión de captura.

— Opciones para personlizar la presentación de la aplicación.

— Opciones de configuración. Selecionar de la tarjeta de red con laque operará el analizado.

— Información sobre los parámetros operativos de la red.

4.3.5 Conclusiones

Esta “demo” presenta la aplicación TCPMON. Un analizador de protocoloscon fines docentes y de libre distribución.

Page 167: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP” 151

Es una herramienta básica para cualquier alumno de asignaturas de redesde computadores. El alumno puede utilizar TCPMON para observar la di-náminca de los protocolos de red que estudia y también para depurar cualquierdesarrollo de programas que utilicen la red para transmitir y recibir datos.

TCPMON funciona sobre el interface de red NDIS. Puede ser utilizado conel Acceso Telefónico a Reedes de Windows (Modems) y con cualquier tarjetrade red. También es útil como analizador off-line para el estudio de una capturaprevia.

Page 168: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 169: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 5

Análisis de Seguridad deTCP/IP [9]

5.1 Introducción

Este capítulo pretende analizar los aspectos asociados a la seguridad de lafamilia de protocolos TCP/IP, así como de los servicios que se establecentípicamente sobre esta pila de protocolos.

Hoy en día, el uso de TCP/IP se ha extendidio prácticamente a la totalidadde las redes de comunicaciones de datos, potenciado fundamentalmente porla expansión de Internet, así como de las redes corporativas y de cooperaciónasociadas a esta tecnología: Intranets y Extranets.

Habitualmente el diseño de las redes se basaba en características como lafuncionalidad o la eficiencia, pero no en la seguridad, condiciones que sonrentables desde un punto de vista de negocio a corto plazo, pero que puedenresultar caras a largo.

Para la realización del análisis de diseño de una red segura es necesarioconocer los detalles y características de los protocolos de comunicaciones sub-yacentes, que serán los encargados de transportar la información y datos quedesean distribuirse. A su vez, deberá analizarse los servicios que se propor-cionan en dicha red y sus detalles de funcinamiento.

Aquí se profundizará en las vulnerabilidades existentes en los protoclos

153

Page 170: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

154 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

desde un punto de vista teórico. Se complementa al capítulo con una visiónpráctica proporcionada por las herramientas existentes para permitir o denegarla ejecución de las mencionadas vulnerabilidades.

5.2 IP Versión 6

El rápido crecimiento de r, así como la existencia de numerosos dispositivosque requieren comunicarse mediante TCP/IP : servidores, PCs, dispositivosde red, PDAs, teléfonos móviles y otros dispositivos, inalámbricos, teléfonosIP, equipos de electrónica: TV, videos, DVDs, está empujando al cambio deIP versión 4, a IP versión 6 o IP Next Generation. La posibilidad de poderescalar el número de direcciones IP, que escasea actualmente, es su propiedadfundamental.

En lugar de los 32 bits de las direcciones en IPv4, se pasará a 128 bits enIPv6.

El inmenso dominio de direcciones existentes no es su única característica,su propiedad es su auto-configuración y auto-descubrimiento.

Las direcciones se asignarán en base a un identificador de interfaz como ladirección MAC, y un prefijo de red. Asimismo, IPv6 introduce una arquitecturaP2P, que permite esquemas de direccionamiento globales extremo a extremo.Esta tecnología sustituirá al NAT. A su vez, incluye características para darseguridad de servicio.

La definición e implementación del nuevo protocolo se está llevando a cabopor el IETF junto con los fabricantes de equipos de red. Asimismo el IETFposee grupos dedicados a la transición de la Internet actual, basada en laversión 4, a la futura basada en la versión 6 como el llamado “NGtrans WG”.

Actualmaente existe una red basada en IPv6, sobre la Internet actual,empleada para la realización de pruebas y mejoras del protocolos: 6Bone.Esta red se basa principalmente en la creación de túneles que encapsulan eltráfico IPv6 sobre las redes IPv4.

El otro protocolo que permitirá una correcta transición basada en la inde-pendencia de las dos versiones es MPLS, empleando ampliamente hoy en díaen las redes principales de los proveedores de comunicaciones.

Desde el punto de vista de los sistemas, una alternativa es la conocidacomo

Page 171: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.3. HISTORIAS DE LAS VULNERABILIDADES 155

dual-stack, en el que un equipo posee dos pilas TCP/IP simultáneamente, unapara cada versión, pudiendo comunicarse con ambos tipos de redes y equipos.

5.3 Historias de las vulnerabilidades

En los primeros años, los ataques involucran poca sofisticación técnica.

Los ataques internos se basaban en utilizar los permisos para alterar lainformación.

Los externos se basaban en acceder a la red simplemente averiguando unaclave válida.

A través de los años se han desarrollado formas cada vez más sofisticadas deataque para explotar vulnerabilidades en el diseño, configuración y operaciónde los sistemas.

Esto permitió a los nuevos atacantes tomar control de sistemas completosproduciendo verdaderos desastres que en muchos casos llevaron a la desapari-ción de aquellas organizaciones o empresas con altísimo grado de dependenciatecnológica (bancos, servicos automáticos, etc.).

Estos nuevos métodos de ataque han sido automatizados, por lo que enmuchos casos sólo se necesita conocimiento técnico básico para realizarlos. Elaprendiz de intruso, script-kiddie o ankle biter, o aprendiz de hacker, lamero wannabee, tiene acceso hoy en día a numerosos programas y scripts (explo-tis) que se aprovechan de las vulnerabilidades, disponibles desde numerosasfuentes underground, como hacker newsgroups, mailing-lists y web sites, don-de además encuentra todas las instrucciones para ejecturar ataques con lasherramientas disponibles.

Se han definido numerosos artículos, clasificando generaciones de ataquesen la red existentees a lo largo del tiempo:

• La primera generación: Ataque Físico.

Ataques que se centraban en los compnenetes electrónicos: ordenadores ycables. El objetivo de los protocolos dsitribuidos y de la redundancia es latolerancia frente a un punto único de fallo. Son mayormente problemas paralos que actualmente se conoce la solución.

Page 172: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

156 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

• La segunda genereción: Ataque Sintáctico (objeto del presente trabajo).

Las pasadas décadas se han caracterizado por ataques en contra la lógi-ca operativa de los ordenadores y las redes, es decir, pretenden explotar lasvulnerabilidades de los programas, de los algoritmos de cifrado y de los pro-tocolos, así como permitir la degeneración del servicio prestado, en este casose conoce le problema, y se está trabajando en encontrar soluciones cada vezmás eficaces.

• La tercera generación: Ataque Semántico.

Se basan en la manera en que los humanos asocian significado a un con-tenido. El hecho es que en la sociedad actual la gente tiende a creerse todolo que lee (medios informativos, libros, la Web...). El inicio de este tipo deatques surgió con la colocación de información falsa en boletines informativoso e-mail, por ejemplo, para beneficiarse de las inversiones dentro de la bolsafinanciera. También pueden llevarse a cabo modificando inmformación caduca.

Esta generación de ataques se lleva a su extremo si se modifica el contenidode los datos de los programas de ordenador, que son incapaces de cotejar osospechar de su varacidad, como por ejemplo la manipulación del sistema decontrol de tráfico aéreo, el control de un coche inteligente, la base de datos delos libros más vendidos o de índices bursátiles como el NASDAQ.

Lo mismo es que estos ataques han existido fuera del entorno informáticodesde hace años como estadísitcas manipuladas y falsos rumores..., pero es latecnología la que potencia su difusión.

La conclusión tras el análisis de la vulnerabilidad desde un punto de vistaoperacional es que para evitarlas puedan definirse las tareas a realizar dentrode un sistema de seguridad de tres etapas:

• Prevención: Implementada por dispositivos como firewalls.

• Detección: A través de sistemas como IDs (Instruction Detection Sys-tems).

• Respuesta: Las acciones a tomas deben ser dirigidas por la parte humanstípicamente los administradores de la red.

Page 173: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.4. VULNERABILIDADES GENÉRICAS 157

5.4 Vulnerabilidades Genéricas

Las vulnerabilidades pretenden describir las debilidades y los métodos máscomunes que se utliizan para perpetrar ataques a la seguridad de la familiade protocolos TCP/IP (confidencialidad, integiridad y disponibilidad de lainformación).

Los ataques pueden estar motivados por diversos objetivos, incluyendofraude, extorsión robo de información confidencial, venganza, acceso no au-torizado a un sitema, anulación de un servicio o simplemente el desafío depenetrar un sistem.

Éstos pueden provenir principalmente de dos fuentes:

• Usuarios autentificados, al menos a parte de la red, como por ejemploempleados internos o colaboradores externos con acceso a sistemas dentrode la red de la empresa. También denominados insiders.

• Atacantes externos a la ubicación física de la orgaización, accediendoremotamente. También denominados outsiders.

Los métodos de ataque descritos se han dividido en categorías que puedenestar relacionadas entre sí, ya que el uso de un método permite o facilita el usode otros, en ocasiones, complementarios. Un ejemplo de ata que podría serla realización del análisis de un sistema, mediante fingerprinting, tras el cuales posible explotar una vulnerabilidad como un buffer-overflow de un servicioTCP/IP, enviando paquetes que parecen válidos mediante IP spoofing. Dentrode los métodos no se han incluido ataques de alto nivel, como por ejemplola distribución y ejecución de virus a través del correo electrónico (protocoloSNMP), ya que afectan a vulnerabilidades particulares de las aplicaciones ylos lenguajes de programación soportados por éstas.

En numerosas ocasiones se ha empleado inicialmente el término inglés pa-ra nombrar la vunerabilidad, ya que es como se conoce comúnmente, paraposteriormente asociarle su posible traducción al español.

Las vulnerabilidades pueden clasificarse según dos criterios:

• Número de paquetes a emplear en el ataque:

— Atomic: Se requiere un único paquete para llevarla a cabo.

Page 174: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

158 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

— Composite: Son necesarios múltiples paquetes.

• Información necesaria para llevar a cabo el ataque:

— Context: Se requiere únicamente información de la cabecera delprotocolo.

— Content: Es necesario también el campo de datos o payload.

5.4.1 Footprinting

La regla número uno antes de planificar o analizar un posible ataque a unsistema, o red, es conocer el objetivo, es decir, obtener su huella identificativao footprinting (el arte de extraer toda la información posible de la red objetivodel ataque). Por tanto la primera tarea a realizar pasa por dedicar un esfuerzoconsiderable a obtener y recolectar ésta información.

Existen numerosas utilidades para obtener la información de un sistema:ping, whois, finger, rusers, nslookup, rcpinfo, telnet, dig, nmap...

El atacante podría comenzar por ejecutar un ping contra el sistema aatacar:

$ ping www.sistema.es

Para comprobar sus existencia (también el uso de traceroute o de nslookuppermiten obetner información si los paquetes ICMP están deshabilitados).Posteriormente podría intentar extraer información del sistema y sus usuariosmediante la utilidad finger:

$ finger [email protected]

La primera etapa sería buscar inforamición general de la empresa en In-ternet. Los pasos que podrían ralizarse a continuación irían desde ralizarbúsquedas en ICANN para obtener el rango de redes asociado a la organi-zación, como descubrir qué sistemas activos existen (mediante pings), paraposteriormente conocer los posibles servicios vulnerables, empleando para ellola técnica de .escaneo de puertos.

Finalmente, a través de una conexión, por ejemplo mediante TELNET, alpuerto seleccionado se podrá obtener información en la mayoría de los casos,como cadenas de texto, que identifiquen el servicio, y que permitirán conocer

Page 175: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.4. VULNERABILIDADES GENÉRICAS 159

el tipo de servidor y su versión. Esta técnica puede aplicarse mediante el usode utilidades comoTELNET o NETCAT.

Traceroute

Toda red está caracterizada por una topología o distribución, tanto física comológica, concreta. Existe una herramienta que ayuda a la obtención de ésta:traceroute, creada originalmente para solucionar problemas en una red. Estatécnica permite saber todos los sistemas existentes en un camino entre dosequipos.

Su funcionamiento se basa en el manejo del campo TTL (“Time To Live”)de la cabecera IP de un paquete, de forma que es capaz de determinar uno auno los saltos por los que un determinado paquete avanza en la red. El campoTTL actúa como un contador de saltos, viéndose decrementado en uno al serreenviado por cada router. Por tanto mediante esta utilidad de diagnóstico sepodrá obtener una lista de los elementos de red recorridos desde una ubicaciónorigen hasta un sistema destino. Los paquetes de conmprobación son enviadosde tres en tres.

El primero datagrama enviado tiene un TTL de valor 1, por lo que generaráen el primer salto un paquete ICMP Time Exceded. El siguiente datagramaverá el valor del TTL incrementado en uno, por lo que será capaz de llegar unsalto más en la red que el datagrama anterior.

Debe tenerse en cuenta que el comportamiento de la herramienta puedevariar en función de la plataforma: el traceroute de Unix, por ejemplo Linuxo HP-UX, utiliza el protocolo UCP (pudiendo usar ICMP mediante la opción“-I”). En el caso de Windows NT (tracert) se emplea el protocolo ICMP.

5.4.2 Fingerprinting

Una técnica más específica que permite extraer inforamción de un sistemaconcreto es el fingerprintitng, es decir, la obtención de su huella identificativarespecto a la pila TCP/IP. El objetivo principal suele ser el sistema operativoque se ejecuta en la máquina destino de la inspección. Esta información juntocon la versión del servico o servidor facilitará la búsqueda de vulnerabilidadesasociadas al mismo.

Page 176: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

160 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

Gran parte de lainformaicón de la pila TCP/IP puede obtenerse en baseal intercambio en tres pasos propio del protocolo TCP/IP (TCP/IP three-wayhandshake).

La probabilidad de acierto del sistema operativo remoto es muy elevada, yse basa en la identificación de las características propias de una implementaciónde la pila TCP/IP frente a otra, ya que la interpretación de los RFCs noconcuerda siempre. Para poder aplicar esta técnica con precisión es necesariodisponer de un puerto abierto (TCP y/o UDP).

Las diferentes pruebas a realizar para diferenciar los sistemas opertivosson:

• FIN probe.

• BOGUS flag probe.

• ISN sampling.

• Monitorización “Don’t fragment bit”.

• Tamaño de la ventana TCP inicial.

• Valor de ACK.

• Mensaje de error de ICMP quenching.

• ICMP message quoting.

• Mensaje de error de ICMP-integridad.

• TOS (Tipos de Servicio).

• Gestión de la fragmentación.

• Opciones TCP.

5.4.3 Escaneo de Puertos-Vulnerabilidades

Una vez que se dispone de los dispositivos a nivel IP activos en una red (porejemplo, mediante ICMP), puede aplicarse a cada uno de ellos una técnica,centrada en la posterior búsqueda de vulnerabilidades, basada en una explo-ración de escaneo de puertos abiertos, tanto UDP como TCP.

Page 177: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.4. VULNERABILIDADES GENÉRICAS 161

El escaneo es la determinación de las características de una red o sistemaremotos, con el objetivo de identificar los equipos disponibles y alcanzablesdesde Internet, así como los servicios que ofrece cada uno. Permite saber lossistemas existentes, los servicios ofrecidos por ellos, cómo están organizadoslos equipos, qué sistemas operativos ejecutan, cuál es el propósitos de cadauno.

De forma general, entre lo métodos de escaneo se incluyen técnicas como:

• Ping sweep.

• Escaneo de puertos.

• Firewalking.

• Trace Routing.

• Identificación de Sistema Operativo.

Al escanear puertos de los sistemas se descubren puntos de entrada a losmismos, que abren la puertas a nuevas vunelrabilidades potenciales en base ala implementación del servidor que escucha tras cada puerto. Además, estatécnica también permite identificar el tipo de sistema existente, así como susistema operativo, y las aplicaciones que ofrecen un servicio en la red, así comosu versión asociada.

La herramienta por excelencia para realizar un escaneo de puertos esNMAP. Las técnicas existentes en el proceso de escaneo emplean diferentesprocedimientos para descubrir la información del servicio:

• TCP Connect Scan: Mediante el establecimiento de una conexión TCPcompleta.

• TCP SYN Scan: Se abren coneciones a medias, ya que simplemente seenvía el paquete SYN inicial, determinando la existencia de un servicio sise recibe del sistema objetivo un SYN-ACK. Si, por el contrario, se recibeun RST-ACK,es que no existe un servicio. En el caso de la existencia deun servicio, se envía un RST-ACK para no establecer conexión alguna, yno ser registrados por el sistema objetivo, a diferencia del caso anterior.

Page 178: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

162 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

Estos dos tipos funcionarán en todods los sistemas con implementacionesTCP/IP, mientras quelos siguientes variarán según la implementación particu-lar:

• TCP FIN Scan: Al enviar un FIN a un puerto, debería recibirse comoresultado un paquete de reset si está cerrado (se aplica principalmentea las pilas TCP/IP de Unix).

• TCP Xmas Tree Scan: Esta técnica es similar a la anterior, obteniéndosecomo resutlado también un RST si el puerto está cerrado. En esta casose envían paquetes FIN, URG y PUSH.

• TCP Null Scan: En el caso de poner a cero todos los flags de la cabeceraTCP, debería recibirse de nuevo como resultado un paquete RST en lospuertos no activos.

• TCP ACK scan: Mediante éste de determina si un firewall es de filtrode paquetes o si mantiene el estado.

• TCP Windows scan: Mediante una anomalía es como se muestra eltamaño de la ventana TCP.

• TCP RPC scan: Es una técnica de Sistemas Unix para conocer puertosde llamadas a procedimientos remotos.

• UDP scan: Al enviarse un paquete UDP a un puerto destino se obtienecomo resultado un paquete ICMP con lo que se determina que el puertono está activo. En caso contrario, no recibirá el mensaje.

5.4.4 Escaneo de Puertos Basado en el Protocolo ICMP

Una vez conocido el propósito original del protocolo ICMP, notificar errores,y condiciones inusuales que requieren atención respecto de protocolo IP, y elformato de sus paquetes, es necesario analizar los usos indebidos que se lepueden dar, todos asociados al escaneo de un sistema remoto.

De manera excepcional, se incluirán en cada una de las técnicas basadasen ICMP los métodos para su detección, en lugar de inclluirse en el apartadode parotecciones.

Page 179: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.4. VULNERABILIDADES GENÉRICAS 163

ICMP Echo (Ping Sweep):

Mediante esta técnica se pretenden identificar los equipor existentes en lasredes onjetivo de un ataque, típicamente accesibles desde Internet. Constituyeuno de los pasos principales en la obtención de información.

Empleando para ello los paquetes ICMP de tipo echo (8) y echo reply (0),se sabrá si una determinada dirección IP está o no activa. Se envía un paquetede tipo echo, y se se recibe el paquete de echo reply es que dicha dirección estásiendo utilizada.

La técnica envía numerosos paquetes de este estilo para conocer todoslos equipos disponibles en una subred. Existen numerosas herramientas queimplementan este proceso, como por ejemplo, fping, gping, el propio nmap, ola utilidad pinger de Rhino9.

Para detectar este tipo de paquetes enviados de forma masiva puede anali-zarse el log del servidor DNS asociado al dominio escaneado, ya que apareceránmúltiples intentos de resolución de nombres de direcciones IPs consecutivas.Asimismo, se podrá obtener la dirección IP del atacante.

Los sistemas IDS también permiten su detección, tanto cuando se usa deforma secuencial, como cuando se lanzan los pings en paralelo.

ICMP Broadcast

Cuando se envía un paquete ICMP echo a la dirección broadcast o a la direc-ción de red, con un único paquete enviado se consigue que todos los equiposrespondan con su echo reply asociado. Las implementaciones de los diferentessistemas operativos se comportan de manera diferente. Esta técnica puedeemplearse en las variantes de Unix, pero los SO de Microsoft, Windows, noresponden a este tipo de paquetes.

Existen técnicas de escaneo más avanzadas basadas en ICMP, pero NO enlos paquetes de tipo echo, podrían considerarse técnicas tanto de ICMP sweepcomo de ICMP broadcast, pero con otros tipo de paquetes ICMP, no echo.Algunas son:

• ICMP Timestamp.

• ICMP Information.

Page 180: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

164 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

• ICMP Assress Mask.

Es posible emplear técnicas de detección de equipos másavanzadas, no yaen función del tipo de paquete ICMP, sino en base al comportamiento de lasimplementaciones del protocolo ICMP. Para ello, se analizarán los mensajesde error de ICMP, generados desde las máquinas que sirven como prueba, loque no permitirá saber si existe algún dispositivo de filtrado presente, así comodescubrir la configuración de las listas de acceso empleadas.

De manera general los métodos a emplear ilcluyen:

— Modificación maliciosa de la cabecera IP de un paquete, por ejem-plo cambiando el campo de la longitud, o los campo de opcionesdel protocolo IP.

— Uso de valores inválidos en los campo de la cabecera IP.

— Posibilidad de abusar de la fragmentación.

— Emplear el método de escaneo basado en el protocolo UDP : es elprotocolo ICMP el que se encarga de notificar las anomalías de éste.

• IP Bad Headers Fields.

• IP Non-Valid Field Values.

• IP Fragmentation.

5.4.5 Sniffing

Un ataque realmente efectivo, ya que permite la obtención de gran cantidad deinformación sensible enviada sin encriptar, como por ejemplo usuarios, direc-ciones de e-mail, claves, números de tarjetas de crédito..., es emplear sniffers yolfateadores en entornos de red basados en difusión, como por ejemplo ether-net (mediante el uso de concentradores o hubs). El análisis de la informacióntransmitida permite a su vez extraer relaciones y topologías de las redes yorganizaciones.

Los sniffers operan acivando una de las interfaces de red del sistema enmodo promiscuo. En este modo de configuración, el sniffer almacenará en unlog todo el tráfico que circule por la tarjeta de red, ya sea destinado o generadopor el propio sistema o desde / hacia cualquiera de los sitemas existentes en

Page 181: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.4. VULNERABILIDADES GENÉRICAS 165

el entorno de red compartido (segmento ethernet). Asimismo, pueden serinstalados tanto en sistemas como en dispositivos de red.

La efectividad de esta técnica se basa en tener acceso (habitualmente esnecesario además disponer de dicho acceso como administrador o root) a unsistema interno de la red, por tanto, no puede ser llevado a cabo desde elexterior.

5.4.6 TCP Initial Sequence Number

El protocolo TCP genera un ISN, o número de secuecia inicial, para poderrealizar el control de flujo de la conexión. Este es uno de los ataques másantiguos, data de 1985, y se basa en la utilización de pseudo-random numbergenerators (PRNGs) para la generación de los ISNs, Si los números de secuen-cia pueden ser predichos, puede llegar a ser posible el modificar la informaciónde la conexión, apoderándose de ella mediante hijaking o realizar blind spoofingsobre futuras conexiones.

La modificación de los datos en la conexión puede realizarse inyectandopaquetes válidos, al conocerse el ISN inicial y el número de bytes intecambiadoy por tanto, el número de secuencia actual. Si no se conoce exactamenteeste valor, peor sí de forma aproximada, puede enviarse tambíen un grupode paquetes en un rango de secuendia concreto (que vendrá limitado por eltamaño de ventana TCP), con el objetivo de que alguno coincida con el númerode secuencia actual.

Inicialmente se modificaron las implementaciones para hacer lo más alea-toria posible la generación de estos números.

La generación de números aleatorios, tanto en los números de secuenciainiciales de TCP, ISNs, como en los algoritmos de encriptación y generaciónde claves, tiene un peso muy relevante respecto a la seguridad.

5.4.7 DNS

DIG es una utilidad para la obtención de información de servicio de nombresDNS.

Como ya se mencionó en footprinting, DNS es una fuente de informaciónde red valiosa. La utilidad mencionada permite copiar una base de datos en-

Page 182: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

166 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

tera de nombres (dominio) desde un servidor DNS, para su posterior análisis.Asimismo sus caracterísiticas avanzadas faciliten extraer toda la informaciónasociada al protocolo DNS, no permitiendo únicamente la realización de peti-ciones como nslookup.

Existen páginas Web con sevicios basados en DIG.

5.4.8 IPSec

La seguridad del estándar IPSec ha sido analizada en numerosos estudios,poniéndose en entre dicho como característica negativa la complejidad de susespecificaciones y de propio protocolo.

Aunque el análisis también está enfocado desde un punto de vista políticocentrado en el control de la encriptación, denota que es la implementación delos diferentes fabricantes la que determinará su seguridad al 100%, en funciónde si los estándares son respetados y la interoperatibilidad posible.

Los dispositivos que “hablan” IPSec pueden ser idenificados por tener elpuerto 500 escuchando, ya que es el asociado al estándar de intercambio declaves o IKE, Inter Key Exchange protocol.

Por otro lado, la debilidad desde el punto de vista de la seguridad, no estanto la vunerabilidad del propio IPSec, como la de los algoritmos de encrip-tación asociados al mismo, como el RSA y RC-5. Debe tenerse en cuenta queel intercambio de información mediante IP, gran parte de la información aso-ciada a los protocolos es conocida, por lo que puede emplearse como texto enclaro para romper la encriptación mediante, por ejemplo, ataques estadísticos.

Existe un estudio detallado sobre las vulnerabilidades de protocolos detúneles como PPTP. En éste se muestra la posibilidad de aplicar la técnica despoofing, para adquirir credenciales de autenticación en un entorno PPTP en-tre un cliente, ya conectado a Internet (no realizando una conexión conmutadao de dial-up) y un servidor, no así entre servidores..

5.4.9 Comunicaciones Inalámbricas: Wireless

Las redes inalámbricas sobre la que seguirá hablándose TCP/IP serán objetivode hackers en un futuro no muy lejano. La facilidad de accesos a éstas, enel caso de no encontrarse protegidas de forma adecuada, es mucho mayor que

Page 183: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.5. PROTECCIONES Y HERRAMIENTAS 167

en el caso de las redes comunes, ya que no es necesario al obtener el puntofísico mediante la conexión a la red. Basta con disponer de una tarjeta de redque hable el protocolo 802.1 1b y de un portátil para desplazarnos al área detransmición de una red concreta y comenzar a indagar.

Existen herramientas que permiten escanear el “ambiente” en busca deredes de este tipo como NumSubler.

5.5 Protecciones y Herramientas

Las protecciones especifican las técnicas y herramientas que se pueden im-plementar para la defensa frente a los ataques o vulnerabilidades presentadospreviamente. Saber cómo pueden atacar (y desde dónde), es tan importantecomo saber con qué soluciones se cuenta para prevenir, detectar y reparar unataque de red.

No se debe olvidar que éstas siempre son una combinación de herramientasque tienen que ver con la tecnología, en la que se centra este estudio, y con losrecursos humanos (políticas, formación, concienciación, capacitación, tanto delos usuarios como de los administradores de la red).

Los administradores de los sistemas disponen de herramientas para descu-brir las vulnerabilidades existentes y para controlar que “todo vaya bien”, silos procesos son los normalos o si hay movimientos sospechosos en la red o enlos sistemas. Por ejemplo, que un usuario esté recurriendo a vías de accesopara los cuales no está autorizado o que alguien intente ingresar en un sistemarepetidas veces con claves erróneas que esté probando.

Debe tenerse en cuenta que muchas de las utilidades o técnicas presentadasson a su vez empleadas por los atacantes o hackers, pero es este motivo el quelas hace realmente útiles desde el punto de vista de la protección, ya que unode los métodos más efectivos a la hora de proteger el entorno de red se basa enla simulación de un ataque real de intrusión por parte de los administradores“Penetration Test”. De esta forma podrá saberse hasta dónde puede llegar unintruso que posea ciertas herramientas disponibles libremente en Internet.

Cabe comentar que una de las mayores protecciones existente hoy en díafrente al descubrimiento de nuevas vulnerabilidades son los parches software deseguridad. Se trata de una distibución de software del fabricante de un equipo,ya sea de un servicio o de la propia pila TCP/IP del sistema operativo, que

Page 184: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

168 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

sustituye los archivos binarios por una nueva implementación que resuelveuna vulnerabilidad asociada al mismo. Por tanto, muchos de los problemasde seguridad existentes actualmente se deben a que los administradores delos sistemas no están al corriente de los avisos asociados al descubrimientode nuevas vulnerabilidades, que suelen ir acompañados de la información delparche que las resuelve, por lo que existen infinidad de equipos con la versiónantigua en la que la vulnerabilidad puede ser reproducida.

Tras las protecciones se muestra una visión de futuro respecto a los proto-colos asociados a la seguridad en TCP/IP, y a la evolución de ésta mediantela versión 6: IPv6.

Existen herramientas genéricas de análisis de seguridad. Por ejemplo, paralos sistemas Unix, existe COPS, una utilidad (o colección de programas) paracomprobar la configuración del sistemas frente a los posibles problemas de lasdiferentes áreas de seguridad que afecten a Unix. De iguales característicases otra utilidad como TIGER y su nueva versión TARA, Tiger AnalyticalResearch Assistant.

5.5.1 Footprinting

La primera filosofía de protección aplicable a esta técnica, y extensible a lamayoría de vulnerabilidades, es aplicar la propia técnica sobre los sistemas adefender, para obtener la información que está disponible desde el exterior.Esta información debería controlarse lo más posible en base a las recomenda-ciones del RFC 2196.

Dentro de los sistemas IDs, se ha implementado la detección de muchas delas técnicas comentadas en la adquisición de información de una red. Una delas herramieteas más populares es Snort. Es fundamental el deshabilitar losservicios que proporcionan información, como por ejemplo fingerd.

La forma directa de protegerse frente a adquisiciones de información de latopología de una red, así como del descubrimiento de los sistemas activos pasapor establecer filtros de paquetes para los protocolos UDP e ICMP.

Frente a la identificación de las cadenas de texto represetnativas de unservicio y su versión, la técnica sdecuada es investigar e servicio y el modo demodificar dicho texto, o incluso eliminarlo.

Asimismo, existe una herramienta denominada RotoRouter, cuyo objetivo

Page 185: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.5. PROTECCIONES Y HERRAMIENTAS 169

es defender una red frente a adquisiciones de información basadas en tracerou-te. Al detectar peticiones de este tipo, genera respuestas falsas con el objetivode confundir al atacante.

5.5.2 Fingerprinting

La modificación de los fuentes asociados al subsistema de red, es decir la propiaimplementación, variará el comportamiento habitual del sistema operativo.Asimismo, ciertos parámetros configurables a nivel de kernel o de módulo dered permiten conseguir este objetivo.

Debido a que las técnicas activas presentadas se basan en enviar paquetesa sistema objetivo, puede ser sencillo para los IDS su detección, sin embar-go, las técnicas pasivas no son detectables, salvo mediante la utlilización deherramientas de detección de sniffers.

Una herramientea realmetea innovadorea para ocultar el comportamientocaracterístico de una implementación TCP/IP es IP Personality.

El parche de IP personality implementado en Linux, añade la posibilidadde que la pila TCP/IP dispnga de diferentes personalidades, es decir, quemodifique las características de su tráfico de red, dependiendo de distintosparámetros. Para ello, puede emplearse cualquier elemento que pueda serespecificado en una regla de IPtables: dirección IP fuente y destino, puertoTCP o UDP...

Por tanto pueden modificarse las siguientes características:

• Valor de los Initial Sequence Numbers de TCP.

• Tamaño de la ventana inicial de TCP.

• Opciones TCP: tanto su tipo como su orden en e paquete.

• Las respuestas a ciertos paquetes TCP empleados en el fingerprinting.

• Las respuestas a ciertos paquetes UDP.

Como puede verse es altamente configurable. La implementación del par-che se basa en la infraestructura de red netfilter creada por Rusty Russel.El objetivo de este sistema es defenderse antre el fingerprinting, ocultando el

Page 186: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

170 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

comportamiento típico dle sistema en ejecución.. Asimismo, permite emularel comportamiento de cualquiera de los sistemas contemplados en la base dedatos de la utilidad NMAP.

Se ha comprobado que el parche es capaz de engañar a la versión 2.53 deNMAP, debido a su extensibilidad en la configuración, puede adaptarse paraotras herramientas.

Pese a ésto, la vieja regla de la seguridad “security through obscurity”no debería se aplicada como primera medida defensiva, es decir, el que unatacante conozca el sitema opertivo no debería facilitarle el acceso, ya queotras medidas se encargarán de limitarlo.

5.5.3 Escaneo de Puertos-Vulnerabilidades

Al igual que con la mayoría de los ataques cuyo objetivo es obtener informaciónque permita identificar los sitemas y redes a atacar, la detecció pasa por lautilización de sistemas IDS. dado que NMAP es una de las herramientas deatque por excelencia, SNORT supone la competencia por parte de la defensa.

Desde el punto de vista de un sistema Unix, existen utilidades como scan-logd que permiten la detección de los escáneres de puertos. Dicho ataque deberealizarse con cautela, ya que es muy sencillo determinar que se está produ-ciendo, ya que bajo condiciones normales de funcionamietno no se relaiza unacces secuencial a todos los posibles puertos en un rango determinado.

Asimismo, ecisten aplicaciones como PortSetry que pueden tanto detectarel ataque como responder a él, por ejemplo, modificando el módulo de filtradodel sistema atacado para desechar el tráfico provinente del sistema atacante.

Por otro lado, los firewalls suelen inluir un módulo de detección de ataques,aunque no todos tienen la misma prioridad o validez. Por ejemplo, el escaneobasado en SYN puede ser detectado, pero no así el basado en paquetes FIN.Para poder detectrar estos ataques es necesario revisar el resultado de los logsde los firewalls, cuyo tamaño suele ser elevado, por loque existen herramientasque facilitan estas tareas. También se han creado utilidades que ejecutan sobreproductos de filtrado ya existentes, como la utilidad preparada pra Firewall-1de Checkpoint.

Desde un punto de vista más general, la protección frente al escaneo depuertos para por deshabilitar todos los servicios queno sean necesarios. A su

Page 187: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.5. PROTECCIONES Y HERRAMIENTAS 171

vez en éstos sistemas es posible no realizar su activación mediante los scriptsde arranque. En Windows la tarea debe realizarse deshabilitando los serviciosbajo el Panel de Control Services.

Desde el punto de vista del escaneo de las vulnerabilidades, la mejor defensaes disponer de las herramientas empleadas en un ataque para su descubrimien-to y proceder de manera proactiva a solucionar o eliminar la existencia de lavulnerabilidad, ya sea eliminando el servicio o sustituyéndolo por una versiónposterior corregida.

5.5.4 Escaneo Basado en el Protocolo ICMP

Para evitar las diferentes técnicas basadas en el protocolo ICMP, fundamen-teadas en los distintos tipos de paquetes existentes en la especificación delprotocolo, lo mejor es filtrar todos aquellos tipos que no son necesarios parala funcionalidad asociada a los servicios existentes en la red.

5.5.5 Sniffing, Eavesdropping y Snooping

La protección básica frente a al extracción mediante siniffers de la informa-ción que viaja en los paquetes de datos por la red se basa en la encriptaciónde la información. A lo largo del texto se analizan diferentes protocolos decomunicaciones que hacen uso de ésta: SSL, S/MIME, SSH, IPSec...

Existen herramientas que aunque su uso principal es otro, ayudan a ladetección de sniffers. Tripwire, o sus derivados, genera una huella medianteMD5 de los sistemas de ficheros de un host, y permite detectar cualquiermodificación sobre ficheros o directorios. Aunque pudiera parecer que se tratade una herramienta más propia de la seguridad de un sistema que de la red,permite la detección de ficheros log generados pro u sniffer.

Asimismo, existe una herramienta denominada CPM proporcionada porel CERT, que permite detectar interfaces en modo promiscuo (signo habilutalde existencia de un sniffer, aunque también pueden escuchar sólo el tráficodestinado a la máquina en la que residen).

La capacidad intrínseca de los sniffers se encuentra en el proio diseño delas redes de difusión, como por ejemplo Ethernet (CSMA/CD). En las redesethernet el tráfico viaja realmente por el mismo medio físico para todos los

Page 188: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

172 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

equipos conectados al mismo segmento de red siendo el destinatario de la tra-ma ethernet el encargado de retirarla del medio y extraer sus información. Losinterfaces en modo promiscuo realmente actúan como si fueran el destino detodas las tramas, por lo que extraen la información de todas las comunicacio-nes.

Una protección frente a estsa situación se basa en emplear redes conmu-tadas en lugar de compartirlas, donde los elementos d red, en este caso losswitches, segmentean la red para cada uno de los puertos, es decir, que si sedispone de un equipo por puerto (no existen hubs), un sniffer será capaz solode visualizar el tráfico destinado al sistema en el que está ubicado.

Estos equipos son capaces de crear segmentaciones de la red por gruposde equipos, en base a una distribuición lógica en lugar de física, denominadasredes locales virtuales, VLANs. En este caso, el sniffer sólo podría visualizarel tráfico destinado a algún equipo de ese grupo o VLAN. Por último, debeconsiderarse qeulos switches disponen de la posibilidad de confirurar un puertode monitorización mediante el cual se volvería a la situación anterior, en laque sería posible visualizar el tráfico de todas las VLANs a través de un puntomínimo.

5.5.6 IP Spoofing

Mediante la configuración de filtros de conexiones peritidas, especificando através de qué interfaces, en los dispositivos de interconcexión de varias redes(firewalls, screening routers), se puede controlasr las direcciones IP fuentepermitidas, y por tatno evitar la técnica de IP spoofing.

Los organismos que realmente pueden evitar el uso de ésta técnica son lospropietarios de las redes troncales de comunicación, normalmente carriers uoperadores de telecomunicaciones (SP, Service Providers), ya que evitan desdesu origen que un agresor pueda hacerse pasar por otro usuario. Al actuar denexo de unión de las diferentes subredes, deben permitir únicamente que eltráfico saliente de cada red al troncal lleve asociada una dirección propia dered desde la que sale. Así se controla el punto de inicio de IP spoofing.

Page 189: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.5. PROTECCIONES Y HERRAMIENTAS 173

5.5.7 TCP Initial Sequence Numbers

Los sistemas pueden protegerse de este ataque mediante la encriptación deprotocolo, con IPSec, o siguiendo las recomendaciones del RFC 1948.

En HP-UX, versiones 11 y 11i, debe aplicarse el parche de red PHNE_22397 :por defecto emplea ISN aleatorios. En versiones anteriores, por ejemplo 10.20,existe un parámetro para elegir el nivel de aleatoriedad en la creación de losISNs. Se introdujo con el parche PHNE_5361. Mediante la utilidad “nettune”es posible modificarlo.

En la implementación TCP de Solaris, para cambiar el método utilizadoen la generación de números de secuencia de paquetes TCP (ISNs) y evitarla suplantación de la dirección IP (IP Spoofing) se debe modificar el fichero/etc/default/inetinit.

En el caso de Windows NT, hasta la versión 4.0 SP6 no se ha implementadoun genreador realmente aleatorio de ISNs en la pila TCP.

Existen sistemas como el Cisco PIX que permiten aleatorizar los ISNs delos servidores que protege, luego en el caso de que el algoritmo de generaciónde éstos no sea todo lo bueno que debería, se soluciona la situación.

5.5.8 DNS

Las protecciones de seguridad del servicio de nombres permiten controlar des-de el fichero de configuración el comportamiento del servidor frente a los su-puestos clientes y servidores, tanto secundarios como los asociados a otrosdominios.

Una de las medidas más sencillas para controlar las transferencias de zonadesde el punto de vista del firewall en lugar de desde la configuración del ser-vicio, es permitir conexiones externas al DNS a través del puerto 53 sólo paraUDP, asociado a consultas individuales, y no a través de TCP, correspondientea las transferencias de zona.

Existen herramientas, principalmente IDSs, que son capaces de detectarlas peticiones afectuadas por DIG y avisar de éstas. Incluso algnas facilitanel explotar DIG a través de una “buffer-overflow”.

Page 190: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

174 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

5.5.9 IPSec

IPSec proporciona encriptación a nivel de la capa de red.

Este es uno de los protocolos de seguridad sobre los que se está desarollandomás actualmente. Aunque fue diseñado para IPv6, portándose posteriormen-te para IPv4. Los fabricantes de equipos de red como Cisco proporcionansistemas para el establecimiento de redes privadas virtuales o VPN, VirtualPrivate Networks, mediante IPSec, tanto software cliente como servidor.

En IPSec, mediante el uso de fingerprints en los paquetes IP, generados através de una función hash basada en el uso de una clave compartida por ambosextremos de la comunicación, se asegura la identificación (autenticación) delemisor, por lo que intercabmiados mediante funciones hash.

Por otro lado, todos los protocolos de encriptación requieren una utili-zación mucho mayor de CPU, para ejecutar los algoritmos asociados a estosprocesos, por lo que facilitan la ejecución de ataques DoS. La utilización detarjetas específicas de encriptación libera a la CPU general de este proceso,pero simplemente desplaza el punto débil asociado al consumo de procesa-miento a otro componente. Este hecho ha dado lugar a que no se empleen enIPSec firmas digitales completas.

IPSec dispone de dos servicios:

• AH : Authentication Header- asegura la autenticacion de la integridad.

• ESP : Ecapsulating Security Payload- asegura la confidencialidad, auten-ticación e integridad.

Los algoritmos de encriptación principales que se implementan son SHA-1,MD-5, DES y 3DES, así como otros adicionales: IDEA, Blowfish y RC4.

Ambos servicios pueden trabajar en modo transporte, cuando los sistemasfinales de la comunicación manejan IPSec, o en modo túnel, cuando son losequipos intermedios de entrada a la red (routers, firewalls...) los que gestionanel tráfico IPSec.

Las relaciones entre dos equipos que desean hablar mediante el protocoloIPSec vienen caracterizadas por el conjunto de parámetros que define todoslos aspectos a tener en cuenta, como los algoritmos de autenticación y en-

Page 191: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.6. FUTURO 175

criptación, la longitud de las claves, el servicio (AH o ESP) a emplear...Esteconjunto de parámetros se conoce como SA, Security Association.

Dentro de las tecnologías empleadas para el establecimiento de VPNs, ade-más de IPSec existen protocolos de creación de túneles, como L2TP, Layer 2Tunneling Protocol, o PPTP, Point-to-Point Tunneling Protocol. La especifi-cación de los mismos está disponible en el IETF. Asimismo, existen especifi-caciones de securización para éstos.

Un túnel determina la encapsulación de un protocolo en otro, ya sea deforma encriptada o no:

• IPSec: IP en IP.

• PPTP : PPP en GRE.

Frente a ciertas vulnerabilidades encontrdas en el protocolo PPTP, Micro-soft distribuyó parches de seguridad asociados a su resolución.

5.6 Futuro

El futuro de la seguridad pasa por la generación de herramientas de controlinteligentes, como los IDS basados en IA, Inteligenica Artificial, así comopor el desarrollo de sistemas de seguridad de comunicaciones diseñados con laseguridad como característica fundamental, como es el caso de IPv6.

La incroporación y el desarrollo de las denominadas redes inteligentes po-dría dificultar considerablemente las actividades de los hackers.

El Instituto Tecnológico de Georgia, EE.UU., trabaja en un proyecto dedesarrollo de redes neuronales, que probablemente aumentará la seguridad deltráfico digital. El término red neuronal refleja una de las técnicas empleadasen el área de la inteligencia artificial dentro de la computación. Ésta pretendereproducir el funcionamiento de aprendizaje y reconocimiento de las neuronasdel cerebro humano, que aprenden de la experiencia, creando conexiones entrelas distintas áreas del conocimiento.

Con todo, cabe precisar que no se trata de redes que estén en condicionesde pensar, sino de sistemas capaces de identificar patrones en el flujo digital yaprender de los intentos de intrusión.

Page 192: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

176 CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]

Hoy en día los administradores de sistemas deben actualizar manualmentesistemas de protección de las redes contra los ataques informáticos, ya queaparecen nuevas vulnerabilidades y técnicas de ataque con demasiada frecuen-cia. Con la incorporación de redes inteligentes se hará más previsible y fácilla contención de los intrusos.

Tales redes estarán incluso en condiciones de detectar máquinas que moni-torizan ilegalmente el tráfico de la red para captar y apoderarse de información,es decir, sniffers. La novedad es que las redes neuronales detectarán tipo demáquinas sin que sus operadores se percaten.

Las implicaciones de nueva versión de IP, IPv6 o IP Next Generation, enel área de las VPNs es realmete importante, y facilitará su expansión. Debepartirse de la base de que el protocolo IPSec fue diseñado inicialmente paraesta versión de IP, portándose posteriormente a la versión IPv4, ofreciendoasí la posibilidad de trabajar en tráfico IP encriptado. Actualmente, los fa-bricantes de productos para VPNs aceptan que los sistemas no disponen deuna implementación de la pila TCP/IP basada en la versión 6, por lo que seemplean modificaciones sobre las implementaciones actuales de la versión 4.

El IP Forum encargado de generar las especificaciones del protocolo y de suevolución futura tiene entre sus filas a los grandes fabricantes en el mundo delas redes: Cisco, 3Com, Microsoft, MCI, Worldcom, Nokia, British Telecom,Siemens, otros.

5.7 Conclusiones

La seguridad de las redes de comunicaciones, y concretamente de Internet,evoluciona a pasos agigantados cada minuto que transcurre. Nuevas vulne-rabilidades y utilidades, tanto para explotarlas como para combatirlas, sondistribuidas públicamente en la red.

La información disponible al respecto es inmanejable, por lo que el diseñode un sistmea de seguridad debe basarse en la fortaleza de las tecnologíasempleadas, y no en la ocultación de las mismas: “security thorugh obscurity”.

El protocolo TCP/IP sufre algunos problemas de seguridad por las carac-terísitcas intrínsecas de su diseño, los cuales han sido ampliamente analizadosa lo largo de los años. La nueva versión de IP, versión 6, se diseñó con laseguridad en mente, de ahí la aparición del estándar IPSec, que junto a otras

Page 193: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

5.7. CONCLUSIONES 177

tecnologías, como las infraestructuras de clave pública, PKIs, permiten con-trolar y disolver muchas de las vulnerabilidades presentadas a lo largo de estecapítulo.

Asimismo, se puede concluir que la seguridad de una red no se basa enuna técnica única exclusivamente, como promulga la idea errónea de securizaruna red mediante un firewall, sino que viene reforzada por la utilización demultitud de tecnologías que permiten monitorizar y gestionar cada uno de losaspectos críticos de la red: encriptación, IDSs, firewalls, software específico deseguridad, protocolos seguros (SSL, SSH, IPSec), PKIs....

Lo que es más, mediante el uso exclusivo de las tecnologías mencionadasno es posible asegurar la seguridad de la red. Para ello es necesario a su vezdisponer de procedimientos y políticas adecuadas que permitan concientizar alos usuarios y administradores de los sistemas informáticos, así como facilitarla aplicación de análisis y controles exhaustivos en la propia red y los elementosque la componen.

Es por tanto necesario dedicar tiempo y esfuerzo a evolucionar la red haciaun entorno seguro, siendo necesario mantenerse actualizado (preferiblementede forma automática, por ejemplo, mediante listas de distribución) de losavances que se ralizan en este campo, así como de los nuevos avisos, vulnera-bilidades y tecnologías que salen a la luz.

El objetivo final es asegurar ciertas características en las comunicaciones,como son, la autenticidad, la integridad de la información, la privacidad oconfidencialidad, el no repudio, el control de acceso a la información...

Finalmete,cabe concluir con una reflexión al respecto de la seguridad: elesfuerzo dedicado a la protección de un entrono debe ser directamente pro-porcional al valor de su contenido. Debido a que toda vulnerabilidad posee,más tarde o más temprano, su correspondiente protección, la vertiginosa ca-rrera en la que la seguridad de las redes se debate actualmente, se centra enel mantenimiento constante y actualizado de las protecciones necesarias paraevitar las vulnerabilidades existentes y ya conocidas.

Page 194: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 195: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 6

Sistema de Autoevaluación:Análisis y Desarrollo.

6.1 Análisis

Se ha realizado un análisis para el desarrollo adecuado del trabajo realizado.

Este análisis utilizó como metodología la de UML ( Lenguaje Unificado deModelado), y la herramienta elegida fue Entreprise Architect.

Se amplian en las siguientes secciones la definición de UML, y se agregancontenidos de la herramienta CASE seleccionada.

6.1.1 UML (Lenguaje Unificado de Modelado)

¿Qué es UML?

El Lenguaje Unificado de Modelado preescribe un conjunto de notaciones ydiagramas estándar para modelar sistemas orientados a objetos, y describe lasemántica escencial de lo que estos diagramas y símbolos significan.

Mientras que han habido muchas notaciones y métodos usados para eldiseño orientado a objetos, ahora los modeladores sólo tienen que aprenderuna única notación.

179

Page 196: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

180 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

UML se puede usar para modelar distintos tipos de sistemas: sistemas desoftware, sistemas de hardware, y organizaciones del mundo real.

UML ofrece nueve diagramas en los cuales modelar: sistemas.

• Diagramas de Casos de Uso para modelar los procesos “business”.

• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.

• Diagramas de Colaboración para modelar interacciones entre objetos.

• Diagramas de Estado para modelar el comportamiento de los objetos enel sistema.

• Diagramas de Actividad para modelar el comportamiento de los Casosde Uso, objetos u operaciones.

• Diagramas de Clases para modelar la estructura estática de las clases enel sistema.

• Diagramas de Objetos para modelar la estructura estática de los objetosen el sistema.

• Diagramas de Componentes para modelar componentes.

• Diagramas de Implementación para modelar la distribución del sistema.

UML es una consolidación de muchas de las notaciones y conceptos másusadas orientados a objetos. Empezó como una consolidación del trabajo deGrade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de lasmetodologías orientadas a objetos más populares.

En 1996, el Object Management Group (OMG), un pilar estándar para lacomunidad del diseño orientado a objetos, publicó una petición con propósitode un metamodelo orientado a objetos de semántica y notación estándares.

UML, en su versión 1.0, fue propuesto como una respuesta a esta peticiónen enero de 1997. Hubo otras cinco propuestas rivales. Durante el transcursode 1997, los seis promotores de las propuestas, unieron su trabajo y presen-taron al OMG un documento revisado de UML, llamado UML versión 1.1.Este documento fue aprobado por el OMG en Noviembre de 1997. El OMGllama a este documento OMG UML versión 1.1. Así comenzó UML a ocuparsu lugar en la sociedad del diseño orientado a objetos mejorando su versióngradualmente.

Page 197: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.1. ANÁLISIS 181

UML ofrece notación y semántica estándar

UML es un lenguaje gráfico para visualizar, especificar, construir y documentarun sistema.

Previamente, un diseño orientado a objetos podría haber sido modeladocon cualquiera de la docena de metodologías populares, causando a los reviso-res tener que aprender las semáticas y notaciones de la metodología empleadaantes que intentar entender el diseño en sí.

Ahora con UML, diseñadores diferentes modelando sistemas diferentes pue-den sobradamente entender cada uno los diseños de los otros.

UML no es un Método

Aun así, UML no preescribe un proceso o método estándar para desarrollarun sistema. Hay varias metodologías existentes; entre las más populares seincluyen las siguientes:

• Catalysis: Un método orientado a objetos que fusiona mucho del tra-bajo reciente en métodos orientados a objetos, y además ofrece técnicasespecíficas para modelar componentes distribuidos.

• Objetory: Un método de Caso de Uso guiado para el desarrollo, creadopor Ivar Jacobson.

• Shlaer/Mellor : El método para diseñar sistemas de tiempo real, puestoen marcha por Sally Shlaer y Steven Mellor, quienes continúan actuali-zando su método continuamente.

• Fusion: Desarrollado en Hewlett Packard a mediados de los noventa co-mo primer intento de un método de diseño orientado a objetos estándar.Combina OMT y Booch con tarjetas CRC y métodos formales.

• OMT : La Técnica de Modelado de Objetos fue desarrollada por JamesRumbaugh y otros, y publicada en el libro de gran influencia “Diseñoy Modelado Orientado a Objetos”. Un método que propone análisis ydiseño “iterative”, más centrado en el lado del análisis.

• Booch: Parecido al OMT, y también muy popular.

Page 198: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

182 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Además, muchas organizaciones han desarrollado sus propias metodologíasinternas, usando diferentes diagramas y técnicas con orígenes varios.

Ejemplos son el método Catalyst por Computer Sciences Corporation (CSC)o el Worlwide Solution Design and Delivery Method (WSDDM) por IBM. Es-tas metodologías difieren, pero generalmente combinan análisis de flujo detrabajo, captura de los requisitos, y modelado de negocio con modelado dedatos, con modelado de objetos usando varias notaciones (OMT, Booch, etc),y algunas veces incluyendo técnicas adicionales de modelado de objetos co-mo Casos de Uso y tarjetas CRC. La mayoría de estas organizaciones estánadoptando e incorporando el UML como la notación orientada a objetos desus metodologías.

Algunos modeladores usarán un subconjunto de UML para modelar “whatthey’re after”, por ejemplo simplemente el diagrama de clases, o solo los dia-gramas de clases y de secuencia con Casos de Uso. Otros usarán una switemás completa, incluyendo los diagramas de estado y actividad para modelarsistemas de tiempo real, y el diagrama de implementación para modelar sis-temas distribuidos. Aun así, otros no estarán satisfechos con los diagramasofrecidos por UML, y necesitarán extender UML con otros diagramas comomodelos relacionales de datos y “CRC cards”.

Una vuelta por un caso de uso

Una vez más, UML es una notación, no un método.

UML por incluir los diagramas de casos de uso, se le considera estar dotadode una aproximación al diseño centrada en el problema con los casos de uso.El Diagrama de Caso de Uso nos da el punto de entrada para analizar losrequisitos del sistema, y el problema que necesitamos solucionar.

Modelado de Casos de Uso El modelado de Casos de Uso es la técnicamás efectiva y a la vez la más simple para modelar los requisitos del sistemadesde la perspectiva del usuario. Los Casos de Uso se utilizan para modelarcómo un sistema o negocio funciona actualmente, o cómo los usuarios deseanque funcione. No es realmente una aproximación a la orientación a objetos; esrealmente una forma de modelar procesos.

Es, sin embargo, una manera muy buena de dirigirse hacia el análisis de

Page 199: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.1. ANÁLISIS 183

sistemas orientado a objetos. Los casos de uso son generalmente el punto departida del análisis orientado a objetos con UML.

El modelo de casos de uso describe la funcionalidad propuesta del nuevosistema. Un caso de uso representa una unidad discreta de interacción entreun usuario (humano o máquina) y el sistema.

Es una unidad simple de trabajo significativo; por ejemplo, “Registrarse enel sistema”, “Logearse en el Sistema”, “Modificar Preguntas‘ son todos casosde uso.

Actores: Un actor es un usuario del sistema. Incluye usuarios humanos yotros sistemas computarizados. Un actor usa un caso de uso para desempeñaralguna porción de trabajo que es de valor para el negocio. El conjunto decasos de uso al que un actor tiene acceso define su rol global en el sistema yel alcance de su acción.

Incluye:

— Pre-condiciones que deben ser verdaderas antes de que el caso deuso se ejecute, por ejemplo, “Registrarse en el Sistema” debe pre-ceder a “Modificar Preguntas”.

— Post-condiciones que deben ser verdaderas una vez que el caso deuso se ejecutó, por ejemplo “La pregunta ha sido modificada”.

Organización de Diagramas de Casos de Uso Durante el análisis denegocio (business) del sistema, se puede desarrollar un modelo de caso de usopara este sistema, y construir paquetes para representar los varios dominiosde negocio (business) del sistema.

Se puede descomponer cada paquete con un Diagrama de Caso de Uso quecontenga los Casos de Uso de un dominio, con interacciones de actor.

Analizando el sistema de autoevaluación, consideramos al profesor y alalumno como los actores, en esta situación el diagrama se presentaría segúnla figura 6.1 de la página 182

Cada caso de uso para un actor se presentaría como en la figura 6.2 de lapágina 182 lo muestra para el profesor, donde el caso de uso es “Registrarseen el Sistema”.

Page 200: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

184 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.1: Diagrama de Casos de Uso-Actores

Figura 6.2: Diagramas de Casos de Uso-Caso de Uso

Page 201: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.1. ANÁLISIS 185

Figura 6.3: Entreprise Architect

6.1.2 Herramienta CASE (Ingeniería de Software Asistida porComputador): Entreprise Architect

Figura 6.3 de la página 183.

Es una herramienta que combina el poder de la última especificación UML2.1 con alto rendimiento, interfaz intuitiva, para traer modelado avanzado alescritorio, y para el equipo completo de desarrollo e implementación. Presentaun amplio conjunto de caracterísitcas.

Enterprise Architect complementa a un equipo de trabajo, como ser analis-tas, evaluadores, administradores de proyectos, personal del control de calidad,equipo de desarrollo y otros.

Sus principales características:

• Alta capacidad

Enterprise Architect es una herramienta comprensible de diseño y análisisUML, cubriendo el desarrollo de software desde el paso de los requerimientos através de las etapas del análisis, modelos de diseño, pruebas y mantenimiento.EA es multi-usuario.

Diseñada para ayudar a construir software robusto y fácil de mantener.Ofrece salida de documentación flexible y de alta calidad. El manual de usuarioestá disponible en línea.

• Velocidad, estabilidad y buen rendimiento

Page 202: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

186 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

El Lenguaje Unificado de Modelado provee beneficios significativos paraayudar a construir modelos de sistemas de software rigurosos y donde es posiblemantener la trazabilidad de manera consistente. Enterprise Architect soportaeste proceso en un ambiente fácil de usar, rápido y flexible.

• Trazabilidad de extremo a extremo

Enterprise Architect provee trazabilidad completa desde el análisis de re-querimientos hasta los artefactos de análisis y diseño, a través de la imple-mentación y el despliegue. Combinados con la ubicación de recursos y tareasincorporados, con esto las áreas de Administradores de Proyectos y Calidad es-tarías contarían con la información que ellos necesitan para entregar proyectosen tiempo y forma.

• Construido sobre las bases de UML 2.1

Las bases de Enterprise Architect están construidas sobre la especificaciónde UML 2.0 y usa sus perfiles para extender el dominio de modelado, mien-tras que la Validación del Modelo asegura integridad. Combina Procesos deNegocio, Información y Flujos de trabajo en un modelo.

• Soporte para los todos diagramas de UML.

— Diagramas Estructurales:

∗ Clase∗ Objecto∗ Compuesto∗ Paquete∗ Componente∗ Despliegue

— Diagramas de Comportamiento:

∗ Casos de Uso∗ Comunicación

∗ Secuencia∗ Descripción de la Interacción

Page 203: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.1. ANÁLISIS 187

Figura 6.4: Actor-Enterprise Arquitect

∗ Actividad

∗ Estado

∗ Tiempo

— Extendidos:

∗ Análisis (actividad simple)

∗ Personalizado (para requisitos, cambios, UI)

Es una herramienta que ayuda a administrar la complejidad con otras he-rramientas para rastrear las dependencias, soporte para modelos muy grandes,Líneas Base por cada punto del tiempo.

Entreprise Architect diagramando un Caso de Uso

Los actores se representan como muñecos, figura 6.4 de la página 185. Loscasos de uso en elipses, figura 6.5 de la página 186

Cada caso de uso tiene una descripción que describe la funcionalidad quese construirá en el sistema propuesto. Un caso de uso puede “incluir” lafuncionalidad de otro caso de uso o “extender” a otro caso de uso con supropio comportamiento.

Un Caso de Uso puede incluir la funcionalidad de otro como parte de suprocesamiento normal.

Generalmente se asume que los casos de uso incluidos se llamarán cada vezque se ejecute el camino base.

Page 204: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

188 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.5: Caso de Uso-Enterprise Arquitect

Un ejemplo puede ser un profesor que intentará modificar las preguntasde un exámen si se ha logeado en el sistema, en esta situaciòn el Caso deUso “Modificar preguntas” estará incluido en el Caso de Uso “Logear en elSistema”.

Un Caso de Uso puede ser incluido por uno o más casos de uso, ayudandoasí a reducir la duplicación de funcionalidad al factorizar el comportamientocomún en los casos de uso que se reutilizan muchas veces.

Un Caso de Uso puede extender el comportamiento de otro Caso de Uso;típicamente cuando ocurren situaciones excepcionales.

Por ejemplo, si el profesor desea consultar estadísticas de exámenes apro-bados deberá primero “Consultar Estadísticas”.

Observando el análisis del sistema de autoevaluación el Diagrama de Casosde Uso según la Enterprise Architect se ve como lo muestra la figura 6.6 de lapágina 187

6.2 Desarrollo: Sistema de Autoevaluación sobreTCP/IP

Para realizar el desarrollo de este trabajo se utilizó un software de base, pre-viamente estudiado; que permite dasarrollar aplicaciones de tipo Web multi-plataforma con acceso a base de datos.

Esta aplicación Web se refiere a la autoevaluación de alumnos sobre temasreferidos a TCP/IP, siendo éste el protocolo de comunicación más importante

Page 205: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP189

Figura 6.6: Diagrama de Casos de Uso-Enterprise Architect

Page 206: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

190 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

de la red.

Esta autoevaluación consistirá en cuestionarios tipo multiplechoise relacio-nados con temas sobre el protocolo de comunicación TCP/IP contenidos en laaplicación, lo que nos permite definir a este trabajo también como Aplicaciónbasada en e-learning.

De esta manera se pretende que el alumno amplíe o adquiera conocimien-tos sobre el protocolo y pueda autoevaluar el nivel de éstos, registrando yorganizando la información en el momento del examen, de manera eficiente enuna base de consulta para el alumno y el profesor, quien podrá observar así elnivel del alumno, en cada tema evaluado.

La Aplicación fue desarrollada en Java, correrá en la plataforma Windowsmediante el uso de software multiplataforma.

La página principal de la Aplicación se muestra en la figura 6.7 de la página189

6.2.1 Módulos del Sistema de Autoevaluación

El sistema consiste básicamente en cinco módulos bien definidos:

1. Alumnos.

2. Profesores.

3. Evaluación.

4. Apuntes.

El módulo de Alumnos

Contiene las opciones necesarias para el tratamiento específico de cada alumno,se haya registrado en el sistema o no.

Estas opciones tienen el siguiente tratamiento en el sistema:

• Identificación del Alumno: Se refiere a la página donde el alumno debeingresar su libreta universitaria para que se pueda verificar si existe ono.

Page 207: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP191

Figura 6.7: Sistema de Autoevaluación-Página Principal

Page 208: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

192 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.8: Alumno-Identificación

• Alta del alumno: Permite dar de alta un nuevo alumno y registrar losdiferentes datos personales que le corresponden. Se accede a esta páginamediante el ingreso previo de la libreta universitaria y luego de la opciónaceptar.

— Ingreso del Alumno: Consiste en que un vez validado el número delibreta universitaria previamente ingresado, se le permite accederal sistema, sólamente ingresando una clave.

En la figura 6.8de la página 190 se observa la identificación del alumno.

Page 209: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP193

Figura 6.9: Profesor-Identificación

El módulo del Profesor

Utilizado por el mismo profesor para la consulta de los exámenes, aprobadoso no; y la observación inmediata de estos resultados. Figura 6.9de la página191, figura 6.10de la página 192

Destinado también al tratamiento de los cuestionarios que formarán par-te de las autoevaluaciones de los alumnos, con respecto a esto; la actividadconsiste en:

• Alta: Permite agregar una pregunta a la vez por tema, con sus respec-tivas respuestas opcionales, también se debe indicar cuál es la respuestacorrecta. Mediante la opción Aceptar, se carga a la base de datos.

• Modificación: Permite seleccionar la pregunta a modificar y luego da laopción de modificar la pregunta, las respuestas, o cambiar cuál respuestaes la correcta. Figura 6.11de la página193

Page 210: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

194 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.10: Profesor-Ingreso de Datos

Page 211: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP195

Figura 6.11: Profesor-Modificación de Preguntas

• Baja: Permite seleccionar la pregunta a eliminar y luego da la opciónde confirmar la eliminación de esa pregunta. Sólo permite eliminar unapregunta a la vez, con todas sus respuestas.

En la figura 6.12de la página 194,se muestra la página donde el profesorelige el tratamiento para cada pregunta.

El Módulo de Evaluación

En este módulo el alumno selecciona el tema en el que se autoevaluará, segúnel nivel que considere en relación a su conocimiento. Figura 6.13de la página6.13

Page 212: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

196 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.12: Profesor-Tratamiento de Preguntas

Page 213: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP197

Figura 6.13: Evaluación-Elección de tema

Page 214: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

198 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.14: Autoevaluación-Multiplechoise

Una vez seleccionado el tema el alumno accede a la página de la autoe-valuación propiamente dicha donde encontrará el cuestionario y un timer queexpira a los 20 minutos de haber comenzado el examen. Figura 6.14de lapágina 196

El sistema corrige su autoevaluación y visualiza el resultado, según la figura6.15 de la página 197

El Módulo de Apuntes

Aquí, se le brinda al alumno la posibilidad ampliar conocimientos sobre elprotocolo, o bien; fijar los que ya tenga incorporados para autoevaluarse conun mejor resultado. Figura 6.16 de la página 198

Page 215: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP199

Figura 6.15: Autoevaluación-Resultado del Exámen

Page 216: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

200 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

Figura 6.16: Apuntes-Temas

Page 217: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP201

Los temas a los que puede acceder son cinco y a cada uno se le ha asignadoun nivel, para que; quien desea evaluarse en alguno de ellos conozca el gradode dificultad del examen.

6.2.2 Estructuras de Datos Utilizadas

Las estructuras utilizadas por la aplicación y las distintas tablas utilizadas sedan a conocer en esta sección, las mismas hacen uso del motor de base de datosmultiplataforma DB2 UDB.

Tablas

• Alumno: Contiene la información necesaria referente a los alumnos re-gistrados en el sistema. Está compuesta por los siguientes campos dedatos:

— LU: Contiene el número de libreta universitaria del alumno, que elsistema utiliza de

— clave.

— CLAVE: Contiene el número de clave elegido por el alumno para elingreso al sistema.

— APELLIDO: Contiene el apellido del alumno.

— NOMBRE: Contiene el nombre del alumno.

— MAIL: Contiene la dirección de correo electrónico del alumno.

• Evaluación: Contiene la información referente a las evaluaciones reali-zadas en el sistema. Está compuesta por los siguientes campos de datos:

— CODEVAL: Contiene un número autogenerado para las evaluacio-nes, que es utilizado

— de clave por el sistema.

— LU: Contiene el número de libreta universitaria del alumno.

— FECHAHORA: Contiene la fecha y hora en que se realizó la autoe-valuación.

— NOTA: Contiene la nota obtenida por el alumno en dicha evalua-ción.

Page 218: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

202 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

— TEMA: Contiene el tema en el que el alumno se autoevalúo.

• Pregunta: Contiene la información referente a las distintas preguntas autilizar en los cuestionarios. Está compuesta por los siguientes campos

de datos:

— CODPREG: Contiene un número autogenerado para las preguntas,que es utilizado de clave por el sistema.

— CODTEMA: Contiene el número de tema al que corresponde lapregunta.

— DESC_PREG: Contiene la descripción de la pregunta.

• Profesor : Contiene la información necesaria referente a los profesoresque utilizarán la aplicación. Está compuesta por los siguientes camposde datos:

— USUARIO: Contiene el nombre del usuario, que en este caso es elprofesor.

— CLAVE: Contiene el número de clave elegido por el profesor parael ingreso al sistema.

— COD_PROF: Contiene un código autogenerado para el profesor,que el sistema utiliza de clave.

• Respuesta: Contiene la información referente a las respuestas opciona-les de cada pregunta que podría utilizarse en los cuestionarios. Estácompuesta por los siguientes campos de datos:

— CODRESP: Contiene un número autogenerado para las distintasrespuestas, que el sistema

— utiliza de clave.

— CODPREG: Contiene el número correspondiente a la pregunta a lacual pertenece la

— respuesta.

— DESC_RESP: Contiene la descripción de la respuesta.

— CORRECTA: Contiene la información sobre si la respuesta es co-rrecta o no.

Page 219: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP203

• Resultado: Contiene la información referente a los resultados obtenidospor cada alumno durante la autoevaluación. Está compuesta por lossiguientes campos de datos:

— CODRES: Contiene un número autogenerado para los resultadosobtenidos por los alumnos,

— que utiliza de clave el sistema.

— LU: Contiene el número de libreta universitaria del alumno.

— FECHA: Contiene la fecha en que se realizó la autoevaluación com-pleta, inculyendo la cantidad de temas solicitados por la cátedra.

— CANT_TEMA: Contiene la cantidad de temas en los que el alumnose evalúo.

— PROMEDIO: Contiene el promedio total obtenido por el alumnoalautoevaluarse de manera completa en la asignatura.

• Tema: Contiene la información referente a los distintos temas que con-forman siguientes campos de datos:

— CODTEMA: Contiene el número de tema que le corresponde dentrode la asignatura.

— DESC_PREG: Contiene la descripción de el tema.

• Resultado: Contiene la información referente a los resultados obtenidospor cada alumno durante la autoevaluación. Está compuesta por lossiguientes campos de datos:

— CODRES: Contiene un número autogenerado para los resultadosobtenidos por los alumnos, que utiliza de clave el sistema.

— LU: Contiene el número de libreta universitaria del alumno.

— FECHA: Contiene la fecha en que se realizó la autoevaluación com-pleta, inculyendo la cantidad de temas solicitados por la cátedra.

— CANT_TEMA: Contiene la cantidad de temas en los que el alumnose evalúo.

— PROMEDIO: Contiene el promedio total obtenido por el alumnoalautoevaluarse de manera completa en la asignatura.

Page 220: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

204 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

6.2.3 Código Fuente Utilizados: Ejemplos

Servlets

A continuación se transcribe un ejemplo de Servlet utilizado por la aplicación,el mismo realiza una operación de alta para el alumno.

package alumnos;

// Importación de librerías necesarias

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import utilidades.Paginas;

import java.sql.*;

public class AltaAlumno extends HttpServlet {

Connection conn;

private int longitudlu;

/*

* En el método Init se realizará la conexión a la BD

* por lo que las peticiones no producirán ningun retardo de conexión

*/

public void init(ServletConfig cf) throws ServletException {

super.init(cf);

// Se carga el driver a continuación

try {

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

}catch (ClassNotFoundException e) {

Page 221: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP205

System.out.println(“Imposible encontrar el driver:” +

e.getMessage());

}

//Se intenta realizar la conexión a la base de datos

try {

conn = DriverManager.getConnection(“jdbc:odbc:tcp”);

}catch (SQLException e) {

System.out.println(“Imposible crear conexion:” + e.getMessage());

}

}// fin init

/*

* En el metodo destroy() una vez que el servlet se esta apagando,

desconectaremos

* de la base de datos

*/

public void destroy() {

super.destroy();

//Llamada al destroy de la superclase

try {

conn.close();

}catch (SQLException e){

System.out.println(“Imposible cerrar conexion:” + e.getMessage());

}

} //fin destroy()

Page 222: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

206 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

/*

*Redefinimos el metodo doPost ya que las peticiones se realizaran por

ese metodo.

*/

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException, IOException {

String lu;

String nombre;

String apellido;

String direccion;

String telefono;

String email;

String dni;

//Obtenemos los valores de los parámetros

lu = request.getParameter(“lu”);

nombre = request.getParameter(“nombre”);

apellido = request.getParameter(“apellido”);

direccion = request.getParameter(“direccion”);

telefono = request.getParameter(“telefono”);

email = request.getParameter(“email”);

dni = request.getParameter(“dni”);

int longitudlu= lu.length();

if(telefono.equals(“”)){

telefono = “0”;

Page 223: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP207

}

int mail = email.length();

String arrova = “”;

for (int i = 1; i < mail ; i++) {

String caract = email.substring(i,i+1);

if (caract.equals(“@”)){

arrova= “Si”;

}

}

if (lu.equals(“”)) {

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

Page 224: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

208 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Debes ingresar tu Número de L.U. (Libreta Universitaria)</P>

<P align=center><IMG border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(”</HTML>”);

out.flush();

out.close();

}else if (longitudlu < 5){

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

Page 225: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP209

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>La longitud de tu L.U. (Libreta Universitaria) debe ser 5.</P>

<P align=center><IMG border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

Page 226: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

210 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“</HTML>”);

out.flush();

out.close();

}else if(nombre.equals(“”)){

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“<TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

Page 227: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP211

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Debes ingresar tu nombre.</P><P align=center><IMG border=0

src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

} else if(apellido.equals(“”)){

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(”<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

Page 228: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

212 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Debes ingresar tu apellido.</P><P align=center><IMG border=0

src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

} else if(direccion.equals(“”)){

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

Page 229: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP213

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>debes ingresar tu dirección.</P><P align=center><IMG border=0

src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

Page 230: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

214 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“</HTML>”);

out.flush();

out.close();

}else if (arrova.equals(“”)) {

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

Page 231: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP215

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Debes ingresar una dirección de correo válida.</P><P align=center><IMG

border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

}else if(lu.equals(“00000”)){

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

Page 232: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

216 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Debes ingresar un número de LU válido.</P><P align=center><IMG

border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

}else if(dni.equals(“”)){

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

Page 233: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP217

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Debes ingresar tu número de D.N.I..</P><P align=center><IMG

border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

Page 234: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

218 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“</HTML>”);

out.flush();

out.close();

}else {

try {

Statement sentencia = conn.createStatement();

ResultSet consulta = sentencia.executeQuery(“SELECT * FROM ALUMNOS WHERE

lu = “ +lu+””);

String valor=“”;

while (consulta.next()){

valor= consulta.getString(“lu”);

}

consulta.close();

sentencia.close();

if (valor.equals(“”)){

Statement alta = conn.createStatement();

int actualizacion = alta.executeUpdate(“insert into alumnos(dni,lu,nombre,apellido,domicilio,telefono,mail)

values(“+dni+”,“+lu+”,“‘+nombre+”’,“‘+apellido+”’,“‘+direccion+”’,“‘+telefono+”’,“‘+email+”’)”);

alta.close();

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

Page 235: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP219

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Actualización Exitosa!!</P><P align=center><IMG border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

out.flush();

Page 236: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

220 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.close();

}else{

PrintWriter out = response.getWriter();

//Devolvemos una pagina de error

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

out.println(“<TABLE border=0>”);

out.println(“ <TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“<TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“ </TR>”);

out.println(“ </TBODY>”);

Page 237: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP221

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Ya te has registrado.</P><P align=center><IMG border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

out.flush();

out.close();

}

}catch (Exception e) {

System.out.println(“Error en la actualización”+ e.getMessage());

PrintWriter out = response.getWriter();

out.println(“<HTML>”);

out.println(“<META http-equiv=Content-Type”);

out.println(“ content=text/html; charset=WINDOWS-1252>”);

out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);

out.println(“<META http-equiv=Content-Style-Type content=text/css>”);

out.println(Paginas.estilo1());

out.println(“ type=text/css>”);

out.println(“<TITLE>temas.html</TITLE>”);

out.println(“</HEAD>”);

out.println(“<BODY>”);

out.println(“<DIV align=center>”);

Page 238: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

222 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

out.println(“<TABLE border=0>”);

out.println(“<TBODY>”);

out.println(“ <TR>”);

out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);

out.println(“ height=70></TD>”);

out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);

out.println(“ height=44></TD>”);

out.println(“</TR>”);

out.println(“</TBODY>”);

out.println(“</TABLE>”);

out.println(“</DIV>”);

out.println(“<P align=center><BR>”);

out.println(“<BR>Error de Sistema</P><P align=center><IMG border=0 src=imag/error.gif”);

out.println(“ width=51 height=57></P>”);

out.println(“</BODY>”);

out.println(“</HTML>”);

}

}

}

}

A continuación se transcribe el código HTML, correspondiente a una delas páginas que componen el sistema. La misma muestra una página donde elalumno puede elegir el tema en el que desea autoevaluarse.

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

<HTML>

Page 239: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP223

<HEAD>

<META http-equiv=“Content-Type”

content=text/html; charset=WINDOWS-1252”>

<META name=“GENERATOR” content=”IBM WebSphere Studio”>

<TITLE>alumnos.html</TITLE>

<LINK rel=“stylesheet” href=“../estilo/tcp.css” type=”text/css”>

</HEAD>

<BODY onload=“form.nombre.focus()”>

<P align=“center”><IMG border=”0” src=”../Imagenes/datosalu.gif” width=“257”

height=“34”></P>

<BLOCKQUOTE>

<DIV align=“center”>

<FORM method=“post” action=“/Silvana/AltaAlumno“ name=form>

<TABLE border=“0”>

<TBODY>

<TR>

<TD align=“right”>Nombre:</TD>

<TD><INPUT type=“text” size=“30” width=“15” name=“nombre”></TD>

<TD rowspan=“8” valign=“top”><IMG border=“0”

src=“../imagInternet/teclado.jpg” width=“197” height=“177”></TD>

</TR>

<TR>

<TD align=“right”>Apellido:</TD>

<TD><INPUT type=“text” size=“30” maxlength=“20” name=“apellido”></TD>

Page 240: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

224 CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA

</TR>

<TR>

<TD align=“right”>D.N.I. No:</TD>

<TD><INPUT type=“text” size=“30” maxlength=“10” name=“dni”></TD>

</TR>

<TR>

<TD align=“right”>L.U. No:</TD>

<TD><INPUT type=“text” size=“30” maxlength=“5” name=“lu”></TD>

</TR>

<TR>

<TD align=“right”>Dirección:</TD>

<TD><INPUT type=“text” size=“30” name=“direccion”></TD>

</TR>

<TR>

<TD align=“right”>Teléfono:</TD>

<TD><INPUT type=“text” size=“30” name=“telefono”></TD>

</TR>

<TR>

<TD align=“right”>E-Mail:</TD>

<TD><INPUT type=“text” size=“30” width=“21” name=“email”></TD>

</TR>

<TR>

<TD align=“center”></TD>

<TD align=“center”>

Page 241: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

6.2. DESARROLLO: SISTEMADEAUTOEVALUACIÓN SOBRETCP/IP225

<INPUT type=“submit” name=“aceptar”

value=“Enviar”>

</TD>

</TR>

</TBODY>

</TABLE>

</FORM>

</DIV>

</BLOCKQUOTE>

</BODY>

</HTML>

Estos son sólo fragmentos, el código completo se encuentra en los DVDadjuntos.

Page 242: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad
Page 243: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Capítulo 7

Conclusión

7.1 Conclusiones del Trabajo realizado

Cabe concluir este trabajo haciendo referencia a la importancia en la red deTCP/IP, para las comunicaciones entre sistemas informáticos.

Este protocolo constituye, actualmente; la infraestructura tecnológica másextendida y desarrollada sobre la que circulan las comunicaciones electrónicas(datos, voz, multimedia...).

Esta importancia se ha intentado destacar en capítulos de este documen-to, sin omitir su falencia con respecto a la seguridad, a la que se ha hechoreferencia para despertar conciencia a usuarios y administradores informáti-cos sobre asegurar ciertas características en las comunicaciones, como son: laautenticidad, la integridad de la información, la privacidad y confidencialidad,el control de acceso a la información; por esto la necesidad de dedicar tiempo yesfuerzo a evolucionar la red hacia un entorno seguro, siendo vital mantenerseactualizado a diario en los avances realizados en este campo de la informática.

Para esta aplicación se ha realizado un análisis con Diagramas de Casosde Uso (metodología UML), utilizando Enterprise Architect como herramientaCASE, los cuales se han aprendido a manejar para este trabajo comprobandoque su implementación hace más sencillo el desarrollo.

Con respecto a las tecnologías y software utilizados se ha podido compro-bar sus potenciales beneficios con respecto al soporte multiplataforma, indis-

227

Page 244: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

228 CAPÍTULO 7. CONCLUSIÓN

pensables por su eficiencia y rapidez al momento de desarrollar la aplicacióncon WebSphere Application Developer v.5.0 y DB2 UDB WorkGroup ServerEdition v.8.1, bajoWindows XP Service Pack 2, utilizando Java 1.5, para im-plementarla en entorno Windows.

Java sirve para crear todo tipo de aplicaciones (locales, Intranet o In-ternet), y las facilidades en el desarrollo de sus aplicaciones para entornosmultiplataforma se ha apreciado en este trabajo.

Se ha comprobado además que el motor de base de datos ha permitidorespaldos en línea sin que la disponibilidad de acceso se vea afectada, estogracias a su escalabilidad, integridad y seguridad.

Se debe hacer mención a la facilidad de manejo de Scientific WorkPlacepara redactar un libro, por la automatización en el manejo de estructucaspropias como índices, gestión dinámica de espacios, imágenes y referenciasbibliográficas y de figuras.

7.2 Líneas Futuras de Acción

Se pretende que el presente trabajo sea utilizado como punto de partida para:

• Incorporar otras metodologías de autoevaluación.

• Profundizar el análisis de gestión.

• Incorporar criptografía en la gestión de claves, esquematizando la segu-ridad.

• Desarrollar nuevas páginas para el ingreso de comentarios del alumno.

• Incorporar links específicos a sitios relacionados con TCP/IP.

• Incorporar links que permitan observar los libros sobre el protocolo y laposibilidad de comprarlos.

Page 245: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Bibliografía

[1] V. Yague Galaup; L. Joyanes Aguilar A. González del Alba Baraja. Im-pacto de las Tecnologías en la Gestión Internacional de Sociedad de laInformación en II Congreso Internacional de Sociedad de la Informacióny del Conocimiento. Mc Graw Hill, España, 2003.

[2] L. Joyanes Aguilar. Educación e Internet- 1ra. Edición. Santillana, Es-paña, 1999.

[3] IBM Red Books. TCP/IP Tutorial and Technical Overview-7 ma-Edición.USA, 2001.

[4] Celeste Campo. TCP Avanzado-Universidad Carlos III-Dpto de Ingenie-ría Telemática. España, 2000.

[5] D. E. Comer. Internet Working with TCP/IP Vol I: Principles, Protocols,and Architecture - 4ta. Edición. Prentice Hall International, USA, 2000.

[6] D. L. Stevens D. E. Comer. Internetworking with TCP/IP Vol. II ANSI CVersion Design, Implementaction, and Internals - 3ra. Edición. PrenticeHall, USA, 1999.

[7] R. E. Droms D. E. Comer. Computers Networks and Internets, withInternet Applications - 4ta. Edición. Prentice Hall, USA, 2003.

[8] S. Rios Aguilar J. M. Saiz Alvarez M. Lombardo Enriquez, L. Joya-nes Aguilar. Gestión e Informática "Orientada al Conocimiento"en losModelos de Comercio Electrónico. La Salle, España, 2002.

[9] Raúl Siles Pelaez. Análisis de Seguridad de la Familia de ProtocolosTCP/IP y sus Servicios Asociados-1 era-Edición. 1 era-Edición, España,2002.

[10] M. Schwartz. Redes de telecomunicaciones, Protocolos, Modelado yAnálisis- 1ra. Edición. Addison-Wesley Iberoamericana, México, 1994.

229

Page 246: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

230 BIBLIOGRAFÍA

[11] A. S. Tanenbaum. Redes de Computadoras - 4ta. Edición. Pearson Edu-cación, México, 2003.

Page 247: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

Índice de Materias

3Com, 1743com, 486Bone, 152

accesopolítica de control de, 65

ACK, 88, 89, 91, 92valor, 158

actividad piloto, 44ad-hoc, 23ADCCP, 82AH, 172AIX, 48, 79algoritmo dinámico, 130algoritmos de encaminamiento, 123alumno, 30alumnos, 26—28, 42ankle-biter, 153ANS, 10ANSI, 82antecedentes, 31aplicación

protocolos de, 52ApplicationSyntax, 69aprendizaje, 21

electrónico, 21—23, 32, 33Argentina, 35ARP, 104, 110, 138

concepto detallado de, 105generación del paquete, 105recepción del paquete, 107subredes, 108

ARPANET, 129, 135Arpanet, 1AS, 122, 129, 136AS/400, 48asíncrona, 26

tilde nanza, 26taller, 26

ASCII, 55, 57ASN, 8ASN.1, 68, 71, 77atomic, 155auditorías, 65aula

virtual, 27AUP, 9auto-configuración, 152auto-descubrimiento, 152autoformación, 26, 28

bdi, 97BGP, 132bit P/F, 83BITNET, 6

japonesa, 8blind spoofing, 163bogus flag probe, 158Booch, 179bridges, 48broadcast, 138buffer-overflow, 155, 171

capacitación, 34, 37

231

Page 248: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

232 ÍNDICE DE MATERIAS

caso de uso, 179, 180casos de uso

diagramas de, 178catalysis, 179CCICS, 80CCITT, 70CGI, 62, 64chat rooms, 28checksum, 121CICS, 80Cisco, 48, 171, 172, 174class, 118cliente/servidor, 50, 78CMIP, 74CMOT, 74composite, 156conclusiones, 174conexiones lógincas, 89content, 156context, 156cookies, 62, 63COPS, 166correo electrónico, 26crawlers, 62CRC

tarjetas, 179, 180CREN, 6CSNET, 6, 58CSO

directorios, 68cuenta hasta infinito, 125, 134culturas

organizacionales, 36Cypress, 6

DARPA, 53data, 120datafile, 97datagrama IP, 108datagramas, 66

DB2 UDB, 199default, 137desafío, 32destination, 136destination IP address, 118desventajas, 36DF, 116, 120DIG, 163, 171dir, 54dirección, 41dirección MAC, 152direccion IP, 83dispositivos de almacenamiento, 48DIX Ethernet, 105DL/WILL, 53DNS, 54, 55, 57, 85, 163, 171

arquitectura de, 55elementos de datos de, 56elementos de programas del, 55formato de un mensaje, 56funcionamiento del, 56

DNS-MX, 57DoD, 74dominio

nombre de, 56nombres de, 55

DON‘T/WON‘T, 53DOS, 53, 55DoS, 70, 172DPI de SNMP, 75DRI, 7DTDs, 64dual-stack, 153DV, 136

e-learning, 21, 34, 188E-Mail, 57EARN, 7EBONE, 3, 5echo reply, 161

Page 249: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

ÍNDICE DE MATERIAS 233

economía, 31global, 34

EGP, 70, 117, 122elementos

aprendizaje electronico, 33empleo del aprendizaje, 43empleos-país, 31encaminamiento, 49, 122

entre redes, 122encaminamiento directo, 137encaminamiento indirecto, 137tilde nanza a distancia, 25tilde nanza tradicional, 25tilde nanza virtual, 25enseñanza

virtual, 25Enterprise Architect, 183escaneo de puertos, 156, 158, 159ESP, 172estado del enlace, 122, 128Estados Unidos, 34estructura

interna, 50Ethernet, 169evaluación, 43EXMAScript, 65Extranets, 151

familia, 47fc, 118, 120feed-back, 30fiabilidad, 88ficheros, 53FIN, 93, 95fin probe, 158fingerd, 166fingerprinting, 155, 157, 167fingerprintings, 172firewalking, 159firewall, 160, 171, 175

Firewalls, 65firewalls, 48, 65, 154, 168

tipos de, 65flag RST, 102flags, 116, 142flujo, 117

control de, 52, 89FNM, 8fo, 120—122footprinting, 156, 163formación, 40fping, 161fragment offset, 117fragmentación, 113, 120FTP, 53, 66, 86, 92funet.fi, 68Fusion, 179

gestión de la fragmentación, 158gestión de red, 68gestión del conocimiento, 24get, 54GGP, 117GII, 10Goleen Gophers, 67GOPHER, 67gping, 161

hackers, 164, 173HAP, 7hash, 172HDLC, 82, 84header checksum, 117herramientas, 165hijanking, 163historia de las vulnerabilidades, 153HP, 48HP-UX, 48, 171HTML, 61—64HTTP, 61—63

Page 250: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

234 ÍNDICE DE MATERIAS

HTTPng, 63hubs, 48

IA, 173IAB, 70IANA, 11IBM, 4, 82IBM TN 3270, 53ICANN, 156ICMP, 117, 120, 135, 140, 156, 160,

166ICMP Assress Mask, 162ICMP Broadcast, 161ICMP echo, 161ICMP Information, 161ICMP integridad, 158ICMP message quoting, 158ICMP quenching, 158ICMP sweep, 161ICMP Timestamp, 161ID, 121identificación de sistema operativo,

159identificador de objetos, 69IDNX, 5IDS, 161, 167, 171, 173, 175IDs, 79, 154, 166IETF, 152, 173IGMP, 117IGP, 122IGPs, 128IKE, 164IM, 8insiders, 155instructor, 26, 27instructores, 26, 28Internet, 2, 21, 25, 32—35, 47—51,

53, 54, 58, 62, 65, 81, 88,130

acceso a, 61

comercial, 9Red, 27

InterNICdirecciones, 67

interredes, 1Intranets, 29, 35, 151IP, 47, 49, 55, 85, 88, 112, 117, 130

datagrama, 113, 120datagramas, 92dirección, 50, 56, 104direcciones, 56formato del datagrama, 114

IP bad headers fields, 162IP fragmentation, 162IP non-valid fiels values, 162IP Personality, 167IP soofing, 155IP spoofing, 170, 171IPSec, 164, 169, 171, 172, 174IPv6, 152, 166, 172—174IS

Information Services, 4ISN, 171isn sampling, 158ISO, 1, 8, 48, 51, 70, 82IT, 119, 141

James Rumbaugh, 179JAVA, 62, 64JavaScript, 64

L2TP, 173lamer, 153LANs, 81, 131, 138LCP, 84LEN, 114length, 120, 121, 139—142Linux, 48LiveScript, 64LM, 8

Page 251: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

ÍNDICE DE MATERIAS 235

LPP, 75LS, 136LSA, 129LSD, 128LSR, 119, 139, 140LSRR, 139Lucent, 48

métodos, 26formación, 32

métodos de aprendizaje, 24MA, 73MacOs, 48MBZ, 116MCI, 4, 174Merit, 4MF, 116mf, 121MIB, 69—71, 77Microsoft, 65, 174MIME, 58, 59, 62, 63modelo

C/S, 50monitorización

don´t fragment bit, 158MPLS, 152MSL, 101MSS, 93, 97MST, 129MTU, 120multiplexación, 89

N-1 net, 9NAGLE, 53NASDAQ, 154NAT, 152NCP, 1, 84NDB, 77NDIS, 144NE, 73

NE-NMS, 73NETCAT, 157Netscape, 64nettune, 171NFS, 79NIS, 79NMA, 71NMAP, 159, 168nmap, 161NMS, 71Nokia, 174Nort, 48NSF, 4NSFNET, 3nslookup, 156, 164NSS, 4NT, 53nuevas formas, 25nuevo modelo administrativo, 77NumSumbler, 165NVT, 53NVT ASCII, 53

objetory, 179off-line, 30oflew, 142OLTP, 80OMG, 178OMT, 179option data, 120option number, 119options, 118, 139OSI, 15, 18, 48, 51, 70, 74OSPF, 117, 129, 130, 132outsiders, 155

P2P, 152padding, 120pasarelas, 13PCs, 48

Page 252: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

236 ÍNDICE DE MATERIAS

PDAs, 48PDUs, 77Penetration Test, 165PHNE, 171ping sweep, 159, 161pinger, 161PIRP, 117PKI, 175planificar, 37playload, 156pointer, 139—142PortSetry, 168PPP, 81, 83PPTP, 164, 173preparar una organización, 38primera generación, 153primero el camino más corto, 128PRNGs, 163productos

tilde nanza virtual, 29profesores, 27programación

interfaz de, 48programas

informáticos, 25protecciones, 165protocolo de enlace de datos

ejemplos, 82protocolo number spotipprotn, 117protocolos, 47protocolos de aplicación

otros, 77protocolos de la capa de enlace, 81proxies, 66proxy ARP, 108PSH, 93PSINet, 10puentes, 13puertos, 11

pushfunción, 88

put, 54

RARE, 8RARP

concepto, 111descripción, 110

RAS, 48RC-5, 164RCP, 53RDSI, 48re-ensamblado, 113reconnect, 54Red, 26, 28, 42red

física, 48red dorsal, 131, 133redes, 48redes de tránsito, 133redes multiconectadas, 133redes neuronales, 173redes stub, 133RFC, 57RFC 1006, 80RFC 1948, 171RIP, 126, 128, 129, 134RIPE, 8robots, 62RotoRouter, 166route data, 139—141route datagram, 140router, 49, 125routers, 13, 48, 66RPC, 78RR, 119, 141RRs, 56RSA, 164RST, 93Rusty Russel, 167

Page 253: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

ÍNDICE DE MATERIAS 237

síncrona, 26—28SA, 173script-kiddie, 153scripts, 64SDLC, 82segmentos, 91segunda generación, 154seguridad, 65, 130, 151Servlet, 202SET, 62SGMP, 71Shlaer/Mellor, 179SID, 119Siemens, 174SimpleSyntax, 69sincrónico

taller, 27sistemas operativos, 53SL, 140SLIP, 139SMI, 68, 70, 71, 77SMTP, 57, 92

cliente, 58pasarela, 58servidor, 58

SMTPSE, 58SNA, 51, 80sniffers, 167, 174sniffing, 162, 169SNMP, 71, 155

aplicación, 73comunidad, 74

SNMPv2, 76SNORT, 168Snort, 166Solaris, 48solución, 33soluciones, 165SONET, 84

sort, 97source IP address, 118SP, 170SPF, 129spiders, 62spoofing, 164SQL, 78SSL, 62SSR, 120, 140, 141SSRR, 140STD, 57SUN, 63, 64sun, 97super autopista

de la información, 10switches, 48SYN, 93SYN ACK, 94

técnicascolaboración, 26

tabla de encaminamiento, 123, 134tablas de encaminamiento, 122tamaño de la ventana TCP, 158TARA, 166TCP, 47, 50, 52, 53, 56, 62, 117,

122concepto de, 88opciones, 158segmentos, 92

TCP connect scan, 159TCP FIN scan, 160TCP Half-Close, 95TCP ISN, 163, 167, 171TCP null scan, 160TCP SYN, 98TCP SYN scan, 159TCP Xmas tree scan, 160TCP/IP, 6, 18, 47—50, 57, 143

Introducción

Page 254: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

238 ÍNDICE DE MATERIAS

Familia, 1tcpdump, 95TCPMON

analizador de protocolos, 143características, 146estructura interna, 144

tecnologías, 23, 26, 39aprendizaje, 24

teléfonosmóviles, 48

Telecom, 174TELNET, 52, 53, 86, 92, 156tendencias, 24tercera generación, 154Terminal Speed, 53Terminal Type, 53TFTP, 53, 85TI, 35TIGER, 166TIME-WAIT, 101timestamp, 143tipo de aprendizaje, 38TISN, 9TOS, 116, 158total length, 116trace routing, 159traceroute, 156, 157, 167tradicional

enseñanza, 27transferencia de datos, 88transporte

protocolos de la capa de, 86traps, 73TS, 135TTL, 117, 121, 135, 157TWN, 7TYPE OF SERVICE, 114

UCP, 117

UDP, 52, 56, 85, 86, 122, 162, 166,171

datagrama, 85UML, 177, 178, 183, 184universidad, 30UNIX, 2, 53, 55, 79Unix, 48UOWs, 78URG, 92URI, 63URLs, 61US ASCII, 60uso de tecnologías, 36usuario

interfaz de, 54programa de, 55

UUNET, 10

variablesentorno de, 53

VBScript, 65vector-distancia, 122, 123, 134ventajas, 22, 24, 30, 35

tilde nanza virtual, 30ventana

mecanismo de, 89ventanas

mecanismo de, 89VERS, 114video-audio

conferencias, 28VLAN, 170VMS, 53VPN, 172—174VRML, 62VT, 53vulnerabilidades genéricas, 155

wannabee, 153WANs, 131

Page 255: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad

ÍNDICE DE MATERIAS 239

WB-MON, 7Web, 26, 27, 42WebNFS, 63whiteboards, 27, 28WIDE, 9Windows, 48wirelles, 164Worldcom, 174WPS, 7WWW, 21, 29, 36, 61, 68WYSIWYG, 64

X.25, 6XTI, 80

zócalos, 12, 87llamadas básicas, 12

Page 256: “El Aprendizaje Electrónico y Auto-Evaluación de TCP/IP” · software de base que permite el desarrollo de aplicaciones Web multiplata- ... Capitulo 5 - Análisis de Seguridad