You are on page 1of 25

CBAC y Zone-Policy-Firewall

CONTROL DE ACCESOS BASADO EN CONTEXTO (CBAC)


-CBAC es una solucin Cisco IOS FW que realiza filtrado stateful de capa de
aplicacin, permite protocolos que requieren mltiples canales como FTP y H.323
-CBAC tambin puede examinar conexiones NAT y PAT, y bloquear conexiones p2p y
de mensajera instantanea
Funciones principales de CBAC:
-Filtrado del trfico: configuracin para
permitir el trfico de retorno creando
aperturas temporales en una ACL que
habitualmente deniega el trfico
-Inspeccin del trfico: inspeccin de trfico en capa de aplicacin, manteniendo informacin
de sesin. Protege contra ataques inspeccionando el nmero de secuencia y descartando
conexiones medio abiertas (SYN-flood)
-Deteccin de intrusiones: CBAC dispone de limitada capacidad de deteccin de intrusiones
para especficos ataques SMTP. Los mensajes de syslog son revisados para detectar firmas de
ataque especficas
-Generar alertas y mensajes de auditora mediante syslog

CAPACIDADES CBAC
-CBAC slo lleva a cabo filtrado
para los protocolos que son
especificados por el administrador
-CBAC no protege de ataques
que vienen de dentro de la red

-CBAC suministra tres umbrales contra ataques TCP DoS:


Nmero Total de sesiones TCP medio abiertas
Nmero de sesiones TCP medio abiertas en un intervalo de tiempo
Nmero de sesiones TCP medio abiertas por host
Si un umbral se supera se envan mensajes reset a los 2 puntos finales de la conexin,
dejando as recursos disponibles para conexiones legtimas

CAPACIDADES CBAC
OPERACIN CBAC: CBAC utiliza la tabla de estado para crear entradas de ACL
dinmicas que permiten el trfico de retorno, el trfico solo es permitido si es parte
de la misma sesin y tiene las propiedades esperadas

CBAC EN TCP y UDP


-Manejo de TCP por CBAC: TCP utiliza un
intercambio de 3 vas
El primer paquete con el flag SYN TCP es
recibido desde la interfaz inside, si la ACL
permite el paquete y CBAC es configurado,
se crea una entrada en la tabla de estado.
Slo trfico perteneciente a esta sesin
ser permitido retornar, la tabla de estado
es actualizada con cada flujo de trfico
-Manejo de UDP por CBAC
Con UDP el router no puede perseguir
nmeros de secuencia y flags, en este caso
cuando no haya datos intercambiados
entre el origen y el destino en un timeout
configurable, la conexin, la entrada de la
tabla de estado y la entrada de ACL dinmica son eliminadas

CONFIGURACION DE CBAC
Paso 1: Escoger la interfaz donde se va a configurar la regla de inspeccin
Paso 2: Configurar las ACLs en la interfaz
Paso 3: Definir la regla de inspeccin
Paso 4: Aplicar la regla de inspeccin a una interfaz

En un escenario de 2 interfaces
la regla de inspeccin puede
ser configurada como entrante
en la interfaz inside o como
saliente en la interfaz outside
CBAC puede ser configurado en
las 2 direcciones de una
interfaz, si ambas redes
necesitan proteccin

CONFIGURACION DE CBAC
Paso 2: Configurar las ACLs en la interfaz
La ACL de la interfaz outside sobre la que
se va a incorporar la ACE dinmica creada
por CBAC tiene que ser extendida

Paso 3: Definir la regla de inspeccin


Los administradores tienen que definir los
protocolos que se van a inspeccionar
(protocolo de capa de aplicacin, TCP, UDP
o ICMP)

Ejemplo 1:
ip inspect name in2out ftp
ip inspect name in2out tftp
ip inspect name in2out tcp timeout 43200
ip inspect name in2out http
ip inspect name in2out udp

Paso 4: Aplicar la regla de inspeccin


Router(config-if)# ip inspect inspection_name ,in | out-

CONFIGURACION DE CBAC
Reglas para aplicar ACLs y reglas de inspeccin en el FW:
-En la interfaz donde el trfico se inicia, aplicar ACL in que permita slo el trfico
requerido y aplicar regla de inspeccin in que
inspeccione el trfico
-En otras interfaces denegar todo el trfico, excepto
trfico que no haya sido inspeccionado y necesite
ser permitido
Ejemplo: Permitir a los usuarios
iniciar sesiones TCP, UDP y ICMP
desde inside.
Usuarios externos slo pueden
acceder a los servidores SMTP y
HTTP

TROUBLESHOOTING DE CBAC
-Alertas: muestran mensajes sobre la operacin de CBAC, como insuficientes recursos
en el router o ataques DoS. Habilitadas por defecto, aunque se pueden habilitar o
deshabilitar por regla de inspeccin
Ejemplo:
%FW-4-SMTP_INVALID_COMMAND: Invalid SMTP command from initiator (209.165.201.5:49387)

Para deshabilitarlas globalmente: Router(config)#ip inspect alert-off


-Audits: persiguen la pista de las conexiones que CBAC inspecciona, como nuevas
entradas en la tabla de estado. Deshabilitadas por defecto, se pueden habilitar
globalmente o por regla de inspeccin

Ejemplo: %FW-6-SESS_AUDIT_TRAIL: tcp session initiator (192.168.1.2:32782) sent 22 bytes


responder (209.165.201.1:23) sent 200 bytes

TROUBLESHOOTING DE CBAC
-show ip inspect [parameter]: muestra las reglas de inspeccin configuradas
Router# show ip inspect name inspect_outbound
Inspection name inspect_outbound
cuseeme alert is on audit-trail is on timeout 3600
ftp alert is on audit-trail is on timeout 3600
http alert is on audit-trail is on timeout 3600
rcmd alert is on audit-trail is on timeout 3600
realaudio alert is on audit-trail is on timeout 3600
smtp max-data 20000000 alert is on audit-trail is on timeout 3600
tftp alert is on audit-trail is on timeout 30
udp alert is on audit-trail is on timeout 15
tcp alert is on audit-trail is on timeout 3600

-show ip inspect sessions: muestra informacin sobre la tabla de estado


Router# show ip inspect sessions
Established Sessions
Session 25A3378 (209.165.201.1:20)=>(192.168.1.2:32704) ftp-data SIS_OPEN
Session 25A5AC2 (192.168.1.2:32703)=>(209.165.201.1:21) ftp SIS_OPEN

TROUBLESHOOTING DE CBAC
-show ip access-list: muestra informacin sobre las entradas de ACL dinmicas
Router# show ip access-list
Extended IP access list 100
permit tcp host 209.165.201.1 eq 21 host 192.168.1.2 eq 32703 (24 matches)
permit tcp host 209.165.201.1 eq 20 host 192.168.1.2 eq 32704 (88 matches)
<output omitted>

-debug ip inspect [parameter]:


Informacin en tiempo real de
la operacin de CBAC.

Router# debug ip inspect timers


*Mar 2 01:20:43: CBAC* sis 25A3604 pak 2541C58 TCP P ack 4223720032 seq 4200176225(22) (10.0.0.1:46409) => (10.1.0.1:21)
*Mar 2 01:20:43: CBAC* sis 25A3604 ftp L7 inspect result: PROCESS-SWITCH packet
*Mar 2 01:20:43: CBAC sis 25A3604 pak 2541C58 TCP P ack 4223720032 seq 4200176225(22) (10.0.0.1:46409) => (10.1.0.1:21)
*Mar 2 01:20:43: CBAC sis 25A3604 ftp L7 inspect result: PASS packet
*Mar 2 01:20:43: CBAC* sis 25A3604 pak 2544374 TCP P ack 4200176247 seq 4223720032(30) (10.0.0. 1:46409) <= (10.1.0.1:21)

FIREWALL DE POLTICA BASADO EN ZONAS


-Con este nuevo modelo, las interfaces son asignadas a zonas y la poltica es aplicada
al trfico entre zonas, soporta inspeccin stateful e inspeccin de aplicacin. Se
caracteriza por la facilidad de uso con respecto a CBAC
-Se configuran usando Cisco Common Classification Policy Language (C3PL)
-Limitaciones de CBAC:
-Mltiples polticas de inspeccin y ACLs en varias interfaces son de difcil
interpretacin
-Beneficios de ZPF:
-No son dependientes de ACLs
-Las polticas son fciles de leer y
resolver problemas con C3PL
-La postura de seguridad es bloquear
todo el trfico entre zonas, a menos
que sea explcitamente permitido

DISTINTOS DISEOS DE FW BASADO EN ZONAS

OPERACIN DE FIREWALL DE POLTICA BASADO EN ZONAS


-ZPF puede tomar 3 posibles acciones sobre el trfico entre zonas:
-Inspect: equivalente al comando ip inspect en CBAC, inspecciona el trfico y permite el trfico
de retorno
-Drop: descarta el trfico
-Pass: permite el trfico en una sla direccin, no sigue la pista del estado de las conexiones

-Reglas ZPF:
-Una zona debe ser configurada antes de que se puedan asignar interfaces a la zona
-Una interfaz slo puede estar asignada a una zona
-El trfico es permitido por defecto entre interfaces que pertenecen a la misma zona
-El trfico no puede fluir entre una interfaz miembro de una zona y una que no es miembro
de ninguna zona
-Para permitir el trfico entre una zona y otra se debe configurar una poltica permitiendo o
inspeccionando el trfico
-Las interfaces que no han sido asignadas a una zona pueden utilizar CBAC
-Todas las interfaces del router pertenecen a self-zone, si no hay polticas definidas entre
una zona y self-zone todo el trfico es permitido por defecto
-Una pltica puede ser definida usando self-zone como el origen o el destino, esta poltica
aplica al trfico dirigido al router o al trfico generado por el router.

CONFIGURACIN DE FIREWALL DE POLTICA BASADO EN ZONAS


1: Crear las zonas con el comando zone security
2: Definir clases de trfico con el comando class-map type inspect
3: Especificar polticas firewall con el comando policy-map type inspect
4: Aplicar las polticas firewall a pares de zonas con el comando zone-pair security
5: Asignar interfaces a zonas con el comando de interfaz zone-member security
1:

CONFIGURACIN DE FIREWALL DE POLTICA BASADO EN ZONAS


2: Definir clases de trfico. Las clases de trfico permiten definir flujos de trfico

Mapas de clase de capa 3 y 4:


Router(config)# class-map type inspect [match-any | match-all] class-map-name

Mapas de clase de capa 7:


Router(config)# class-map type inspect protocol-name [match-any | match-all] class-map-name

Sobre los mapas de capa 3 y 4 se pueden referenciar ACLs, protocolos o otros mapas
de clase con los siguientes comandos match:
Router(config-cmap)# match access-group {access-group | name access-group-name}
Router(config-cmap)# match protocol protocol-name
Router(config-cmap)# match class-map class-map-name

CONFIGURACIN DE FIREWALL DE POLTICA BASADO EN ZONAS


3: Especificar polticas firewall
-Se define un policy-map:
Router(config)# policy-map type inspect policy-map-name

-Se especifica el class-map(flujo de trfico)al que se aplicar la accin, puede ser un


class-map definido previamente o el class-default (todo el trfico restante)
Router(config-pmap)# class type inspect class-name
Router(config-pmap)# class class-default

-Se configura la accin


Router(config-pmap-c)# pass | inspect | drop [log] |

CONFIGURACIN DE FIREWALL DE POLTICA BASADO EN ZONAS


4: Definir pares de zonas y aplicar la poltica
Router(config)# zone-pair security zone-pair-name source *source-zone-name | self+
destination *self | destination-zone-name+
Router(config-sec-zone-pair)# service-policy type inspect policy-map-name

5: Asignar interfaces a zonas


Router(config-if)# zone-member security zone-name

CONFIGURACIN DE ZPF MEDIANTE SDM


Paso 1: Configurar zonas y aadir interfaces a la zona
Configure > Additional Tasks > Zones > Add

Una zona no puede ser eliminada si es miembro de un zone-pair

CONFIGURACIN DE ZPF MEDIANTE SDM


Paso 2: configurar mapas de clase
Configure > Additional Tasks > C3PL > Class Map > Inspection > Add
Entrar un nombre de mapa de clase, configurar match any o match all y seleccionar los
protocolos, ACLs o otros mapas de clase para definir el trfico

CONFIGURACIN DE ZPF MEDIANTE SDM


Paso 3: configurar mapas de poltica
Configure > Additional Tasks > C3PL > Policy Map > Protocol Inspection > Add
Entrar un nombre de mapa de poltica, seleccionar el mapa de clase y la accin

CONFIGURACIN DE ZPF MEDIANTE SDM


Paso 4: definir pares de zonas
Configure > Additional Tasks > Zone Pairs > Add
Dar un nombre al par de zonas, seleccionar zona origen, zona destino y la poltica

CONFIGURACIN DE ZPF MEDIANTE EL ASISTENTE DE SDM


Configure > Firewall y ACL > pestaa Create Firewall > Firewall Basico > Launch
Selecciona las interfaces inside y outside y configura el nivel de seguridad

TROUBLESHOOTING DE ZPF
Configure > Firewall y ACL > pestaa Edit Firewall Policy tab
Proporciona una vista grfica de la configuracin del FW ZPF
Monitor > Firewall Status
Muestra el estado de la actividad FW
de cada par de zona. Los datos pueden
ser recogidos en tiempo real cada 10
segundos, 60 minutos de datos
recogidos cada minuto y 12 horas de
datos recogidos cada 12 minutos

TROUBLESHOOTING DE ZPF
-show policy-map type inspect zone-pair session
Muestra las conexiones activas en la tabla de estado ZPF
Router# show policy-map type inspect zone-pair session
Zone-pair: CNS-PAIR
Service-policy inspect : HTTP-Policy
Class-map: HTTP-Class (match-all)
Match: access-group 110
Match: protocol http
Inspect
Established Sessions
Session 643BCF88 (10.0.2.12:3364)=>(172.26.26.51:80) http SIS_OPEN
Created 00:00:10, Last heard 00:00:00
Bytes sent (initiator:responder) [1268:64324]
Session 643BB9C8 (10.0.2.12:3361)=>(172.26.26.51:80) http SIS_OPEN
Created 00:00:16, Last heard 00:00:06
Bytes sent (initiator:responder) [2734:38447]
Session 643BD240 (10.0.2.12:3362)=>(172.26.26.51:80) http SIS_OPEN
Created 00:00:14, Last heard 00:00:07
Bytes sent (initiator:responder) [2219:39813]
Session 643BBF38 (10.0.2.12:3363)=>(172.26.26.51:80) http SIS_OPEN
Created 00:00:14, Last heard 00:00:06
Bytes sent (initiator:responder) [2106:19895]
Class-map: class-default (match-any)
Match: any
Drop (default action)
58 packets, 2104 bytes