PIX: CONFIGURAR REGLAS FW

CONFIGURACION DE UNA REGLA EN PIX

Normalmente los firewalls tienen 2 interfaces : Inside (segura), Outside (no segura)
En algunas ocasiones puede existir una tercera DMZ donde se alojan servicios.

Podemos identificar rapidamente las interfaces configuradas y las reglas aplicadas con el comando
" sh access-group"

En el siguiente ejemplo vamos a configurar una regla que permita el trafico para que podamos acceder por el protocolo Termial Server (tcp 3389) desde fuera de la red a una maquina en concreto.



-CREACION OBJECT GROUP (terminal server tcp 3389)
   
    object-group service Puerto_TS tcp
        port-object eq 3389

-CREACION DEA LA REGLA (permite a cualquiera el acceso TS al host indicado)

    access-list 200 permit tcp any host 10.X.Y.Z object-group Puerto_TS

-APLICAR REGLA A LA INTERFACE (aplicamos la regla de entrada al interface outside)
   
    access-group 200 in interface outside

-COMPROBACION (comprobamos que la regla 200 se aplica de entrada en la int outside)

   show access-group
   "access-group 200 in interface outside"

-GUARDAR CONFIG

    wr mem

Spanning tree

Historia
El spanning tree es un protocolo que utilizan los switches para detener los bucles capa 2 (enlace de datos). Los bucles capa 2 no se pueden detener porque los paquetes no llevan ttl como en capa 3 y generan tormentas de broadcast que saturan las cpus de los switches y pueden ser capaces de detener una red entera.
El IEEE sacó un protocolo para evitar los bucles capa 2 llamado SPANNING TREE o 802.1D. El cual consiste en bloquear ciertos puertos para evitar la redundancia de caminos.

BPDUS

Hay un switch que va a "mandar" es decir ser el root bridge, para calcularlo todos los switches inundan por todos sus puertos bpdus, que son mensajes para calcular su prioridad.
BPDU = PRIORIDAD + MAC  (concatenado no sumado). Cada switch tiene una mac distinta, la prioridad por defecto es 32768 excepto en el switch C que es 4096. El switch de BPDU mas baja es el puente raiz.


Tipos de puerto


Puerto raíz: el camino de menor coste al puente raíz, lo tienen que tener todos excepto el puente raíz

Puerto designado: puerto que conectan segmentos al puente raíz.

Puerto no designado: son puertos que están en bloqueo con el fin de que no se produzca bucle en la topología


Un ejemplo





Tenemos tres switches, conectados tal que así






















vamos a ver quien es el puente raiz: el de menor BPDU, si concatenamos 32768 el puente raiz es SWC




















Los puertos del puente raiz siempre son puertos designados



















Ahora hay que buscar del resto de los switches el camino con menos coste al puente raiz esos seran puertos raiz SWA y SWB tienen conexion directa con el puente raiz, luego esos puertos seran puertos raiz tienen 1 salto en vez de dos que sería la otra opción.





















Y ahora queda un segmento de red que es el que crea bucle, ¿quien bloquea ahí y quien no bloquea?, la regla es ésta en un segmento de red que haya dos puertos designados bloquea el que tenga mayor BPDU y el otro se queda como designado en FORWARD.



















¿Y que ocurre si tengo una topologia asi?











Pues volvemos a lo mismo, primero calcular el root bridge, que será SWC porque tiene la mejor BPDU (la mas pequeña). ¿Ahora bien que puerto bloquea?, hay una regla "el de numeración más alta del switch con mayor BPDU" el puerto del otro switch se queda en FWD como designado.

Para ver el estado de los puertos podeis ejecutar el comando
show spanning-tree  y tendreis un output detallado del quien es el puente raiz, de la mac y prioridad propia y del estado de los puertos

SPAN Avanzado

RSPAN es una manera de monitorizar un puerto de un switch y de destino un puerto de otro switch, da mucha potencia a la hora de hacer troubleshooting puesto que con suerte no te tienes que mover del sitio para saber lo que pasa por un determinado puerto o vlan de un switch.

Veamos una configuración de RSPAN usando 3 switches, SWA, SWB Y SWC y hagamos tres supuestos

  • -Monitorizar de SWA el trafico recivido por las vlanes de la 66 a la 68
  • -Monitorizar de SCB todo el trafico recivido en la vlan 9
  • -Monitorizar de SWB todo el trafico enviado y recibido en la vlan 11

Todo ha de ir a la vlan 99 del switch C que la sacaremos por la interfaz fa0/24 del mismo switch

En SWA

SWA(config)#vlan 199
SWA(config-vlan)#remote span
SWA(config-vlan)#exit
SWA(config)#monitor session 1 source vlan 66 - 68 rx
SWA(config)#monitor session 1 destination remote vlan 199

En SWB

SWB(config)#VLAN 199
SWB(config-vlan)#remote span
SWB(config-vlan)#exit
SWB(config)#monitor session 2 source vlan 9 rx
SWB(config)#monitor session 2 source vlan 11 rx
SWB(config)#monitor sessino 2 destination remote vlan 199

En SWC redirigimos todo el trafico a un puerto

SWC(config)#vlan 99
SWC(config-vlan)#remote span
SWC(config-vlan)# exit
SWC(config)#monitor session 4 source remote vlan 199
SWC(config)#monitor session 4 destination interface fa0/24
SWC(config)#exit

Para verificar el resultado usaremos el mismo comando que en un SPAN normal "show monitor session".

Netflow

Con Netflow puedes exportar datos (estadisticas de trafico) desde dispositivos de red como routers y switches a una estacion remota donde se realizara un posterior estudio sobre las estadisticas del trafico recibido.

La configuracion de netflow es sencilla y se realiza a nivel de interface:

(importante: ya que netflow consume recursos cpu de los equipos de red, solo habilitarlo en interfaces estrategicas para el estudio del trafico que pasa por ellas)

Configuracion:

config t
   interface
          ip route-cache flow
   exit
ip flow-export version 5
ip flow-export destination


*con ip route-cache flow habilitamos netflow en la interface
*la version mas extendida de netflow es la 5, pero ya esta disponible la 9
*ip flow-exortp destination , enviamos la informacion del trafico a la ip de la estacion remota que realizara su estudio, analisis, graficas etc. Puede ser una aplicacion netflow collector o un modulo NAM network analisi modulo de un 6500.

SPAN, analizando puertos.

Los switches cisco soportan un método para redirigir el tráfico de un puerto o de una vlan a otro puerto en concreto. Éste método se llama SPAN (Switch Port Analyzer), podemos utilizar ésta técnica desde para grabar una llamada ip, para pasar los datos por un sensor ids o ips. El puerto de destino del puerto en espejo puede estar en el mismo switch o en otro switch.
Veamos un ejemplo de mirror de un puerto a otro puerto:


Router(config)#monitor session 1 source interface fa 0/2
Router(config)#monitor session 1 destination interface fa 0/3


Podemos especificar si es el tráfico entrante o saliente con rx o tx después de la interfaz.
Ejemplo de monitorización de una vlan

Router(config)#monitor session 1 source vlan 1
Router(config)#monitor session 1 destination interface fa 0/3


También podemos hacerlo sobre un puerto trunk y monitorizar solo las vlanes que creamos oportunas
si fa 2 fuera un puerto trunk

Router(config)#monitor session 1 source interface fa 0/2
Router(config)#monitor session 1 destination interface fa 0/3
Router(config)#monitor session 1 filter vlan 1-3, 229

Para verificar el resultado se puede hacer con show monitor session numero-sesion, el destino siempre tiene que ser puerto físico, aunque el origen pueda ser un puerto un portchannel o una vlan (o varias).

Router#show monitor session 1
Session 1
---------
Source Ports:
    RX Only:       None
    TX Only:       Fa0/0
    Both:          None
Source VLANs:
    RX Only:       None
    TX Only:       None
    Both:          None
Destination Ports: Fa0/2
Filter VLANs:      None

Enrutando I, las rutas estáticas

Vamos a ver como crear rutas estáticas para llegar a otros destinos en la red.
A la hora de enrutar hay varias opciones, que la red esté directamente conectada, rutas estáticas o usar protocolos de enrutamiento.

Veamos un ejemplo con dos redes directamente conectadas:

veamos las tres redes directamente conectadas 10.0.0.0/30, 10.0.0.4/30, 10.0.0.0/38., si miro la configuración de las interfaces dando la ip más pequeña a R1 en las tres redes con show ip interface brief
R1>sh ip int brief Interface                  IP-Address      OK? Method Status                Protocol
    FastEthernet0/0            10.0.0.1        YES manual up                    up
    FastEthernet1/0            10.0.0.5        YES manual up                    up
    FastEthernet2/0            10.0.0.9        YES manual up                    up 

Ahora veamos la tabla de rutas de R1 con show ip route:
R1>sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/30 is subnetted, 3 subnets
C       10.0.0.8 is directly connected, FastEthernet2/0
C       10.0.0.0 is directly connected, FastEthernet0/0
C       10.0.0.4 is directly connected, FastEthernet1/0

Vemos que sale una C, detecta directamente las redes conectadas, con lo cual podré hacer ping a todos los vecinos ya que sabe como alcanzarlos (al salir en la tabla de rutas)
R1>ping 10.0.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/19/40 ms
R1>ping 10.0.0.6

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.6, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/15/32 ms
R1>ping 10.0.0.10

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.10, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/15/36 ms

 Sin ningún problema, la tabla de rutas nos muestra una C que dice que las redes están conectadas si está directamente conectada una red el router directamente utilizará esa ruta para alcanzar esa red (no hay salgo alguno) la distancia adminitrativa es 0 y el router si tiene varias rutas al mismo destino busca el de distancia administrativa más pequeña.
Si ahora añado 3 redes más el router no sabrá como llegar a ellas
Para alcanzar las rutas que faltan debemos de crear rutas estáticas a los destinos, veamos las dos maneras que tenemos de hacerlo

Forma 1:
   ip route ipdered mascarared ipsiguientesalto

para el ejemplo lo haríamos así
R1(config)#ip route 192.168.1.1 255.255.255.255 10.0.0.2
R1(config)#ip route 192.168.1.2 255.255.255.255 10.0.0.6
R1(config)#ip route 192.168.1.3 255.255.255.255 10.0.0.10
Y ahora podremos ver como estas rutas quedan insertadas en la tabla de rutas con show ip route
     192.168.1.0/32 is subnetted, 3 subnets
S       192.168.1.1 [1/0] via 10.0.0.2
S       192.168.1.3 [1/0] via 10.0.0.10
S       192.168.1.2 [1/0] via 10.0.0.6
Las tres rutas estáticas están añadidas y podemos ver [1/0], en este recuadro hay 2 valores [AD/C] Distancia administrativa y coste, a menor distancia administrativa más posibilidades de ser insertada en la tabla de rutas, las redes directamente conectadas tienen distancia administrativa 0.

Veamos el segundo modo de poner una ruta estática

   ip route reddestino mascaradered interfazlocal

según el ejemplo ésto sería:
R1(config)#ip route 192.168.1.1 255.255.255.255 fa0/0
R1(config)#ip route 192.168.1.2 255.255.255.255 fa1/0
R1(config)#ip route 192.168.1.3 255.255.255.255 fa2/0
La tabla de rutas quedaría exactamente igual que antes, podemos ver que llegamos a esas ips haciendoles ping.

R1#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/19/36 ms
R1#ping 192.168.1.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/17/36 ms
R1#ping 192.168.1.3

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.3, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 4/15/36 ms


El ping vuelve porque los R2, R3 y R4 tienen directamente conectada la red desde la que se lanza el ping por ello no necesitan añadir ninguna ruta.

Por último vamos a ver como se añade una ruta por defecto, realmente sería lo mismo, si supiéramos que router hace de default gateway podríamos hacer así

ip route 0.0.0.0 0.0.0.0 ipgw
o como hemos visto antes
ip route 0.0.0.0 0.0.0.0 interfazconectadaaldefaultgateway

Veamos como queda la tabla de rutas si a R1 le digo que el default gateway es R4


S*   0.0.0.0/0 is directly connected, FastEthernet2/0


¿Y que ocurre cuando dos rutas tienen la misma distancia administrativa y el mismo coste ¿que queda en la tabla de rutas?, fácil nos inventamos un ejemplo de como llegar a la red 99.99.99.0/24 desde dos interfaces distintas:



R1(config)#ip route 99.99.99.0 255.255.255.0 fa0/0
R1(config)#ip route 99.99.99.0 255.255.255.0 fa1/0


Y ahora vemos el resultado en la tabla de rutas



S       99.99.99.0 is directly connected, FastEthernet0/0
                   is directly connected, FastEthernet1/0



Vemos que quedan las dos, eso es que se van a balancear, el 50% de las conexiones irán por una ruta y el otro 50% por la otra porque ambas son [1/0] distancia administrativa / coste, donde S significa ruta estática (Static).

Cisco ACS v5 y Active Directory

Elaboracion de una politica de seguridad con los nuevos servidores ACS de Cisco v5.
El ejemplo siguiente consiste en configurar un politica de seguridad para que los clientes wireless se validen contra la base de datos de usuarios de Active Directory.

Paso 1 - Informacion de los dispositivos de Red -

    -Configurar en el ACS los grupos de dispositivos de red que van a usar esta politica (Todos los AP que
            queremos que hagan la validacion contra la base de datos de Active Directory)

Paso 2 - Configurar la politica de identidad -

    -Conectar el Acs al Active directory (definir el nombre de dominio y credenciales administrador)
    -Seleccionar los grupos del directorio activo que usaremos en esta politica .


Pase 3 Configurar la politica de autorizacion

    - Las reglas de autorizacion estan basadas en condiciones, las peticiones de acceso deben hacer match
            para obtener un perfil de autorizacion
    - Las condiciones para las reglas pueden estar basadas en Localizacion, miembros del directorio activo,
            dia y hora, tipo de dispositivo.

Un ejemplo de politica podia ser el siguiente:


CONDICIONES
RESULTADO
Grupo A.D LOCALIZACION LUGAR/HORA PERFIL AUTORIZACION
Compras, Ventas Madrid, Barcelona 8am-20pm WIFI_CORPORATIVO(VLAN 20)
Proveedores UK 8am-5pm WIFI_GUEST(VLAN 21)
Ingenieros Zaragoza any WIFI_CORPORATIVO(VLAN 20)
IF NO MATCH

DENY_ACCESS


-Los usuarios de AD pertenecientes al departamente de compras o ventas de Madrid y Barna tendran    servicio wifi corporativo entre las 8am y 20pm
-Los usuarios de AD pertenecientes al grupo proveedores externos tendran acceso wifi en la vlan
  de invitadosde 8 a 17
-Los ingenieros de soporte de red tendran acceso wifi 24h

En el siguiente link se puede ver como se configura la politica en el ACS:
http://www.cisco.com/cdc_content_elements/flash/netman/wirelessdemo1/player.html

Medir ancho de banda


Una manera muy simple y rapida de medir el ancho de banda entre dos host dentro de nuestra red es utilizando la herramienta iperf.

Se trata de una herramienta cliente servidor.
Copiaremos el programa iperf en cada uno de los equipos entre los que queremos comprobar el ancho de banda. (No necesita instacion)


En mi caso las ips de los equipos son la 192.168.1.33 servidor y 192.168.1.7 cliente

1- Lo primero que haremos sera comprobar la conectividad en capa 3 entre los dos host, hago ping desde el cliente al servidor:



2- En el equipo que actuara como servidor ejecutaremos el comando: iperf -s
El equipo servidor ahora esta escuchando el puerto 5001 por defecto



3- En el equipo que actuara como cliente ejecutaremos el comando: iperf -c direccionIPservidor
Comprobaremos que se conecta al servidor y comprobamos el ancho de banda

Se pueden utilizar argumentos para personalizar las medidas, consultar iperf manual.
Ejemplo:

Comparacion entre Ip Precedence y DSCP

Ip precedence está formado por 3 bit, dscp usa el byte ToS entero pero para manterner la compatibilidad con el ip precedence e incluso con el CoS que también utiliza 3 bit lo hicieron de la manera siguiente.
Los tres primeros bit del Ip precedence son iguales que los tres primeros bit del DSCP. es decir

Precedence         Ecn
0 0 0 |  0 0 0 | 0 0  
            Drop Preference
El valor que impera es el Precedence, si dos paquetes tienen el mismo Precedence cuanto más pequeño tengan el drop preference menos probabilidad de ser descartados, con lo  que AF11 tendrá mayor valor que AF12


 Valores Ip Precedence
 Valores DSCP
 7
 CS7    -111000
 6
 CS6    -110000
 5
 EF      - 101110
 4
 AF41 -100010
 3
 AF31 -011010
 2
 AF21 -010010
 1
 AF11 -001010
 0
 BF     - 000000

AF41 seria 100 001 00
AF42 seria 100 010 00

Observad que los valores standar son terminados en 1 todos, el campo Drop Preference siempre es 001
Se recomienda usar los valores AF1, 2, 3 y 4 por su compatibilidad pero vemos que con 6 bits realmente podemos hacer muchos más valores, de hecho 64 valores. A la hora de marcar los paquetes el IOS nos deja hacerlo en decimal o con su valor AF.

Para ver un ejemplo de como se hace el marcado en un policy-map pongo un ejemplo muy sencillo
Router(config)#class-map TEST
Router(config-cmap)#match protocol HTTP
Router(config-cmap)#exit
Router(config)#policy-map TEST
Router(config-pmap)#class TEST
Router(config-pmap-c)#set dscp AF11
Router(config-pmap-c)#^Z
Router#

Marcado CoS e Ip Precedence

Vamos a ver los valores de marcado CoS e Ip Precedence. Ambos dos métodos usan 3 bits para el marcado, para estandarizar el marcado utilizamos éstos valores por defecto:

Valor decimalCos - Ip PrecedenceTipo de trafico
1117Reservado
1106Reservado
1015Voz (rtp)
1004Videoconfrerencia
0113Señalizacion Voip
0102Alta prioridad
0011Prioridad media
0000Best effort


Los valores reservados son para protocolos de enrutamiento, es mas importante que el router "enrute" a que mande paquetes de voz sin saber a donde.
La señalización se refiere a paquetes rtcp sirve para medir la calidad de las llamadas, no son muy importantes.
La alta prioridad sería por ejemplo escritorios remotos, vnc, y citrix.
La prioridad media podría ser replicaciones de bbdds.
El best effort cualquier otra aplicación que no sea crucial para el funcionamiento de la empresa.

Veamos como se pone en un policy-map, se puede poner mediante el valor o mediante el nombre que le asigna el IOS a cada valor del marcado. (click para agrandar)






Marcado Paquetes QoS

¿Donde es recomendado marcar?, en otro post hablaremos del trust boundary, si tenemos que elegir entre capa 2 y capa 3, el único valor que no se ve alterado durante el recorrido es la capa 3, la ip de origen y la de destino siempre es la misma, si pensamos en capa 2, cuando salimos de la Frame Relay, Ethernet, Mpls o ATM el marcado es ignorado puesto que esa cabecera de desecha, por eso es recomendado marcar en capa 3 por DSCP o por Ip Precedence.

Marcado Capa 2
TecnologíaNº BitsNombre
Ethernet3 BitsCoS (class of service)
Frame Relay1 bitDE (discard elegible)
ATM1 bitCLP (Cell Loss Priority)
MPLS3 bitsEXP (Experimental)

Marcado Capa 3
TecnologiaNº bits
Ip Precedence3 bits
DSCP6 bits