MikroTik od podstaw do zaawansowania – Część 31: MikroTik jako zapora brzegowa z analizą kontekstową ruchu
MikroTik od podstaw do zaawansowania – Część 31: MikroTik jako zapora brzegowa z analizą kontekstową ruchu
W dzisiejszym, coraz bardziej rozproszonym środowisku IT, router brzegowy musi pełnić funkcje wykraczające poza zwykły routing pakietów. MikroTik, dzięki elastycznemu systemowi RouterOS, może zostać przekształcony w pełnoprawną zaporę brzegową (Next-Generation Firewall) z mechanizmami analizy kontekstowej i korelacji zdarzeń. W 31. części naszej serii, skupimy się na przekształceniu MikroTika w filtrującą zaporę warstw aplikacyjnych (Layer 7), z integracją do systemów analitycznych, by umożliwić reakcję w czasie rzeczywistym na niepożądane zdarzenia sieciowe.
MikroTik jako zapora nowej generacji – dlaczego warto?
Zapory nowej generacji (NGFW) umożliwiają analizę treści pakietów, inspekcję warstwy aplikacji, wykrywanie anomalii oraz kontrolę dostępu w oparciu o reguły kontekstowe. Chociaż MikroTik nie oferuje klasycznego silnika IPS/IDS na poziomie takich jak Suricata czy Palo Alto, można go z powodzeniem rozbudować w tym kierunku przez:
- Reguły Layer 7
- Filtrację protokołów
- Integrację z SIEM
- Dynamiczne adresy list (Address-List)
- Automatyczne skrypty reakcyjne
Konfiguracja L7 i filtrowanie protokołów
Layer 7 Protocols w RouterOS to potężne narzędzie. MikroTik pozwala analizować zawartość pakietów i identyfikować ruch aplikacyjny (np. Facebook, YouTube, Skype, TikTok itp.). Przykład filtru L7 blokującego dostęp do TikToka:
/ip firewall layer7-protocol
add name=tiktok regexp="^.*(tiktokcdn|tiktokv|tiktok|bytecdn).*"
/ip firewall filter
add chain=forward protocol=tcp layer7-protocol=tiktok action=drop comment="Block TikTok traffic"
Ten prosty filtr działa w wielu przypadkach, jednak aby zwiększyć skuteczność, warto połączyć L7 z dynamicznymi listami adresowymi.

Dynamiczne Address-List i analiza ruchu
Za pomocą skryptów MikroTik może monitorować określone wzorce ruchu (np. wzmożony outbound, nietypowy port) i automatycznie dodawać hosty do Address-List, co pozwala reagować w czasie rzeczywistym.
Przykład: blokowanie hostów po wykryciu nadmiarowego skanowania portów.
/ip firewall filter
add chain=forward protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list=port_scanners address-list-timeout=1h comment="Detect port scans"
/ip firewall filter
add chain=forward src-address-list=port_scanners action=drop comment="Drop port scanners"
Skrypty reakcyjne – MikroTik jako lokalny IDS-lite
RouterOS pozwala uruchamiać własne skrypty Bash lub funkcje przez scheduler. Możemy cyklicznie analizować logi lub zestawy połączeń i podejmować decyzje, np. o odcięciu hosta z sieci LAN w przypadku podejrzanej aktywności.
Przykładowy skrypt usuwający klienta po przekroczeniu liczby zapytań DNS:
:foreach i in=[/ip dns cache all find] do={
:if ([/ip dns cache all get $i ttl] < 1) do={
:local host [/ip dns cache all get $i name]
:log warning message=("Possible DNS abuse from " . $host)
/ip firewall address-list add list=abuse_dns address=$host timeout=1h
}
}
MikroTik + Grafana + Prometheus: wizualizacja incydentów
Dzięki integracji z narzędziami do monitoringu, np. poprzez SNMP, NetFlow lub bezpośrednio do Prometheus (przez exporter lub zewnętrzny agent), możemy uzyskać pełną analizę i wizualizację zagrożeń sieciowych.
Warto stworzyć osobne dashboardy w Grafanie, np.:
- Ilość wykrytych prób skanowania
- Liczba zablokowanych adresów przez L7
- Dynamika zmian listy
address-list - Mapa heatmap z geolokalizacją ataków (via SIEM lub MaxMind API)
Połączenie z SIEM i EDR – pełna korelacja zdarzeń
Kiedy MikroTik działa jako brama sieciowa i filtr ruchu, można logi i zdarzenia przekazywać do zewnętrznych systemów bezpieczeństwa, np. Wazuh, Graylog, Elastic Security, Splunk lub ArcSight. W tym celu:
- Konfigurujemy zewnętrzny syslog:
/system logging action add name=remote target=remote remote=192.168.88.10 remote-port=514
/system logging add topics=firewall action=remote
- W systemie SIEM parsujemy zdarzenia i ustawiamy korelacje, np.:
- 5 prób połączeń na port RDP → dodanie do czarnej listy
- Wzrost ruchu DNS + upload → możliwe C2
- SIEM może automatycznie wysłać API-call do MikroTika przez REST (API, SSH, NetTool, Python), aby np. zablokować IP:
import routeros_api
connection = routeros_api.RouterOsApiPool('192.168.88.1', username='admin', password='admin')
api = connection.get_api()
api.get_resource('/ip/firewall/address-list').add(address='1.2.3.4', list='blocked', timeout='1d')
Podsumowanie
MikroTik może działać nie tylko jako router, ale jako pełnoprawna, inteligentna zapora kontekstowa. W połączeniu z narzędziami open-source i automatyzacją, jego rola w środowisku sieciowym może znacząco wzrosnąć. Nawet bez komercyjnych dodatków możliwe jest stworzenie środowiska, które aktywnie broni się przed zagrożeniami i adaptuje do zmieniających się warunków.
W kolejnej części przejdziemy do integracji MikroTik z honeypotami i sandboxami, aby analizować ataki „na żywo”






