Il firewall implementa il filtraggio dei pacchetti con stato (utilizzando il tracciamento delle connessioni) e senza stato, fornendo così funzioni di sicurezza utilizzate per gestire il flusso di dati da, verso e attraverso il router. Insieme al Network Address Translation (NAT), funge da strumento per impedire l'accesso non autorizzato alle reti direttamente collegate e al router stesso, nonché da filtro per il traffico in uscita.
I firewall di rete tengono lontane le minacce esterne dai dati sensibili disponibili all'interno della rete. Ogni volta che diverse reti vengono collegate tra loro, c'è sempre il rischio che qualcuno esterno alla rete possa accedere alla LAN. Tali intrusioni possono comportare il furto e la distribuzione di dati privati, l'alterazione o la distruzione di dati preziosi o la cancellazione di interi dischi rigidi. I firewall vengono utilizzati per prevenire o ridurre al minimo i rischi per la sicurezza insiti nella connessione ad altre reti. Un firewall configurato correttamente svolge un ruolo fondamentale nell'implementazione di un'infrastruttura di rete efficiente e sicura.
MikroTik RouterOS ha un'implementazione firewall molto potente con funzionalità tra cui:
- ispezione dei pacchetti senza stato
- ispezione dei pacchetti con stato
- Rilevamento del protocollo Layer-7
- filtraggio dei protocolli peer-to-peer
- classificazione del traffico per:
- indirizzo MAC di origine
- Indirizzi IP (di rete o di elenco) e tipi di indirizzo (broadcast, locale, multicast, unicast)
- porta o intervallo di porte
- protocolli IP
- opzioni del protocollo (campi tipo e codice ICMP, flag TCP, opzioni IP e MSS)
- interfaccia da cui è arrivato o è partito il pacchetto
- segni di flusso interno e di collegamento
- Byte DSCP
- contenuto del pacchetto
- velocità con cui arrivano i pacchetti e numeri di sequenza
- dimensione del pacchetto
- tempo di arrivo del pacchetto
e molto altro ancora!
Il firewall è suddiviso in tre moduli principali:
- filter/raw - utilizzato per negare il traffico in base alle policy configurate. Il filtraggio nelle tabelle RAW consente di risparmiare risorse se non è richiesto il monitoraggio delle connessioni.
- mangle - utilizzato per contrassegnare determinate connessioni, pacchetti, flussi, impostare priorità ed eseguire altre attività
- nat - utilizzato per impostare le regole di traduzione degli indirizzi, i reindirizzamenti e l'inoltro delle porte
Catene
Le regole di filtraggio del firewall sono raggruppate in catene. Consentono di confrontare un pacchetto con un criterio comune in una catena e poi di inoltrarlo per l'elaborazione in base ad altri criteri comuni a un'altra catena.
Ad esempio, un pacchetto dovrebbe essere confrontato con la coppia indirizzo IP:porta. Naturalmente, questo potrebbe essere ottenuto aggiungendo alla catena di inoltro tutte le regole con corrispondenza indirizzo IP:porta necessarie, ma un modo migliore potrebbe essere quello di aggiungere una regola che corrisponda al traffico proveniente da un particolare indirizzo IP. Quindi, le regole che eseguono la corrispondenza con porte separate possono essere aggiunte alla catena " mychain " senza specificare gli indirizzi IP.
/ip firewall filter
add chain=mychain protocol=tcp dst-port=22 action=accept
add chain=mychain protocol=tcp dst-port=23 action=accept
add chain=input src-address=1.1.1.2/32 jump-target="mychain"
Durante l'elaborazione di una catena, le regole vengono prese dalla catena nell'ordine in cui sono elencate, dall'alto verso il basso. Se un pacchetto corrisponde ai criteri della regola, l'azione specificata viene eseguita su di esso e non vengono elaborate altre regole in quella catena (fanno eccezione l' azione passthrough e alcune azioni Mangle ).
Se un pacchetto non soddisfa alcuna regola all'interno della catena, allora viene accettato.
Ogni modulo firewall ha le sue catene predefinite:
- crudo :
- preinstradamento
- produzione
- filtro
- ingresso
- inoltrare
- produzione
- mangano
- preinstradamento
- ingresso
- inoltrare
- produzione
- postrouting
- natura
- srcnat
- la notte scorsa

