Detección y mitigación de DDoS estilo Wanguard, con explorador de tráfico estilo Akvorado. Esta guía explica qué hace cada parte y cómo operarlo.
DodoGuard es un sistema propio (sin dependencias externas) que hace tres cosas:
Es equivalente a Wanguard (detección + mitigación) combinado con Akvorado/ntopng (explorador de tráfico).
Una anomalía se abre cuando una métrica (pps / bps / flujos) de un decoder (UDP, TCP, TCP+SYN, ICMP, fragmentos, total…) supera el umbral configurado para ese alcance, sostenido unos segundos.
En la pestaña Umbrales hay una plantilla general que aplica a todo, y podés crear otras y asignarlas a un ASN, un prefijo o hasta una /32. El match más específico gana (una /32 gana a una /24, gana al ASN, gana al general).
La anomalía se cierra cuando el tráfico baja del umbral. Si el ataque vuelve, se abre una nueva. En Ataques ves las activas y el historial; clic en cualquier fila abre el detalle (gráfico, vector, top orígenes, mitigación y reglas de filtrado).
| Acción | Qué hace | Cuándo |
|---|---|---|
| DROP ATTACK (FlowSpec por origen) | Una regla FlowSpec discard por cada IP de origen atacante contra el alcance (/32, /24 o /23). | El default estilo Wanguard: dropea a los atacantes sin tocar a la víctima. |
| FlowSpec quirúrgico | Regla FlowSpec por firma: protocolo, puertos, largo de paquete, TCP flags, ICMP type, fragmentos. | Cuando el ataque tiene una firma clara (amplificación, SYN flood…). |
| Desvío (BGP /32 → scrubber) | Anuncia el /32 con next-hop al equipo de mitigación: toda la IP entra a limpiarse. La IP sigue viva. | Ataques que necesitan inspección con estado (gaming, L7, SYN). |
| RTBH (blackhole /32) | Anuncia el /32 con community de blackhole: el router descarta todo hacia esa IP. | Último recurso: sacrificás la IP para salvar la red. |
| Scrub | Deriva al proyecto ddos (XDP) por API. | Integración directa con el mitigador inline. |
El DROP ATTACK se dispara solo al detectar la anomalía (según el perfil del protocolo), y también podés lanzarlo a mano con el botón 🚫 Orígenes o desde el detalle del ataque.
La pestaña Perfiles de mitigación replica el Anomaly Mitigation Settings de Wanguard, con una pestaña por protocolo (IP, TCP, TCP+SYN, UDP, ICMP, OTHER, FLOW+SYN, FRAGMENT). Cada perfil tiene:
Src.IP. Las ejecuta el scrubber inline (son con estado / L7), no FlowSpec.Editar un criterio cambia de verdad cómo se filtra: si prendés “Src Port UDP” y el ataque concentra un puerto (ej. amplificación 53/123), cada regla de DROP pasa a incluir source-port =N.
FlowSpec (RFC 8955) es sin estado, lo aplica el router. Lo con estado / L7 lo hace el scrubber inline (XDP).
| Criterio | Dónde |
|---|---|
| IP de origen (drop), destino, protocolo, puerto src/dst, largo de paquete, TCP flags, ICMP type, fragmentos | FlowSpec |
| Rate-limit por IP de origen, SYN proxy, flags/DNS inválidos, blacklist/reputación, Country (geo), Payload (DPI), TimeToLive | Scrubber inline |
Importante: el rate-limit por IP de origen no existe en FlowSpec (FlowSpec sólo limita por flujo agregado) — eso lo hace el mitigador inline.
announce flow route { match { source 186.62.49.223/32; destination 45.235.98.0/24; protocol =udp; } then { discard; } }
En Mitigaciones ves “ACTIVA · expira en Xm”, podés filtrar Activas/Todas, retirar una sola, o retirar en lote por tipo (FlowSpec / Desvíos / RTBH / Todo).
La pestaña Explorar es un explorador de tráfico con filtros combinables: Interfaz · Dirección · IP · ASN · País · Protocolo · Puerto (cada uno matchea origen o destino) y Agrupar por cualquier dimensión. Arriba, el gráfico de tráfico filtrado; abajo, el ranking. Clic en una fila la agrega como filtro (drill-down), y podés exportar a CSV.
| Pestaña | Para qué |
|---|---|
| Explorar | Explorador de tráfico con filtros + group-by + gráfico (Akvorado). |
| Panel | Dashboard en vivo: tráfico por decoder, tops. |
| Flujos / Top talkers | Flujos en crudo y rankings por dimensión. |
| Peering / CDN | Consumo por ASN con recomendación de peering. |
| Interfaces | Contadores por interfaz vía SNMP. |
| Ataques | Consola de anomalías (activas + historial). Clic = detalle del ataque. |
| Eventos de red | Cambios de comportamiento/ruta. Con sFlow no rinde (se prende con NetFlow/IPFIX). |
| Nodos / upstreams | Tráfico por nodo y contramedidas por upstream (steering /24). |
| Mitigaciones | Todas las mitigaciones, con retiro individual y en lote. |
| Filter (FlowSpec) | Reglas FlowSpec activas y candidatas por anomalía. |
| Perfiles de mitigación | Editor por protocolo (Netfilter + Filtering Rules) estilo Wanguard. |
| Perfiles de ataque | Catálogo de firmas (amplificación, gaming…). |
| Umbrales | Templates de umbral y asignaciones por alcance. |
| Sesiones BGP | Configurar y levantar ExaBGP desde la web. |
| Scrubber / Blacklist / Reportes / Clúster HA / Config | Integración con el mitigador, feeds, reportes, alta disponibilidad y configuración. |
45.235.98.0/23 o el grupo gaming.