Dokumentasi Monitoring Router MikroTik dengan Wazuh SIEM/XDR

IP Address

Wazuh Server: 192.168.105.15 (Static)
Ubuntu Endpoint (rndserver): 192.168.105.16 (Static)
MikroTik Router RG450Gx4: 192.168.19.247 (DHCP)

Konfigurasi

Ubuntu Endpoint (rndserver)

  1. Pastikan rsyslog1 sudah terinstall, jika belum bisa install menggunakan command:
sudo apt install rsyslog
  1. Setelah itu edit file /etc/rsyslog.conf dengan teks editor, dalam panduan ini teks editor yang digunakan yaitu vim2 dan sesuaikan dengan kode di bawah:
# MikroTik Log Monitoring (RB450Gx4)

$ModLoad imudp
$UDPServerRun 514

#Storing Messages from a Remote System into a specific File
if $fromhost-ip startswith '<YOUR_MIKROTIK_IP_ADDRESS>' then /var/log/mikrotik.log
& ~

Pada terminal ketik command berikut

sudo vim /etc/rsyslog.conf

Ganti <YOUR_MIKROTIK_IP_ADDRESS> dengan alamat IP perangkat MikroTik.

Lalu esc pada keyboard dan ketik :wq untuk save dan keluar.

Gambar 1. Contoh konfigurasi /etc/rsyslog.conf
  1. Buat file mikrotik.log pada direktori /var/log untuk menyimpan syslog event:
sudo touch /var/log/mikrotik.log
  1. Ubah ownership file /var/log/mikrotik.log menjadi milik syslog dan group ke adm:
sudo chown syslog:adm /var/log/mikrotik.log
  1. Restart service rsyslog
sudo systemctl restart rsyslog
  1. Paste kode di bawah ke file /var/ossec/etc/ossec.conf
<localfile>
  <log_format>syslog</log_format>
  <location>/var/log/mikrotik.log</location>
  <out_format>MikroTik-RB450GRx4: $(log)</out_format>
</localfile>
sudo vim /var/ossec/etc/ossec.conf

Gambar 2. Contoh konfigurasi /var/ossec/etc/ossec.conf
  1. Restart service wazuh-agent
sudo systemctl restart wazuh-agent

MikroTik Router

  1. Login menggunakan winbox atau RouterOS WebUI.
    Klik pada System > Logging > Rules, lalu tambahkan Topics baru yaitu system dan Action set ke remote.

Gambar 3. Konfigurasi MikroTik Logging Rules
  1. Modifikasi rule yang sudah ada seperti errorinfo, dan warning ke remote. Atau jika masih ingin menyimpan log di perangkat bisa membuat Rules yang sama namun Action diset ke memory.

center

Gambar 4. MikroTik Log Rules
  1. Klik pada System > Logging > Actions, untuk konfigurasi pada rules “remote” isi Remote Address dengan IP Endpoint Ubuntu, untuk case ini IP addressnya adalah 192.168.105.16. Lalu untuk Remote Port set ke 514.

Gambar 5. Konfigurasi MikroTik Log Action

Pastikan BSD Syslog sudah diaktifkan, Syslog Facility diset ke 3 (daemon), dan Syslog Severity diset ke 0 (emergency).

Wazuh Server

  1. Buat sebuah custom decoder untuk MikroTik dengan nama mikrotik_decoders.xml pada direktori /var/ossec/etc/decoders/
sudo vim /var/ossec/etc/decoders/mikrotik_decoders.xml

Isi dari file mikrotik_decoders.xml:

<decoder name="mikrotik">
  <prematch>^MikroTik-RB450GRx4: </prematch>
</decoder>
 
<decoder name="mikrotik1">
  <parent>mikrotik</parent>
  <regex type="pcre2">\S+ (\w+ \d+ \d+:\d+:\d+) MikroTik user (\S+) (.*?) from (\d+.\d+.\d+.\d+) via (\w+)</regex>
  <order>logtimestamp, logged_user, action, ip_address, protocol</order>
</decoder>
 
<decoder name="mikrotik1">
  <parent>mikrotik</parent>
  <regex type="pcre2">\S+ (\w+ \d+ \d+:\d+:\d+) MikroTik dhcp-client on (\S+) (.*?) address (\d+.\d+.\d+.\d+)</regex>
  <order>logtimestamp, interface, action, ip_address</order>
</decoder>
 
<decoder name="mikrotik1">
  <parent>mikrotik</parent>
  <regex type="pcre2">\S+ (\w+ \d+ \d+:\d+:\d+) MikroTik router (\S+)</regex>
  <order>logtimestamp, action</order>
</decoder>

|700

Gambar 6. Konfigurasi mikrotik_decoders.xml
  1. Simpan file decodernya dan restart service wazuh-manager
sudo systemctl restart wazuh-manager

MikroTik Rules

  1. Buat sebuah custom rule mikrotik_rules.xml pada direktori /var/ossec/etc/rules/
sudo vim /var/ossec/etc/rules/mikrotik_rules.xml

Isi dari file mikrotik_rules.xml

<group name="Mikrotik,">
 
  <rule id="110000" level="0">
    <decoded_as>mikrotik</decoded_as>
    <description>Mikrotik-Event</description>
  </rule>
 
 
  <rule id="110001" level="5">
    <if_sid>110000</if_sid>
    <match>dhcp-client on ether</match>
    <description>MikroTik dhcp-client received an IP address $(ip_address)</description>
  </rule>
 
  <rule id="110002" level="5">
    <if_sid>110000</if_sid>
    <match>rebooted</match>
    <description>MikroTik router rebooted</description>
  </rule>
 
  <rule id="110003" level="5">
    <if_sid>110000</if_sid>
    <match>logged out from</match>
    <description>MikroTik user logged out via $(protocol)</description>
  </rule>
 
  <rule id="110004" level="5">
    <if_sid>110000</if_sid>
    <match>logged in from</match>
    <description>MikroTik user logged in from $(ip_address) via $(protocol)</description>
  </rule>
 
</group>

Gambar 7. Konfigurasi mikrotik_rules.xml
  1. Simpan file decodernya dan restart service wazuh-manager
sudo systemctl restart wazuh-manager

Uji Coba

  • Login MikroTik via SSH
ssh [email protected]

Gambar 8. Akses MikroTik via SSH
  • Login MikroTik via Winbox

Gambar 9. Akses MikroTik via Winbox

Gambar 10. Dashboard Winbox

Log Pada Wazuh

Gambar 11. Log pada dashboard Wazuh

Gambar 12. Detail log pada Wazuh

Gambar 12. Log rsyslog pada server endpoint Ubuntu (rndserver)

Referensi


Footnotes

  1. rsyslog merupakan daemon/sistem pada linux yang berfungsi untuk meneruskan log ke remote server menggunakan protokol UDP atau TCP.

  2. Vim (Vi IMproved) merupakan sebuah teks editor pada sistem operasi linux yang telah dikembangkan dari versi terdahulunya yaitu Vi dengan fitur yang lebih banyak dan lebih efisien. Alternatif lain: nano, neovim