Firewall e QoSIntermedio
Firewall Filter — Ruleset di base sicuro e commentato
Un ruleset firewall completo, commentato riga per riga, per proteggere il router MikroTik dalla WAN mantenendo piena operatività LAN. Include protezione Winbox/SSH con address-list admin e drop WAN totale.
Il firewall è la prima linea di difesa del router. Per impostazione predefinita RouterOS non blocca nulla, quindi è obbligatorio configurare un ruleset prima di esporre il router su Internet. Il principio guida è deny-by-default: tutto ciò che non è esplicitamente permesso viene scartato.
SICUREZZA CRITICA — Principio del router protetto di default: aggiungi le regole di DROP come ULTIMA regola nelle chain, non come prima. RouterOS valuta le regole dall'alto verso il basso e si ferma al primo match (a meno che non si usi
passthrough=yes). Se per errore metti un DROP troppo in alto, puoi perdere l'accesso al router. Mantieni sempre una sessione Winbox aperta durante la configurazione: le modifiche alla chain input non interrompono le sessioni già stabilite.Prerequisito: Interface List
Creare le interface list WAN e LAN
# Creare le liste di interfacce (da adattare ai propri nomi) /interface list add name=WAN comment="Interfacce verso Internet" /interface list add name=LAN comment="Interfacce verso la rete locale" # Aggiungere le interfacce (esempio: ether1=WAN, ether2-5+wlan=LAN) /interface list member add list=WAN interface=ether1 /interface list member add list=LAN interface=ether2 /interface list member add list=LAN interface=ether3 /interface list member add list=LAN interface=wlan1 # Creare la lista degli IP amministrativi (da cui si accede a Winbox/SSH) # IMPORTANTE: aggiungere il proprio IP PRIMA di configurare le regole! /ip firewall address-list add list=admin address=192.168.88.10 comment="PC amministratore principale" /ip firewall address-list add list=admin address=10.0.0.0/8 comment="Rete management interna"
Chain INPUT — Protezione del router
Regole chain input complete e commentate
# ================================================================ # CHAIN INPUT — Protegge il router stesso dagli accessi non autorizzati # Valutate per OGNI pacchetto destinato al router (SSH, Winbox, API, DNS...) # ================================================================ # [1] ACCETTA traffico già stabilito/correlato — performance critica # Questa DEVE essere la prima regola: evita di processare tutto il # traffico di risposta attraverso le regole successive. /ip firewall filter add chain=input connection-state=established,related,untracked action=accept comment="[1] Accetta connessioni già stabilite e correlate" # [2] SCARTA traffico non valido — sicurezza # Pacchetti malformati o fuori-sequenza: tipico di scan/attacchi. /ip firewall filter add chain=input connection-state=invalid action=drop comment="[2] Scarta connessioni non valide (malformate/attacchi)" # [3] ACCETTA ICMP controllato dalla WAN # Permette solo ping (echo-request) dalla WAN con rate limiting. # Blocca ICMP redirect e altri tipi potenzialmente pericolosi. /ip firewall filter add chain=input protocol=icmp icmp-options=8:0 in-interface-list=WAN limit=10,20:packet action=accept comment="[3] ICMP ping WAN (rate-limited 10 pps)" /ip firewall filter add chain=input protocol=icmp in-interface-list=LAN action=accept comment="[3b] ICMP dalla LAN: tutto permesso" /ip firewall filter add chain=input protocol=icmp action=drop comment="[3c] Scarta altri tipi ICMP dalla WAN" # [4] WINBOX — SOLO da address-list 'admin' # MAI esporre Winbox (TCP 8291) su Internet! /ip firewall filter add chain=input protocol=tcp dst-port=8291 src-address-list=admin action=accept comment="[4] Winbox - solo da IP admin autorizzati" /ip firewall filter add chain=input protocol=tcp dst-port=8291 action=drop log=yes log-prefix="WINBOX-BLOCKED" comment="[4b] Blocca Winbox da IP non autorizzati" # [5] SSH — SOLO da address-list 'admin' # SSH (TCP 22) non deve mai essere accessibile dalla WAN senza # restrizioni. Meglio ancora: cambiare porta e usare chiavi. /ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list=admin action=accept comment="[5] SSH - solo da IP admin autorizzati" /ip firewall filter add chain=input protocol=tcp dst-port=22 action=drop log=yes log-prefix="SSH-BLOCKED" comment="[5b] Blocca SSH da IP non autorizzati" # [6] API RouterOS — solo dalla LAN (o da admin) /ip firewall filter add chain=input protocol=tcp dst-port=8728,8729 src-address-list=admin action=accept comment="[6] RouterOS API (plain/SSL) - solo admin" /ip firewall filter add chain=input protocol=tcp dst-port=8728,8729 action=drop comment="[6b] Blocca API RouterOS da IP non autorizzati" # [7] DNS dalla LAN — se il router fa da DNS resolver locale /ip firewall filter add chain=input protocol=tcp dst-port=53 in-interface-list=LAN action=accept comment="[7] DNS TCP dalla LAN" /ip firewall filter add chain=input protocol=udp dst-port=53 in-interface-list=LAN action=accept comment="[7b] DNS UDP dalla LAN" # [8] NTP — se il router fa da server NTP /ip firewall filter add chain=input protocol=udp dst-port=123 in-interface-list=LAN action=accept comment="[8] NTP dalla LAN" # [9] DHCP — necessario per assegnare IP ai client locali /ip firewall filter add chain=input protocol=udp dst-port=67,68 action=accept comment="[9] DHCP server" # [10] DROP FINALE — tutto il resto dalla WAN viene scartato silenziosamente # In-interface-list=WAN garantisce che solo il traffico WAN venga droppato. # Il traffico LAN non corrisponde e passa alle regole successive (se ci sono). /ip firewall filter add chain=input in-interface-list=WAN action=drop comment="[10] DROP FINALE: tutto il resto dalla WAN"
Chain FORWARD — Protezione del traffico dei clienti
Regole chain forward complete e commentate
# ================================================================ # CHAIN FORWARD — Controlla il traffico che transita ATTRAVERSO il router # (traffico dei clienti: LAN→WAN, WAN→LAN, LAN→LAN su subnet diverse) # ================================================================ # [1] FASTTRACK per connessioni già stabilite — performance massima # FastTrack bypassa il firewall per le connessioni già verificate. # NOTA: se si usano Simple Queues per shaping, FastTrack va disabilitato # o le queue devono trovarsi su interfacce specifiche (Queue Tree). /ip firewall filter add chain=forward connection-state=established,related action=fasttrack-connection hw-offload=yes comment="[1] FastTrack - hardware offload per traffico stabilito" # [2] Accetta established/related (fallback se FastTrack non supportato) /ip firewall filter add chain=forward connection-state=established,related action=accept comment="[2] Accetta traffico forward già stabilito" # [3] Scarta traffico non valido /ip firewall filter add chain=forward connection-state=invalid action=drop comment="[3] Scarta traffico forward non valido" # [4] ACCETTA LAN → WAN — i clienti possono navigare su Internet /ip firewall filter add chain=forward in-interface-list=LAN out-interface-list=WAN action=accept comment="[4] LAN -> WAN: clienti verso Internet" # [5] Blocca connessioni WAN → LAN non richieste # Solo il traffico "established/related" (già accettato sopra) può # tornare dalla WAN verso la LAN. Nuove connessioni dalla WAN: DROP. /ip firewall filter add chain=forward in-interface-list=WAN out-interface-list=LAN connection-state=new action=drop comment="[5] Blocca nuove connessioni da WAN verso LAN" # [6] DROP FINALE FORWARD /ip firewall filter add chain=forward action=drop comment="[6] DROP FINALE forward: tutto il resto"
FastTrack e QoS non coesistono direttamente: se vuoi applicare Simple Queues a tutti i clienti, commenta la regola FastTrack in forward e usa invece Queue Tree su interfacce specifiche (che lavora correttamente anche con FastTrack attivo). Alternativa: usa
hw-offload=no su FastTrack e gestisci le code in software.firewall filterrulesetchain inputchain forwarddrop WANaccept establishedaddress-list adminwinbox securityssh protectionICMPsicurezza routerfasttrack
Continua con
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