Info

Suricata adalah mesin Network Threat Detection yang mampu melakukan Deep Packet Inspection (DPI). Jika CrowdSec adalah satpam yang melihat buku tamu (Log), Suricata adalah detektif yang membongkar setiap paket kiriman (Packet) yang masuk ke gedung untuk mencari selundupan senjata atau narkoba digital.


1. Arsitektur Deployment (Pilih Sesuai Kondisi)

Dalam lingkungan Proxmox dengan RAM 8GB, pemilihan lokasi instalasi sangat menentukan nasib homelab Anda.

Suricata diinstal langsung pada sistem operasi induk (Proxmox).

  • Mekanisme: Mendengarkan lalu lintas pada jembatan virtual vmbr0.
  • Keunggulan: Tidak ada overhead RAM tambahan untuk VM baru.
  • Kelemahan: Mengotori host Proxmox dengan third-party packages.

1.2 Opsi B: Dedicated VM/LXC (Network Tap)

Membuat satu VM khusus yang menerima mirroring traffic dari host.

  • Mekanisme: Menggunakan Open vSwitch atau Port Mirroring.
  • Keunggulan: Isolasi total. Jika Suricata memakan 100% CPU, Nextcloud Anda tetap aman.
  • Kelemahan: Boros RAM (Membutuhkan minimal 2-4GB dedicated).

2. Persiapan Sistem (Hardware Tuning)

Masalah HDD & RAM

Suricata memakan banyak memori untuk menyimpan tabel aliran (flow tables). Pada HDD, penulisan log eve.json bisa menjadi bottleneck. Disarankan untuk membatasi penulisan log hanya pada kejadian yang sangat kritis jika tetap menggunakan HDD.

2.1 Cek Kapabilitas Interface

Pastikan Network Card Anda mendukung mode Promiscuous (Menyadap semua paket).

Bash

# Jalankan di Host Proxmox
ip link set dev vmbr0 promisc on

3. Instalasi Suricata (Langkah demi Langkah)

Gunakan repositori terbaru agar mendapatkan fitur inspeksi protokol modern.

3.1 Penambahan Repositori & Install

Bash

sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:oisf/suricata-stable -y
sudo apt update
sudo apt install suricata jq -y

3.2 Konfigurasi Dasar (suricata.yaml)

File ini adalah jantung dari Suricata.

Bash

sudo nano /etc/suricata/suricata.yaml

Parameter yang wajib diubah:

  • HOME_NET: Tentukan jaringan lokal Anda. HOME_NET: "[192.168.1.0/24]"
  • Interface: Pastikan mengarah ke bridge utama. interface: vmbr0
  • Tuning untuk HDD (PENTING): Kurangi frekuensi penulisan log untuk menjaga umur HDD. YAML
    outputs:
      - eve-log:
          enabled: yes
          filetype: regular
          filename: eve.json
          types:
            - alert:
                payload: yes             # Simpan isi serangan
                payload-buffer-size: 4kb
                packet: yes
                http: yes
            - http:
                enabled: no              # Matikan logging HTTP biasa (terlalu berisik untuk HDD)
            - dns:
                enabled: no              # Matikan logging DNS biasa (boros IO)
    

4. Manajemen Ruleset (Amunisi Deteksi)

Tanpa rules (aturan), Suricata hanyalah mesin kosong.

4.1 Update Rules Pertama Kali

Bash

sudo suricata-update

4.2 Menggunakan Emerging Threats (Free)

Secara default, Suricata menggunakan aturan dari Emerging Threats Open. Ini adalah koleksi ribuan pola serangan (seperti Log4j, EternalBlue, Brute Force).

4.3 Menambah Sumber Aturan Lain

Bash

# Melihat daftar sumber aturan yang tersedia
sudo suricata-update list-sources

# Contoh mengaktifkan aturan penyalahgunaan SSL
sudo suricata-update enable-source ssllabs/ssl-fp
sudo suricata-update

5. Menjalankan Suricata sebagai Satpam Aktif

5.1 Verifikasi Konfigurasi

Sebelum menjalankan, pastikan tidak ada salah ketik.

Bash

sudo suricata -T -c /etc/suricata/suricata.yaml -v

5.2 Menjalankan Service

Bash

sudo systemctl enable suricata
sudo systemctl start suricata

6. Pengujian Deteksi (Simulasi Serangan)

Bagaimana kita tahu si detektif bekerja? Kita buat serangan palsu.

6.1 Simulasi Serangan Nmap

Jalankan pindaian agresif dari perangkat lain di jaringan (atau HP) ke arah IP Proxmox:

Bash

nmap -A -T4 192.168.1.51

6.2 Membaca Hasil Tangkapan (The Crime Scene)

Gunakan jq agar log JSON yang rumit jadi mudah dibaca manusia.

Bash

sudo tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="alert")'

Apa yang akan muncul? Anda akan melihat peringatan seperti ET SCAN Nmap SQL Selection, lengkap dengan IP penyerang dan jam kejadiannya.


7. Integrasi dengan CrowdSec (The Executioner)

Suricata hebat dalam Melihat, tapi CrowdSec hebat dalam Menendang.

Kita bisa mengajari CrowdSec untuk membaca log Suricata (eve.json). Jika Suricata melihat serangan jaringan yang parah, CrowdSec akan langsung memblokir IP tersebut di Firewall.

  1. Instal koleksi Suricata untuk CrowdSec:

    Bash

    sudo cscli collections install crowdsecurity/suricata
    
  2. Beritahu CrowdSec lokasi log Suricata:

    Edit /etc/crowdsec/acquis.yaml:

    YAML

    filenames:
      - /var/log/suricata/eve.json
    labels:
      type: suricata
    
  3. Restart CrowdSec:

    Bash

    sudo systemctl restart crowdsec
    

8. Optimalisasi Performa (Maintenance)

8.1 Log Rotation (Wajib untuk HDD)

Agar HDD tidak penuh oleh log Suricata, kita batasi ukuran lognya.

Bash

sudo nano /etc/logrotate.d/suricata

Atur agar hanya menyimpan log selama 2 hari dengan kompresi maksimal.

8.2 Mematikan Checksum Offloading

Pada kartu jaringan virtual (virtio), Suricata sering salah mengira paket rusak karena fitur checksum offloading. Matikan fitur ini:

Bash

sudo ethtool -K vmbr0 tx off rx off sg off gso off gro off

9. Troubleshooting & FAQ

  • Q: Suricata memakan 100% CPU!
    • A: Kurangi jumlah rules yang aktif atau gunakan fitur bypass untuk lalu lintas lokal yang terpercaya (seperti backup Proxmox).
  • Q: Tidak ada log yang muncul di eve.json.
    • A: Cek apakah HOME_NET sudah benar dan interface vmbr0 dalam keadaan UP.
  • Q: Kenapa tidak langsung pakai mode IPS (Block)?
    • A: Mode IPS berisiko memutus koneksi internet Anda sendiri jika terjadi false positive. Selalu mulai dengan IDS (Monitor) selama minimal 1-2 minggu.

10. Checklist Kesiapan Implementasi Masa Depan

Sebelum mengaktifkan dokumen ini secara nyata, pastikan Anda telah:

  • Meng-upgrade RAM minimal menjadi 16GB (Direkomendasikan).
  • Mengganti HDD utama menjadi SSD/NVMe untuk menampung write-intensive logs.
  • Memahami cara memulihkan jaringan jika Suricata menyebabkan kernel panic (via Console Proxmox).

Tip

Dokumentasi ini adalah “investasi” ilmu. Walaupun hari ini hardware-mu belum memadai, kamu sudah punya peta jalan seorang Security Engineer profesional.


Apakah “Kitab Suci” Suricata ini sudah cukup lengkap buat referensi masa depanmu? Kalau ada bagian teknis yang mau ditanyakan lebih dalam soal cara kerjanya, langsung gas!