Network Intrusion Detection Systems (NIDS) adalah salah satu upaya cara untuk mendeteksi serangan dunia maya, malware, Denial of Service (DoS) atau pemindaian port pada jaringan komputer atau komputer itu sendiri. NIDS memantau lalu lintas jaringan dan mendeteksi aktivitas berbahaya dengan mengidentifikasi pola mencurigakan dalam paket yang masuk. Setiap aktivitas atau pelanggaran berbahaya biasanya dilaporkan ke administrator atau dikumpulkan secara terpusat menggunakan sistem security information and event management (SIEM).
Network Intrusion Detection Systems (NIDS) merupakan salah satu klasifikasi IDS diatur pada titik yang direncanakan dalam jaringan untuk memeriksa lalu lintas dari semua perangkat di jaringan. Tugasnya melakukan pengamatan lalu lintas yang lewat di seluruh subnet dan mencocokkan lalu lintas yang diteruskan di subnet dengan kumpulan serangan yang diketahui. Setelah serangan diidentifikasi atau perilaku abnormal diamati, peringatan dapat dikirim ke administrator. Contoh NIDS adalah memasangnya di subnet tempat firewall berada untuk melihat apakah seseorang mencoba memecahkan firewall.
Terdapat komponen bernama packet captures yaitu sebuah komponen kunci untuk menerapkan Network Intrusion Detection Systems (IDS) dan melakukan Network Security Monitoring (NSM). Ada beberapa alat IDS open source yang memproses pengambilan paket dan mencari tanda tangan dari kemungkinan penyusupan jaringan dan aktivitas berbahaya. Menggunakan packet captures yang disediakan oleh Network Watcher dapat menganalisis jaringan untuk gangguan atau kerentanan berbahaya.
Salah satu alat open source tersebut adalah Suricata, mesin IDS yang menggunakan aturan untuk memantau lalu lintas jaringan dan memicu peringatan setiap kali peristiwa mencurigakan terjadi. Suricata menawarkan mesinmulti-threaded, yang berarti dapat melakukan analisis lalu lintas jaringan dengan peningkatan kecepatan dan efisiensi. Untuk detail lebih lanjut tentangSuricata dan kemampuannya, kunjungi situs website Suricata di https://suricata.io/.
Publikasi bertujuan menjelaskan cara mengatur lingkungan untuk melakukan deteksi intrusi jaringan menggunakan Network Watcher, Suricata, dan Elastic Stack. Network Watcher memberikan sebuah tangkapan paket yang digunakan untuk melakukan deteksi intrusi jaringan. Suricata memproses paket yang menangkap dan memicu peringatan berdasarkan paket yang cocok dengan aturan ancaman yang diberikan. Peringatan ini disimpan dalam log files di mesin lokal. Dengan menggunakan Elastic Stack, log yang dihasilkan oleh Suricata dapat diindeks dan digunakan untuk membuat dashboard Kibana, memberikan representasi visual dari log dan sarana untuk mendapatkan wawasan tentang potensi kerentanan jaringan dengan cepat.
Kedua alat open source dapat diatur pada Azure VM, dan memungkinkan untuk melakukan analisis di dalam lingkungan jaringan Azure yang dimiliki.
Terdapat beberapa kebutuhan yang dibutuhkan, penulis mengacu pada referensidigitalocean, minimal terdapat:
Untuk semua metode pemasangan lengkapnya, silahkan mengunjungi ke halaman website https://suricata.readthedocs.io/en/suricata-5.0.2/quickstart.html#installation
Atau sebagai berikut:
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install suricata
Pada tahap ini, tidak diperlukan untuk menjalankan Suricata. Tergantung pada jika ada ancaman khusus pada jaringan yang ingin dideteksi, atau juga bisa dapat menggunakan kumpulan aturan yang dikembangkan dari sejumlah penyedia, seperti Emerging Threats, atau VRT rules dari Snort. Pengguna dapat menggunakan aturan Emerging Threats yang dapat diakses secara bebas di sini:
Unduh kumpulan aturan dan salin ke direktori:
wget https://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
tar zxf emerging.rules.tar.gz
sudo cp -r rules /etc/suricata/
Untuk memproses pengambilan paket menggunakan Suricata, jalankan perintah berikut:
sudo suricata -c /etc/suricata/suricata.yaml -r [location_of_pcapfile]
Untuk memeriksa peringatan yang dihasilkan, baca file fast.log:
tail -f /var/log/suricata/fast.log
Meskipun log yang dihasilkan Suricata berisi informasi berharga tentang apa yang terjadi di jaringan, namun log files ini tidaklah mudah untuk dibaca dan dipahami. Dengan menghubungkan Suricata dengan Elastic Stack, pengguna dapat membuat dashboard Kibana yang memungkinkan pengguna untuk mencari, membuat grafik, menganalisis, dan memperoleh wawasan dari logyang dihasilkan.
java -version
untuk memeriksa versi java yang dimiliki. Jika belum pernah memasang Java, pengguna dapat memasangnya terlebih dahulu atau melihat dokumentasi di JDK yang didukung oleh Azure.curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.0.deb
sudo dpkg -i elasticsearch-5.2.0.deb
sudo /etc/init.d/elasticsearch start
curl http://127.0.0.1:9200
Respons yang didapat akan mirip dengan seperti ini:
{
"name" : "Angela Del Toro",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "5.2.0",
"build_hash" : "8ff36d139e16f8720f2947ef62c8167a888992fe",
"build_timestamp" : "2016-01-27T13:32:39Z",
"build_snapshot" : false,
"lucene_version" : "6.1.0"
},
"tagline" : "You Know, for Search"
}
Untuk instruksi lebih lanjut tentang menginstal Elasticsearch, lihat halaman pemasangan di https://www.elastic.co/elasticsearch
curl -L -O https://artifacts.elastic.co/downloads/logstash/logstash-5.2.0.deb
sudo dpkg -i logstash-5.2.0.deb
sudo touch /etc/logstash/conf.d/logstash.conf
input {
file {
path => ["/var/log/suricata/eve.json"]
codec => "json"
type => "SuricataIDPS"
}
}
filter {
if [type] == "SuricataIDPS" {
date {
match => [ "timestamp", "ISO8601" ]
}
ruby {
code => "
if event.get('[event_type]') == 'fileinfo'
event.set('[fileinfo][type]', event.get('[fileinfo][magic]').to_s.split(',')[0])
end
"
}
ruby {
code => "
if event.get('[event_type]') == 'alert'
sp = event.get('[alert][signature]').to_s.split(' group ')
if (sp.length == 2) and /Ad+z/.match(sp[1])
event.set('[alert][signature]', sp[0])
end
end
"
}
}
}
if [src_ip] {
geoip {
source => "src_ip"
target => "geoip"
#database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat"
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float" ]
}
if ![geoip.ip] {
if [dest_ip] {
geoip {
source => "dest_ip"
target => "geoip"
#database => "/opt/logstash/vendor/geoip/GeoLiteCity.dat"
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float" ]
}
}
}
}
output {
elasticsearch {
hosts => "localhost"
}
}
sudo chmod 775 /var/log/suricata/eve.json
sudo /etc/init.d/logstash start
Untuk instruksi lebih lanjut tentang menginstal Logstash, lihat di halamanwebsitehttps://www.elastic.co/guide/en/beats/libbeat/5.2/logstash-installation.html
curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-5.2.0-linux-x86_64.tar.gz
tar xzvf kibana-5.2.0-linux-x86_64.tar.gz
cd kibana-5.2.0-linux-x86_64/
./bin/kibana
logstash-*
Untuk publikasi ini, anggota kelompok telah menyediakan dashboard contoh untuk melihat detail dalam lansiran.
Visualisasi dan dashboard sendiri juga dapat dibuat dengan menyesuaikan metrik yang diminati. Pengguna dapat membaca lebih lanjut tentang membuat visualisasi Kibana dari dokumentasi resmi Kibana.
Terdapat sampel dashboard yang menyediakan beberapa visualisasi dari logperingatan Suricata:
Untuk dokumentasi lebih lanjut tentang membuat visualisasi dan dashboard khusus, pengguna dapat melihat dokumentasi resmi dari Kibana.
Dengan menggabungkan packet captures yang disediakan oleh Network Watcher dan alat IDS open source seperti Suricata, Pengguna dapat melakukan deteksi intrusi jaringan untuk berbagai ancaman. Dashboard ini memungkinkan pengguna untuk dengan cepat melihat kecenderungan dan anomali di dalam jaringan, serta menggali data untuk menemukan akar penyebab peringatan seperti agen pengguna yang berbahaya atau port yang rentan. Dengan data yang diekstraksi ini, pengguna dapat membuat keputusan berdasarkan informasi tentang cara bereaksi dan melindungi jaringan pengguna dari upaya penyusupan yang berbahaya, dan membuat aturan untuk mencegah penyusupan di masa mendatang ke jaringan pengguna.
Intrusion Detection System (IDS). (2022, January 17). GeeksforGeeks. Retrieved November 2, 2022, from https://www.geeksforgeeks.org/intrusion-detection-system-ids/
Microsoft. (2022, September 30). Perform network intrusion detection with open source tools - Azure Network Watcher. Microsoft Learn. Retrieved November 1, 2022, from https://learn.microsoft.com/th-th/azure/network-watcher/network-watcher-intrusion-detection-open-source-tools
Sukianto, A. (2022, January 11). Top 6 Free Network Intrusion Detection Systems (NIDS) Software in 2022. UpGuard. Retrieved November 3, 2022, from https://www.upguard.com/blog/top-free-network-based-intrusion-detection-systems-ids-for-the-enterprise
Product Owner / Mentor
Scrum Master / Pembuat Laporan / Publisher
Pembuat Laporan
Pembuat Laporan
Pembuat Laporan
Pembuat Laporan
Network Intrusion Detection System
Pemanfaatan NIDS Dengan ELK Stack Tentang Penjelasan Data Informasi & Visualisasi