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
- 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 |
- Konfigurasi Awal Suricata
konfigurasi Suricata pada /etc/suricata/suricata.yml
vim /etc/suricata/suricata.yml |
suricata-updatesystemctl restart suricatasystemctl status suricata |
- 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
- 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 |
- 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 |
- 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
- Instalasi Kibana
untuk instalasi kibana berbeda dengan sebelumnya, karena kita sudah add repo dan key jadi kita bisa langsung install saja
apt install kibana |
- 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 |
- 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
- 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 |
- 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 |
- 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 |
- 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.
- 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 |
- 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 |
- 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.
- 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 |
- 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 |
- 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