Dokumentasi NMS Tools, Dengan Suricata,ELK,Filebeat, Serta Alerting ke Telegram

Apa Itu NMS?

Network Management System (NMS) adalah seperangkat alat yang digunakan untuk memantau, mengelola, dan mengamankan jaringan komputer. Dengan menggunakan NMS, administrator jaringan dapat mendeteksi ancaman, mengidentifikasi masalah kinerja, dan melakukan tindakan perbaikan secara proaktif.

Manfaat NMS?

Peningkatan Keamanan Jaringan:

  • Deteksi Ancaman Lebih Cepat: NMS dapat secara proaktif memantau lalu lintas jaringan dan mendeteksi anomali atau aktivitas mencurigakan yang mengindikasikan adanya serangan siber.
  • Analisis Log yang Mendalam: Dengan mengumpulkan dan menganalisis log dari berbagai perangkat jaringan, NMS dapat mengidentifikasi pola serangan yang kompleks dan mengeksploitasi kerentanan yang belum diketahui.
  • Respon yang Lebih Cepat: Notifikasi instan mengenai ancaman memungkinkan tim keamanan merespons dengan cepat dan meminimalkan dampak serangan.

Peningkatan Kinerja Jaringan:

  • Pemantauan Kinerja Real-time: NMS memberikan visibilitas menyeluruh terhadap kinerja jaringan, memungkinkan identifikasi bottleneck dan masalah kinerja lainnya secara cepat.
  • Optimasi Sumber Daya: Dengan data kinerja yang akurat, administrator dapat mengoptimalkan penggunaan bandwidth, CPU, dan sumber daya lainnya.
  • Perencanaan Kapasitas: NMS membantu dalam perencanaan kapasitas jaringan untuk memenuhi kebutuhan bisnis yang terus berkembang.

Pengurangan Downtime:

  • Deteksi Proaktif: NMS dapat mendeteksi masalah potensial sebelum menjadi gangguan yang serius, sehingga mengurangi downtime.
  • Diagnosis Masalah yang Cepat: Dengan data yang komprehensif, administrator dapat dengan cepat mengidentifikasi akar penyebab masalah dan melakukan perbaikan.

Contoh Penggunaan NMS dalam Praktik?

  • Deteksi serangan DDoS: NMS dapat mendeteksi lonjakan lalu lintas yang tidak biasa yang mengindikasikan serangan DDoS.
  • Pemantauan kinerja aplikasi: NMS dapat memantau respons waktu aplikasi dan mengidentifikasi masalah kinerja yang mempengaruhi pengguna.
  • Analisis tren lalu lintas: NMS dapat menganalisis tren lalu lintas jaringan untuk mengidentifikasi pola penggunaan dan mengantisipasi kebutuhan bandwidth di masa depan.

Instalasi dan Konfigurasi NMS dengan Suricata, ELK Stack, dan Filebeat

Prasyarat

Sebelum memulai instalasi, pastikan kita memiliki sistem operasi yang stabil dan memenuhi persyaratan berikut:

  • Sistem Operasi: Siapkan Server untuk NMS, Client dan Kali Linux Untuk Attack Server NMS
  • Akses Root: kita memerlukan akses root atau pengguna dengan hak akses sudo untuk menjalankan perintah instalasi.
  • Jaringan: Pastikan sistem kita terhubung ke jaringan dan memiliki akses internet untuk mengunduh paket-paket yang diperlukan.

Instalasi  dan Konfigurasi Awal Suricata

  1. Setup untuk install versi Suricata yang stabil
apt-update
apt-get install software-properties-common
add-apt-repository ppa:oisf/suricata-stable
apt update
“If so, you can install Suricata”
apt-get install suricata
  1. Konfigurasi Awal Suricata

konfigurasi Suricata pada /etc/suricata/suricata.yml

vim /etc/suricata/suricata.yml
suricata-updatesystemctl restart suricatasystemctl status suricata
  1. Pengujian Suricata

pertama kita lihat log dari suricata apakah sudah ada lognya? lalu kita coba untuk ddos server nms nya untuk kita lihat lognya

tail -f /var/log/suricata/fast.log
head -n20 /var/log/suricata/eve.json
nah kita coba bagaimana log ketika di ddos oleh attacker, kita coba masuk ke kali linux kita yang digunakan untuk DoS server NMS
hping3 -S -d 100 –flood -p 80 172.23.1.51
nah, lalu kita cek pada server nms  kita tail -f /var/log/suricata/fast.log, lalu kita juga coba cek apakah CPU server kita juga naik? jika naik maka DoS berhasil dan pesan yang ditampilkan oleh suricata juga berhasil
nah, bisa kita lihat bahwa CPU kita mengalami lonjakan yang tinggi diakibatkan DoS, dan artinya log dari suricata sudah benar

Instalasi  dan Konfigurasi Awal Elasticsearch

  1. Install Elasticsearch
wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg –dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
apt-get install apt-transport-https
echo “deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main” | tee /etc/apt/sources.list.d/elastic-8.x.list
apt-get update && sudo apt-get install elasticsearch
pada saat proses instalasi akan ada informasi seperti ini, pada bagian password elastic kita salin lalu amankan terlebih dahulu di word/notepad, karena nanti akan kita pakai ketika mengconnectkan ke kibana
  1. Konfigurasi Elasticsearch

Setelah di install sebelum di start kita konfigurasikan terlebih dahulu di elasticsearch.yml

vim /etc/elasticsearch/elasticsearch.yml
cluster.name= sesuai keinginannode.name=gunakan nama hostnamenetwork.host= bisa gunakan ip server maupun 0.0.0.0pada http.port=gunakan port default saja
ufw allow 9200/tcpsystemctl daemon-reloadsystemctl enable elasticsearch.service –nowsystemctl status elasticsearch
nah, untuk elastic sudah selesai selanjutnya kita install kibananya
  1. Pengujian Elasticsearch

Jika proses instalasi dan konfigurasi telah selesai kita cek apakah elastic sudah berjalan atau belum. buka browser dan buka https://ip_server:9200

Instalasi  dan Konfigurasi Kibana

  1. Instalasi Kibana

untuk instalasi kibana berbeda dengan sebelumnya, karena kita sudah add repo dan key jadi kita bisa langsung install saja

apt install kibana
  1. Konfigurasi Kibana

Kibana yang masih fresh installation masih belum bisa di akses di browser, kita harus konfigurasikan dulu dengan elastic agar bisa mengakses dashboard kibananya. seb

vim /etc/kibana/kibana.yml
server.port= gunakan port default kibanaserver.hos= bisa gunakan 0.0.0.0/ipserver
ufw allow 5061/tcpsystemctl restart kibanasystemctl status kibana
nah, sudah ada informasi di bagain Go to http://172.23.1.51. buka browser dan klik link yang ada di status kibana
  1. Koneksikan Kibana Dengan Elasticsearch

Sebelum kita bisa mengakses dashboard kibana, kita perlu mengkoneksikan kibana kita dengan elasticsearch, ada beberapa tahap seperti membuat enrollment,verifikasi kode,

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token –scope kibana
pastekan token yang kita buat di elasticsearch ke enrollment token kibana, jika sudah klik Configure Elastic
/usr/share/kibana/bin/kibana-verification-code
salin dan tempel kode verifikasi pada kolom verifikasi kibana lalu klik Verify
username= elasicpassword= password yang muncul ketika pertamakali kita menginstall elasticsearch.jika lupa passwordnya kita bisa membuat password lagi di /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
ini adalah tampilan dashboard kibana, namun di dashboard ini masih belum ada log karena kita belum konfigurasikan filebeat kita dengan suricata

Instalasi  dan Konfigurasi filebeat

  1. Install Filebeat

Kita memerlukan filebeat untuk menarik metric dari suricata ke elasticsearch, karena jika dari suricatanya langsung tidak bisa mengirimkan metric secara langsung jadi filebeat ini bertindak sebagai agent. dibawah ini adalah langkah langkah dalam install filebeat dan konfigurasi agar filebeat bisa menarik metric suricata

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.14.3-amd64.deb
dpkg -i filebeat-8.14.3-amd64.deb
  1. Konfigurasi Filebeat

Nah, agar filebeat bisa menarik metric dari suricata ke Elasticsearch kita perlu konfigurasikan terlebih dahulu di filebeatnya. untuk konfigurasinya ada di filebeat.yml

vim /etc/filebeat/filebeat.yml
ada 2 yang perlu kita konfigurasi dalam filebeat.yml yaitu untuk elasticsearch dan kibanahost elastic= arahkan ke web elasticnyaprotocol= sesuaikan dengan protocol kita http atau httpscredential= masukan credential dari elastic yang kita gunakan untuk loginssl= arahkan ssl ke http_ca.crt yang terletak di /etc/elasticsearch/certdan untuk kibana kita hanya perlu konfigurasi hostnya saja
  1. Connectkan filebeat ke suricata
filebeat modules enable suricata
vim /etc/filebeat/modules.d/suricata.yml
var.path= arahkan ke json dan log yang ada di suricata
filebeat setup
systemctl daemon-reloadsystemctl enable –now filebeatsystemctl status filebeat
Nah, bisa kita lihat bahwa di statusnya juga sudah berjalan sekarang coba kita buka di dashborad kibananya
  1. Pengujian Monitoring Network System

Nah sekarang kita lihat apakah log suricata yang ditarik oleh filebeat ke elastic sudah muncul di kibana atau belum. buka browser http://ip_server:5061

Klik Analytics>Dashboard>[Filebeat Suricata] Alert Overview
Bisa kita lihat bahwa log yang di tarik oleh filebeat berhasil terkirim ke Elasticsearchnya. kita juga bisa melihat log dari suricatanya dengan jelas disini dan mudah untuk dipahami

Konfigurasi Netflow dan Koneksikan Mikrotik dengan Server NMS

Kali ini kita  coba monitoring trafik mikrotik kita, kita lihat apakah kita bisa kibana bisa menampilkan traffic yang sedang berjalan dan bisa melihat jika ada trafficnya pada?, kita akan gunakan netflow filebeat untuk melakukannya dan tentunya kita harus sambungkan mikrotik kita dengan server nms nya.

  1. Konfigurasi Netflow

Sebelum kita sambungkan mikrotik dengan Server NMS, kita perlu setting Netflow kita di filebeat yang ada di /etc/filebeat/modules.d/netflow.yml

cd /etc/filebeat/modules.d
filebeat modules enable netflow
vim netflow.yml
host= gunakan ip server NMS nyaport= gunakan port  default netflow 2055
ufw allow 2055/udp
filebeat setup -e
  1. Connect Mikrotik ke Server NMS

Buka mikrotik dan setting untuk traffic flow nya ke server NMS kita

IP>Traffic Flow
klik enabled dan arahkan ke semua interface, jika sudah klik Apply>Targets>Add New
Enabled= centangDst. Address= arahkan ke server NMSport= arahkan port ke 2055 yang kita setting sebelumnya di netflowVersion= gunakan version IPFIXJika sudah klik Apply>Ok
Jika sudah menyambungkannya, kita cek apakah netflow kita sudah bisa menarik traffic dari mikrotiknya. Buka dashboard Kibananya klik Analytics>Dashboard>[Filebeat Netflow] Traffic Analysis
Nah, Filebeat Netflow kita telah berhasil menarik traffic dari mikrotik ke Dashborad Kibananya
  1. Pengujian Traffic Netflow

Jika sudah menyambungkannya, Kita cek apakah Netflow kita bisa melihat Traffic yang padat? dan bisa melihat secara spesifik ip mana yang membuat padat? kita coba untuk DoS Mikrotik, kita gunakan Kali Linux untuk DoS miktoriknya

#Kali Linux
hping3 -S -d 10000 –flood -p 80 172.23.1.244
kita lihat ip kali linux kita, lalu kita jalankan script DoS kita ke mikrotik lalu kita lihat di Dashboard Kibana apakah bisa melihat ip yang membuat traffic padat
#Server NMS
Buka dashboard kibana kita dan klik Analytics>Dashboard>[Filebeat Netflow] Top-N Flows Lalu geser kebawah
Dan ya, Filebeat Netflow kita bisa memperlihatkan kita IP mana yang membuat Traffic menjadi padat dan kita juga bisa melihat bahwa berapa paket yang dikirimkan oleh Kali Linux kita

Alerting Suricata ke Bot Telegram

Setelah kita membuat sebuah Dashboard monitoring dan kita berhasil monitoring server dan network kita lalu apa? ya, selanjutnya kita buat alerting agar ketika ada sebuah anomali muncul akan langsung terdeteksi dan mengirimkan peringatan ke akun kita. 

  1. Buat Bot_Telegram

buka Bot Father di telegram untuk membuka sebuah bot baru

Bot Father>New Bot>Name Bot>Username Bot
buka bot kita dengan search nama_bot>/start
Salin HTTP Api dan simpan karena akan digunakan untuk konfigurasi di server kita, jika sudah kita lihat ID telegram kita, bisa search userinfobot>/start
nah, dibagian ini kita salin Id kita dan kita simpan karena akan digunakan untuk konfigurasi di server
  1. Install dan Konfigurasi suricata-telegram-notifier
git clone https://github.com/infokek/suricata-telegram-notifier
mv suricata-telegram-notifier/configs/service.ini.examplevim suricata-telegram-notifier/configs/service.ini
Bot_token= gunakan HTTP Api yang kita salin sebelumnya saat membuat bot di bot_fatherChat_ID= gunakan ID telegram kita yang kita salin sebelumnya di bot userinfobotInterfaces= gunakan interface serverkita bisa lihat interface kita dengan command ip a
rm suricata.ymlcp /etc/suricata/suricata.yml .
cd ~/suricata-telegram-notifier/./install
  1. Pengujian Alert

Kita akan mencoba alert kita apakah akan mengirim notifikasi jika ada sebuah anomali, kita akan gunakan metode serangan BruteForce ke ssh server NMS kita, karena saya bosan dari tadi hanya memakai DoS. oke buka Kali Linux kita untuk memulai serangannya

hydra -l root -P rockyou.txt 172.23.1.51 ssh
nah, brute force kita sudah dijalankan selanjutnya kita lihat di bot alert kita apakah mengirimkan sebuah notif?
dan ya, alert yang kita buat telah berhasil 

Kesimpulan

Network Management System (NMS) adalah alat penting untuk memantau, mengelola, dan mengamankan jaringan komputer. NMS meningkatkan keamanan, kinerja, dan mengurangi downtime jaringan melalui deteksi ancaman proaktif, analisis log, dan pemantauan kinerja real-time.

Artikel ini menjelaskan instalasi dan konfigurasi NMS menggunakan Suricata untuk deteksi ancaman, ELK Stack (Elasticsearch, Logstash, Kibana) untuk pengumpulan dan analisis data, dan Filebeat sebagai agen pengiriman log. Langkah-langkah praktis mencakup pemasangan perangkat lunak, konfigurasi sistem, pengujian, dan integrasi untuk memantau dan mengelola jaringan secara efektif.

Dengan NMS yang dikonfigurasi, administrator dapat memantau lalu lintas, mendeteksi serangan, dan mengambil tindakan cepat melalui notifikasi otomatis, termasuk integrasi dengan bot Telegram untuk alerting. Sistem ini memungkinkan deteksi dini masalah dan respons yang lebih cepat terhadap insiden keamanan.

Penting untuk diingat: Keamanan siber adalah proses yang terus berkembang. Oleh karena itu, penting untuk secara berkala memperbarui tools, konfigurasi, dan pengetahuan tentang ancaman terbaru.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berabagi pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.

Penulis : Rafly Abdul Bay Haqqy