Showing posts with label cisco. Show all posts
Showing posts with label cisco. Show all posts

Wednesday, December 3, 2008

Cisco Router Hardening

Toda política de seguridad debe contener los procedimientos de hardening de los diferentes dispositivos que se utilizan en la red.

En este caso hago un resumen del manual de hardening del IOS de los routers Cisco.

El procedimiento completo se encuentra en este link : Hardening IOS Cisco

Incluso la NSA ( National Security Agency ) cuenta con una versión de este documento : NSA/SNAC Router Security Configuration Guide

También esta el libro de O´reilly, Hardening Cisco Router pero no tiene buenas criticas.


Mientras el documento de Cisco tiene 60 paginas el de la NSA tiene 300paginas. Por supuesto este ultimo, empieza con el protocolo TCP/IP y termina con Intrusion Detection mediante el IOS.

El manual de hardening de Cisco IOS contiene los siguientes tópicos :

El primer punto Secure Operation son recomendaciones de puntos a tener en cuenta al momento de administrar un router Cisco. El énfasis esta no solamente en realizar el hardening, además en tener un modelo de trabajo que permita mantener en el tiempo la seguridad del equipo.
Por ejemplo recomendaciones sobre mantenerse actualizado con los alertas emitidos por Cisco, mantener los logs en un equipo centralizado, usar SSH y no telnet....etc.

Secure Operations
  • Monitor Cisco Security Advisories and Responses
  • Leverage Authentication, Authorization, and Accounting
  • Centralize Log Collection and Monitoring
  • Use Secure Protocols When Possible
  • Gain Traffic Visibility with NetFlow
  • Configuration Management

El Plan de Administracion o Management Plane, posee todas las funciones que permiten mantener la integridad de la configuración del IOS. Estas son recomendaciones para utilizar passwords encryptadas, deshabilitar servicios, cuidar de dar aviso cuando la CPU supere un limite de trabajo.
Si no tenemos en cuenta de poner en practica estos consejos, la integridad del IOS queda comprometida. Es decir, si tenemos una password fuerte, pero no se encuentra encryptada, entonces el nivel de protección disminuye.

Veamos uno de los puntos

No Service Password−Recovery

In Cisco IOS Software Release 12.3(14)T and later, the No Service Password−Recovery feature does not allow anyone with console access to insecurely access the device configuration and clear the password. It also does not allow malicious users to change the configuration register value and access NVRAM.

!
no service password−recovery
!


Management Plane

  • General Management Plane Hardening
  • Limiting Access to the Network with Infrastructure ACLs
  • Securing Interactive Management Sessions
  • Using Authentication, Authorization, and Accounting
  • Fortifying the Simple Network Management Protocol
  • Logging Best Practices
  • Cisco IOS Software Configuration Management
El Plan de Control permite al administrador clasificar, controlar y restringir el trafico que es enviado al dispositivo para su administración.

Un punto es la utilización de SSH para encryptar los datos transmitidos entre el operador y el dispositivo.

Encrypting Management Sessions
Because information can be disclosed during an interactive management session, this traffic must be encrypted so that a malicious user cannot gain access to the data being transmitted. Encrypting the traffic allows a secure remote access connection to the device. If the traffic for a management session is sent over the network in cleartext, an attacker can obtain sensitive information about the device and the network.

Estos comandos habilitan SSH en el dispostivo.

!
ip domain−name example.com
!
crypto key generate rsa modulus 2048
!
ip ssh time−out 60
ip ssh authentication−retries 3
ip ssh source−interface GigabitEthernet 0/1
!
line vty 0 4
transport input ssh
!

Control Plane

  • General Control Plane Hardening
  • Limiting CPU Impact of Control Plane Traffic
  • Securing BGP
  • Securing Interior Gateway Protocols
  • Securing First Hop Redundancy Protocols

El Plan de Datos o Data Plane es el encargado de limitar el movimiento de datos entre redes.
Un punto interesante es de antispoofing, es decir no permitir que paquetes con source de redes internas vengan desde interfaces externas.

Anti−Spoofing Protections
Many attacks utilize source IP address spoofing to be effective or to conceal the true source of an attack and hinder accurate traceback. Cisco IOS software provides Unicast RPF and IP Source Guard (IPSG) to deter attacks that rely on source IP address spoofing. In addition, ACLs and null routing are often deployed as a manual means of spoofing prevention.

IP Source Guard can be applied to Layer 2 interfaces belonging to DHCP snooping−enabled VLANs. These commands enable DHCP snooping:
!
ip dhcp snooping
ip dhcp snooping vlan
!

After DHCP snooping is enabled, these commands enable IPSG:
!
interface
ip verify source
!



Data Plane
General Data Plane Hardening
Filtering Transit Traffic with Transit ACLs
Anti−Spoofing Protections
Limiting CPU Impact of Data Plane Traffic
Traffic Identification and Traceback
Access Control with VLAN Maps and Port Access Control Lists
Using Private VLANs


Por ultimo la checklist de la NSA para el hardening de un router. Esta checklist se complementa muy bien con el documento de Cisco, ya que aqui se pone mas enfasis en la parte de procedimentos ( mantener el IOS atualizado, mantener un backuo de la configuracion, tener la documentacion al dia...)
Router Security Checklist

This security checklist is designed to help you review your router security configuration, and remind you of any security area you might have missed.

  • Router security policy written, approved, distributed.
  • Router IOS version checked and up to date.
  • Router configuration kept off-line, backed up, access to it limited.
  • Router configuration is well-documented, commented.
  • Router users and passwords configured and maintained.
  • Password encryption in use, enable secret in use.
  • Enable secret difficult to guess, knowledge of it strictly limited. (if not, change the enable secret immediately)
  • Access restrictions imposed on Console, Aux, VTYs.
  • Unneeded network servers and facilities disabled.
  • Necessary network services configured correctly (e.g. DNS)
  • Unused interfaces and VTYs shut down or disabled.
  • Risky interface services disabled.
  • Port and protocol needs of the network identified and checked.
  • Access lists limit traffic to identified ports and protocols.
  • Access lists block reserved and inappropriate addresses.
  • Static routes configured where necessary.
  • Routing protocols configured to use integrity mechanisms.
  • Logging enabled and log recipient hosts identified and configured.
  • Router’s time of day set accurately, maintained with NTP.
  • Logging set to include consistent time information.
  • Logs checked, reviewed, archived in accordance with local policy.
  • SNMP disabled or enabled with good community strings and ACLs.

En este link tenemos un resumen de los comandos minimos para realizar un hardening :
NSA Cisco IOS sumary

Wednesday, November 26, 2008

GNS3 - De todo un poco


Este breve posts es para dar referencias de Blogs donde pueden encontrar mejor información que aquí para armar su propio laboratorio virtual con GNS3.

Comencemos con :

http://www.blindhog.net : Excelentes tutoriales en vídeo.

http://www.brainbump.net/ : Igual a blindhog, pero tal vez un poco mas orientado a la seguridad.

http://www.gns3-labs.com/ : Todas las topologías que uno quiera armar sobre GNS3 estan alli.

http://7200emu.hacki.at/index.php : Un foro imprescindible con toda la información de ayuda.



Un link interesante dentro de http://www.gns3-labs.com/ es este donde pueden bajar un LiveCD de SLax con GNS3 preconfigurado, llamado DynaSlax.


Desempolve mi viejo libro "Cisco Router Configuration" A practical Introduction to Cisco IOS Configuration y me propuse armar un lab para recuperar practica sobre routers y tener un laboratorio donde hacer algunos tests.

El libro es bastante viejito, del 98, pero los conceptos de networking no cambian. Para el propósito que persigo esta mas que suficiente. Para el futuro, tengo reservado leer
"Cisco.Building.Scalable.Cisco.Internetworks.BSCI.Student.Guide".

En el libro que les comente, trae una laboratorio para las pruebas, me propuse virtualizar este laboratorio utilizando GNS3 y VMWARE.
Dado que tengo un perfil orientado a la seguridad, modifique un anillo de fibra que habia en el laboratorio y lo reemplaze por un ASA y una nube de internet.

Quedo como la figura siguiente :


Para hacer esto voy a tener que utilizar un par de máquinas y conectar los hypervisores, como en el vídeo siguiente : How to run multi-pc topology using distributed hypervisors in GNS3

Por el momento comence con la nube Frame Relay basándome en el video siguiente :

http://www.blindhog.net/gns3-how-to-build-a-frame-relay-lab/

Por lo tanto, esto es lo que tengo ya funcionando.

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.