Cara Install dan Konfigurasi Snort di Ubuntu 24.04 sebagai Intrusion Detection System (IDS)

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

  1. 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

  1. Download dan install LibDAQ.

    Versi terbaru Snort menggunakan LibDAQ 3 yang tersedia melalui repository GitHub resmi.

    Masuk ke direktori source.

    cd /usr/src

    Clone repository LibDAQ.

    git clone https://github.com/snort3/libdaq.git

    Masuk ke direktori LibDAQ.

    cd libdaq

    Generate file konfigurasi, kemudian lakukan proses compile dan install.

    ./bootstrap
    ./configure
    make -j$(nproc)
    sudo make install

    Perbarui library sistem.

    sudo ldconfig
    Keterangan:
    Apabila proses instalasi berhasil, library LibDAQ akan terpasang pada direktori /usr/local/lib.

Install Snort 3

  1. Download dan install Snort.

    Kembali ke direktori source, kemudian clone repository resmi Snort.

    cd /usr/src
    
    git clone https://github.com/snort3/snort3.git

    Masuk ke direktori Snort.

    cd snort3

    Generate konfigurasi menggunakan CMake.

    ./configure_cmake.sh --prefix=/usr/local

    Masuk ke direktori build, kemudian lakukan proses compile dan install.

    cd build
    
    make -j$(nproc)
    
    sudo make install

    Terakhir, perbarui library sistem.

    sudo ldconfig
    Keterangan:
    Pastikan proses compile dan install selesai tanpa muncul pesan Error.

Verifikasi Instalasi

  1. Verifikasi instalasi Snort.
    Pastikan Snort berhasil terinstal dengan menjalankan perintah berikut.

    snort -V

    Apabila 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

  1. 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/snort

    Salin file konfigurasi bawaan ke direktori /etc/snort.

    sudo cp -r /usr/local/etc/snort/* /etc/snort/

    Pastikan file konfigurasi telah berhasil disalin.

    ls /etc/snort
    Keterangan:
    Apabila proses berhasil, direktori /etc/snort akan berisi file konfigurasi default yang siap digunakan untuk tahap konfigurasi berikutnya.

Membuat Rule Pertama

  1. Buat rule lokal Snort.
    Buat file local.rules untuk menyimpan aturan deteksi yang akan digunakan oleh Snort.

    sudo touch /etc/snort/rules/local.rules

    Edit file tersebut menggunakan editor nano.

    sudo nano /etc/snort/rules/local.rules

    Tambahkan rule berikut.

    alert icmp any any -> any any (msg:"ICMP Detected"; sid:1000001; rev:1;)

    Simpan perubahan, kemudian keluar dari editor.

  2. 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.lua

    Cari 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

  1. Identifikasi interface jaringan.
    Sebelum menjalankan Snort, pastikan Anda mengetahui nama interface jaringan yang akan digunakan.

    ip -br addr

    Contoh hasil yang ditampilkan.

    lo
    eth0

    Gunakan 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

  1. 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

  1. 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.8

    Apabila 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.xxx
    Keterangan:
    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.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Finance : +6285191239466