Zones, Zone Protection y DoS Protection
Resumen
Una zona de seguridad es un grupo de interfaces que comparten un mismo nivel de confianza (por ejemplo
inside,dmz,outside). Todas las reglas de Security Policy se escriben entre zonas: “deinsideaoutside”. Por defecto, el tráfico dentro de una misma zona se permite (reglaintrazone-default) y el tráfico entre zonas distintas se deniega (reglainterzone-default) hasta que crees una regla que lo permita. Existen varios tipos de zona (Layer 3, Layer 2, Virtual Wire, Tap, Tunnel, External) según el modo de las interfaces que contienen.
Además de decidir qué tráfico se permite, hay que protegerse de ataques que no dependen de una regla: inundaciones de paquetes (SYN flood, UDP flood), escaneos de puertos y paquetes malformados. Eso lo hacen dos mecanismos distintos. Zone Protection Profile se aplica a una zona y protege en la entrada, antes de la Security Policy, contra inundaciones, reconocimiento y ataques basados en paquetes; es una defensa general de la zona. DoS Protection (perfil + política) es más específica: se aplica con reglas (origen, destino, servicio) para limitar conexiones hacia un recurso concreto, como un servidor web, y puede ser clasificada (por IP) o agregada. Esta nota cubre las zonas, el Zone Protection Profile, la DoS Protection y cómo comprobarlos.
Requisitos previos
- Interfaces creadas con su tipo (Layer 3, Layer 2, Virtual Wire, Tap) (ver L3 Interfaces, Subinterfaces y DHCP)
- Un diseño de zonas: qué redes van en cada una según su nivel de confianza
- Conocer los valores normales de tráfico de tu red, para fijar umbrales con criterio (si no, empieza con
alerty ajusta) - Para DoS Protection: saber qué servidores quieres proteger y cuántas conexiones por segundo son normales
- Logging activado (ver Logging, Monitoring y SIEM) para ver las alertas
Conceptos clave
| Concepto | Qué es |
|---|---|
| Zona | Agrupación de interfaces con el mismo nivel de confianza; una interfaz pertenece a una zona |
| intrazone-default | Regla implícita: permite el tráfico dentro de la misma zona |
| interzone-default | Regla implícita: deniega el tráfico entre zonas distintas |
| Zone Protection Profile | Protección contra flood, reconocimiento y ataques de paquetes por zona, en la entrada |
| DoS Protection Profile | Define umbrales de conexiones (SYN, UDP, ICMP, otros) y la acción |
| DoS Protection Policy | Reglas que aplican el perfil a un tráfico concreto |
| Classified | DoS por dirección IP origen o destino (cada IP tiene su propio contador) |
| Aggregate | DoS sobre el total de las conexiones que coinciden con la regla |
Tipos de zona: Layer3, Layer2, Virtual Wire, Tap, Tunnel (para túneles) y External (para zonas entre sistemas virtuales).
Acciones de la Security Policy entre zonas: Allow, Deny, Drop, Reset client, Reset server, Reset both (ver Security Policy Fundamentals).
graph LR A["Paquete entrante"] --> Z["Zone Protection Profile<br/>(flood, reconocimiento,<br/>ataques de paquetes)"] Z --> D["DoS Protection Policy<br/>(umbral por regla)"] D --> S["Security Policy<br/>(permitir o negar)"] S --> P["Security Profiles<br/>(AV, VP, WildFire...)"]
Zone Protection frente a DoS Protection
Zone Protection protege toda la zona de forma general y es “barata” en recursos. DoS Protection protege servidores concretos con reglas, y permite acciones como
Protect(con contador por IP). Si solo vas a activar una, empieza por Zone Protection en la zonaoutside.
Configuración (Ejemplo, Lab PCNSA)
1. Zonas
- Network > Zones > Add.
- Name
inside, TypeLayer3, Interfaces > Add:ethernet1/1,ethernet1/2. - Opcional: Enable User Identification (ver User-ID), Log Setting (Log Forwarding Profile para los logs de la zona).
- OK.
- Repite con
dmz(ethernet1/3) youtside(ethernet1/6,ethernet1/7). - Commit.
Reglas básicas a recordar:
- El tráfico de
insidehaciaoutsideno pasa hasta que crees una regla Allow. - El tráfico entre dos interfaces de la misma zona sí pasa sin regla.
2. Zone Protection Profile
- Network > Network Profiles > Zone Protection > Add. Name
Outside-ZP. - Pestaña Flood Protection:
- SYN: Action
SYN Cookies(recomendado), Alert10000, Activate10000, Maximum40000(paquetes por segundo; ajústalos a tu red). - ICMP, ICMPv6, UDP y Other IP: Enable con valores Alert/Activate/Maximum.
- SYN: Action
- Pestaña Reconnaissance Protection: Enable en
TCP Port Scan,Host Sweep,UDP Port Scan, con Interval, Threshold y Action (alert,block-ip;block-ipbloquea la IP atacante por un tiempo). - Pestaña Packet Based Attack Protection: IP Drop (por ejemplo Spoofed IP address, Strict IP Address Check), TCP Drop (Reject Non-SYN TCP, Asymmetric Path, Remove TCP Timestamp), ICMP Drop (ICMP Ping ID 0, ICMP Fragment, Suppress ICMP TTL Expired Error) y IPv6 Drop.
- Pestaña Protocol Protection (opcional): bloquear protocolos no IP que no usas en una zona Layer 2 / Virtual Wire (por ejemplo bloquear LLDP, STP según la política).
- OK.
- Asígnalo: Network > Zones >
outside> Zone Protection ProfileOutside-ZP. OK y Commit.
Cuidado con
Reject Non-SYN TCPy rutas asimétricasSi tu red tiene caminos asimétricos (por ejemplo doble ISP), algunas opciones del perfil pueden descartar tráfico legítimo. Empieza con
alerty observa antes de bloquear.
set network profiles zone-protection-profile Outside-ZP flood tcp-syn enable yes
set zone outside network zone-protection-profile Outside-ZP
commit
Si un comando no coincide con tu versión, usa Tab o ?.
3. DoS Protection Profile
- Objects > Security Profiles > DoS Protection > Add. Name
Web-DoS. - Type:
Classified(por IP) oAggregate(total). - Flood Protection: SYN Flood (Action
SYN Cookies, Alarm Rate, Activate Rate, Max Rate), UDP Flood, ICMP Flood, Other IP Flood. - Resource Protection (opcional): limita el máximo de sesiones simultáneas.
- OK.
4. DoS Protection Policy
- Policies > DoS Protection > Add. Name
Protect-DMZ-Web. - Source: Source Zone
outside. Destination: Destination Zonedmz, Destination Address10.30.0.100. - Option/Protection: Service
service-https(oany), ActionProtect, Aggregate Profile o Classified ProfileWeb-DoS. Si usas Classified, elige también Address:source-ip-only,destination-ip-onlyosrc-dest-ip-both. - Log Forwarding: el perfil si quieres enviar los eventos a un servidor.
- OK y Commit.
Otras acciones: Deny, Allow (excluye ese tráfico de DoS) y Protect (aplica el perfil).
5. Ver qué se está bloqueando
- Monitor > Logs > Threat: eventos de tipo
floodoscancon la zona y la acción. - Monitor > Logs > Traffic: sesiones descartadas por Zone Protection (según versión).
- ACC > Threat Activity.
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
| Network > Zones | Cada zona con sus interfaces y el Zone Protection Profile asignado | Si falta el perfil, la zona no tiene protección |
show zone-protection zone outside | Estado del perfil y contadores (activaciones de SYN cookies, etc.) | Si dice que no hay perfil, no se asignó o falta commit |
show running zone (verificar con Tab o ?) | Zonas y sus interfaces | Útil para confirmar la configuración activa |
show counter global filter delta yes severity drop | Contadores de descartes (por ejemplo flow_fwd_zonechange, flow_policy_deny) | Si suben, mira cuál corresponde |
Monitor > Logs > Threat: filtro ( subtype eq flood ) o ( subtype eq scan ) | Eventos de inundación o escaneo | Si no hay, el umbral no se alcanza o el perfil está en modo alert sin tráfico |
show dos-protection rule <nombre> statistics (verificar con Tab o ?) | Contadores de la regla DoS | Si no suben, la regla no coincide |
| Policies > DoS Protection: hit count | Sube con el tráfico | Si es cero, revisa zonas y servicio |
Prueba controlada: un escaneo nmap desde otra zona (solo en laboratorio) | Un log de escaneo con la IP de origen | Si no, revisa el perfil y la zona |
Errores comunes
El tráfico entre zonas no pasa
- Causa: no hay regla Allow, y la
interzone-defaultdeniega. - Solución: crea la regla y confirma la zona de origen y destino (ver Security Policy Fundamentals).
Dos interfaces de la misma zona se comunican y no debería
- Causa: la
intrazone-defaultpermite el tráfico dentro de la zona. - Solución: usa zonas distintas, o crea una regla explícita de
Denyintrazone para esa zona.
Una interfaz no aparece para agregar a la zona
- Causa: ya pertenece a otra zona, o su tipo no coincide con el de la zona.
- Solución: el tipo de la interfaz debe coincidir con el de la zona (una interfaz L3 solo va en una zona L3).
El Zone Protection bloquea tráfico legítimo
- Causa: umbrales muy bajos, rutas asimétricas o
block-ipagresivo en reconocimiento. - Revisa: Monitor > Logs > Threat para ver qué evento y qué IP.
- Solución: sube los umbrales, usa
alertprimero y añade excepciones (por ejemplo, para escáneres de seguridad internos) en la zona o con IPs excluidas.
Los umbrales de flood no se disparan en pruebas
- Causa: los valores son altos o el generador de tráfico no llega a ellos.
- Solución: baja temporalmente los umbrales en laboratorio y observa los contadores.
DoS Protection no coincide
- Causa: la regla no coincide con zonas, destino o servicio.
- Solución: revisa el hit count y los campos; las reglas DoS se evalúan por orden.
Confundo Zone Protection con DoS Protection
- Causa: ambos protegen contra inundaciones, pero actúan en lugares distintos.
- Solución: recuerda que Zone Protection se asigna a una zona (general) y DoS Protection se aplica con reglas (específica a un recurso).
La protección de reconocimiento bloquea a mi propio escáner de vulnerabilidades
- Causa: el escáner interno se detecta como ataque.
- Solución: agrega las IP del escáner a las excepciones de la zona o agrega las IP del escáner a Source Address Exclusion en Reconnaissance Protection del Zone Protection Profile.