CCNA Security Módulo 5: Intrusion Protection System ( IPS )

Clase de repaso e integración de temas

Fecha: 28/7 Instructor: Ernesto Vilarrasa

 

Escenario: recreamos un escenario típico de un firewall conectado a Internet mediante NAT

con un web server y la función de IPS. También se implementó el envío de syslog y la

corrección del timestamp mediante NTP.

El router ISP es el router de última milla del proveedor y sólo actúa de gateway.

           

 

1)      Nos conectamos al firewall y buscamos la sección Configure->  Intrusion Prevention

 

 

2) Lanzamos el Wizard ( asistente )

 

 

3) Definimos qué interfaces serán analizadas tanto en paquetes entrantes ( Inbound ) como

paquetes salientes ( outbound ), no confundir con los estados de NAT en las interfaces,

inbound no es lo mismo que inside.

 

 

4) Si no poseemos firmas externas ( compradas a Cisco ), utilizamos las Built-In o sea

firmas incorporadas en el IOS, con algunas limitaciones de actualización, pero que a fines

prácticos y de pequeñas implementaciones son útilies.

 

 

5) Damos por finalizada la instalación

 

                  

 

6) Verificamos el estado, pero aquí NO monitoreamos

 

 

7) Para ello, nos dirijimos a Monitor -> Intrusion Prevention

 

 

Todos los contadores estarán en cero, entonces debemos generar tráfico anómalo “desde afuera “, en este

primer ejemplo, paquetes ICMP con longitud excesiva, los cuales también se pueden llegar a fragmentar

debido al tamaño de MTU (1500 bytes):

 

C:\>ping 200.0.0.1 -l 6500

 

Haciendo ping a 200.0.0.1 con 6500 bytes de datos:

 

Respuesta desde 200.0.0.1: bytes=6500 tiempo=26ms TTL=255

Respuesta desde 200.0.0.1: bytes=6500 tiempo=12ms TTL=255

Respuesta desde 200.0.0.1: bytes=6500 tiempo=17ms TTL=255

Respuesta desde 200.0.0.1: bytes=6500 tiempo=21ms TTL=255

 

Estadísticas de ping para 200.0.0.1:

    Paquetes: enviados = 4, recibidos = 4, perdidos = 0

    (0% perdidos),

Tiempos aproximados de ida y vuelta en milisegundos:

    Mínimo = 12ms, Máximo = 26ms, Media = 19ms

 

Alarmas generadas ( vía SDM ) :

 

 

Alarmas generadas ( vía CLI ) :

 

Mar  1 00:44:06.678: %IPS-4-SIGNATURE: Sig:2150 Subsig:0 Sev:2 Fragmented ICMP

200.0.0.2:0 -> 200.0.0.1:0]

Mar  1 00:44:06.678: %IPS-4-SIGNATURE: Sig:2004 Subsig:0 Sev:2 ICMP Echo Req

[20.0.0.2:0 -> 200.0.0.1:0]

*Mar  1 00:45:24.526: %IPS-4-SIGNATURE: Sig:2150 Subsig:0 Sev:2 Fragmented ICMP

[200.0.0.2:0 -> 200.0.0.1:0]

*Mar  1 00:45:24.526: %IPS-4-SIGNATURE: Sig:2004 Subsig:0 Sev:2 ICMP Echo Req

[200.0.0.2:0 -> 200.0.0.1:0]

Mar  1 00:44:06.678: %IPS-4-SIGNATURE: Sig:2150 Subsig:0 Sev:2 Fragmented ICMP

200.0.0.2:0 -> 200.0.0.1:0]

Mar  1 00:44:06.678: %IPS-4-SIGNATURE: Sig:2004 Subsig:0 Sev:2 ICMP Echo Req

[20.0.0.2:0 -> 200.0.0.1:0]

*Mar  1 00:45:24.526: %IPS-4-SIGNATURE: Sig:2150 Subsig:0 Sev:2 Fragmented ICMP

[200.0.0.2:0 -> 200.0.0.1:0]

*Mar  1 00:45:24.526: %IPS-4-SIGNATURE: Sig:2004 Subsig:0 Sev:2 ICMP Echo Req

[200.0.0.2:0 -> 200.0.0.1:0]

 

Generando tráfico imposible, o land attack para DoS:

Mediante la herramienta synflood.exe, también generamos un batch para automatizar el ataque.

 

C:\>type synflood.bat

 

@echo off

rem el numero de interfaz lo obtienes corriento el synflood.exe solamente

:ACA

rem ejemplo para generar conexiones HTTP fallidas y mediante IP origen loopback

rem

synflood.exe -interface 1 -ip_source 127.0.0.1 -ip_destination 200.0.0.1 -tcp_port_destination 80 loops

rem

rem ejemplo para generar conexiones Tráfico imposible

rem

synflood.exe -interface 1 -ip_source 200.0.0.1 -ip_destination 200.0.0.1 -tcp_port_destination 0 loops

rem

rem ejemplo para SYNFLOOD UNICAST

rem

synflood.exe -interface 1 -ip_destination 200.0.0.1 -tcp_port_destination 80 loops

rem

goto ACA

 

 

SynFlood -  Send SYN TCP with spoofing IP Source - Version 2.3.3.10

Create on July 23, 2003, Last compilation on August 26, 2006

Created by sebastien.fontaine@frameip.com

 

The SYN TCP was sent from 127.0.0.1:61209 to 200.0.0.1:0 - 69 Bytes

 

Resultado:

 

 

Alarmas generadas y enviadas al servidor Syslog:

 

 

 

Observamos que el timestamp no es el correcto, no sincroniza con la hora real y deberemos corregirlo.

 

Configuración de la hora correcta en el Firewall ( módulo 2 punto 2.3.5 ):

 

a)      Configuración manual:

 

Vía CLI:

 

Firewall#clock set 20:40:00 JUL 28 2010

Firewall#sh clock

*20:40:24.328 UTC mié jul 28 2010

Firewall#

 

Vía SDM: (tenemos la opción de sincronizar al reloj de la PC )

 

 

b)      Configuración mediante servidor NTP:

 

Vía CLI: Firewall(config)#ntp server 192.168.0.10

 

Vía SDM:

 

 

                              

 

Utilizamos un servidor Windows 2003 como master NTP, para verificar su configuración utilizamos

el recurso http://support.microsoft.com/kb/816042

 

Configuración final del firewall:

 

!

hostname Firewall

!

enable secret 5 $1$.Tnl$PLm7p/VRTLgn.Drs1ekVM/

!

ip dhcp pool WAN para facilitar la conectividad de los host del lado de la WAN

   network 200.0.0.0 255.255.255.240

   default-router 200.0.0.1

!

!

ip ips notify SDEE habilita los logs vía SDM

ip ips name sdm_ips_rule habilita el servicio de IPS

!

username admin privilege 15 secret Cisco12345

!

interface FastEthernet0/0

 description RED LOCAL

 ip address 192.168.0.1 255.255.255.0

 ip nat inside

 ip virtual-reassembly

!

interface FastEthernet1/0

 description INTERNET

 ip address 200.0.0.1 255.255.255.240

 ip nat outside

 ip ips sdm_ips_rule in  paso 3)

 ip ips sdm_ips_rule out paso 3)

 ip virtual-reassembly reensambla fragmentos para analizar patrones

!

ip nat inside source list 1 interface FastEthernet0/0 overload

ip nat inside source static tcp 192.168.0.10 80 200.0.0.1 80 port forwarding

!                                                            del tráfico http

!

access-list 1 permit host 192.168.0.0 tráfico interesante para el NAT

!

ip http server

logging 192.168.0.4 habilita los logs a este host

!

line vty 0 4

 password Cisc012345

 login

!

ntp server 192.168.0.10 source FastEthernet0/0 host de syncronzación NTP

!

end

 

Firewall# go home

 

Connection lost !

 

 

 

(2010) Crazy tales to sleep by uncle Ernesto

Rosario, Argentina