0Pricing
Cyber Security Academy · Pelajaran

Aturan Tanda Tangan dengan Snort dan Suricata

Menulis dan membaca aturan jaringan.

Aturan Tanda Tangan dengan Snort dan Suricata adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Snort dan Suricata

Snort dan Suricata adalah dua mesin IDS/IPS sumber terbuka yang paling dominan. Keduanya menggunakan bahasa aturan yang sebagian besar kompatibel, sehingga aturan yang ditulis untuk salah satunya biasanya dapat dijalankan pada yang lain.

Suricata menambahkan pemrosesan multithread, pengurai protokol bawaan, ekstraksi berkas, dan pencatatan terperinci (EVE JSON); Snort 3 juga memodernisasi mesinnya dengan cara yang serupa. Mempelajari sintaks aturan sekali akan memberi Anda manfaat pada keduanya.

Anatomi Aturan

Setiap aturan memiliki dua bagian: bagian pembuka dan bagian isi dalam tanda kurung. Bagian pembuka menetapkan tindakan, protokol, dan arah lalu lintas; bagian isi menentukan apa yang harus dicocokkan dan cara melaporkannya.

alert tcp $EXTERNAL_NET any -> $HOME_NET 80 ( \
  msg:"WEB suspicious request"; \
  content:"/admin.php"; http_uri; \
  sid:1000001; rev:1; )

Bidang Header

Header dibaca dari kiri ke kanan:

  • tindakan — alert, drop, reject, pass
  • protokol — tcp, udp, icmp, ip (atau protokol aplikasi di Suricata: http, dns, tls)
  • IP/port sumber dan IP/port tujuan
  • arah — -> satu arah, atau <> dua arah

Variabel seperti $HOME_NET dan $EXTERNAL_NET berasal dari konfigurasi Anda agar aturan tetap portabel di berbagai situs.

drop tcp any any -> $HOME_NET 22 ( msg:"SSH blocked"; sid:1000002; rev:1; )

Tindakan: Alert vs Drop

Tindakan menentukan perilaku IDS atau IPS untuk aturan tersebut:

  • alert — mencatat dan memberi tahu, tetapi tidak menghentikan lalu lintas (IDS)
  • drop — membuang paket secara diam-diam (IPS, hanya dalam mode inline)
  • reject — membuang paket dan mengirim TCP reset atau ICMP unreachable
  • pass — mengizinkan secara eksplisit dan melewati aturan berikutnya

Mesin yang sama dapat menjadi IDS atau IPS, bergantung pada apakah mesin tersebut diterapkan secara inline dan tindakan yang digunakan.

Pencocokan Konten

Kata kunci content mencocokkan pola byte dalam muatan. Teks ditulis dalam tanda kutip; data biner ditulis di antara tanda pipa dalam format heksadesimal.

Kata kunci anchoring mempertajam pencocokan: offset, depth, distance, dan within membatasi lokasi kemunculan pola, sehingga meningkatkan akurasi sekaligus kinerja.

alert tcp any any -> $HOME_NET any ( \
  msg:"Malware magic bytes"; \
  content:"|4D 5A|"; offset:0; depth:2; \
  sid:1000003; rev:1; )

Buffer Lekat

Aturan modern mencocokkan buffer yang memahami protokol, bukan aliran mentah. Setelah kata kunci buffer, pencocokan content berikutnya diterapkan pada bagian protokol yang telah diurai tersebut.

  • http_uri — URI permintaan
  • http_header — header permintaan/respons
  • http_user_agent — agen pengguna
  • tls_sni / dns_query — nama server TLS / kueri DNS

Pendekatan ini jauh lebih andal daripada mencari substring di seluruh paket.

alert http any any -> any any ( \
  msg:"Suspicious user agent"; \
  http.user_agent; content:"sqlmap"; nocase; \
  sid:1000004; rev:1; )

PCRE dan nocase

Jika string tetap tidak memadai, pcre menghadirkan ekspresi reguler yang kompatibel dengan Perl. Padukan prapenyaring content yang murah dengan pcre agar ekspresi reguler hanya dijalankan pada paket kandidat, sehingga kinerja tetap terjaga.

Pengubah nocase membuat pencocokan konten tidak peka terhadap huruf besar-kecil, yang penting untuk header dan bidang yang dikendalikan pengguna dan dapat divariasikan oleh penyerang.

alert http any any -> $HOME_NET any ( \
  msg:"SQLi attempt in URI"; \
  http.uri; content:"select"; nocase; \
  pcre:"/union\s+select/i"; \
  sid:1000005; rev:1; )

Kata Kunci Aliran dan Status

Opsi flow membatasi cakupan aturan berdasarkan status dan arah koneksi, sehingga mengurangi positif palsu dan beban pemrosesan.

  • established — hanya pada sesi TCP yang telah selesai dibentuk
  • to_server / to_client — arah permintaan dan respons

Pencocokan hanya pada respons server ketika koneksi berstatus established dan menuju client mencegah aturan terpicu oleh paket tersesat atau paket palsu.

alert tcp $HOME_NET any -> $EXTERNAL_NET any ( \
  msg:"Beacon response"; \
  flow:established,to_client; \
  content:"|00 01 02 03|"; \
  sid:1000006; rev:1; )

Metadata: sid, rev, msg, reference

Opsi pemeliharaan membantu menjaga aturan tetap mudah dikelola:

  • sid — ID tanda tangan unik (gunakan 1000000+ untuk aturan lokal)
  • rev — nomor revisi, naikkan setiap kali melakukan penyuntingan
  • msg — teks peringatan yang dilihat analis
  • classtype — kategori yang menentukan prioritas
  • reference — tautan ke CVE atau buletin keamanan

sid yang stabil dan rev yang terus dinaikkan memungkinkan Anda melacak serta memperbarui aturan tanpa merusak dasbor dan aturan penekanan.

alert tcp any any -> $HOME_NET 445 ( \
  msg:"EternalBlue exploit attempt"; \
  flow:to_server,established; content:"|FF|SMB"; \
  classtype:attempted-admin; \
  reference:cve,2017-0144; sid:1000007; rev:2; )

Perbedaan Snort dan Suricata

Meskipun kompatibel dalam hal aturan, kedua mesin ini memiliki kemampuan yang berbeda:

  • Suricata menggunakan banyak utas, mengurai protokol aplikasi secara native, mengekstrak berkas, menghitung JA3, dan menghasilkan JSON EVE
  • Snort 3 menulis ulang mesinnya untuk meningkatkan kinerja dan menyediakan sistem plugin modular

Beberapa kata kunci khusus untuk mesin tertentu. Suricata menambahkan kata kunci lapisan aplikasi (tls.sni, dns.query, http.method) serta fitur dataset/flowbits. Saat berbagi aturan, gunakan kemampuan terendah yang sama-sama didukung atau pertahankan kumpulan aturan khusus untuk tiap mesin.

Penyaringan Laju dan Ambang Batas

Untuk mencegah aturan membanjiri konsol, terapkan ambang batas. detection_filter hanya terpicu setelah N peristiwa dalam suatu jendela waktu; threshold dengan limit membatasi volume peringatan.

Hal ini penting untuk deteksi brute-force dan pemindaian, karena satu peristiwa tidak berarti apa-apa, sedangkan lonjakan peristiwa merupakan sinyalnya.

alert tcp any any -> $HOME_NET 22 ( \
  msg:"SSH brute force"; flow:to_server; \
  detection_filter:track by_src, count 5, seconds 60; \
  sid:1000008; rev:1; )

Pemeriksaan Singkat

Baca sebuah aturan dan perkirakan perilakunya.

Ringkasan

Sekarang Anda dapat membaca dan menulis tanda tangan Snort/Suricata:

  • Sebuah aturan = header (tindakan, protokol, sumber/tujuan, arah) + opsi badan
  • Tindakan menentukan IDS atau IPS: alert, drop, reject, pass
  • content dengan offset/kedalaman dan pencocokan heksadesimal mencocokkan byte muatan
  • Buffer lekat (http.uri, tls.sni, dns.query) mencocokkan bidang protokol yang telah diurai
  • pcre dan nocase menangani pola yang bervariasi
  • flow membatasi cakupan berdasarkan status dan arah
  • sid/rev/msg/reference menjaga aturan tetap mudah dikelola
  • Ambang batas meredam derau dari brute-force dan pemindaian

Berikutnya: mendeteksi ancaman tanpa tanda tangan sama sekali.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Aturan Tanda Tangan dengan Snort dan Suricata” gratis?

Ya — teks lengkap “Aturan Tanda Tangan dengan Snort dan Suricata” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Aturan Tanda Tangan dengan Snort dan Suricata”?

Menulis dan membaca aturan jaringan. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Aturan Tanda Tangan dengan Snort dan Suricata” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konsep IDS vs IPS
  2. Aturan Tanda Tangan dengan Snort dan Suricata
  3. Deteksi Anomali dan Perilaku
  4. Penyetelan dan Penerapan
← Kembali ke Cyber Security Academy