Cara Install dan Konfigurasi Snort di Ubuntu 24.04 sebagai Intrusion Detection System (IDS)
Pengantar
Keamanan server merupakan aspek penting yang harus diperhatikan, terutama pada server yang digunakan untuk menjalankan website, aplikasi, maupun layanan lainnya. Berbagai ancaman seperti port scanning, brute force, hingga eksploitasi celah keamanan dapat terjadi apabila tidak ada sistem pemantauan yang memadai.
Salah satu solusi yang banyak digunakan untuk mendeteksi ancaman jaringan adalah Snort. Sebagai aplikasi Intrusion Detection System (IDS) open source, Snort mampu memantau lalu lintas jaringan secara real-time dan mendeteksi aktivitas mencurigakan berdasarkan sekumpulan rules.
Pada artikel ini, Anda akan mempelajari cara install dan konfigurasi Snort di Ubuntu 24.04 LTS, mulai dari proses instalasi, konfigurasi dasar, hingga pengujian agar Snort siap digunakan untuk memonitor keamanan jaringan.
Apa Itu Snort?
Snort adalah perangkat lunak Network Intrusion Detection System (NIDS) open source yang digunakan untuk menganalisis lalu lintas jaringan dan mendeteksi berbagai aktivitas mencurigakan berdasarkan sekumpulan signature atau rules.
Selain berfungsi sebagai sistem deteksi intrusi, Snort juga dapat dioperasikan dalam beberapa mode sesuai kebutuhan administrator, yaitu:
- Sniffer Mode, untuk menampilkan paket jaringan secara langsung.
- Packet Logger Mode, untuk menyimpan lalu lintas jaringan ke dalam file log.
- Intrusion Detection System (IDS), untuk mendeteksi aktivitas yang berpotensi membahayakan jaringan.
- Intrusion Prevention System (IPS), dengan konfigurasi tambahan untuk membantu mencegah serangan secara otomatis.
Berkat sifatnya yang open source dan didukung oleh komunitas yang aktif, Snort memiliki koleksi rules yang terus diperbarui sehingga mampu mengenali berbagai ancaman keamanan siber yang terus berkembang.
Mengapa Menggunakan Snort?
Snort menjadi salah satu solusi keamanan jaringan yang banyak digunakan karena memiliki berbagai keunggulan. Berikut beberapa di antaranya.
- Gratis dan open source, sehingga dapat digunakan tanpa biaya lisensi.
- Mampu mendeteksi berbagai jenis serangan jaringan berdasarkan signature atau rules yang terus diperbarui.
- Mendukung pembaruan rules secara berkala agar dapat mengenali ancaman keamanan terbaru.
- Ringan dijalankan pada VPS, cloud server, maupun dedicated server tanpa membutuhkan resource yang besar.
- Banyak digunakan oleh administrator jaringan dan profesional keamanan siber di berbagai organisasi di seluruh dunia.
- Dapat diintegrasikan dengan berbagai platform Security Information and Event Management (SIEM), seperti Wazuh, ELK Stack, maupun Splunk, untuk analisis log dan monitoring keamanan yang lebih komprehensif.
Persiapan Sebelum Instalasi
Sebelum memulai proses instalasi, pastikan server yang digunakan telah memenuhi kebutuhan berikut agar Snort dapat berjalan dengan optimal.
- Sistem Operasi: Ubuntu Server 24.04 LTS (64-bit)
- RAM: Minimal 2 GB (disarankan 4 GB atau lebih)
- CPU: Minimal 2 Core
- Penyimpanan: Minimal 20 GB ruang kosong
- Akses: User dengan hak akses sudo atau root
- Koneksi Internet: Diperlukan untuk mengunduh paket dan dependensi selama proses instalasi
Keterangan:
Apabila Snort akan digunakan pada server produksi dengan lalu lintas jaringan yang tinggi, disarankan menggunakan spesifikasi server yang lebih besar agar proses analisis paket dapat berjalan dengan optimal.
Install Dependensi Snort
-
Install seluruh dependensi yang dibutuhkan.
sudo apt install -y \ build-essential \ cmake \ git \ wget \ pkg-config \ flex \ bison \ libpcap-dev \ libpcre2-dev \ libdumbnet-dev \ liblzma-dev \ zlib1g-dev \ libssl-dev \ openssl \ libhwloc-dev \ luajit \ libluajit-5.1-dev \ libunwind-dev \ uuid-dev
Keterangan:
Pastikan seluruh paket berhasil terpasang tanpa muncul pesan Error.
Install DAQ
-
Download dan install LibDAQ.
Versi terbaru Snort menggunakan LibDAQ 3 yang tersedia melalui repository GitHub resmi.
Masuk ke direktori source.
cd /usr/srcClone repository LibDAQ.
git clone https://github.com/snort3/libdaq.gitMasuk ke direktori LibDAQ.
cd libdaqGenerate file konfigurasi, kemudian lakukan proses compile dan install.
./bootstrap ./configure make -j$(nproc) sudo make installPerbarui library sistem.
sudo ldconfigKeterangan:
Apabila proses instalasi berhasil, library LibDAQ akan terpasang pada direktori /usr/local/lib.
Install Snort 3
-
Download dan install Snort.
Kembali ke direktori source, kemudian clone repository resmi Snort.
cd /usr/src git clone https://github.com/snort3/snort3.gitMasuk ke direktori Snort.
cd snort3Generate konfigurasi menggunakan CMake.
./configure_cmake.sh --prefix=/usr/localMasuk ke direktori build, kemudian lakukan proses compile dan install.
cd build make -j$(nproc) sudo make installTerakhir, perbarui library sistem.
sudo ldconfigKeterangan:
Pastikan proses compile dan install selesai tanpa muncul pesan Error.
Verifikasi Instalasi
-
Verifikasi instalasi Snort.
Pastikan Snort berhasil terinstal dengan menjalankan perintah berikut.snort -VApabila berhasil, akan muncul informasi seperti berikut.
Version 3.12.2.0 Using DAQ version 3.0.27 Using PCRE2 Using OpenSSL Using LuaJIT
Keterangan:
Apabila informasi versi Snort dan seluruh dependensi berhasil ditampilkan, berarti proses instalasi telah berhasil dan Snort siap untuk dikonfigurasi.
Membuat Direktori Konfigurasi
-
Siapkan direktori dan file konfigurasi Snort.
Buat direktori untuk menyimpan rules dan log Snort.
sudo mkdir -p /etc/snort/rules sudo mkdir -p /var/log/snortSalin file konfigurasi bawaan ke direktori /etc/snort.
sudo cp -r /usr/local/etc/snort/* /etc/snort/Pastikan file konfigurasi telah berhasil disalin.
ls /etc/snortKeterangan:
Apabila proses berhasil, direktori /etc/snort akan berisi file konfigurasi default yang siap digunakan untuk tahap konfigurasi berikutnya.
Membuat Rule Pertama
-
Buat rule lokal Snort.
Buat file local.rules untuk menyimpan aturan deteksi yang akan digunakan oleh Snort.sudo touch /etc/snort/rules/local.rulesEdit file tersebut menggunakan editor nano.
sudo nano /etc/snort/rules/local.rulesTambahkan rule berikut.
alert icmp any any -> any any (msg:"ICMP Detected"; sid:1000001; rev:1;)Simpan perubahan, kemudian keluar dari editor.
-
Aktifkan local rules.
Secara default, Snort belum membaca file local.rules. Oleh karena itu, Anda perlu menambahkan file tersebut ke dalam konfigurasi Snort.
Edit file konfigurasi berikut.
sudo nano /etc/snort/snort.luaCari bagian berikut.
ips = { enable_builtin_rules = true, }Ubah menjadi seperti berikut.
ips = { enable_builtin_rules = true, rules = [[ include /etc/snort/rules/local.rules ]] }Keterangan:
Langkah ini wajib dilakukan agar Snort dapat memuat rule yang terdapat pada file /etc/snort/rules/local.rules. Jika konfigurasi ini tidak ditambahkan, rule yang telah dibuat tidak akan terbaca sehingga proses pengujian tidak menghasilkan alert.
Menentukan Interface Jaringan
-
Identifikasi interface jaringan.
Sebelum menjalankan Snort, pastikan Anda mengetahui nama interface jaringan yang akan digunakan.ip -br addrContoh hasil yang ditampilkan.
lo eth0Gunakan nama interface yang sesuai dengan hasil pada VPS.
Keterangan:
Jangan menggunakan nama interface yang tidak tersedia, misalnya ens18, karena Snort akan menampilkan pesan Couldn't start DAQ instance: No such device exists.
Menjalankan Snort
-
Jalankan Snort.
Jalankan Snort menggunakan file konfigurasi dan nama interface jaringan yang sesuai.sudo snort -c /etc/snort/snort.lua -i eth0 -A alert_fast
Keterangan:
Apabila konfigurasi sudah benar, Snort akan memuat seluruh modul dan mulai memonitor lalu lintas jaringan. Pastikan parameter -i menggunakan nama interface yang sesuai dengan hasil perintah ip -br addr, misalnya eth0.
Menguji Snort
-
Uji deteksi Snort.
Biarkan Snort tetap berjalan, kemudian buka terminal atau sesi SSH baru dan kirim paket ICMP menggunakan perintah berikut.ping 8.8.8.8Apabila konfigurasi berhasil, Snort akan menampilkan alert seperti berikut.
07/22-07:44:45.921637 [**] [1:1000001:1] "ICMP Detected" [**] [Priority: 0] {ICMP} 103.xxx.xxx.xxx -> 8.8.8.8 07/22-07:44:45.934336 [**] [1:1000001:1] "ICMP Detected" [**] [Priority: 0] {ICMP} 8.8.8.8 -> 103.xxx.xxx.xxxKeterangan:
Munculnya alert ICMP Detected menandakan bahwa Snort berhasil memuat local.rules dan mendeteksi paket ICMP sesuai dengan rule yang telah dibuat.
Kesimpulan
Snort merupakan salah satu Intrusion Detection System (IDS) open source yang dapat digunakan untuk memantau keamanan jaringan secara real-time. Melalui panduan ini, Anda telah mempelajari cara menginstal Snort 3 di Ubuntu 24.04, melakukan konfigurasi dasar, membuat rule sederhana, serta menguji kemampuan Snort dalam mendeteksi lalu lintas jaringan.
Untuk meningkatkan kemampuan deteksi, Anda dapat menambahkan Community Rules atau Cisco Talos Rules agar Snort mampu mengenali lebih banyak ancaman, seperti port scanning, brute force, malware, hingga eksploitasi layanan jaringan. Dengan pembaruan rules secara berkala, Snort dapat menjadi salah satu lapisan penting dalam menjaga keamanan server.
Jika Anda membutuhkan server yang andal untuk menjalankan Snort maupun aplikasi keamanan lainnya, Cloud VPS Plasawebhost dapat menjadi pilihan yang tepat. Dengan performa tinggi, dan jaringan yang stabil, Anda dapat mengimplementasikan sistem monitoring keamanan secara optimal sesuai kebutuhan.


