26 de enero de 2007

Funcionalidades SPAN para monitoreo de tráfico a través de switches

En la tarea de administración de redes LAN es de fundamental importancia mantener un atento monitoreo del tráfico y del desempeño de los dispositivos de la infraestructura de red. En este contexto es frecuente que por diferentes motivos (detección de tráfico no deseado, relevamiento de actividad de ciertos protocolos, etc.) el Administrador requiera utilizar un analizador de protocolos (p.e. Ethereal) para monitorear, decodificar y comprender el tráfico de la red. Para esta tarea, luego de instalar el analizador de protocolos en una terminal, se ha de conectar la estación de monitoreo a un switch o hub a fin de capturar y revisar el tráfico que está atravesando la red.

Si la infraestructura de la red está compuesta de hubs, esta es una tarea relativamente sencilla. Sin embargo la mayoría de nuestras redes actuales utilizan switches. Y no es posible monitorear el tráfico de la red si la estación de monitoreo está sencillamente conectada a un puerto de un switch.

Cuando se monta una estación de monitoreo, en principio se busca capturar tanto tráfico como resulte posible para luego filtrarlo y de ese modo quedarse con lo que verdaderamente se está buscando. Sin embargo, si la estacion de monitoreo está conectada a una boca de un switch lo único que se puede capturar es el tráfico generado en la misma terminal o que tiene a esa terminal como destino, así como el tráfico de broadcast que esté circulando por ese segmento de red.

¿Porqué ocurre esto?
Pues simplemente porque el switch divide dominios de colisión. O lo que es lo mismo, cuando su tabla de direcciones MAC ya está poblada, establece circuitos punto a punto entre los puertos que desean entablar la comunicacion evitando inundar todos los puertos con el tráfico, como lo haría un hub. Los switches sólo inundan los puertos con tráfico de broadcast, o que tiene una dirección MAC destino desconocida. Por este motivo, nuestra estación de monitoreo al estar conectada a un switch ya no puede capturar todo el tráfico que circula por él sino solamente el que tiene su dirección MAC como origen o destino, o tráfico de broadcast.

Lo que necesitamos en nuestra tarea es que el switch envíe una copia de toda trama que circule por él al puerto en el que hemos conectado nuestra estación de monitoreo. Para esto podemos recurrir a un feature de los switches Cisco llamado Switched Port ANalyzer (SPAN) o una variante, Remote SPAN (RSPAN). Se trata de una funcionalidad semejante a la que en otros fabricantes se conoce como "port mirroring".

¿Cómo trabaja SPAN?
SPAN permite tomar el tráfico que atraviesa por un puerto, grupo de puertos o VLAN completa de un switch y lo copia en el puerto de destino, que es el puerto en el que debemos conectar nuestra estación de monitoreo. Adicionalmente, al configurar esta funcionalidad se especifica no sólo los puertos de origen y destino, sino también si se desea copiar el tráfico que tiene ese puerto como origen, destino o ambos.

Por su lado, RSPAN permite que el tráfico generado en múltiples switches distribuidos en la red pueda ser reenviado al puerto al que hemos conectado nuestra estación de monitoreo. Así, por ejemplo, si una VLAN cualquiera se encuentra configurada en múltiples switches de la red, RSPAN permite que todo el tráfico que tiene como destino puertos de la VLAN en cuestión, de cualquiera de los switches involucrados sea copiado a nuestro puerto de trabajo

¿Cómo se configura SPAN?
La configuración es simple. Sin embargo tiene sus complejidades cuando se trata de protocolos como STP,VTP y CDP, por lo que es sumamente aconsejable revisar la documentación oficial en el sitio de Cisco Systems.

Veamos un ejemplo de configuración. Suponemos que se trata de un switch de 24 puertos. Conectamos nuestra estación de monitoreo al puerto Fastethernet 0/24 y deseamos monitorear todo el tráfico que pasa a través de los restantes 23 puertos del dispositivo. Por lo tanto debemos indicar al dispositivo que envíe copia al puerto F0/24 de cada trama que ingrese o salga a través de los puertos F0/1 a 0/23.

Switch(config)#monitor session 1 source interface fastethernet 0/1 - 23 both
Switch(config)#monitor session 1 destination interface fastethernet 0/24

Es preciso tener presente que este tipo de operaciones son un requerimiento intensivo para el dispositivo, y que consecuentemente pueden afectar sensiblemente la performance del mismo. Asegúrese de deshabilitar esta función cuando haya terminado la tarea utilizando el comando

Switch(config)#no monitor session 1

Para verificar si se está ejecutando alguna sesión de monitoreo en el dispositivo, utilice el comando:

Switch#show monitor

Tenés alguna información o referencia adicional para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta.

24 comentarios:

  1. Hola Oscar ,como siempre muy buenas tus notas , quiero hacert euna consulat apues si el SPAN es un requerimiento intensivo , que recomiendas para monitorear las 24 horas?

    ResponderEliminar
  2. SPAN junto con un analizador de protocolo, son herramientas diseñadas para analizar capturas de tráfico, no para monitorear el desempeño general y la performance de dispositivos.
    Esta tarea no requiere de copiar cada paquete que atraviesa el puerto. Eso es necesario cuando se quiere hacer un análisis de las tramas.
    Para monitorear el desempeño y performance de la red hay multiplicidad de herramientas, muchas diseñadas para monitorear dispositivos específicos, como p.e. servidores.
    Si quieres revisar el tema del monitoreo del desempeño de la red, sugiero que comiences por aquí: http://www.cisco.com/en/US/products/sw/netmgtsw/index.html

    ResponderEliminar
  3. Oscar al configurar SPAN en un switch cisco, el host que correrá ethereal debe tener asignada una direccion IP?o no es necesaria ?

    ResponderEliminar
  4. La terminal que corre, en principio, no requiere ninguna configuración de red particular.
    Si vas a utilizar un analizador diferente de Ethereal o Etherpeek debieras revisar las indicaciones del proveedor de software.

    ResponderEliminar
  5. Hola Oscar, mi nombre es Jorge (viejo alumno de Proydesa). Quería consultarte si existe algún riesgo de seguridad en la funcionalidad del SPAN. Gracias.

    ResponderEliminar
  6. Jorge.
    Como en términos generales, con cualquier feature de configuración, usado impropiamente por quien no debiera tener acceso a la configuración del equipo, constituye un riesgo de seguridad.
    Así como un puerto colocado en SPAN permite al Administrador de la red monitorear todo el tráfico que atraviesa el dispositivo o algunos de sus puertos; si un atacante tiene acceso a este puerto o a configurar uno como tal, puede utilizar esta función para recabar información sobre la red.

    ResponderEliminar
  7. Hola Oscar, mi nombre es Luisa, ex alumna de Proydesa. Cómo afecta Port monitor a la performance del switch. Es decir si queremos poner un IDS, que impacto puede tener sobre el switch y que alternativas tendríamos?

    ResponderEliminar
  8. Luisa.
    En principio, no tiene un impacto significativo. Sin embargo debés tener presente considerar cuál es el tráfico que actualmente tienen los puertos que querés monitorear a través del puerto SPAN, ya que la capacidad de este puerto es el límite que debés considerar.

    ResponderEliminar
  9. No puede haber problemas el arbol de spanning tree? podría probocar un bucle? en que caso?

    ResponderEliminar
  10. ¿Porqué provocaría un bucle?
    Un puerto SPAN es un puerto de acceso y a él se conecta típicamente una terminal con un analizador de tráfico o un IDS.
    Si está correctamente configurado como puerto de acceso, no hay manera de que provoque un bucle.

    ResponderEliminar
  11. Hola Oscar, tengo una cuestión referente al SPAN.

    Tengo 2 catalyst unidos con agregado de enlace y un puerto SPAN en uno de ellos. Siguiendo las recomendaciones de cisco, no he configurado Switched Port Analyzer (SPAN) como parte del Etherchannel, y por lo que entiendo de esta manera sólo monitorizaré las bocas del primer switch. Si es así, me gustaría monitonizar el otro switch. El rendimiento de los switch se vería afectado si configuro SPAN en el agregado de enlace??. Podría monitorizar el otro switch si habilito SPAN en el etherchannel??

    Aprovechó para decirte, que compre tu libro y tus apuntes rápidos para el CCNA, y me sirvieron muchísimo.

    Un saludo.

    ResponderEliminar
  12. Murphy
    Si lo que estás buscando es monitorear ambos switches a través de un único puerto SPAN, eso puedes hacerlo utilizando una variante de SPAN denominada RSPAN. En este enlace podés encontrar información al respecto y referencias para la configuración:
    http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a008015c612.shtml
    En el siguiente enlace tenés un análisis sobre el impacto de SPAN en la performance:
    http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a008015c612.shtml#support

    ResponderEliminar
  13. Buenos días Oscar desde BCN,

    En referencia al comando SPAN,al configurar el rango de interface que queremos incluir para monitorizar, puede haber un interface troncal (que lleve varias vlan?), es posible?hay algun tipo de afectación?

    Me recomiendas instalar un PC Sniffer directamente en los Backbones de la red, es preferible?

    Un saludo y mcuhas Gracias

    ResponderEliminar
  14. Max
    Los puertos troncales también pueden ser incluidos en el monitoreo utilizando un puerto SPAN.
    La limitación que debés tener presente es el ancho de banda de la interfaz que vas a utilizar. El flujo de bits que se recibe en las interfaces incluidas en el SPAN no debiera superar la capacidad del puerto SPAN. Si se supera, el excedente puede ir al buffer. Pero si la diferencia es muy alta, seguramente tendrás descarte de paquetes.

    ResponderEliminar
  15. Hola, tengo una pregunta, ojala me puedas ayudar.
    Implemente un IDS (snort específicamente) en una red local 192.168.0.0/24.
    El IDS esta sobre ubunto 11.10 con snort
    Configure en un switch catalyst 2950 un puerto espejo como lo muestras en tu blog y ahí coloque el snort
    Los detalles son lo siguientes:
    1) Al conectar al puerto el servidor en ubuntu me indica que la red cableada esta desconectada
    Con el ifconfig me muestra que no se le asigna ninguna IP servidor en la interfaz eth0
    2) Al revisar el switch indica
    Session 1
    ---------
    Type : Local Session
    Source Ports :
    Both : Fa0/1-23
    Destination Ports : Fa0/24
    Encapsulation : Native
    Ingress: Disabled
    y el puerto 24
    FastEthernet0/24 is up, line protocol is down (monitoring)
    Hardware is Fast Ethernet, address is 0015.fa2a.e698 (bia 0015.fa2a.e698)
    MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
    reliability 255/255, txload 1/255, rxload 1/255
    Encapsulation ARPA, loopback not set
    Keepalive set (10 sec)
    Full-duplex, 100Mb/s, media type is 100BaseTX

    3) El snort esta funcionando pero no detecta nada

    4)Al conectar el servidor en otro puertodel switch me asigna ya IP y tengo internet.

    Que estoy configurando mal? para que funcione el snort.

    Mi direccion es uapemaus@hotmail.com
    Gracias

    ResponderEliminar
  16. Alfredo, por lo que dices y lo que se ve, supongo que no está bien configurada la placa de red de la terminal que estás utilizando con el Ubuntu.
    La respuesta del output interpreter para el show interface que muestras del switch, es la siguiente:
    WARNING: There is an up/down state on the interface FastEthernet0/24. TRY THIS: Check the physical cabling. Ensure that the appropriate cables are being used. Also verify the proper duplex and speed is configured. If this router is in the 4000 family, check that the correct media-type is configured. If this interface is not in use, issue a 'shutdown' to disable it.
    Revisá la configuración del Ubuntu.

    ResponderEliminar
  17. Buen dia Oscar, tengo un inconveniente, he configurado el monitor session en un switch catalyst 2960 con versión pero pierdo conectividad de los dispositivos conectados en los puertos a analizar cuando ingreso los comandos del session monitor. ¿Cuál puede ser la falla?,creo que la versión no soporta el SPAN a pesar que me deja digitar los comandos?. Gracias por tu ayuda de antemano.

    ResponderEliminar
  18. Disculpa Oscar, la versión del switch es: Version 12.2(46)SE, RELEASE SOFTWARE (fc2) y tiene cargada la imagen: flash:/c2960-lanlitek9-mz.122-46.SE/c2960-lanlitek9-mz.122-46.SE.bin. Gracias por tu ayuda.

    ResponderEliminar
  19. Martín.
    No termino de encontrar la causa para que al utilizar este feature tus terminales queden fuera de la red. El feature está disponible desde versión 12.2(25)FX, por lo que no es un problema de versión de IOS.
    Ni en el commando reference (http://www.cisco.com/en/US/docs/switches/lan/catalyst2960/software/release/12.2_25_see/command/reference/2960CR.pdf), ni en los release notes de la versión (http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/release/12.2_46_se/release/notes/OL16489.html#wp724378) hay referencias concretas a este tipo de problemas, que por otra parte harían inutilizable la función.

    ResponderEliminar
  20. Hola:

    Si tengo varias sesiones activas de SPAN, esto afecta el performance del Switch. Gracias.

    ResponderEliminar
    Respuestas
    1. Si. Dependiendo, obviamente, del volumen de tráfico que se deba reenviar.

      Eliminar
  21. Oscar, como estas, espero puedas responder esta consultas, tengo la supervision de una red de aproximadamente 70 switch cisco, de varios modelos, necesito saber que herramienta puedo utilizar para medir o controlar el trafico a nivel de LAN, dado que me es dificil identificar cierta lentitud en algunas aplicaciones cuando acceder a servidor de la misma LAN.

    Espero puedas ayudarme.

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Juan
      En ese tipo de infraestructura lo que debieras hacer es implementar alguna consola SNMP que te permita tener herramientas de reporting para detectar las causas de ralentización de la red que estás experimentando.
      Hay herramientas tanto open source, free, como licenciadas. Lo que debieras mirar es tener buenas herramientas de reporting y análisis, ya que el volumen de información que tenés que manejar es importante.
      La herramienta de Cisco para esto es Cisco Prime.

      Eliminar
  22. hola oscar,

    cuando configuro un puerto span como destino no me asigna IP, es normal? mi red ethernet es por DHCP

    ResponderEliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.