Guida MikroTik
Firewall e QoSAvanzato

Firewall RAW — Filtraggio pre-conntrack e protezione DDoS

Il firewall RAW opera prima del connection tracking e del firewall filter, permettendo di scartare traffico massiccio (DDoS, bogon, amplification) a costo CPU minimo prima che entri nella tabella di connessioni.

Il firewall RAW (/ip firewall raw) è una chain speciale che viene valutata prima del connection tracking. Il vantaggio principale: scartare traffico massivo (es. DDoS) prima che venga creata una entry nella tabella di connessioni, risparmiando CPU e memoria. Le chain RAW sono prerouting (traffico in ingresso) e output (traffico generato dal router).

Differenza tra RAW e Filter

  • RAW prerouting: agisce prima del conntrack e del mangle. Nessun accesso a connection-state (non ancora calcolato). Azioni: accept, drop, notrack.
  • Filter input/forward: agisce dopo il conntrack. Ha accesso a connection-state, connection-mark. Più potente ma più costoso.
  • Usa RAW per bloccare IP noti cattivi, indirizzi bogon, e mitigare flood; usa Filter per logica stateful avanzata.

Protezione DDoS con RAW e address-list

Ruleset RAW anti-DDoS e blocco bogon
# ================================================================
# FIREWALL RAW — Protezione pre-conntrack
# Obiettivo: ridurre il carico sul conntrack durante attacchi volumetrici
# ================================================================

# --- BOGON FILTERING (RFC 5735/1918 - blocca indirizzi non instradabili) ---
# Crea una lista di indirizzi bogon (RFC 1918 + riservati)
/ip firewall address-list add list=bogon address=0.0.0.0/8 comment="This network"
/ip firewall address-list add list=bogon address=10.0.0.0/8 comment="RFC 1918"
/ip firewall address-list add list=bogon address=100.64.0.0/10 comment="Shared Address"
/ip firewall address-list add list=bogon address=127.0.0.0/8 comment="Loopback"
/ip firewall address-list add list=bogon address=169.254.0.0/16 comment="Link-local"
/ip firewall address-list add list=bogon address=172.16.0.0/12 comment="RFC 1918"
/ip firewall address-list add list=bogon address=192.0.0.0/24 comment="IETF Protocol"
/ip firewall address-list add list=bogon address=192.168.0.0/16 comment="RFC 1918"
/ip firewall address-list add list=bogon address=198.18.0.0/15 comment="Benchmark"
/ip firewall address-list add list=bogon address=198.51.100.0/24 comment="TEST-NET-2"
/ip firewall address-list add list=bogon address=203.0.113.0/24 comment="TEST-NET-3"
/ip firewall address-list add list=bogon address=224.0.0.0/4 comment="Multicast"
/ip firewall address-list add list=bogon address=240.0.0.0/4 comment="Reserved"

# Blocca sorgenti bogon dalla WAN (spoofing / traffico non valido)
/ip firewall raw add   chain=prerouting   in-interface-list=WAN   src-address-list=bogon   action=drop   comment="RAW: blocca sorgenti bogon dalla WAN"

# Blocca destinazioni bogon (scansioni non instradabili)
/ip firewall raw add   chain=prerouting   in-interface-list=WAN   dst-address-list=bogon   action=drop   comment="RAW: blocca destinazioni bogon dalla WAN"

# --- PROTEZIONE DDoS con address-list dinamiche ---
# Tecnica: identifica attaccanti (troppo traffico verso stessa destinazione)
# e droppali in RAW prima che entrino nel conntrack.

# Crea le liste (vuote, popolate dinamicamente dalle regole sotto)
/ip firewall address-list add list=ddos-attackers
/ip firewall address-list add list=ddos-targets

# DROP immediato in RAW per attaccanti già identificati
/ip firewall raw add   chain=prerouting   src-address-list=ddos-attackers   dst-address-list=ddos-targets   action=drop   comment="RAW: drop DDoS attaccanti già identificati"

# Identifica attaccanti: se un IP supera 32 nuove connessioni/10s
# verso la stessa destinazione, aggiungilo alle liste di blocco
/ip firewall filter add   chain=forward   connection-state=new   action=jump jump-target=detect-ddos   comment="Salta alla chain di rilevamento DDoS"

/ip firewall filter add   chain=detect-ddos   dst-limit=32,32,src-and-dst-addresses/10s   action=return   comment="Traffico sotto soglia: torna alla chain forward"

/ip firewall filter add   chain=detect-ddos   action=add-dst-to-address-list   address-list=ddos-targets   address-list-timeout=10m   comment="Aggiunge la destinazione attaccata alla lista"

/ip firewall filter add   chain=detect-ddos   action=add-src-to-address-list   address-list=ddos-attackers   address-list-timeout=10m   comment="Aggiunge l'attaccante alla lista di blocco"

# --- SYN FLOOD: abilita TCP SYN cookies ---
/ip settings set tcp-syncookies=yes

# --- NOTRACK: esclude traffico ad alto volume dal conntrack ---
# Esempio: esclude il traffico di transito generico (non gestito dal router)
# per ridurre le entry nel conntrack su router con molti client
/ip firewall raw add   chain=prerouting   in-interface-list=WAN   protocol=udp   dst-port=!53   action=notrack   comment="RAW notrack: UDP non-DNS dalla WAN (riduce conntrack)"
ATTENZIONE con notrack: usare notrack su traffico che richiede NAT o firewall stateful causa problemi (il traffico appare in stato untracked e può bypassare regole filter basate su connection-state). Usa notrack solo per traffico di transito puro o per mitigazione DDoS dove la sicurezza stateful non è necessaria.

Per i WISP, una protezione DDoS efficace è critica: un attacco volumetrico può saturare il router gateway e rendere irraggiungibili tutti i clienti. La combinazione RAW + SYN cookies + dst-limit riduce significativamente l'impatto mantenendo reattivo il router.

RAW firewallnotrackpre-conntrackDDoS protectionbogon filteringSYN floodamplification attackaddress-listdst-limittcp-syncookies

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS