11 de octubre de 2017

10 comandos Cisco IOS que debemos conocer en detalle - Actualización

Con ocasión de alcanzar los primeros 500 posts en el blog, estoy revisando aquellas publicaciones que son las más populares o consultadas.
La primera en la lista es esta, escrita en el primer año de desarrollo del blog. Evidentemente, si sigue siendo visitada, es porque brinda información útil.
Por eso me he propuesto revisarla y actualizarla en lo que me parece conveniente. 
Este es el resultado.


Aún cuando Cisco IOS provee miles de comandos algunos de ellos son claves para la tarea diaria y siempre volvemos a ellos: han sido nuestros primeros pasos al acercarnos a IOS, y son los básicos en las tareas de resolución más complejas:

1. El signo de interrogación "?"
El primer comando que aprendemos generalmente, el más obvio y simple, y sin embargo quizás uno de los más ignorados es el signo de interrogación.
Cisco IOS ofrece un sistema de ayuda contextual que se despliega a partir del signo de interrogación.
Este es el mecanismo que habilita el menú de ayuda en el sistema de línea de comando.
Este comando presenta variantes de aplicación:

Cuando se lo aplica inmediatamente despues de una cadena de caracteres (sin espacio) permite verificar los comandos que, en ese modo, inician con las letras a continuación de las cuales se ingresó el carácter “?”.
Router#cl?
  clear  clock

Ingresando el signo “?” luego de un comando seguido de un espacio, muestra los argumentos requeridos y una breve explicación de cada uno.
Router#clock ?
  set  Set the time and date

2. Mensajes de error del sistema
No se trata propiamente de un comando, pero es una herramienta de suma importancia vinculada a los comandos y a la que desafortunadamente prestamos poca atención en muchos casos.
Los mensajes de error de Cisco IOS se identifican fácilmente por estar precedidos por el signo porcentual ( % ).

Router#cl
% Ambiguous command:  "cl"
Indica que no se han ingresado suficientes caracteres para que el sistema operativo identifique el comando deseado. Puede repetir el comando seguido del signo de interrogación para ver los comandos disponibles con ese inicio.

Router#clock
% Incomplete command.
Indica que se requiere algún argumento o parámetro adicional. Deje un espacio e ingrese el signo de interrogación para ver los subcomandos o parámetros requeridos.

Router#clock sot
              ^
% Invalid input detected at '^' marker.
Denota que se ha cometido un error en el ingreso del comando y se marca el punto en el que está la información inválida con el signo “^”.

Router#clack
Translating "clack"...domain server (255.255.255.255)
Translating "clack"...domain server (255.255.255.255)
(255.255.255.255)% Unknown command or computer name, or unable to find computer address
Cuando se ingresa una cadena de caracteres en el prompt el sistema operativo analiza si se trata de una dirección IP, si no es una dirección IP revisa los comandos disponibles en el modo y si hay una coincidencia lo ejecuta como comando, si no corresponde con un comando, entonces lo interpreta como un “nombre” e intenta una traducción de ese nombre utilizando un servicio DNS.

3. show runnin-config
Nos permite verificar la configuración activa de routers, switches, access points, firewalls. 
La configuración activa es la que se encuentra almacenada en la RAM del dispositivo y sobre la que se realizan los cambios en el modo configuración.
Para quienes no están familiarizados con Cisco IOS, es importante que tengan en cuenta que los cambios realizados -la inmensa mayoría- en esta configuración tienen efecto inmediato en la operación del dispositivo. Pero por estar almacenados en la memoria RAM, son volátiles y se pierden durante el reinicio del dispositivo.
Por lo tanto es importante tener presentes también los comandos que nos permiten almacenar estos cambios en la memoria NVRAM sobreescribiendo el archivo de configuración de respaldo: copy system:running-config nvram:startup-config; o su versión breve: copy running-config startup-config; o la aún activa write memory (wr en su forma abreviada).
Este comando presenta solamente las modificaciones que se han realizado a la configuración por defecto del dispositivo y está dividido en secciones que facilitan su lectura.
Los signos de cierre de admiración (!) indican al sistema operativo líneas del archivo que no deben ser ejecutadas como comandos.
Se puede identificar el resultado de este comando por el texto “Current configuración…” que la encabeza, y que va acompañado por la medida del archivo expresada en bytes.

4. copy running-config startup-config
Este es el comando que guarda los cambios realizados en la configuración activa (RAM) a un archivo de configuración de respaldo (NVRAM ) que es el que será utilizado en caso de que por cualquier motivo el dispositivo sea reiniciado.
Con las variaciones debidas este mismo comando copy nos permiten crear copias de respaldo del archivo de configuración en servidores ftp, tftp o en la misma memoria flash del dispositivo, copias de respaldo de la imagen de IOS o de cualquier otro archivo.

5. show interfaces
Permite visualizar el estado y las estadísticas de operación de las interfaces del dispositivo. Entre otras cosas permite verificar:
Estado de las interfaces (up/dow).
Estado del protocolo implementado en la interfaz.
Nivel de utilización del enlace asociado a esa interfaz incluyendo volumen de tráfico, cantidad de paquetes, tasas de errores, paquetes descartados, etc.
MTU de la interfaz y ancho de banda declarado.
Es un comando esencial para el diagnóstico de fallos.

6. show ip interface
Tan importantes como show interfaces son show ip interface y show ip interface brief.
Este comando provee permite verificar la configuración completa de la interfaz incluyendo los valores por defecto, al mismo tiempo que el estado del protocolo IP y sus servicios asociados. Es el comando que nos permite verificar si hay ACLs asociadas a la interfaz
Show ip interface brief permite tener una mirada rápida del estado de cada interfaz del dispositivo incluyendo las direcciones IP, el estado de capa 2 y el estado de capa 3.

7. no shutdown
Este es el comando que activa una interfaz sea física o lógica.
Es importante tener presente que todas las interfaces de los routers Cisco están desactivadas por defecto mientras que las de los switches están activas por defecto.
Por este motivo, en los routers, se requiere la habilitación manual de cada una de las interfaces. 
Paralelamente no hay que olvidar que este comando NO aparece en el archivo de configuración.
En los switches Cisco, dada la opción por defecto de las interfaces, se sugiere desactivar manualmente aquellos puertos que no serán utilizados.

8. show ip route
Es el comando que nos permite visualizar la tabla de enrutamiento de los dispositivos que operan en capa 3.
La tabla de enrutamiento es la lista de todas las rutas a las redes destino que el dispositivo puede alcanzar, incluyendo su métrica, y la forma en que accede a ellas. 
Si todo funciona adecuadadamente cada dispositivo debiera tener al menos una ruta a cada red que es destino potencial de tráfico.
El comando tiene algunas variantes de importancia:

show ip route rip
    Muestra todas las rutas aprendidas a través del protocolo especificado.
show ip route 172.16.0.0
    Muestra todas las rutas disponibles a la red de destino especificada.
clear ip route *
    Limpia todas las rutas presentes en la tabla de enrutamiento.
clear ip route 172.16.0.0    Elimina todas las rutas a una red destino específica.

9. show version
Este comando permite verificar la configuración y estado del hardware y software del dispositivo, incluyendo entre otros:
Nombre, versión y lugar de almacenamiento de la imagen del sistema operativo que se está corriendo.
Cantidad de memoria RAM y flash (total y disponible) del dispositivo.
Tiempo transcurrido desde el último arranque del dispositivo.
Cantidad y tipo de interfaces disponibles.
Licencias.
Valores del registro de configuración.

10. debug
Este comando provee mensajes de eventos detallados relacionados con aplicaciones, protocolos o servicios que se encuentran activos en el dispositivo.
Estos mensajes se envian por defecto a la terminal de consola, pero pueden re-dirigirse a una terminal virtual (sesión Telnet o SSH) o a un servidor de Syslog. 
Es importante tener presente esta tarea tiene máxima prioridad de procesamiento por lo que la activación de estas funciones puede provocar una sobrecarga de procesamiento en el dispositivo que puede poner en riesgo la operación normal de la red. A la vez, si la salida está redirigida a sesiones de Telnet o SSH esto generará una sobrecarga de tráfico en los enlaces involucrados lo que puede provocar pérdida de paquetes o que se bloquee la conexión.
Esta funcionalidad se desactiva con los comandos undebug all o no debug.



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


10 de octubre de 2017

500 publicaciones

Y finalmente, 11 años después, este esfuerzo que inició en febrero del año 2006 llegó a completar las 500 publicaciones.
Cuando inicié con aquel primer post nunca pensé que esto continuaría por tanto tiempo, ni que llegaría a tantas publicaciones.
Muchas gracias a quienes me han seguido durante estos años, a quienes me siguen en los diferentes grupos en las redes sociales (ya son más de 20.000 en total), a quienes aportan con sus comentarios. Este blog es hoy mucho más que el complemento de mis manuales, es el fruto de nuestra interacción, de sus sugerencias, de sus aportes.
De nuevo, muchas gracias.




9 de octubre de 2017

Cisco NGFW

Las amenazas a la seguridad de las redes de datos evolucionan, la seguridad evoluciona para darles respuesta y consiguientemente las herramientas que se despliegan para cumplir con las demandas de seguridad también.
En este contexto, la propuesta de seguridad de Cisco ha estado evolucionando permanentemente en los últimos años hasta convertirse en un laberinto de novedades en el que permanentemente quedamos desactualizados. Un punto en esto es el de los firewalls, que ahora se han convertido en firewalls de próxima generación o "Next Generation FireWalls" (NGFW).
Hay varios elementos que Cisco ha presentado en este sentido:
  • La serie ASA 5500-X fue el primer paso en ese sentido.
  • A continuación la serie ASA 5500-X introdujo el módulo Firepower, un NGIPS con prestaciones muy avanzadas.
  • Inmediatamente aparecieron los appliances Firepower.
  • Ahora esto ha tenido un paso más con al introducción de Firepower Threat Defense (FTD).


Esto fue acompañado por la evolución del software de gestión, aunque en el caso de Firepower es mucho más que un simple software de gestión:
  • ASDM es la GUI tradicional para Cisco ASA.
  • FireSIGHT ha sido el primer software de gestión para Firepower.
  • FireSIGHT evolucionó a Firepower Management Center con la introducción de la versión 6.0.
  • Ahora contamos con Firepower Device Manager para la gestión de FTD.
Este gráfico intenta representar esta evolución:


¿Qué es un NGFW?
Un NGFW se diferencia de un firewall tradicional (dispositivo que permite implementar políticas de control de acceso entre dos dominios de confianza) en al menos 5 características:
  • Integra mecanismos de defensa ante amenazas tales como un NGIPS, protección anti-malware, posibilidad de AVC, etc.
  • Elaboración de indicadores de compromiso que permitan definir acciones.
  • Visión integradora de la red.
  • Reduce la complejidad de la gestión al mismo tiempo que los costos de implementación y mantenimiento.
  • Brinda la posibilidad de integrarlo con soluciones de terceras partes.
¿Qué es FTD?
Cisco Firepower Threat Defense es una imagen de software unificado que apunta a incluir las prestaciones de Cisco ASA con los servicios incorporador por Firepower, todo sobre una única plataforma de hardware.
En la redacción de la frase anterior tuve el cuidado de incluir el término "apunta" dado que no todas las prestaciones que conocemos y utilizamos frecuentemente de ASA están integradas en FTD.
Esta imagen de software unificada puede implementarse en diferentes plataformas de hardware:
  • ASA 5506-X
  • ASA 5508-X
  • ASA 5512-X
  • ASA 5515-X
  • ASA 5516-X
  • ASA  5525-X
  • ASA 5545-X
  • ASA 5555-X
  • Firepower 2100
  • Firepower 4100
  • Firepower 9000
  • También hay disponible un FTD virtual
No están soportados los appliances ASA 5585-X
A este momento hay 3 versiones disponibles de FTD: 6.0, 6.1 y 6.2

Prestaciones de FTP
En su versión 6.2 FTP incluye:
  • Firewall stateful
  • Enrutamiento estático y dinámico. Soporta RIP, OSPF y BGP.
  • Next-Generation Intrusion Prevention Systems (NGIPS)
  • Fitrado de URLs
  • Application Visibility and Control (AVC)
  • Advance Malware Protection (AMP)
  • Integración con Cisco Identity Service Engine (Cisco ISE)
  • Descifrado de SSL
  • Portal web cautivo
  • Gestión Multi-Domain
  • Rate Limiting
  • Políticas para tráfico tunelizado
  • Soporte para VPNs Site-to-Site solamente entre dispositivos FTD y FTD a ASA
Sin embargo, la mayoría de los analistas destacan algunas limitaciones muy relevantes:
  • No incluye soporte para enrutamiento EIGRP o multicast.
  • No se soporta configuración en modo transparente.
  • El soporte para VPNs es aún muy limitado. No hay soporte para VPNs de acceso remoto y el de VPNs site-to-site es acotado.
  • No hay soporte para interfaces EtherChannel.
  • No soporta múltiples contextos.
  • Sólo se soporta alta disponibilidad en modo activo / standby.
  • En algunos casos de migración de ASA a FTD se ha reportado que ha sido necesario abrir casos en el TAC de Cisco para lograr transferir las licencias.
  • Algunos analistas reportan cierta inestabilidad de estas imágenes cuando se implementan sobre dispositivos ASA.
  • La migración de configuraciones de ASA a FTD no es transparente y suelen presentarse diferentes inconvenientes que obligan a repasar la integridad de las políticas.
La pregunta de muchos ¿Qué va a pasar con ASA?
Pues, ASA está camino a ser retirado y esta imagen unificada (o su evolución) pasará a ser la solución NGFW de Cisco.


Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


8 de octubre de 2017

Interfaces en Errdisable

Desde que hacemos nuestras primeras armas en redes que utilizan switches Cisco Catalyst aparece un concepto específico: los puertos en estado "err-disabled".
¿Qué significa eso?

El estado errdisable
El estado errdisable aparece cuando un puerto de un switch se encuentra habilitado por configuración (no shutdown) pero el sistema operativo detecta una situación de error y por lo tanto evalúa que se la debe desactivar.
Un puerto en estado error disabled operativamente está fuera de operación (shutdown) y no envía o recibe tráfico de ningún tipo. El LED del puerto se fija en color ámbar y cuando se lo verifica utilizando el comando show interfaces aparece como err-disabled.

Switch#show interfaces fastethernet 0/1 status 

Port   Name    Status       Vlan     Duplex  Speed Type
Fa0/1          err-disabled 100        auto   auto 10/100BaseTX

Este estado de errdisable tiene 2 propósitos:
  • Indica al administrador cuándo y dónde un puerto ha detectado problemas.
  • Elimina la posibilidad de que este puerto cause fallos en otros puertos o el módulo en el que se encuentra.
    Un puerto con fallas puede ocupar la totalidad de los buffers de memoria disponibles o sus mensajes pueden causar errores en la red. Esto es evitado al colocar el puerto en error.
Causas del estado errdisable
Este estado se introdujo inicialmente en los puertos de los switches para manejar situaciones especiales provocadas por exceso de colisiones en al red generadas por diferentes causas:
  • Un cable Ethernet fuera de especificaciones (p.e. muy largo).
  • Una interfaz de red en malas condiciones (p.e. problemas físicos).
  • Un error de configuración de dúplex en los puertos.
Más allá de esa implementación inicial hoy el estado errdisable está asociado a múltiples implementaciones comunes en redes conmutadas:
  • No coincidencia de dúplex
  • Mala configuración del port channel
  • Violación de BPDU Guard
  • Condición UniDirectional Link Detection (UDLD)
  • Detección de colisiones tardías
  • Detección de link-flap 
  • Violación de seguridad (port-security)
  • Flapeo de Port Aggregation Protocol (PAgP) 
  • Layer 2 Tunneling Protocol (L2TP) guard
  • DHCP snooping rate-limit
  • GBIC / Small Form-Factor Pluggable (SFP) módulo o cable incorrecto
  • Address Resolution Protocol (ARP) Inspection
  • Inline Power
La colocación del puerto en este estado está definida como acción por defecto ante la detección de cualquiera de estas situaciones. El comando show errdisable detect permite verificar cuáles son las acciones que están asociadas a este estado.

Documentación de referencia
Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


4 de octubre de 2017

Temporizadores STP - Gráfica

STP utiliza temporizadores para definir diferentes períodos de tiempo.
Esos temporizadores son 3:
  • Hello Time.
    Período de tiempo entre envío de BPDUs.
    2 segundos por defecto.
  • Forward Delay.
    Tiempo que tarda un puerto en pasar del estado de escuchando al de aprendiendo; o del de aprendiendo al de enviando.
    15 segundos por defecto.
  • Max Age.
    Es el tiempo por el cual el dispositivo almacena la información correspondiente a una BPDU.
    20 segundos por defecto.


Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


1 de octubre de 2017

Secuencia de inicio de dispositivos Cisco IOS - Gráfica

Durante el proceso de inicio se deben completar 3 tareas:
  • Verificar el hardware.
  • Localizar y cargar el sistema operativo.
  • Localizar y ejecutar un archivo de configuración.
Para esto los dispositivos Cisco IOS cargan 3 entornos operativos diferentes:
  • El Bootsptrap.
  • El Monitor de ROM.
  • Cisco IOS.
La carga de estos entornos operativos y las tareas se cumplen en una secuencia predeterminada que puede ilustrarse de esta forma:



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.


27 de septiembre de 2017

Rutina de configuración Cisco IOS - Gráfica

En el desarrollo de la tarea diaria es importante saber con qué trabajamos, saber qué se debe hacer y también cómo hacerlo.
En este sentido tienen un lugar importante los procedimientos y rutinas de trabajo. Las rutinas nos permiten operar de modo rápido y seguro, evitando en lo posible errores a través de la adquisición de hábitos de buenas prácticas.
En este sentido hay una rutina de trabajo muy sencilla que facilita la realización de cambios en la configuración de los dispositivos, y que desafortunadamente no siempre respetamos. Si bien no es obligatorio trabajar de esta forma, es una buena práctica adoptar esta u otra rutina de trabajo semejante.



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.