MikroTik od podstaw do zaawansowania — część 2: Firewall MikroTik, Connection Tracking i najlepsze praktyki zabezpieczania sieci
MikroTik od podstaw do zaawansowania — część 2: Firewall MikroTik, Connection Tracking i najlepsze praktyki zabezpieczania sieci
Wprowadzenie do bezpieczeństwa na poziomie routera
Bezpieczeństwo infrastruktury sieciowej zaczyna się na styku sieci lokalnej z Internetem. MikroTik, dzięki możliwościom RouterOS, oferuje nie tylko funkcjonalność klasycznego firewalla, ale też zaawansowane filtrowanie połączeń, analizę stanu sesji TCP/UDP, system dynamicznych list adresów oraz natywną obsługę DPI i Rate Limiting.
Jednym z najczęstszych błędów administratorów MikroTik jest uruchomienie usługi bez twardych polityk filtrujących — co naraża sieć na skanowania portów, botnety, ataki brute-force oraz rozprzestrzenianie się malware’u wewnątrz organizacji.

Jak działa firewall MikroTik — model Connection Tracking
Mechanizm firewall w RouterOS działa na zasadzie tzw. connection tracking, czyli śledzenia sesji między źródłem a celem. Każdy pakiet TCP/UDP/ICMP otrzymuje status:
- new — nowe połączenie
- established — połączenie aktywne
- related — pakiety pomocnicze (np. dane z kanału kontroli FTP)
- invalid — błędnie sformułowane lub niezidentyfikowane pakiety
Na tej podstawie możemy tworzyć reguły bardzo granularne, np.:
/ip firewall filter add chain=input connection-state=established,related action=accept
/ip firewall filter add chain=input connection-state=invalid action=drop
Najlepsze praktyki tworzenia reguł firewall w MikroTik
1. White-list dla zdalnego dostępu
Zamiast wystawiać SSH/Winbox/API na świat, ograniczamy je do znanych adresów:
/ip firewall address-list add list=admin_access address=192.168.1.100
/ip firewall filter add chain=input src-address-list=admin_access protocol=tcp dst-port=22,8291,8728 action=accept
2. Drop all — ale z głową
Typowa polityka „zabij wszystko, czego nie znamy” wygląda następująco:
/ip firewall filter
add chain=input connection-state=established,related action=accept comment="Allow established"
add chain=input protocol=icmp action=accept comment="Allow ping"
add chain=input in-interface=ether1 action=drop comment="Drop Internet traffic to router"
/ip firewall filter add chain=input action=drop comment="Drop all else"
3. Ochrona przed skanowaniem portów i DoS
/ip firewall filter add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list \
address-list=port_scanners address-list-timeout=1d comment="Detect port scanners"
/ip firewall filter add chain=input src-address-list=port_scanners action=drop comment="Block port scanners"
4. Brute-force detection (Winbox, SSH, API)
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291,8728 connection-state=new \
src-address-list=ssh_blacklist action=drop
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291,8728 connection-state=new \
src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 timeout=5m
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291,8728 connection-state=new \
action=add-src-to-address-list address-list=ssh_stage1 timeout=1m
Po osiągnięciu kilku prób, adres trafia do listy blokującej dostęp na dłużej.
Dynamic Address Lists — inteligentna automatyzacja blokowania zagrożeń
Dynamiczne listy to unikalna cecha MikroTik, pozwalająca reagować w czasie rzeczywistym na podejrzane zachowania. Możemy tworzyć własne reguły, np.:
- Adresy generujące zbyt dużo pakietów ICMP
- Hosty z nienaturalną liczbą nowych połączeń
- Dynamiczny ban na podstawie zachowania (podobne do fail2ban)
Przykład blokowania floodu ICMP
/ip firewall filter add chain=input protocol=icmp limit=10,5 action=accept
/ip firewall filter add chain=input protocol=icmp action=drop
Monitorowanie i alertowanie — wykorzystanie Netwatch i skryptów
RouterOS pozwala tworzyć warunkowe reakcje na zdarzenia sieciowe:
Netwatch: monitorowanie hostów i wykonanie skryptu
/tool netwatch add host=8.8.8.8 interval=30s timeout=3s \
up-script="/log info Google is reachable" \
down-script="/log warning Google unreachable"
Możemy też dodać:
- automatyczne wyłączenie interfejsu przy utracie łączności
- wysłanie webhooka do SIEM, ELK, Slacka, Grafany
Integracja z systemami zewnętrznymi — eksport logów do SIEM
1. Skonfiguruj zdalne logowanie
/system logging action add name=remote target=remote remote=192.168.100.10 remote-port=514
/system logging add topics=info action=remote
/system logging add topics=firewall action=remote
2. Wysyłanie danych NetFlow do systemów analizy ruchu
/ip traffic-flow set enabled=yes interfaces=ether1
/ip traffic-flow target add address=192.168.100.10 port=2055 v9-template-refresh=20
Zbierane dane mogą trafić do:
- ELK Stack
- Graylog
- QRadar
- Splunk
- Zabbix/Grafana (via exporter)
Rozszerzenia bezpieczeństwa: WireGuard, IPSec, VPN typu road-warrior
WireGuard jako tunel Zero Trust między oddziałami
MikroTik od wersji 7 wspiera WireGuard — bardzo szybki, prosty i bezpieczny VPN.
/interface wireguard add listen-port=51820 name=wg0
/interface wireguard peers add public-key="XYZ..." endpoint-address=123.123.123.123 \
endpoint-port=51820 allowed-address=192.168.10.0/24 interface=wg0
/ip address add address=10.0.0.1/24 interface=wg0
Podsumowanie i przygotowanie do części 3
Firewall MikroTik to potężne narzędzie, które — poprawnie skonfigurowane — zapewnia ochronę na poziomie enterprise. Dzięki funkcjom dynamicznych reguł, connection tracking, automatyzacji i eksportu do SIEM można go uczynić centralnym punktem detekcji i prewencji zagrożeń.





