Deel dit onderwerp alstublieft!

Mikrotik firewall filter leren begrijpen

Mikrotik firewall filter leren begrijpen 

De Mikrotik firewall filter is een krachtig wapen om je Mikrotik router en je netwerken te beveiligen. Maar de Mikrotik firewall filter configuratie ziet er vrij ingewikkeld uit. Dit is de reden dat ik voor je een blogpost schrijf. Ik illustreer deze blogpost met screenshots en filmpjes. Op deze manier hoop ik dat je nog meer inzicht krijgt hoe de Mikrotik firewall filter rules kan gebruikt worden. 

De Mikrotik firewall ondersteund zowel statefull en stateless pakket filtering

De firewall ondersteund zowel  statefull als stateless pakketfiltering. Op deze manier kan de firewall de gegevensstroom vanaf, doorheen en naar de router inspecteren. Wat is nu een stateful firewall? De statefull firewall houd de informatie bij van gemaakte netwerkverbindingen die door de router lopen. Deze verbindingen kunnen zijn gemaakt tussen een webserver en je PC of tussen twee netwerktoestellen. Op deze manier kan de firewall onderscheid maken tussen toegestane en niet toegestane pakketten binnen een netwerkverbinding. Doch zoals al aangehaald ondersteund de Mikrotik firewall filter ook stateless pakketfiltering. Dit betekent dat alle inkomende, uitgaande en door de router gaande pakketjes worden geïnspecteerd. Dit zorgt voor extra veiligheid op je router en op je netwerk. Indien je nog geen kennis hebt van Mikrotik routers raad ik je aan om mijn blog te bezoeken met als titel: "Mikrotik router configureren". Ook mijn YouTube kanaal bied veel hulp met allerlei Mikrotik onderwerpen.

Laat me eerst wat verduidelijken

De Mikrotik router heeft heel wat meer te bieden betreft de Mikrotik firewall want dit is een zeer uitgebreid onderwerp. Doch ik ga In deze blogpost alleen spreken over de Mikrotik firewall filter rules. Op deze manier kan ik me diepgaander concentreren op dit onderwerp. Strikt genomen is de Mikrotik firewall niet beperkt tot deze filter rules. Want er zijn meer onderwerpen betreft de Mikrotik firewall. Om er enkele op te noemen er zijn ook nog Mangle, NAT, Raw, Service ports en Layer7 Protocols al is de laatste niet goed meer te gebruiken. Buiten de filter rules bespreek ik ook de Address Lists  en Connections omdat deze verweven kunnen worden in de Mikrotik firewall filter rules. Meer weten hoe je de Mikrotik router kan beveiligen kan je lezen en bekijken in een andere blogpost genaamd "Mikrotik router beveiligen".

Het hart van de Mikrotik firewall

Mikrotik Firewall

Het hart van de Mikrotik firewall is "connection tracking". Het is zeer belangrijk om weten dat indien je connection tracking uitschakelt je ook de bijzonderste firewall functies uitschakelt. Zoals de naam al laat vermoeden volgt connection tracking alle netwerk verbindingen en lijst deze op. Uiteraard worden deze verbindingen geïnspecteerd. De netwerk verbindingen zijn zowel vanaf, doorheen en naar de router toe. De bovenstaande afbeelding laat je een lijst zien naar bestaande verbindingen.  De volledige opties van connection tracking zie je op de Mikrotik wiki. Functies die door connection tracking worden aangedreven zijn: 

  • NAT wat staat voor Network Address Translading.
  • Firewall waaronder: connection bytes, connection mark, connection type, connection state, connection limit,  connection rate, layer7 protocol, new connection mark en tarpit.

De RAW firewall heeft connection tracking niet nodig. Maar hier gaan we het niet over hebben. Laat ons even kijken naar de INPUT, FORWARD en OUTPUT chain. Dit is zeer belangrijk om weten. In de eerste plaats wanneer en in welke situatie moet je deze chains gaan gebruiken. Wil je de Mikrotik firewall filter rules beter begrijpen lees zeker deze blogpost volledig door. 

Welke functie heeft de INPUT, OUTPUT en FORWARD chain op de Mikrotik firewall filter rules

Mikrotik firewall

INPUT

De input chain inspecteert en behandeld al het data verkeer die naar de router zelf gaat. Een voorbeeld hiervan is een ping naar de router zelf of een login poging op de router met Winbox, SSH of Telnet. Je kan dan door jou bepaalde logins blokken of toelaten. Bijvoorbeeld vanaf de WAN interface mag men niet inloggen op de router. Op het onderstaande filmpje zie je deze begrippen zeer duidelijk. 

FORWARD

De forward chain inspecteert en behandeld al het data verkeer dat doorheen de router gaat. Een voorbeeld hiervan is ik ping vanaf mijn PC naar 8.8.8.8. De ping pakketten ontstaan op mijn PC en gaat doorheen de router naar het internet toe om vervolgens Google DNS te bereiken. Een ander voorbeeld is je hebt een webserver op je netwerk. Iemand wil de webserver aanspreken vanaf het internet doorheen de Mikrotik router om zodoende de webserver te gebruiken. Dit zijn enkele voorbeelden maar de toepassingen hiervan zijn legio. 

OUTPUT

De output chain inspecteert en behandeld de data pakketten die zijn oorsprong vindt bij de router zelf. Indien ik ping met de tool ping of via new terminal van de router naar 8.8.8.8 dit is uitgaand verkeer vanaf de router. Ook indien ik vanaf de Mikrotik router inlog met Winbox naar een Mikrotik switch dit is ook output. Al het dataverkeer dat ontstaat vanaf de is output. Het dataverkeer moet afkomstig zijn van de router zelf. Ik hoop dat je dit begrijpt en zie ook het onderstaand filmpje die ik voor je heb gemaakt.

Blok al het Winbox verkeer naar de router 

Mikrotik firewall input
Mikrotik firewall filter

In het bovenstaand voorbeeld zie je dat ik al het dataverkeer met als bestemming poort 8291 (Winbox) naar de router toe blokkeer. Maar is dat wel de bedoeling? Want niemand kan nog verbinden met de router met Winbox. Ook ik word onherroepelijk geblokt want ik zeg hier al het Winbox verkeer moet worden geblokt. Dit komt omdat ik geen enkele bijkomende parameter ingeef. Bekijk de volgende configuratie die ik ga tonen.

Blok al het Winbox verkeer naar de router afkomstig van de WAN interface

INPUT chain
Mikrotik firewall filter

 Ik blijf hier werken met de poort 8291maar treed meer in detail. Wat ik hier wil zeggen is dat ik bepaal van welke inkomende interface ik het verkeer wil blokken. Zoals in dit bovenstaand voorbeeld is de inkomende poort de WAN interface. Deze regel zegt dus: " Al het inkomend dataverkeer met als bestemming de router met als poort 8291en dit dataverkeer is afkomstig van de WAN interface. Dit dataverkeer moet worden gedropt. Dit wil ook zeggen indien er iemand wil inloggen vanaf de LAN interface dit wordt toegestaan.

Gebruik van de interface list kan de firewall rules vereenvoudigen

Interface list

Op de bovenstaande screenshot heb ik twee interface lists aangemaakt. Een WAN list en een LAN list. In de WAN list heb ik de twee interfaces geplaatst die zijn verbonden met de twee ISP's. In de LAN list heb ik de bridge-local geplaatst. Ik plaats de interfaces die in de bridge-lan zijn geplaatst NIET in deze LAN list omdat deze als het ware zijn samengesmolten in de bridge-lan. Al deze interfaces zijn samengenomen in de bridge-lan en vormen één interface. Ik denk dat dit duidelijk is geworden. 

Mikrotik firewall filter

In plaats van een interface gebruik ik de interface list. Dit stelt me in de mogelijkheid om meer interfaces te gaan aanduiden in één firewall rule.
Hierboven heb ik terug Winbox verkeer naar de router zelf vanaf de WAN interface list geblokt. Wat is hier zo speciaal aan vraag je zich misschien af. In de WAN interface list kunnen meerdere interfaces worden geplaatst. In dit voorbeeld is de in. interface list de WAN en deze vertegenwoordigd de twee WAN verbindingen.
Dit vereenvoudigd en minimaliseert de firewall filter rules. Het is goed om weten dat elke extra firewall regel bijdraagt aan meer CPU belasting. Dit moet zeker worden vermeden indien je een netwerk wil met een goede en stabiele datadoorvoer. Ik kan meerdere interface lists aanmaken om de firewall regels te verminderen. Een extra voorbeeld hiervan is een interface list voor de LAN netwerken. Ik hoop dat je de opzet van een interface list begrijpt. Bekijk dit filmpje dat ik heb gemaakt hoe je de interface list kan gebruiken. 

De interface list is één onderdeel doch er zijn heel wat andere parameters

De Mikrotik firewall filter is zeer uitgebreid waardoor ik niet alle onderwerpen kan behandelen. Zo heb je ook de tabbladen advanced en extra. Hiermee kan je nog veel meer parameters ingeven. Op de onderstaande screenshots zie je de advanced en de extra tab. Maar deze is zo uitgebreid dat ik hier niet over ga uitweiden. Doch deze opties zullen aan bod komen in deze blogpost en filmpjes.

Mikrotik firewall advanced
firewall filter extra tab

Welke zijn en wat doen de acties die kunnen worden gebruikt in de Mikrotik firewall filter rules

Accept, Drop, Passthrough

Firewall filter action

Ik begin met de drie standaard firewall acties. Namelijk accept wat wil zeggen datapakketten of verbinding toestaan. Als voorbeeld wil ik inkomende datapakketten met als UDP poorten 500 en 4500 aanvaarden om een L2TP/IPSec tunnel te kunnen opbouwen. Een ander voorbeeld is dat ik ICMP verkeer naar de router toesta.
Een tweede actie is drop. Als ik verkeer wil blokkeren met de firewall filter rules moet ik drop gebruiken. Een voorbeeld hiervan is: ik drop het dataverkeer met als poort TCP 3389 vanaf de WAN interface of interface list. Deze poort wordt gebruikt door het Microsoft Remote Desktop Protocol en ik wil niet dat hier gebruik wordt van gemaakt vanaf de WAN. Hieronder plaats ik de screenshot en wat valt je hopelijk op. Ik gebruik de chain forward want ik wil de Windows computers gaan beschermen.
Dit verkeer passeert de router naar de computers.

De derde actie die ik gebruik is passthrough: Hiermee kan ik datapakketten en bytes gaan tellen. Er zijn nog actie die kunnen worden ingesteld op de Mikrotik router. Dit zie je verder op deze blog. Even een kleine samenvatting van deze drie firewall acties.

  • Accept: Gebruik je als je datapakketten wil toestaan. Een voorbeeld hiervan is je aanvaard login pogingen op de router afkomstig van het management netwerk. 
  • Drop: Gebruik je als je datapakketten wil blokkeren. Een voorbeeld: inlogpogingen afkomstig van de WAN interface sta je niet toe en wil je gaan blokken. 
  • Passthrough: Gebruik je om bijvoorbeeld datapakketten en bytes te tellen. Je laat de datapakketten passeren doorheen de firewall.

Reject en Tarpit 

De actie reject kan je vergelijken met drop doch er word een icmp boodschap verzonden naar de afzender. Indien er iemand een ping uitvoert naar de router zal de firewall ingesteld met de actie reject de ping pakketten gaan droppen. Doch de firewall zal een icmp boodschap zenden naar de afzender. Zoals je op de onderstaande screenshot kan zien kan je kiezen welke ICMP boodschap er moet worden verzonden. Reject met een icmp boodschap verraad dat er een router of firewall aanwezig is. Het is dan ook beter om de actie drop te gaan gebruiken. Op deze manier weet de ping aanvrager niet of er een toestel aanwezig is of niet. Een zeer belangrijke actie bij reject is TCP reset. De Mikrotik firewall gaat een TCP reset gaan uitzenden waardoor de TCP verbinding word verbroken. Nog een belangrijke actie is tarpit. Met tarpit kan je syn-flood aanvallen gaan afweren. Dit omdat de firewall simuleert dat de verbinding open is maar de router zal niet verder reageren op de syn aanvragen. Dit is een zeer goed wapen tegen syn-flood aanvallen. Meer lezen over syn-flood aanvallen lees dit hier.

Tarpit en reject
  • Reject: is gelijk aan drop maar de router zal een icmp boodschap uitzenden naar de afzender. Hiermee word wel duidelijk dat er een netwerktoestel aanwezig is.
  • Reject met tcp reset: Hiermee word een bestaande TCP verbinding verbroken. 
  • Tarpit: met deze actie worden syn-flood aanvallen afgeweerd zodat de router niet word overstelpt met syn aanvragen van de aanvaller. 

Add src of dst to address list

Nog een zeer groot hulpmiddel is het toevoegen van het bron of bestemming IP-adres aan een adres list. Ik kan hiermee de IP-adressen zien die login pogingen op de router ondernemen. Deze IP-adressen worden automatisch in een adres list geplaatst om daarna verwerkt te worden in een firewall rule. Dit is een groot voordeel dat de Mikrotik firewall heeft en de toepassingen hiervoor zijn legio. Een voorbeeld hiervan: De IP-adressen worden verzameld van de computers die willen inloggen op de router met SSH en Winbox. Deze IP-adressen worden in een adres list geplaatst genaamd blacklist. Ik maak een firewall rule aan waarmee ik alle verzamelde IP-adressen blokkeer die in de blacklist zijn geplaatst. Het is toch prachtig dat je hiervan gebruik kan maken is het niet?

Mikrotik firewall filter
  • Add scr to address list: Het bron IP-adres word in de adres list geplaatst om vervolgens verder verwerkt te worden in de firewall.
  • Add dst to address list: Het doel IP-adres word in de adres list geplaatst om vervolgens verder verwerkt te worden in de firewall

Weet dat de firewall filter rules in volgorde worden doornomen van boven naar onder

Mikrotik firewall filter

In de bovenstaande screenshot van de Mikrotik firewall filter rules zie je de default firewall configuratie. De pakketten komen de firewall binnen en lopen de firewall rules af totdat er een overeenkomst word gevonden. Dit gebeurd vanaf boven naar beneden. Ik moet dus rekening houden met de volgorde. Als ik een firewall rule zou aanmaken blok alles die wil verbinden met de router en ik zou die bovenaan plaatsen zou ik uitgesloten worden. Let dus goed op met wat je doet. Nu je dit weet ga ik naar de actie jump.

De actie jump 

Firewall filter jump

Met de actie jump kan je naar een zelfgemaakte chain jumpen. Als voorbeeld als er een ping binnenkomt op de router kan ik direct dit ping verkeer laten jumpen naar de chain ICMP. Op deze manier moeten deze ping pakketten niet alle firewall regels doorlopen en dit resulteert in minder CPU gebruik. Dit komt zeer goed van pas om de router niet al te veel te gaan belasten. De toepassingen hiervan zijn legio. 

  • Jump: met deze actie sla je de volgende firewall rules over en spring je direct naar een zelf aangemaakte firewall chain. Bijvoorbeeld ICMP.

Een voorbeeld van een Mikrotik firewall filter configuratie 

De Mikrotik firewall is breed inzetbaar. Om meer duidelijkheid te geven plaats ik terug een YouTube filmpje die ik heb gemaakt met een basis configuratie. Op deze manier hoop ik dat je meer begrip krijgt wat je moet doen. In de eerste plaats zorg ik ervoor dat ik kan inloggen op de Mikrotik router met Winbox en SSH. Dit is de eerste regel dat ik aanmaak. Daarna blok ik al de rest zodat niemand anders de router kan benaderen via Winbox en SSH. Hou rekening met de volgorde van de firewall regels. Eerst de accept regel en daarna de blok regel. Ik maak steeds gebruik van de safe mode. Indien ik een mis configuratie maak waardoor ik word buitengesloten op de router wordt de laatste aangebrachte firewall configuratie ongedaan gemaakt. Ik raad je aan om de onderstaande video te bekijken en de configuratie mee te volgen. 

Tenslotte nog even dit

Indien je de Mikrotik firewall filter rules configureert is het altijd aangewezen om de Safe Mode te gebruiken. Deze kan je bovenaan vinden in het Winbox menu. Indien je bijvoorbeeld een filter rule zou aanmaken die je zou buitensluiten zal de Safe Mode ervoor zorgen dat de laatste configuratie ongedaan wordt gemaakt. Op deze manier moet je niet alles herbeginnen omdat je bent buitengesloten op de router. Dit wil ik je nog meegeven. De Mikrotik firewall filter begrijpen blogpost is hier op zijn einde gekomen. Indien je vragen hebt kan je me deze gerust stellen via mijn contact gegevens. Ik wens je nog veel configuratie genot met de Mikrotik firewall filter rules.

Blijf op de hoogte van nieuwe video tutorials

Deze website maakt gebruik van cookies. Door deze site te blijven gebruiken, accepteert u het gebruik van deze cookies.