Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Configurar

Diagrama de la red

Configuraciones

Paso 1.(Opcional) ConfigureVRF

Paso 2. Configurar interfaz

Paso 3. (Opcional) Configuración de NAT

Paso 4. Configurar ACL de FQDN

Paso 5. Configuración de ZBFW

Verificación

Paso 1. Iniciar conexión HTTP desde el cliente

Paso 2. Confirmar caché IP

Paso 3. Confirmar registro de ZBFW

Paso 4. Confirmar captura de paquetes

Troubleshoot

Preguntas Frecuentes

P: ¿Cómo se determina el valor de tiempo de espera de la caché IP en el router?

P: ¿Es aceptable que el servidor DNS devuelva un registro CNAME en lugar de un registro A?

P: ¿Cuál es el comando para transferir capturas de paquetes recolectadas en un router C8300 a un servidor FTP?

Referencia

Introducción

Este documento describe el procedimiento para configurar ZBFW con coincidencia de patrón de ACL FQDN en modo autónomo en la plataforma C8300.

Prerequisites

Requirements

Cisco le recomienda que tenga conocimiento acerca de este tema:

- Firewall de políticas basadas en zonas (ZBFW)

- Routing y reenvío virtuales (VRF)

- traducción de Dirección de Red (NAT)

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- C8300-2N2S-6T 17.12.02

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Antecedentes

El firewall de políticas basadas en zonas (ZBFW) es un método avanzado de configuración del firewall en los dispositivos Cisco IOS® y Cisco IOS XE que permite crear zonas de seguridad dentro de la red.

ZBFW permite a los administradores agrupar interfaces en zonas y aplicar políticas de firewall al tráfico que se mueve entre estas zonas.

Las ACL de FQDN (listas de control de acceso de nombres de dominio completamente calificadas), utilizadas con un ZBFW en los routers de Cisco, permiten a los administradores crear reglas de firewall que coincidan con el tráfico basándose en nombres de dominio en lugar de sólo direcciones IP.

Esta característica es especialmente útil cuando se trata de servicios alojados en plataformas como AWS o Azure, donde la dirección IP asociada a un servicio puede cambiar con frecuencia.

Simplifica la gestión de las políticas de control de acceso y mejora la flexibilidad de las configuraciones de seguridad dentro de la red.

Configurar

Diagrama de la red

Este documento presenta la configuración y verificación de ZBFW basándose en este diagrama. Se trata de un entorno simulado que utiliza BlackJumboDog como servidor DNS.

Diagrama de la red

Configuraciones

Esta es la configuración para permitir la comunicación del cliente al servidor web.

Paso 1. (Opcional) Configuración de VRF

La función VRF (Virtual Routing and Forwarding, Enrutamiento y reenvío virtuales) permite crear y administrar varias tablas de enrutamiento independientes en un único router. En este ejemplo, creamos un VRF llamado WebVRF y realizamos el ruteo para las comunicaciones relacionadas.

vrf definition WebVRF

rd 65010:10

!

address-family ipv4

route-target export 65010:10

route-target import 65010:10

exit-address-family

!

address-family ipv6

route-target export 65010:10

route-target import 65010:10

exit-address-family

ip route vrf WebVRF 8.8.8.8 255.255.255.255 GigabitEthernet0/0/3 192.168.99.10

ip route vrf WebVRF 192.168.10.0 255.255.255.0 Port-channel1.2001 192.168.1.253

ip route vrf WebVRF 192.168.20.0 255.255.255.0 GigabitEthernet0/0/3 192.168.99.10

Paso 2. Configurar interfaz

Configure información básica como miembro de zona, VRF, NAT y direcciones IP para las interfaces interna y externa.

interface GigabitEthernet0/0/1

no ip address

negotiation auto

lacp rate fast

channel-group 1 mode active

interface GigabitEthernet0/0/2

no ip address

negotiation auto

lacp rate fast

channel-group 1 mode active

interface Port-channel1

no ip address

no negotiation auto

interface Port-channel1.2001

encapsulation dot1Q 2001

vrf forwarding WebVRF

ip address 192.168.1.1 255.255.255.0

ip broadcast-address 192.168.1.255

no ip redirects

no ip proxy-arp

ip nat inside

zone-member security zone_client

interface GigabitEthernet0/0/3

vrf forwarding WebVRF

ip address 192.168.99.1 255.255.255.0

ip nat outside

zone-member security zone_internet

speed 1000

no negotiation auto

Paso 3. (Opcional) Configuración de NAT

Configure NAT para las interfaces internas y externas. En este ejemplo, la dirección IP de origen del cliente (192.168.10.1) se traduce a 192.168.99.100.

ip access-list standard nat_source

10 permit 192.168.10.0 0.0.0.255

ip nat pool natpool 192.168.99.100 192.168.99.100 prefix-length 24

ip nat inside source list nat_source pool natpool vrf WebVRF overload

Paso 4. Configurar ACL de FQDN

Configure la ACL de FQDN para que coincida con el tráfico de destino. En este ejemplo, utilice el carácter comodín '*' en la coincidencia de patrones del grupo de objetos FQDN para que coincida con el FQDN de destino.

object-group network src_net

192.168.10.0 255.255.255.0

object-group fqdn dst_test_fqdn

pattern .*\.test\.com

object-group network dst_dns

host 8.8.8.8

ip access-list extended Client-WebServer

1 permit ip object-group src_net object-group dst_dns

5 permit ip object-group src_net fqdn-group dst_test_fqdn

Paso 5. Configuración de ZBFW

Configuración de zona, mapa de clase y mapa de política para ZBFW. En este ejemplo, mediante el uso del mapa de parámetros, los registros se generan cuando ZBFW permite el tráfico.

zone security zone_client

zone security zone_internet

parameter-map type inspect inspect_log

audit-trail on

class-map type inspect match-any Client-WebServer-Class

match access-group name Client-WebServer

policy-map type inspect Client-WebServer-Policy

class type inspect Client-WebServer-Class

inspect inspect_log

class class-default

drop log

zone-pair security Client-WebServer-Pair source zone_client destination zone_internet

service-policy type inspect Client-WebServer-Policy

Verificación

Paso 1. Iniciar conexión HTTP desde el cliente

Verifique que la comunicación HTTP desde el cliente al servidor WEB sea exitosa.

Conexión HTTP

Paso 2. Confirmar caché IP

Ejecute show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all el comando para confirmar que la memoria caché IP para el FQDN de destino se genera en C8300-2N2S-6T.

02A7382#show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all

IP Address Client(s) Expire RegexId Dirty VRF ID Match

------------------------------------------------------------------------------------------------------

192.168.20.1 0x1 117 0xdbccd400 0x00 0x0 .*\.test\.com

Paso 3. Confirmar registro de ZBFW

Confirme que la dirección IP (192.168.20.1) coincide con el FQDN (.*\.test\.com) y compruebe que ZBFW permite la comunicación HTTP en el paso 1.

*Mar 7 11:08:23.018: %IOSXE-6-PLATFORM: R0/0: cpp_cp: QFP:0.0 Thread:003 TS:00000551336606461468 %FW-6-SESS_AUDIT_TRAIL_START: (target:class)-(Client-WebServer-Pair:Client-WebServer-Class):Start http session: initiator (192.168.10.1:51468) -- responder (192.168.20.1(.*\.test\.com):80) from Port-channel1.2001

*Mar 7 11:08:24.566: %IOSXE-6-PLATFORM: R0/0: cpp_cp: QFP:0.0 Thread:002 TS:00000551338150591101 %FW-6-SESS_AUDIT_TRAIL: (target:class)-(Client-WebServer-Pair:Client-WebServer-Class):Stop http session: initiator (192.168.10.1:51468) sent 943 bytes -- responder (192.168.20.1:80) sent 101288 bytes, from Port-channel1.2001

Paso 4. Confirmar captura de paquetes

Confirme que la resolución DNS del FQDN de destino y la conexión HTTP entre el cliente y el servidor WEB se han realizado correctamente.

Captura de paquetes en el interior:

Paquetes DNS dentro

Paquetes HTTP en el interior

Captura de paquetes en Onside (192.168.10.1 es NAT a 192.168.19.100) :

Paquetes DNS en el exterior

Paquetes HTTP en el exterior

Troubleshoot

Para solucionar problemas de comunicación relacionados con ZBFW mediante la coincidencia de patrones de ACL de FQDN, puede recopilar los registros durante el problema y proporcionárselos al TAC de Cisco. Tenga en cuenta que los registros para la resolución de problemas dependen de la naturaleza del problema.

Ejemplo de registros que se deben recopilar:

!!!! before reproduction

!! Confirm the IP cache

show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all

!! Enable packet-trace

debug platform packet-trace packet 8192 fia-trace

debug platform packet-trace copy packet both

debug platform condition ipv4 access-list Client-WebServer both

debug platform condition feature fw dataplane submode all level verbose

!! Enable debug-level system logs and ZBFW debug logs

debug platform packet-trace drop

debug acl cca event

debug acl cca error

debug ip domain detail

!! Start to debug

debug platform condition start

!! Enable packet capture on the target interface (both sides) and start the capture

monitor capture CAPIN interface Port-channel1.2001 both

monitor capture CAPIN match ipv4 any any

monitor capture CAPIN buffer size 32

monitor capture CAPIN start

monitor capture CAPOUT interface g0/0/3 both

monitor capture CAPOUT match ipv4 any any

monitor capture CAPOUT buffer size 32

monitor capture CAPOUT start

!! (Optional) Clear the DNS cache on the client

ipconfig/flushdns

ipconfig /displaydns

!! Run the show command before reproduction

show platform hardware qfp active feature firewall drop all

show policy-map type inspect zone-pair Client-WebServer-Pair sessions

show platform packet-trace statistics

show platform packet-trace summary

show logging process cpp_cp internal start last boot

show platform hardware qfp active feature dns-snoop-agent client hw-pattern-list

show platform hardware qfp active feature dns-snoop-agent client info

show platform hardware qfp active feature dns-snoop-agent datapath stats

show ip dns-snoop all

show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all

show platform software access-list F0 summary

!!!! Reproduce the issue - start

!! During the reproductionof the issue, run show commands at every 10 seconds

!! Skip show ip dns-snoop all command if it is not supported on the specific router

show ip dns-snoop all

show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all

!!!! After reproduction

!! Stop the debugging logs and packet capture

debug platform condition stop

monitor capture CAPIN stop

monitor capture CAPOUT stop

!! Run the show commands

show platform hardware qfp active feature firewall drop all

show policy-map type inspect zone-pair Client-WebServer-Pair sessions

show platform packet-trace statistics

show platform packet-trace summary

show logging process cpp_cp internal start last boot

show platform hardware qfp active feature dns-snoop-agent client hw-pattern-list

show platform hardware qfp active feature dns-snoop-agent client info

show platform hardware qfp active feature dns-snoop-agent datapath stats

show ip dns-snoop all

show platform hardware qfp active feature dns-snoop-agent datapath ip-cache all

show platform software access-list F0 summary

show platform packet-trace packet all decode

show running-config

Preguntas Frecuentes

P: ¿Cómo se determina el valor de tiempo de espera de la memoria caché IP en el router?

R: El valor de tiempo de espera de la caché IP viene determinado por el valor TTL (tiempo de vida) del paquete DNS devuelto por el servidor DNS. En este ejemplo, son 120 segundos. Cuando se agota el tiempo de espera de la caché IP, se elimina automáticamente del router. Este es el detalle de la captura de paquetes.

Detalle de paquetes de resolución DNS

P: ¿Es aceptable que el servidor DNS devuelva un registro CNAME en lugar de un registro A?

R: Sí, no es un problema. La resolución DNS y la comunicación HTTP se llevan a cabo sin problemas cuando el servidor DNS devuelve el registro CNAME. Este es el detalle de la captura de paquetes.

Paquetes DNS dentro

Detalle de paquetes de resolución DNS

Paquetes HTTP en el interior

P: ¿Cuál es el comando para transferir capturas de paquetes recolectadas en un router C8300 a un servidor FTP?

R: Utilice monitor capture <capture name> export bootflash:<capture name>.pcap y copy bootflash:<capture name>.pcap ftp://<user>:<password>@<FTP IP Address> comandos para transferir capturas de paquetes a un servidor FTP. Este es un ejemplo para transferir CAPIN a un servidor FTP.

monitor capture CAPIN export bootflash:CAPIN.pcap

copy bootflash:CAPIN.pcap ftp://<user>:<password>@<FTP IP Address>

Referencia

Comprender el diseño de firewall de políticas basado en zonas