Suricata IDS
Suricata IDS
Suricata IDS: Network & Web Based Attack
Deploying and configuring an Intrusion Detection System (IDS) for network security monitoring
Intrusion Detection System (IDS)
Intrusion Detection System (IDS) adalah sistem yang digunakan untuk memantau aktivitas jaringan atau sistem untuk mendeteksi perilaku mencurigakan atau ancaman. IDS berfungsi untuk mengidentifikasi potensi serangan atau pelanggaran keamanan dan memberikan peringatan kepada administrator untuk tindakan lebih lanjut.
Suricata
Suricata adalah IDS open-source yang juga berfungsi sebagai Intrusion Prevention System (IPS) dan Network Security Monitoring (NSM). Suricata mampu menganalisis trafik jaringan secara real-time dan mendeteksi berbagai jenis serangan, termasuk serangan berbasis web dan jaringan.
Serangan Jaringan dan Web
Network-Based Attacks: Serangan yang terjadi di tingkat jaringan, yang melibatkan pengiriman paket berbahaya untuk mengeksploitasi kerentanan sistem. Contohnya termasuk DDoS, port scanning, dan man-in-the-middle attacks.
Web-Based Attacks: Serangan yang dilakukan melalui aplikasi web, seperti Cross-Site Scripting (XSS), SQL Injection, dan Directory Traversal. Serangan ini sering mengeksploitasi kerentanan dalam kode aplikasi untuk mencuri data atau mengakses sistem tanpa izin.
Dalam mini-lab ini, Suricata diinstal pada mesin virtual berbasis Ubuntu Server 22.04. Mesin yang digunakan dalam pengujian terdiri dari:
Victim 1: Metasploitable 2, yang bertindak sebagai target serangan.
Attacker: Kali Linux, yang digunakan untuk melakukan pengujian.
Langkah-langkah Instalasi dan Konfigurasi
Instalasi Suricata: Untuk menginstal Suricata, gunakan perintah berikut:
sudo apt-get update
sudo apt-get install suricata -y
Mengunduh dan Mengekstrak Emerging Threats Suricata Ruleset
Ekstrak ruleset dan pindahkan ke direktori yang sesuai dengan perintah dibawah ini:
cd /tmp/
curl -LO https://rules.emergingthreats.net/open/suricata-6.0.8/emerging.rules.tar.gz
sudo tar -xvzf emerging.rules.tar.gz
sudo mv rules/*.rules /etc/suricata/rules/
sudo chmod 640 /etc/suricata/rules/*.rules
Mengatur Konfigurasi Suricata
Edit file konfigurasi /etc/suricata/suricata.yaml untuk menentukan jaringan yang akan dipantau:
HOME_NET: "<UBUNTU_IP>"
EXTERNAL_NET: "any"
default-rule-path: /etc/suricata/rules
rule-files:
- "*.rules"
# Linux high speed capture support
af-packet:
- interface: ens33
Pengujian 1: Deteksi Nmap Stealth Scan
Aturan untuk mendeteksi stealth scan menggunakan Nmap:
alert tcp any any -> any any (msg:"Nmap Stealth Scan Detected"; flags:S; threshold: type threshold, track by_src, count 5, seconds 10; sid:100001;)
Aturan ini memonitor semua lalu lintas TCP dan memberikan peringatan jika ada 5 paket SYN dari sumber yang sama dalam 10 detik, menandakan adanya stealth scan.
Pengujian 2: Deteksi Nmap Service Version Detection
Dua aturan berikut digunakan dalam Suricata untuk mendeteksi upaya Nmap dalam memeriksa versi layanan yang berjalan di server.
Aturan pertama adalah:
alert tcp any any -> any any (msg:"Nmap Service Version Detection Probe Detected"; content:"GET"; http_method; sid:100004;)
Aturan ini memantau semua lalu lintas TCP dan memicu peringatan jika ada permintaan HTTP GET yang mencurigakan, yang biasanya digunakan oleh Nmap untuk meminta informasi dari server mengenai layanan yang tersedia. Ini sangat berguna untuk mendeteksi aktivitas pemetaan jaringan yang tidak sah yang bertujuan untuk mengidentifikasi layanan dan versi perangkat lunak yang berjalan pada sistem, memungkinkan administrator untuk mengambil tindakan proaktif dalam menjaga keamanan jaringan.
Aturan kedua adalah:
alert tcp any any -> any any (msg:"Nmap Service Version Detection Probe Detected"; flags:SA; sid:100005;)
Aturan ini berfungsi untuk mendeteksi paket TCP yang memiliki flag SYN dan ACK, yang sering digunakan oleh Nmap untuk menguji port yang terbuka dan mengidentifikasi layanan yang berjalan di atasnya. Dengan mendeteksi pola ini, Suricata dapat memberikan peringatan awal tentang upaya pengintaian yang dilakukan, sehingga memungkinkan administrator untuk merespons dengan cepat terhadap potensi ancaman sebelum mereka dapat dieksploitasi. Kedua aturan ini secara bersama-sama meningkatkan kemampuan deteksi intrusi pada jaringan dan membantu dalam menjaga integritas sistem.
Pengujian 3:
Aturan untuk mendeteksi koneksi reverse shell yang diinisiasi oleh Metasploit ke alamat IP tertentu
Pengujian 4: Deteksi Serangan Web
Beberapa aturan yang digunakan untuk mendeteksi serangan berbasis web:
Web Server Enumeration:
alert http any any -> any any (msg:"Web Server Enumeration Attempt Detected"; urilen:>100; threshold: type threshold, track by_src, count 10, seconds 60; sid:100010;)
Mendeteksi upaya enumerasi server web berdasarkan jumlah permintaan HTTP yang berlebihan. Aturan ini digunakan untuk mendeteksi upaya enumerasi server web. IDS akan memonitor jumlah permintaan HTTP GET yang berlebihan ke berbagai URI dalam waktu singkat. Jika ada lebih dari 10 permintaan dengan panjang URI lebih dari 100 karakter dalam rentang 60 detik dari satu sumber, aturan ini akan dipicu.
Directory Traversal:
alert http any any -> any any (msg:"Metasploit Directory Traversal Attempt Detected"; content:"../"; sid:100014;)
Mendeteksi permintaan HTTP yang mencurigakan dengan pola traversal direktori. Aturan ini digunakan untuk mendeteksi upaya directory traversal. Suricata akan memantau permintaan HTTP yang mengandung pola traversal direktori seperti "../" pada path URI. Jika pola tersebut terdeteksi, aturan ini akan menghasilkan peringatan.
XSS Attack:
alert http any any -> any any (msg:"Metasploit XSS Attack Detected"; content:"<script>"; sid:100015;)
Mendeteksi pola XSS dalam respon HTTP. Aturan ini digunakan untuk mendeteksi serangan XSS (Cross-Site Scripting). Suricata akan memonitor respon HTTP yang mengandung payload XSS atau pola injeksi skrip seperti "<script>". Jika pola tersebut ditemukan dalam respon HTTP, aturan ini akan memicu peringatan.
File Inclusion:
alert http any any -> any any (msg:"Metasploit File Inclusion Attempt Detected"; content:"../../"; sid:100017;)
Mendeteksi upaya file inclusion dengan pola mencurigakan dalam permintaan HTTP. Aturan ini digunakan untuk mendeteksi upaya File Inclusion. IDS akan memantau permintaan HTTP yang mengandung payload File Inclusion yang mencurigakan dalam parameter URI atau POST. Jika payload seperti "../../" terdeteksi, aturan ini akan memicu peringatan.
Jika menggunakan Nikto untuk menguji kerentanan, Anda bisa mengekstrak hasil log Suricata menggunakan perintah:
cat /var/log/suricata/fast.log | grep -E "100010|100011|100012|100013|100014|100015|100016|100017|100018|100019|100020" | awk '!seen[$3]++'
Dengan langkah-langkah dalam lab ini, monitoring dan deteksi serangan jaringan serta serangan berbasis web menggunakan Suricata IDS dapat dilakukan. Ini adalah langkah penting dalam menjaga keamanan sistem dan jaringan dari ancaman yang mungkin muncul.
Hasil penggunaan rules lainnya