MikroTik od podstaw do zaawansowania — część 6: Automatyzacja ZTNA, NAC, EDR i SOAR z Ansible i Pythonem
Sieci komputerowe

MikroTik od podstaw do zaawansowania — część 6: Automatyzacja ZTNA, NAC, EDR i SOAR z Ansible i Pythonem

MikroTik od podstaw do zaawansowania — część 6: Automatyzacja ZTNA, NAC, EDR i SOAR z Ansible i Pythonem

Wstęp: Infrastruktura jako kod i cyberbezpieczeństwo

W świecie zdominowanym przez automatyzację, integracja bezpieczeństwa na poziomie infrastruktury staje się nie tyle opcją, co koniecznością. MikroTik, choć często utożsamiany z SOHO, może pełnić rolę bramy w środowiskach brzegowych wspierających podejście Zero Trust, jeśli zostanie odpowiednio zautomatyzowany. Niniejsza część koncentruje się na implementacji „Infrastructure as Code” w kontekście bezpieczeństwa: automatyczne konfigurowanie reguł, zarządzanie dostępem, wykrywanie incydentów i reagowanie na nie w czasie rzeczywistym.

MikroTik od podstaw do zaawansowania — część 6: Automatyzacja ZTNA, NAC, EDR i SOAR z Ansible i Pythonem
MikroTik od podstaw do zaawansowania — część 6: Automatyzacja ZTNA, NAC, EDR i SOAR z Ansible i Pythonem

1. MikroTik + Ansible: podstawy integracji

Dlaczego Ansible?

Ansible pozwala na deklaratywne zarządzanie konfiguracją urządzeń MikroTik z poziomu YAML oraz Python Jinja2. Idealnie sprawdza się w środowiskach, gdzie konfiguracja musi być powtarzalna i bezpieczna.

Playbook: podstawowa konfiguracja VPN + firewall

- name: Konfiguracja MikroTik ZTNA
  hosts: mikrotik
  connection: local
  gather_facts: no

  tasks:
    - name: Ustawienie interfejsu WireGuard
      routeros_command:
        commands:
          - /interface/wireguard/add name=wg0 private-key={{ private_key }} listen-port=51820

    - name: Dodanie peer VPN
      routeros_command:
        commands:
          - /interface/wireguard/peers/add interface=wg0 public-key={{ user_pubkey }} allowed-address=10.10.10.2/32

    - name: Reguła firewall ograniczająca dostęp
      routeros_command:
        commands:
          - /ip/firewall/filter/add chain=forward action=accept protocol=tcp dst-port=22 src-address=10.10.10.2/32 in-interface=wg0

2. MikroTik + Python: dynamiczne reagowanie na incydenty

Python, dzięki bibliotekom takim jak requests, paramiko i librouteros, pozwala dynamicznie reagować na zdarzenia z SIEM lub EDR, np. izolując zagrożone IP.

Czytaj  Jak działa i jak wykorzystać wirtualne sieci lokalne (VLAN)?

Skrypt Python – blokowanie adresu IP po incydencie

from librouteros import connect

api = connect(username='admin', password='haslo', host='192.168.88.1')
ip = '203.0.113.50'

api.path('ip', 'firewall', 'address-list').add(list='blokada', address=ip, comment='EDR: incydent')

Można go wywołać z dowolnego SOAR po otrzymaniu alertu.


3. Automatyzacja NAC — dynamiczny dostęp VLAN

Dzięki Ansible i API MikroTik możemy dynamicznie przypisywać urządzenia do odpowiednich VLAN-ów zgodnie z profilem bezpieczeństwa.

Playbook: przypisanie VLAN do portu po autoryzacji

- name: Dynamiczny VLAN po autoryzacji RADIUS
  hosts: mikrotik
  tasks:
    - name: Przypisanie PVID portowi
      routeros_command:
        commands:
          - /interface bridge port set numbers=ether3 pvid=300

Można to połączyć z serwerem RADIUS (np. FreeRADIUS) integrującym się z LDAP lub AD.


4. Automatyczne reguły bezpieczeństwa – scenariusz EDR + MikroTik

Scenariusz: Wykrycie ransomware na stacji roboczej

  1. EDR (np. CrowdStrike lub SentinelOne) wykrywa ransomware.
  2. SIEM otrzymuje alert o wysokim priorytecie.
  3. SOAR aktywuje webhook → wywołuje skrypt Python blokujący adres.
  4. MikroTik natychmiast dodaje IP do address-list blokada.

Rozszerzenie: Blokada VLAN lub portu fizycznego

api.path('interface', 'bridge', 'port').set(**{'numbers': 'ether2', 'pvid': 999})

5. Wizualizacja i monitoring w Grafana + Loki

Zbieranie logów z MikroTik przez syslog i ich przetwarzanie przez Loki umożliwia tworzenie dashboardów:

  • Prób logowania
  • Alertów firewall
  • Detekcji skanowania
  • Utraconych pakietów

Grafana pozwala szybko ocenić, czy incydent jest jednostkowy, czy rozproszony.


6. Architektura automatycznego reagowania

[SIEM] ← syslog z MikroTik / alerty EDR
   ↓
[SOAR] – reguła automatyczna (np. TheHive + Cortex)
   ↓
[Python Script] – wywołanie REST lub SSH/API do MikroTik
   ↓
[MikroTik RouterOS] – blokada, przekierowanie VLAN, alert

7. Testowanie scenariuszy — symulacja i odtwarzalność

Aby w pełni przetestować konfigurację, warto użyć:

  • np. Kali Linux do symulacji skanów
  • EDR sandbox – do testowania fałszywych alarmów
  • Mockowane zdarzenia SIEM – generowane przez playbook lub webhook

8. Gotowe komponenty do pobrania i rozszerzenia

  • Ansible playbook ZTNA + Firewall
  • Python skrypty reagujące na incydenty
  • Loki + Grafana konfiguracja dashboardu
  • Wzorcowa polityka NAC z mapowaniem VLAN
  • Instrukcje integracji z FreeRADIUS i LDAP
Czytaj  Sieci komputerowe: Podstawy, typy i znaczenie w dzisiejszym świecie

W kolejnej części rozwiniemy te narzędzia do pełnego systemu SIEM/SOAR „na własnym serwerze” z logiką, regułami i alertowaniem.

 

Polecane wpisy
Jak ustawić routing OSPFv3 lub BGP4+ na IPv6?
Jak ustawić routing OSPFv3 lub BGP4+ na IPv6?

Jak ustawić routing OSPFv3 lub BGP4+ na IPv6? IPv6 to nowoczesny protokół internetowy, który zastępuje IPv4, zapewniając większą przestrzeń adresową Czytaj dalej

Połączenie dwóch sieci WAN za pomocą VPN – Poradnik
Połączenie dwóch sieci WAN za pomocą VPN - Poradnik

Połączenie dwóch sieci WAN za pomocą VPN - Poradnik Połączenie dwóch sieci WAN za pomocą VPN (Virtual Private Network) pozwala Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.