IDS SELKS 5 s MikroTik CCR na bázi Packet Sniffer
Uvádím stručný návod pro rozjetí IDS na bázi SELKS (https://github.com/StamusNetworks/SELKS) skrze ten mikroťácký Packet Sniffer. Je to tedy pro případ, kdy není možné použít doporučovaný Port Mirroring, který funguje na úrovni switchů. Více o této problematice naleznete kupříkladu zde: http://www.mikrotikminute.com/how-to-do-a-packet-capture-with-mikrotik-routers-part-2/.
Kdyby si s tím chtěl někdo v budoucnu také hrát, uvádím zde pár kroků, jak jsem postupoval:
1) samotná instalace SELKS (virtual 2CPUs, 6GB RAM, 2x 60 GB HDD - nastaven SW RAID1 a LVM)
2) Packet Sniffer v rOS používá ke streamování TZSP UDP protokol, se kterým Suricata (Snort) nedokáže pracovat
3) existuje ultilita tzsp2pcap - https://github.com/thefloweringash/tzsp2pcap (git clone
)
4) pro kompilaci instaluji: apt-get install build-essential libpcap0.8-dev
5) kompiluji: cc -std=gnu99 -o tzsp2pcap -Wall -Wextra -pedantic -O2 -lpcap tzsp2pcap.c
6) výsledný tzsp2pcap přesouvám: mv tzsp2pcap /usr/local/sbin/
7) zakládám script: nano ~/trigger/tap.sh
, který využívá tcpreplay na vytvořeném dummy:
#!/bin/bash
/sbin/modprobe dummy
/sbin/ip link set name eth10 dev dummy0
/sbin/ifconfig eth10 192.168.42.42
/usr/bin/screen -dm -S tzsp2pcap bash -c "/usr/local/sbin/tzsp2pcap -f | /usr/bin/tcpreplay --topspeed -i eth10 -"
8) chmod +x ~/trigger/tap.sh
9) dle návodu na https://github.com/StamusNetworks/SELKS/wiki/SELKS-5.0-RC1 spouštím selks-first-time-setup_stamus.sh
a nastavuji jako sledovací síťovku eth10 (vytvořená z dummy)
10) spouštím svůj ./tap.sh
script (vytvoří session ve screen - možno zkontrolovat pomocí screen -ls
či přímo screen -r
)
11) pomocí winbox na rOS: Tools > Packet Sniffer - Streaming > Streaming Enabled ON a Server IP na IDS - pak spustím pomocí START
12) výstup by měl být funkční a viditelný v https na IDS server (viz https://github.com/StamusNetworks/SELKS/wiki/SELKS-5.0-RC1)