31 de agosto de 2015

El virtual link en OSPF

OSPF es un protocolo de estado de enlace que aplica un esquema jerárquico de red en el que el área 0 es el área de backbone que interconecta todas las áreas no backbone.
Cada área debe tener continuidad física, y uno de los desafíos en redes que tienen gran extensión geográfico puede ser mantener la continuidad del área 0.
Para estos casos (u otros semejantes) en los que el esquema jerárquico de OSPF se ve afectado por la falta de continuidad física de un área, la implementación de enlaces virtuales (virtual links) permite dar continuidad a las áreas de modo transitorio.
Cisco insiste especialmente en que esta es una solución transitoria y no permanente, y que el problema debiera ser luego resuelto a partir del rediseño de la red.
En estos casos:

  • El área a través de la cual se constituye el enlace virtual se denomina área de tránsito.
  • La posibilidad de enlaces virtuales está contemplada en el estándar.
  • Permiten solucionar discontinuidades temporales en una red. No deben ser una solución permanente.
  • Opera como una adyacencia estándar OSPF, pero no requiere que estén directamente conectados.
  • El protocolo hello intercambia paquetes cada 10 segundos sobre el enlace.
  • Los LSAs aprendidos sobre enlaces virtuales utilizan la configuración DNA (DoNotAge) para prevenir tráfico excesivo.


Configuración:

Router(config)#router ospf [process id]
Router(config-router)#area [ID área de tránsito] virtual-link [router ID]


26 de agosto de 2015

IoE y las redes inalámbricas

Mucho se habla de Internet of Everything (IoE), la evolución de Internet en la que se interconectan personas, objetos, procesos y datos. Pero más allá de las posibilidades y realidades que se abren están los desafíos técnicos.
Dar base tecnológica a esta nueva Internet requiere el ajuste de muchos elementos: desarrollo de sistemas de sensores y aplicaciones, transporte, procesamiento y almacenamiento de grandes volúmenes de datos, conectividad, seguridad, etc. Por eso hay tecnologías de networking que adquieren nuevo relieve, como es el caso de RFID, IPv6, seguridad y conectividad inalámbrica. Esto significa adecuación de tecnologías a nuevos usos, y entrenamiento y capación para incorporar los conocimientos y habilidades necesarios para implementarlas y gestionarlas.

Tecnologías de conectividad inalámbrica
En este post quiero centrarme en las tecnologías de conectividad inalámbrica disponibles.
Un elemento clave de IoE es el despliegue de redes de sensores (WSN - Wireless Sensor Networks) para la recolección de información en línea que luego ha de ser procesada para generar reportes o impactar en procesos automatizados. 
Estas redes de sensores mayoritariamente utilizan conectividad inalámbrica para enviar los datos hacia los puntos de procesamiento. Para esto en la actualidad se utilizan diferentes tecnologías y esa multiplicidad constituye un problema. 
Las tecnologías actualmente desplegadas con este propósito son IEEE 802.15.4 (LR-WPAN), Zigbee, 6LoWPAN, Bluetooth (802.15.1), WiFi (IEEE 802.11) o soluciones propietarias. También se utilizan soluciones móviles como GPRS o EDGE.
Esta variedad de tecnologías se debe a la búsqueda en cada caso una solución adecuada para lograr la conectividad necesaria pero también genera la necesidad de una estandarización que permita cubrir los diferentes requerimientos y reducir los costos.
Una de las tendencias en el proceso de estandarización es la adopción de soluciones 4G como UMTS y LTE, y la proyección a 5G.

¿IEEE 802.11 no es una solución?
La aprobación de 802.11ac introdujo una tecnología inalámbrica de bajo costo y alto ancho de banda. Sin embargo aún tiene limitaciones importantes en función de los requerimientos del despliegue de WSN: No está adaptada a las necesidades de ahorro de consumo de energía de los sensores, y por otra parte, al operar sobre la banda de 5 GHz su radio de cobertura es limitado y requiere de nodos intermedios con una arquitectura compleja para asegurar la cobertura de superficies extensas.
Sin embargo, desde el año 2010 se está trabajando en el desarrollo de un nuevo estándar: 802.11ah que debería dar respuesta a estas limitaciones:
  • Opera en la banda de 900 MHz que es una banda no-licenciada con poca congestión y mucho mayor penetración (alcance).
  • Se estima un alcance de hasta 1000 metros en exteriores.
  • Permitirá la asociación de más de 8.000 dispositivos a un único access point (las tecnologías actualmente en uso permiten hasta 256 asociaciones).
  • Se está trabajando sobre tasas de transmisión de al menos 100 Kbps (las redes de sensores no requieren mucho ancho de banda).
  • Está preparado para topologías de un único salto.
  • Tiene un consumo de energía muy bajo.
  • Es además una solución de bajo costo.
De esta forma se espera superar las limitaciones actuales de las redes 802.11 para el desarrollo de WSN. Si bien la comisión responsable aún está trabajando en un borrador, se espera contar con una versión utilizable para el año 2016.

Enlaces


16 de agosto de 2015

Mensajes de estado y eventos en Cisco IOS

Cuando trabajamos en la CLI de Cisco IOS interactuamos con una cantidad más o menos importante de mensajes del sistema operativo a los que genericamente llamamos "mensajes de la consola".
En realidad la denominación de "mensajes de la consola" incluye indistintamente diferentes tipos de mensajes cuyo origen, propósito y significado son muy diferentes.

En principio hay que considerar 2 tipos de mensajes: 
  • Los mensajes de error que están referidos a situaciones generadas por el ingreso de comandos en el prompt de  IOS.
  • Los mensajes de estado y eventos, generados por cambios o actualizaciones en la operación de protocolos, interfaces, etc.
    En estos mensajes he de focalizarme en este post.
Los mensajes de estados y eventos
Los mensajes de eventos son generados por un sistema de notificaciones que permite que múltiples dispositivos en la red originen mensajes de estado con una estructura común y los almacenen (o no) en un dispositivo (servidor) centralizado para su posterior revisión por el Administrador.

En los dispositivos Cisco el sistema de mensajes de estado y eventos puede enviar estos mensajes a distintas posiciones:
  • A la pantalla de la consola (console).
  • A una sesión telnet o SSH (monitor).
  • A un servidor Syslog alojado en la red.
  • A un buffer de memoria local (buffered).
Los mensajes tienen un formato estándar:

*Dec 18 17:10:15.079: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down
  • Un registro de tiempo (fecha y hora).
    Dec 18 17:10:15.079
  • La porción del dispositivo que genera el mensaje.%LINEPROTO
  • Nivel de severidad del mensaje:5
  • Clave nemotécnica.UPDOWN
  • Descripción del mensaje.Line protocol on Interface FastEthernet0/0...
Estos mensajes tienen 8 niveles de severidad diferentes:
  • 0 Emergency
  • 1 Alert
  • 2 Critical
  • 3 Error
  • 4 Warning
  • 5 Notification
  • 6 Informational
  • 7 Debugging
Los niveles 0 a 4 representan eventos que pueden tener serio impacto en la operación del dispositivo. 

El Administrador tiene la posibilidad de definir hasta qué nivel de severidad desea recibir mensajes en cada una de las diferentes posiciones (servidor, consola, etc.). Por ejemplo, almacenar hasta nivel 5 en el servidor de Syslog y recibir hasta nivel 7 en la terminal de consola.
Por defecto se envían todos los mensajes hasta nivel 7 al puerto de consola.

Configuración de los registros

Router(config)#service timestamps
Habilita la inclusión de fecha y hora en el encabezado de los mensajes.

Router(config)#service sequence-numbers
Habilita la inclusión de un número de secuencia en el encabezado de los mensajes.

Router(config)#logging on
Activa el proceso de logging.

Router(config)#logging buffered 200000
Determina el tamaño del buffer de memoria. Los mensajes almacenados en este buffer se pueden revisar con el comando show logging.
El tamaño del buffer se establece en bytes. Por defecto, el tamaño es 4096 bytes y el nivel de severidad es debugging.

Router(config)#logging 172.16.1.2
Indica un servidor de syslog como destino para almacenar los mensajes.

Router(config)#logging trap warnings
Limita los mensajes enviados al servidor de syslog en base al nivel de severidad.
El nivel de severidad también puede expresarse en forma numérica, en este caso: 4.

Router(config)# terminal monitor
Envía los mensajes que por defecto sólo van a la consola, a las terminales virtuales.

Router(config)#logging monitor notifications
Limita los mensajes que se enviará a las terminales virtuales, en base al nivel de severidad.


3 de agosto de 2015

Desactivación de servicios en IOS

Cisco IOS permite la activación de una gran cantidad de servicios, muchos de los cuales se encuentran operativos por defecto y por lo tanto representan un potencial riesgo de seguridad. Por este motivo es necesario hacer un análisis de los servicios a utilizar y aquellos que no sean utilizados deberán desactivarse.

Nota: 
Diferentes versiones de IOS presentan diferentes servicios activos por defecto. Es por esto importante desactivar explícitamente los servicios que no se utilizan sin dar nada por supuesto.

Router(config)#no ip domain-lookup
Desactiva el cliente DNS son el que opera IOS. Al ejecutar este comando el dispositivo ya no realizará búsquedas de DNS para resolver nombres.

Router(config)#no ip bootp server
BOOTP es un protocolo para asignación automática de direcciones IP que ha caído en desuso, por lo que es conveniente asegurarse que no se encuentre activo el servicio.

Router(config)#no ip dhcp-server
Este comando permite deshabilitar el servicio de DHCP embebido en IOS.

Router(config)#no ip source-route
Otra función del protocolo IP, el ruteo predefinido desde el origen, es una función que suele ser explotada por potenciales atacantes. Si no se ha de utilizar, debe ser desactivada en todos los dispositivos.

Router(config)#no ip http server
Desactiva el web service de IOS, que es el que permite inicialmente acceder a la interfaz web de los dispositivos. Si se ha de utilizar acceso web, se recomienda hacerlo activando el servicio HTTPS.

Router(config)#no cdp run
Desactiva la operación de CDP a nivel global.

Router(config)#interface GigabitEthernet0/0
Router(config-if)#no cdp enable
CDP tiene 2 niveles de activación: global y por interfaces. Este comando desactiva la operación del protocolo en una interfaz específica.

Router(config-if)#ntp disable
Desactiva el procesamiento de paquetes NTP en una interfaz específica.

Router(config-if)#no ip proxy-arp
Proxy ARP es una porción esencial de la operación de IP y ARP que se encuentra activa por defecto en interfaces que tienen activado el protocolo IPv4. Esto es una brecha de seguridad potencial, y por lo mismo debe ser desactivado cuando no es un recurso necesario.

Router(config-if)#no ip redirects
Desactiva en la interfaz los paquetes ICMP que utiliza el protocolo para informar al origen cuando hay mejores alternativas de enrutamiento. Esta es otra función que puede ser explotada por potenciales atacantes.