Il firewall di RouterOS è uno degli strumenti più potenti e flessibili nel mondo dei router mid-market. Ma con grande flessibilità arriva grande possibilità di sbagliare. Questo è il framework di configurazione che uso come base in ogni installazione MikroTik.
Come funziona il firewall RouterOS
RouterOS usa un sistema di chain (catene) di regole processate in ordine. Le chain principali sono:
- input: traffico destinato al router stesso
- forward: traffico che passa attraverso il router
- output: traffico generato dal router
Le regole vengono valutate dall'alto verso il basso. La prima regola che fa match determina l'azione. Il principio base: accetta quello che è esplicitamente permesso, blocca tutto il resto.
Connection tracking: la base di tutto
Abilita sempre il connection tracking e usa le regole per stato della connessione. Questo ottimizza enormemente le prestazioni:
/ip firewall filter
add chain=input connection-state=established,related action=accept comment="Accetta connessioni stabilite"
add chain=input connection-state=invalid action=drop comment="Scarta pacchetti invalidi"
add chain=forward connection-state=established,related action=accept
add chain=forward connection-state=invalid action=drop
Protezione della chain input
L'accesso al router stesso deve essere strettamente controllato:
# Permetti accesso gestione solo dalla LAN admin
add chain=input src-address=192.168.10.0/24 action=accept comment="Gestione da VLAN admin"
# Permetti ICMP (ping) con rate limiting
add chain=input protocol=icmp limit=50/5s,25:packet action=accept
add chain=input protocol=icmp action=drop
# Blocca accesso Winbox e SSH dall'esterno
add chain=input in-interface=ether1-wan protocol=tcp dst-port=8291,22 action=drop
# Drop finale
add chain=input action=drop comment="Drop tutto il resto"
Port knocking per accesso remoto sicuro
Se hai bisogno di accedere al router da remoto, il port knocking è più sicuro di esporre direttamente SSH o Winbox:
# Crea address list per chi ha "bussato" correttamente
add chain=input protocol=tcp dst-port=1234 action=add-src-to-address-list address-list=knock1 address-list-timeout=10s
add chain=input src-address-list=knock1 protocol=tcp dst-port=5678 action=add-src-to-address-list address-list=knock2 address-list-timeout=10s
add chain=input src-address-list=knock2 protocol=tcp dst-port=22 action=accept
Protezione da brute force su Winbox/SSH
add chain=input protocol=tcp dst-port=8291 src-address-list=blocked-winbox action=drop
add chain=input protocol=tcp dst-port=8291 connection-limit=3,32 action=add-src-to-address-list address-list=blocked-winbox address-list-timeout=1d
Gestione del traffico forward inter-VLAN
Per una rete segmentata con VLAN, definisci esplicitamente cosa può comunicare con cosa:
# Guest VLAN non accede alla LAN aziendale
add chain=forward in-interface=vlan30-guest out-interface=vlan20-aziendale action=drop
# IoT non accede a nulla tranne internet
add chain=forward in-interface=vlan40-iot out-interface=!ether1-wan action=drop
Attenzione: prima di applicare regole di drop sulla chain input in un ambiente di produzione, verifica sempre di avere accesso fisico o out-of-band al router. Una regola sbagliata può bloccarti fuori dalla gestione remota.
Posso aiutarti con la tua infrastruttura?
Che tu abbia un progetto da zero o un problema da risolvere, scrivimi o prenota una call gratuita di 30 minuti.