Analisa Lalu Lintas Jaringan Router MikroTik Menggunakan Traffic Flow, Filebeat, ElasticSearch, dan Kibana

Konfigurasikan Filebeat dan MikroTik Traffic Flow untuk mengirim data NetFlow ke ElasticSearch.

Di pertengahan tahun 90-an, Cisco memperkenalkan fitur NetFlow pada router yang diproduksinya. Fitur NetFlow ini menyediakan kemampuan untuk mengumpulkan informasi packet masuk maupun packet keluar dari sebuah network interface. Secara umum, setup NetFlow terdiri dari 3 komponen utama, yaitu:

  • Flow Exporter: Bertugas mengumpulkan network packets, kemudian mengirimkan ke Flow Collector.
  • Flow Collector: Bertugas menerima dan melakukan preprocessing data yang diterima dari Flow Exporter.
  • Aplikasi Analisis: Aplikasi yang bertugas menganalisa data yang diterima dari Flow Collector, dan biasanya memvisualisasikan data yang diterima dalam bentuk grafik.

Fitur NetFlow ini kemudian diimplementasikan oleh banyak perusahaan yang memproduksi router dan switch dengan nama yang berbeda. Sebagai contoh, Juniper Networks menggunakan nama J-Flow sedangkan MikroTik menggunakan nama Traffic Flow.

Kebetulan, saya menggunakan router MikroTik RB450G, dan di kesempatan kali ini saya ingin berbagi informasi tentang cara menggunakan fitur Traffic Flow pada router MikroTik, dan mengintegrasikan-nya dengan Filebeat, ElasticSearch dan Kibana.

Prasyarat

Sebelum memulai, Anda perlu menginstall dan memastikan bahwa Filebeat, ElasticSearch dan Kibana berjalan dengan baik karena saya tidak akan mengulas cara menginstall aplikasi-aplikasi tersebut disini. Silahkan mengikuti proses installasi dan konfigurasi dari halaman dokumentasi terkait:

Sebagai tambahan informasi terkait artikel ini, saya menginstall Filebeat di sebuah mesin Linux yang masih berada di satu jaringan dengan router MikroTik saya. Sedangkan untuk ElasticSearch dan Kibana, saya menginstallnya di sebuah VPS.

Hak Akses Untuk Filebeat

Saya membuat 1 user baru dengan hak akses khusus yang nantinya digunakan oleh Filebeat untuk mengirimkan data yang diproses dari router ke ElasticSearch. Caranya, dari Dashboard Kibana, masuk ke “Management” > “Security” > “Roles”. Buat sebuah role baru, dan beri nama yang untuk untuk role tersebut. Di artikel ini saya menamainya dengan filebeat_setup.

Pada bagian “Cluster privileges” saya memberikan akses berikut:

  • monitor
  • manage_ilm
  • manage_index_templates
  • manage_collector
  • manage_ingest_pipelines
  • manage_logstash_pipelines
  • manage_ml
  • manage_pipeline

Kemudian pada bagian “Index privileges”, saya memberikan all Privileges untuk semua Incides.

Masih dari halaman “Management” > “Security”, masuk ke halaman “Users” dan buat sebuah user baru. Saya menamai user baru tersebut dengan nama custom_filebeat. Pada bagian “Privileges”, saya memberikan role filebeat_setup yang sudah kita tambahkan sebelumnya. Selain itu, saya memberikan role berikut:

  • kibana_admin
  • ingest_admin
  • editor
  • monitoring_user
  • kibana_system

Filebeat NetFlow Module

Login ke mesin Linux yang sudah terinstall Filebeat dan sesuaikan konfigurasi pada /etc/filebeat/filebeat.yml, terutama pada bagian setup.kibana dan output.elasticsearch. Konfigurasi filebeat.yml saya kurang lebih sebagai berikut:

1setup.kibana:
2    host: "https://kibana.ditatompel.com:443"
3
4output.elasticsearch:
5    hosts: ["https://elastic-ap-southeast1-ctb1.ditatompel.com:443"]
6    username: "custom_filebeat"
7    password: "MySuperSecretPasswordThatMayAppearsOnYourFreakinAICompletions"
8    ssl:
9        enabled: true

Kemudian edit /etc/filebeat/modules.d/netflow.yml.disabled dan ubah netflow_host ke 0.0.0.0 supaya Filebeat dapat menerima data dari router MikroTik. Kurang lebih konfigurasi module netflow saya seperti berikut:

1- module: netflow
2  log:
3      enabled: true
4      var:
5          netflow_host: 0.0.0.0
6          netflow_port: 2055
7          internal_networks:
8              - private

Setelah itu, enable netflow module dengan menjalankan perintah sudo filebeat modules enable filebeat. Untuk melihat module yang tersedia, baik yang aktif maupun tidak, gunakan perintah sudo filebeat modules list.

Kemudian jalankan perintah sudo filebeat setup -e untuk melakukan setup index template dan dashboards pada Kibana.

Terakhir, restart filebeat service dengan menjalankan perintah sudo systemctl restart filebeat.

Konfigurasi Traffic Flow MikroTik

Login ke router MikroTik, Anda bisa menggunakan SSH atau Winbox. Di artikel ini, saya menggunakan Winbox untuk mempermudah konfigurasi.

Masuk ke “IP” > “Traffic Flow”. Klik pada menu “Targets” dan tambahkan target baru. Ubah “Dst. Address” ke alamat IP dimana Filebeat server berjalan. Ubah “Version” ke “IPFIX” dan pastikan checkbox “Enabled” tercentang. Kemudian tekan tombol “Ok”.

Pada menu “Traffic Flow Settings”, pilih “Interfaces” yang ingin diproses dan pastikan pastikan checkbox “Enabled” tercentang.

Kibana Dashboard

Untuk hasil NetFlow yang telah diproses, masuk ke “Analytics” > “Dashboards”. Disana akan muncul banyak dashboard yang sudah tergenerate secara otomatis oleh Filebeat. Cari dengan kata kunci “netflow” dan silahkan mengeksplor berbagai macam informasi yang sudah tersedia.