Showing posts with label networking. Show all posts
Showing posts with label networking. Show all posts

Tuesday, May 12, 2009

Networking - Limitando el ancho de banda




Debo aclarar que no soy un experto en Networking, cuando digo experto quiero decir un CCIE o un CCNA. Realice varios cursos de Cisco hace unos años atras y si bien la tecnologia avanza, muchos conceptos permanecen y es solo cuestión de realizar una buena búsqueda y el material esta a nuestra disposición.

Esta semana un amigo me pidio ayuda para resolver un problema con una implementación.

Tenia un link de internet de 8MB y necesitaba armar tres VLANS y separar el trafico con diferentes anchos de banda para cada una.

La solución que se me ocurrió ( con mis limitaciones ) fue la siguiente :


Muchos se preguntaran porque delante del Catalyst 4500, poner un equipo de piso ? Lamentablemente la versión del IOS que tenia el switch de core no soportaba los comandos que utilizaríamos para limitar el ancho de banda.

El comando a utilizar esta en las versiones de IOS > 12.2(25) y es

Switch(config)# interface FastEthernet 0/1
Switch(config-if)# srr-queue bandwidth ?
limit Configure bandwidth-limit for this interface
shape Configure shaping on transmit queues
share Configure shared bandwidth

Este comando permite utilizando el parámetro limit , "bajar"la velocidad del port entre un 10 a un 90%.

Otro punto que a ver era la negociación de velocidad entre las interfaces del 4500 y del 3550, ya que eso impactaría en la solucion final.

El 10% de una interfaz Fastethernet es mayor a todo el ancho de banda disponible. Por lo tanto debíamos bajar la velocidad de la interfaz a 10MB y sobre ese valor aplicar el comando anterior.




Dado que en el catalyst 4500 ya existian los trunks de distribución de las VLANS. Solo fue necesario crear las nuevas que definimos y estas se propagaron hacia los switch de borde.


Resumiendo :

  • Creación de Vlans
switch# conf t
switch(config)# vlan 50 name vlan50
switch(
config)# vlan 60 name vlan60
switch(
config)# vlan 70 name vlan70

  • Asignación de Vlans en los puertos del 4500

switch(
config)# int Gi3/10
switch(
config-if)# switchport access vlan 50

  • Asignación de velocidad máxima en los puertos del 4500

switch(config-if)# speed 10

  • Limitación de velocidad en los puertos del 3550
switch(config)# int fas 1/0/2
switch(config)# srr-queue bandwidth limit 20
switch(
config)#exit


Conectamos una PC en cada una de las diferentes VLANS en los switchs de piso , y segun modificabamos el parametro LIMIT, impactaba en el ancho de banda que tomaba la PC.



Un buen articulo sobre Bandwith Limitation esta en el siguiente link

Conocen otras maneras de hacerlo ?

Thursday, November 13, 2008

Laboratorios Virtuales - GNS3

Esta es una serie de posts sobre las diferentes herramientas free que se encuentran disponibles para armar laboratorios virtuales.

Hoy en dia se pueden virtualizar diversos equipos de seguridad, con el programa GNS3 se puede armar laboratorios virtuales con diferentes equipos Cisco, desde routers, pasando por switches y hasta firewalls ASA. Vale aclarar que para esto se necesitan tener los IOS y las licencias necesarias, lo virtual en este caso pasa por el hardware.

Tambien hay programas como Olive que nos permiten emular equipos Juniper y por ultimo tambien podemos armar un laboratorio de pruebas utilizando licencias temporales de Checkpoint y por supuesto tenemos vmware.

Vamos a comenzar con GNS3 o Graphical Network Simulator, es un software que permite emular desde rede simples a otras muy complejas. Este emulador corre tanto sobre Windows XP como sobre Linux, incluso la performance en este ultimo es superior.

Utilizando el mismo concepto de Vmware, GNS3 permite emular el ambiente donde se puede ejecutar Cisco IOS.



GNS3 es el front end grafico de un producto llamado Dynagen y este a su vez es un front end que se ejecuta sobre Dynamips el programa que permite la emulacion del hardware (routers 1700, 2600, 3600, 3700, y 7200). donde se ejecuta el IOS real.

Gns3 se puede bajar desde : http://www.gns3.net.

Un manual basico para principiantes se encuentra en :

http://downloads.sourceforge.net/gns-3/GNS3-0.5-tutorial.pdf?download


Luego de instalado GNS3 al ejecutarlo nos muestra la siguiente interfaz.



Como ya se menciono anteriormente, se debe contar con el IOS y su licencia respectiva para ejecutar, en este momento las plataformas soportadas son :

1710 1720 1721 1750 1751 1760 2610 2610XM 2611 2611XM 2620 2620XM 2621 2621XM 2650XM 2651XM 2691 3620 3640 3660 3725 3745 7200.

Carguenos el IOS mediante tres pasos :

Vamos a Edit y seleccionamos IOS images and hypervisors

Buscamos en nuestros discos las imagenes a cargar, seleccionamos la plataforma.

y por ultimo lo asociamos a la plataforma y al modelo.


Luego de cargar el IOS y asociarlo a una plataforma estamos en condiciones de armar una topologia de ejemplo.

Antes veamos la interfaz como esta compuesta :


A la izquierda tenemos los diferentes tipos de dispositivos, en la parte media superior esta el ambiente de trabajo donde graficaremos la topologia, sobre la derecha aparecen las interfaces intervinientes y su estado y debajo tenemos la consola de comandos de dynagen.

Ok, veamos como se comporta esta herramienta instalando un router. Vamos a utilizar un router 7200, el cual anteriormente ya le cargamos el IOS.

Arrastramos el router elegido sobre el panel de trabajo, donde quedara listo para configurar.

Selecionamos con el boton derecho y vamos a configurar la interfaz R1. Aparece un menu desplegable donde elegimos la que dice FE que conrresponde a una interfaz del tipo Fastethernet.


Hacemos nuevamente click con el boton derecho sobre el router y damos start y luego console.

Estos comandos haran que el router actuara como si se encendiera. Luego nos pedira configurarlo.


Hay un punto importante respecto a los dispositivos y es que estan todo el tiempo consumiendo CPU por lo que tenemos que realizar un paso mas que consiste en fijar un valor llamado idlepc que permite que el router permanezca en standby y solo consuma CPU en los momenos oportunos.

Se debe realizar click con el boton derecho sobre el router y seleccionar Idle PC, GNS3 pasara un tiempo calculando este valor. Luego aparecera una menu desplegable con varios valores, los marcados con astericos son los que mejor resultado daran, tambien puede que no aparezcan con *.


Luego de esto podemos ir a la consola o con um telnet y utilizar el router como uno autentico.


Las posibilidades que brindan GNS3 son infinitas, se esta en condiciones de poder rendir un examen de CCIE utilizando este tipo de herramientas.


Con mas tiempo voy a montar un laboratorio para hace demos de Pentest y lo voy a compartir.

Tuesday, November 11, 2008

Auditoria de dispositivos de Red con Nipper

Antes de comenzar a ver esta interesante herramienta de seguridad quiero contarles la historia de Nipper.

Cuando descubri el programa y vi su logo del perrito me pregunte que significaba Nipper.

Haciendo un poco de googling, encontre esta interesante historia.

Nipper fue un perro que nacio en Bristol ( Gloucester), Inglaterra en 1884 , llamado asi por su tendencia a romper las botamangas de las visitas. Cuando fallecio su primer dueño Mark Barraud en 1887, Nipper fue llevado a Liverpool , por el hermano menor de Mark llamado Francis, un pintor.

En Liverpool , Nipper descubrio el fonografo, Francis Barraud, estaba sorprendido por como Nipper miraba intrigado sobre el origen de la voz que salia del fonografo. Esta imagen debe haber quedado grabada en la mente de Mark, ya que tres años despues de la muerte de Nipper, el lo reflejo en un pintura.

En 1898 Barraud completo la pintura y registro esta el 11 de febrero de 1899 como "Perro mirando y escuchando un fonografo" ( no se esforzo mucho en ponerle el nombre parece )

Mas tarde, tal vez comprendiendo que no era muy original el titulo, lo cambio por "La voz de su maestro" ( His Master´s voice )

Barraud trato sin exito de exibir su pintura en varios lugares, llego a ofrecerla a la empresa Edison Bell Company lider en la fabricacion de fonografos, pero la respuesta fue "Los perros no escuchan fonografos".

En el verano de 1899 visito la nueva Gramophone Company y aceptando la sugerencia de agregar un fonografo de la compañia a la pintura, Barraud hizo famoso a Nipper.



Cobro 100 libras por la pintura y sus derechos. Asi nacio el logo de RCA Victor con Nipper y el fonografo, imagen que continua al tope de "Famous Brands of the 20th Century".

Ahora hablemos de Nipper el otro perro.

Que es Nipper ?

Nipper es un programa que puede realizar una auditoria de seguridad de la configuracion de los varios dispositivos. Esta auditoria puede incluir, verificacion de filtros de red, seguridad de las passwords, protocolos de ruteo, version de software, servicios de management, etc. Algunas de estas verificaciones son customizables por lo que se puede modificar para cumplir con iertos requerimientos.

Que dispositivos soporta ?

Actualmente soporta la configuracion de los siguientes equipos :

  • 3Com 5500 Switches
  • 3Com SuperStack 3 Firewall
  • Bay Networks Accelar
  • CheckPoint Firewall Modules
  • CheckPoint Management Modules
  • Cisco ASA Security Appliances
  • Cisco Catalyst Switches (IOS)
  • Cisco CatOS Catalyst Devices
  • Cisco Content Services Switches
  • Cisco Firewall Service Modules
  • Nipper Auditing Network Devices
  • with Nipper 8th November 2008
  • ADVANCED
  • Cisco NMP Catalyst Devices
  • Cisco PIX Security Appliances
  • Cisco Routers (IOS)
  • HP ProCurve Switches
  • Juniper NetScreen Firewalls
  • Nokia IP Firewalls
  • Nortel Ethernet Routing Switches
  • Nortel Passport
  • SonicWALL Firewalls
Que reportes entrega ?

Nipper puede generar un documento customizable. El reporte puede contener, una auditoria de seguridad, detalles de la configuracion y comentarios adicionales. El documento se puede csutomizar incluso cambiando los graficos.




Veamos como funciona y algunos ejemplos:

El codigo fuente y los binarios se encuentran en :

http://nipper.titania.co.uk/downloads.php

Instalacion : Nipper se ejecuta sobre la siguientes plataformas :

  • Microsoft Windows
    • 32-bit Binary Package
    • Platform Independent Source Code
  • Linux And UNIX Systems
    • Platform Independent Source Code
  • Apple Mac OS-X
    • Platform Independent Source Code
Para esta demo vamos a trabajar sobre Windows.

Se deben bajar tanto la libreria Libnipper como el programa Nipper-cli.zip y unzipear en el mismo directorio.

Si ejecutamos el comando :

nipper --help

Nos mostrara los parametros necesarios para su ejecucion.


Basicamente son tres parametros :

Tipo de dispositivo

CMD Option Device Type
====================================================
--auto Auto-Detect Device (Default)
--3com-firewall 3Com SuperStack 3 Firewall
--accelar Bay Networks Accelar
--cp-firewall CheckPoint Firewall Module
--cp-management CheckPoint Management Module
--ios-router Cisco IOS-based Router
--ios-catalyst Cisco IOS-based Catalyst Switch
--pix Cisco PIX-based Firewall
--asa Cisco ASA-based Firewall
--fwsm Cisco FWSM-based Router
--catos Cisco CatOS-based Catalyst
--nmp Cisco NMP-based Catalyst
--css Cisco Content Services Switch
--procurve HP ProCurve Switches
--screenos Juniper NetScreen Firewall
--nokiaip Nokia IP Firewall
--passport Nortel Passport Device
--nortel-switch Nortel Ethernet Routing Switch 8300
--sonicos SonicWall SonicOS Firewall

Archivo de Input

--input=

Archivo de Salida

--output=


Vamos a realizar una auditoria de un switch Cisco Catalyst.


CLI Capture




  1. Connectarse al Cisco Catalyst por SSH o directamente en la consola.
  2. Login.
  3. Tipear el siguiente comando
    enable
  4. Entrar el enable password.
  5. Ejecutar el siguiente comando y capturar la salidad:
    show run
  6. Guardar la captura y salvar el archivo capturado a un archivo, sacar todas las lineas del tipo (i.e. "<--- More --->").

Los parametros necesarias para que Nipper valide la configuracion son :

--ios-catalys

Si el switch tiene el feature de ruteo, entonces deberemos

--ios-router

En este caso es un switch layer 2 , por lo tanto ejecutaremos el siguiente comando :

c:\nipper\nipper --ios-catalyst --input=switchtest.txt --output=report.html

Auditoria de Password

Como parte de la auditoria de seguridad , Nipper auditara las passwords, claves de autinticacion y string de snmap. Esta auditoria estara basada en la politica que definamos ( largo, tipo de caracteres...) o utilizando la politica por default de Nipper.

Auditoria de ACL

Nipper tambien puede auditar Access lists ( ACL ) y Access Entries Lists ( ACE). Esto basado en una politica de filtrado que puede ser definida o usando su propia politica.

Ingresando esta configuracion : http://nipper.titania.co.uk/data/ios-catalyst.config

Obtenemos este reporte : http://nipper.titania.co.uk/data/ios-catalyst.html


Algunos ejemplos de las entradas del Reporte :

2.28. Login Banner

Observation: A banner message can be shown to users who connect to one of the remote management services, such as Telnet. Typically banner messages will include information on the law with regard to unauthorised access to the device, warning users who do not have the authority to access the device about the consequences.

Nipper determined that no login banner was configured.

Impact: Attackers who have gained access to a device could avoid legal action if no banner is configured to warn against unauthorised access.

Ease: N/A

Recommendation: Nipper recommends that a banner be configured that warns against unauthorised access. Banners are configured on Cisco devices using a delimiter character. A delimiter character is specified in the banner command and is used again to mark the end of the banner. The Cisco command to add a login banner, that is presented to users prior to authentication, is:

banner login {delimiter} The banner text {delimiter}

2.32. Conclusions

Nipper performed a security audit of the Cisco Catalyst device switch02 on Saturday 22 March 2008 and identified 30 security-related issues. Nipper determined that:

  • dictionary-based passwords / keys were in use;
  • weak passwords / keys were identified;
  • configuration auto-loading was configured;
  • directed broadcasts were enabled;
  • TCP keep alive messages are not configured for inbound connections;
  • all connections were not configured with secure connection timeout periods;
  • the AUX port was configured to allow EXEC connections without the callback functionality;
  • the finger service was enabled;
  • clear-text remote web-based administration was enabled using HTTP;
  • clear-text remote administration was enabled using SNMP;
  • clear-text remote administration was enabled using Telnet;
  • ICMP redirects were not disabled for all network interfaces;
  • insecure ACL were configured;
  • trunk negotiation was not disabled on all switch ports;
  • port security was not enabled on all switch ports;
  • insufficient logging was configured;
  • ARP request proxying was not disabled on all network interfaces;
  • SSH protocol version 1 was configured;
  • CDP was not disabled;
  • an inadequate minimum password length was configured;
  • BootP was enabled;
  • all small servers have not been disabled;
  • IP unreachables have not been disabled on all interfaces;
  • ICMP Mask Reply is not disabled on all interfaces;
  • the enable password is not stored using the MD5 hash;
  • the service passwords are stored in clear-text;
  • no login banner has been configured;
  • domain lookups were enabled;
  • the PAD service was enabled;
  • MOP had not been disabled on all interfaces.

Tambien tenemos una herramienta que se llama NiperMe y que es un frontend de Nipper.


Para finalizar, las posibilidades de Nipper son muy interesantes ya que podemos definir una configuracion para nuestros equipos que verifique si estan en compliance con una norma en particular ( por ejemplo PCI )

--La informacion de la historia de Nipper ( fuente Wikipedia )







Saturday, November 1, 2008

Seguridad en Layer 2

Esta es una presentacion que prepare hace muchos años atras, trata sobre los diferentes ataques en capa 2. Aunqe los switches mejoraron mucho, este tipo de vulnerabilidades aun siguen vigentes. Lamentablemente al exportar la presentacion se pierde la parte dinamica entre slides, pero creo que da para entenderse los conceptos.