• No results found

Applying in Software Development

2.3 Implementation Practices

2.3.3 Applying in Software Development

Para que un usuario pueda acceder a su empresa a través de acceso remoto, necesita de una aplicación (FTP, TELNET, correo, etc), un protocolo de red (IP) y un protocolo de enlace (PPP, SLIP) instalado en su PC. Todos los protocolos superiores son encapsulados en PPP o SLIP para transmitirse a través de un enlace dialup.

Hay varios tipos de estos protocolos de enlace:

 SLIP (Serial Line Internet Protocol) Es un estándar para conexiones serie con una modificación de TCP/IP. Es el predecesor de PPP.

 PPP (Point to Point Protocol) proporciona enlaces entre routers y entre host y redes sobre circuitos síncronos o asíncronos. Permite multilink, que consiste en enlazar en un sólo enlace los dos canales B de una línea RDSI.

 ARAP (AppleTalk Remote Access protocol) Para Apple Talk  NASI (Netware Asynchronous Services interface) para Netware PPP tiene la siguiente arquitectura:

 Capa física, como EIA/TIA-232, V.24, V.25, RDSI

o V.25 es el estándar usado para sincronización. Se activa con dialer in-band

 HDLC (High-level Data Link Control), que encapsula los datagramas sobre un enlace serie. Éste no es el HDLC propietario de Cisco, es el estándar, predecesor de PPP.

 LCP (Link Control Protocol), Que establece, configura, autentica y prueba la línea

 NCP (Network Control Protocol), que establece conexiones para distintos protocolos de red, como IP, IPX o AppleTalk. Por ejemplo, IPCP (Internet Protocol Control Protocol) es el NCP para IP

PPP dispone de mecanismos para:  Multiplexado de protocolos de red  Configuración del enlace  Prueba de calidad del enlace  Autenticación

 Compresión de cabeceras  Detección de errores  Negociación del enlace

En un servidor de acceso Cisco, se puede configurar el comando (config-line)# autoselect [arap |

ppp | slip | during-login], para que inicie el protocolo adecuado cuando reciba el carácter

RETURN (para una sesión EXEC) o el carácter start (para ARAP, PPP o SLIP) por la línea. El parámetro during-login hace que se solicite al usuario un login y password, que se mostrarán en el PC Windows como una ventana.

Para configurar PPP en un interface async:

COMANDO SIGNIFICADO

(config)# interface async 0 Entra en el interface

(config-if)# encapsulation [ppp | slip] Establece tipo de encapsulación

(config-if)# async mode [dedicated | interactive] Dedicated: obliga a usar la línea para ppp o slip Interactive: permite el proceso EXEC (config-if)# peer default ip adress [address | pool

[nombre] | dhcp] Establece la forma de asignar una IP al nodo remoto (config)# ip local pool [nombre] [dirección

1][dirección n] Si se usa pool hay que definir el pool (config)# ip address-pool dhcp-proxy client Si se usa dhcp

(config-if)# async dinamyc address Permite al nodo remoto especificar su propia dirección IP. Sólo se puede poner en modo interactivo

(config-if)# ip unnumbered [interface] Usa una dirección fuente de otra interface (config-if)#physical-layer [sync | async] Pone el interface como síncrono o asíncrono

5.6.1 Link Control Protocol (LCP)

LCP es capaz de proporcionar sobre un enlace PPP las siguientes mejoras:

 Autenticación: Usando PAP o CHAP, se permite autenticar al cliente con user/password  Callback: Empleado para unificar el coste del enlace, permite devolver la llamada al cliente  Compresión: Mejora el throughput en el enlace

 Multilink: Permite asociar varios enlaces PPP en uno sólo llamado bundle

5.6.1.1 Autenticación

Cuando a un servidor de acceso le llega una sesión PPP, antes de establecerla comprueba la autenticación. Puede ser local o usando un servidor de seguridad como TACACS+ (Terminal Access Controller Access control System Plus) o RADIUS (Remote Access Dial-In User Service). Si no es válida, desconecta la línea.

 PAP: el router le indica al cliente que debe usar PAP para autenticarse. El cliente manda la password en texto claro. Si se conecta un sniffer en la línea, se puede ver la password. Para configurar PAP:

(config)# interface async 0 (config-if)# encapsulation ppp (config-if)# ppp authentication pap

Se puede configurar un dialer-map para indicar las características del router remoto: dialer-map ip [ip] name [nombre] [telefono]

 CHAP: Una vez que se ha establecido la sesión PPP, el servidor de acceso manda un mensaje de challenge (desafío) al remoto, obligándole a indicar su password en Message Digest 5 (MD5). El servidor de acceso comprueba la entregada con la que él mismo ha codificado, y si

son iguales permite establecerse la sesión. Cada dos minutos se repite el proceso de autenticación, para evitar hacking. El proceso es como sigue:

o El usuario llama al servidor de acceso. Como el interface async está configurado con ppp authentication chap, LCP negocia CHAP y MD5.

o El servidor de acceso manda un paquete CHAP Challenge al cliente con la información del número aleatorio que se usará para encriptar la password, un número secuencial (id) y el ID del servidor de acceso (prompt)

o El cliente calcula una cadena que parte de la password, del número secuencial (id) y del número aleatorio. El prompt del servidor lo usa para bloquear el usuario. El resultado de todo esto es una cadena encriptada en MD 5.

o El cliente genera un paquete que incluye el id del paquete anterior, el hash creado y el nombre del cliente, y se lo manda al servidor de acceso.

o El servidor genera el mismo hash, y comprueba si son iguales. La password la obtiene de la lista local, de TACACS, al que se le manda el hash para que compruebe si son iguales, o de RADIUS, que se le pregunta por la password.

o El servidor manda un paquete al cliente, indicándole si la autenticación ha sido OK (con un mensaje de bienvenida en texto) o no (con un mensaje de texto indicándolo como "Authentication failure")

Para configurarlo:

(config)# interface async 0 (config-if)# encapsulation ppp (config-if)# ppp authentication chap

Si se configura entre dos routers, la password de los mismos debe ser idéntica.

5.6.1.2 Callback

Cuando el cliente llama al router, se inicia un temporizador. No se volverá a llamar al mismo destino hasta que el temporizador haya finalizado.

A la hora de montar callback es necesario tener en cuenta:  Se requiere autenticación

 El comando dialer enable-timeout especifica el tiempo que se ha de esperar antes de permitir otra llamada por el mismo interface. Debe ser mayor que el tiempo de pulso (pulse-time)  El comando dialer hold-queue timeout indica el tiempo que ha de esperar el cliente para poder

hacer otra llamada al mismo destino. El servidor debe hacer la llamada antes de que acabe este tiempo. Debería ser 4 veces mayor en el cliente que en el servidor.

 El cliente llama

 El servidor acepta la llamada

 Se realiza la autenticación. El nombre de usuario es usado para conocer el número de retorno.  Si el usuario tiene configurado callback, el servidor cuelga la línea

 El servidor llama al número almacenado en el dial string. Si falla, no se vuelve a intentar. En esta segunda llamada, no se puede negociar callback otra vez.

 Se autentican los routers  Se conectan.

Para configurar el servidor:

(config)# username [user] callback-dialstring [telefono] callback-line [linea a usar] callback-rotary [grupo a usar] password [password]

(config)# interface async [numero] (config-if)# ppp callback accept (config-if)# ppp callback initiate (config)# line [numero]

(config-line)# callback forced-wait [segundos] (config-line)# script callback [nombre]

Para que siempre se establezca la sesión entre los mismos routers, en el servidor:

(config)# interface serial 2 (config-if)# ip address [ip] [mask] (config-if)# encapsulation ppp (config-if)# dialer callback-secure

(config-if)# dialer-map ip [ip remota] name [nombre remoto] class CLASE [telefono] (config-if)# dialer-group 1

(config-if)# ppp calback accept (config-if)# ppp authentication chap (config)# map-class dialer CLASE

(config-map-class)# dialer callback-server username

Y en el cliente:

(config)# interface serial 0 (config-if)# ip address [ip] [mask] (config-if)# encapsulation ppp

(config-if)# dialer-map ip [del server] name [nombre server] [telefono] dialer-group 1

ppp callback request ppp authentication chap

5.6.1.3 Compresión

Permite aumentar la capacidad de la línea. Se comprimen bien los archivos de texto y mal (incluso peor que 1:1) archivos ya comprimidos.

En cisco hay cuatro métodos:

 Predictor: Detecta si los datos ya están comprimidos, y si es así, no gasta el tiempo en tratar de comprimirlos.

 Stacker: Algoritmo basado en el algoritmo Lempel-Ziv (LZ). Manda un patron y cada vez que se repite lo indica, sustituyéndolo por un símbolo. Es el único soportado en el cisco 700.  MPPC (Microsoft Point-to-point compression): también basado en Lempel-Ziv, permite a los

routers de Cisco intercambiar datos comprimidos con Microsoft Windows.  TCP header compression: Sólo comprime las cabeceras

Para configurarlo:

(config-if)# compress [predictor | stac | mppc] (selecciona el modo de compresion) (config-if)# ip tcp header-compression (indica compresión de cabeceras)

(config-if)# ip tcp header-compression passive (no es necesaria compresión, pero si para

un destino se reciben las cabeceras comprimidas, se siguen usando así).

5.6.1.4 Multilink

Permite balanceo de carga en interfaces dialer, incluyendo RDSI, síncronos y asíncronos (no tienen que ser iguales). Se controla mediante una cabecera en la trama PPP que indica la secuencia de los fragmentos. El canal lógico se llama bundle. Se puede verificar con los comandos show dialer,

show user y show line.

5.7 WAN DE RESPALDO