11.2 Základy nastavenia firewallu
Firewall je ako vrátnik, ktorý o každom pakete rozhoduje, či ho pustí alebo nie.
Pri plánovaní konfigurácie firewallu sa musíme rozhodnúť, akou základnou stratégiou sa chceme vydať:
Stratégia nemusí byť jednotná pre celý firewall - prestupové pravidlá môžu byť iné pre každú dvojicu sietí a pre každý smer prenosu.
Vytvorenie firewall pravidla
Na smerovačoch MikroTik môžeme firewall pravidlá definovať vo WinBox ponuke IP/IPv6 → Firewall, záložka Filter Rules. Tento firewall môžeme chápať a označiť aj ako paketový filter. Je dôležité uvedomiť si, že záleží na poradí pravidiel - vyhodnocujú sa postupne podľa poradia.
Reťazce pravidiel
Každé pravidlo musíme v prvom rade prideliť do správneho reťazca pravidiel (chain). Predvolené reťazce vo firewalli sú input, output a forward:
Paket, ktorý je spracovávaný firewallom, je najskôr zaradený do príslušného reťazca a následne postupne prechádza pravidlami, kým nenájde také, ktorého podmienkam vyhovuje.
Parametre pravidla
Každému firewall pravidlu môžeme definovať mnoho parametrov, ktoré predstavujú akýsi filter, či podmienky - paket musí vyhovieť všetkým podmienkam súčasne. Niektoré podmienky je možné negovať (symbolom !).

Najčastejšie definujeme parametre na záložke General:
Uvedený príklad by sa týkal požiadaviek na pripojenie k službám smerovača telnet a SSH, ktoré prichádzajú z internetu.
Zvláštnym prípadom je protokol ICMP, pre ktorý je možné špecifikovať aj konkrétny typ ICMP správy (voľba ICMP Options na záložke Advanced), napríklad „echo request“, či „echo reply“.
Akcia pravidla

Dôležitým parametrom je akcia (Action), ktorú nájdeme na záložke Action. Určuje, čo sa má stať s vyhovujúcim paketom, teda takým paketom, ktorý splnil všetky zadané podmienky. Po vykonaní akcie sa vyšetrovanie podľa postupnosti pravidiel ukončí (pokiaľ nie je uvedené inak parametrom Passthrough).
Najčastejšie používané akcie pre pravidlá sú:
Pre zaujímavosť, v prípade zákazu cez reject s rôznymi ICMP správami zobrazuje príkaz ping v rôznych OS nasledovné hlásenia:
Fungovanie paketového filtra
Zrekapitulujme si, aká je postupnosť pri vyhodnocovaní prijatého paketu:
Pred aplikovaním akýchkoľvek pravidiel, ktoré môžu ovplyvniť váš prístup k smerovaču, vždy v hornej lište WinBoxu aktivujte tlačidlo Safe Mode. Ak by ste sa omylom „vymkli“, systém vráti zmeny späť.
Evidencia spojení (Connection Tracking)
Zamyslenie: Potrebujeme dosiahnuť stav, kedy bude zakázaný prístup do LAN z iných sietí, no z LAN bude povolený prístup všade. Na firewalli teda zakážeme prístup z WAN do LAN. Opačný smer (z LAN do WAN) necháme povolený. No žiadna komunikácia nefunguje.vV čom je problém? 🤔
Na riešenie nastoleného problému využívame evidenciu spojení (connection tracking) a základnú sadu pravidiel firewallu pre spojenia - táto umožní:
Aby sme mohli využívať evidenciu spojení vo firewall spojeniach, je potrebné, aby bola povolená - ide o WinBox ponuku IP/IPv6 → Firewall → Connections a v nej tlačidlo Tracking. Predvolená hodnota Auto obvykle vyhovuje - znamená, že sa evidencia spojení automaticky zapne, pokiaľ existuje nejaké firewall pravidlo.
Zaujímavé je, že smerovač eviduje okrem skutočných TCP spojení aj „spojenia“ UDP, či ICMP.
Základná sada pravidiel pre spojenia
Sadu základných pravidiel pre existujúce spojenia je potrebné pridať na úvod všetkých troch základných reťazcov pravidiel a na ich záver pridať všeobecné pravidlo buď všetko ostatné povoľujúce (v režime blacklist) alebo všetko ostatné zakazujúce (v režime whitelist). Pokiaľ sa používa aj protokol IPv6, je potrebné tieto základné pravidlá použiť samostatne aj pre IPv6 firewall.
Pozrime sa na tieto firewall pravidlá konkrétne:
/ip firewall filter add chain=input connection-state=established,related action=accept;
nesprávne pakety („tvária sa“ ako odpovede, ale nie sú v evidencii spojení pre dané rozhranie) zahodíme:/ip firewall filter add chain=input connection-state=invalid action=drop;
ďalej nasledujú vlastné pravidlá určujúce, či sa povolí nové spojenie;
na záver patrí implicitné (default) pravidlo, napríklad:/ip firewall filter add chain=input action=accept - pričom bezpečnejší je samozrejme zákaz;
to isté vykonáme aj pre reťazce output a forward a všetko tiež pre IPv6.


Kompletná sada základných pravidiel aj so všeobecným záverečným povolením (pozor, to je potrebné si zmeniť podľa potreby):
/ip firewall filter
add action=accept chain=input comment="INPUT - povol uz nadviazane spojenia" connection-state=established,related
add action=drop chain=input connection-state=invalid
add action=accept chain=input comment="povol vsetko ostatne"
add action=accept chain=output comment="OUTPUT - povol uz nadviazane spojenia" connection-state=established,related
add action=drop chain=output connection-state=invalid
add action=accept chain=output comment="povol vsetko ostatne"
add action=accept chain=forward comment="FORWARD - povol uz nadviazane spojenia" connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=accept chain=forward comment="povol vsetko ostatne"
/ipv6 firewall filter
add action=accept chain=input comment="INPUT - povol uz nadviazane spojenia" connection-state=established,related
add action=drop chain=input connection-state=invalid
add action=accept chain=input comment="povol vsetko ostatne"
add action=accept chain=output comment="OUTPUT - povol uz nadviazane spojenia" connection-state=established,related
add action=drop chain=output connection-state=invalid
add action=accept chain=output comment="povol vsetko ostatne"
add action=accept chain=forward comment="FORWARD - povol uz nadviazane spojenia" connection-state=established,related
add action=drop chain=forward connection-state=invalid
add action=accept chain=forward comment="povol vsetko ostatne"
Týmto sme vytvorili základný funkčný firewall, ktorý umožňuje komunikáciu. v nasledujúcej kapitole sa pozrieme na to, ako tento stav zabezpečiť: obmedzíme prístup z internetu, využijeme zoznamy adries a optimalizujeme výkon pomocou funkcie FastTrack.

