Snort IPS Di Ubuntu 10 LTS


Instalasi Snort di Ubuntu 10 LTS memang tidak sulit, cukup mengikuti langkah step-by-step yang disediakan oleh pembuatnya yang dapat di-download dalam bentuk PDF di http://www.snort.org/assets/158/011-snortinstallguide2905.pdf.  Akan tetapi, setelah mengikuti langkah-langkah tersebut, Snort berjalan sebagai IDS (Intrusion Detection System).  Sebagai IDS, Snort hanya menganalisa packet yang ada dan memberikan peringatan bila terjadi serangan dari hacker.  Jika seperti ini kasusnya, IDS dikatakan bekerja dalam modus passive.   Bila ingin Snort memblokir upaya serangan dan memberikan respon atas serangan hacker, maka Snort harus bekerja sebagai IPS (Intrusion Prevention System).  Snort akan berfungsi sebagai IPS bila berjalan dalam modus inline.

Bila dijalankan secara standard, Snort akan memakai DAQ module bernama pcap.   DAQ Module pcap ini tidak mendukung modus inline, sehingga administrator yang ingin menjalankan Snort sebagai IPS harus memakai DAQ module lain.  Untuk melihat apa saja DAQ module yang ada, berikan perintah seperti:

# snort --daq-list
Available DAQ modules:
pcap(v3): readback live multi unpriv
ipfw(v2): live inline multi unpriv
dump(v1): readback live inline multi unpriv
afpacket(v4): live inline multi unpriv

Hasil output tersebut menunjukkan bahwa pcap tidak mendukung modus inline.  Salah DAQ Module bawaan, yaitu NFQ yang memakai Netfilter, sama sekali tidak terlihat.  Padahal Netfilter dan iptables merupakan dasar yang membentuk fungsi packet filtering di kernel Linux.

Langkah pertama yang harus dilakukan agar DAQ Module nfq dibuat adalah dengan meng-install paket libnetfilter-queue-dev (beserta paket yang dibutuhkanya seperti libnetfilter-queue1 dan lainnya).   Di Ubuntu 10 LTS,  paket tersebut masih belum ter-install sehingga administrator perlu meng-install dengan menggunakan apt-get (berbasis console) ataupun Ubuntu Software Center (berbasis GUI).

Langkah berikutnya, upgrade libpcap menjadi versi terbaru, yang dapat didownload di www.tcpdump.org.  Ubuntu 10 LTS datang dengan repository yang berisi libpcap0.8.  Versi libpcap ini memiliki bug yang menyebabkan Snort akan berhenti berjalan dan memberikan pesan kesalahan yang berkaitan dengan log_tcpdump dimana pesan-nya adalah Snort tidak dapat menulis pada file /var/log/snort (atau lokasi direktori log yang telah ditentukan sebelumnya).  Pesan kesalahan ini cukup menipu, karena sama sekali tidak berhubungan dengan permission di direktori tersebut, dan akan hilang setelah meng-upgrade ke versi libpcap yang lebih baru, misalnya libpcap-1.1.1.  Karena repository Ubuntu 10 LTS tidak menunjukkan adanya upgrade versi terbaru dari libpcap, download source secara manual, kemudian jalankan script GNU Autoconf yang disediakan, seperti:

# ./configure --prefix=/usr
...
config.status: creating pcap_open_dead.3pcap
config.status: creating pcap_open_offline.3pcap
config.status: creating config.h
# make
...
mv pcap-config.tmp pcap-config
chmod a+x pcap-config
# make install
...

Langkah berikutnya adalah menjalankan script GNU Autoconf untuk DAQ.   Source-nya dapat di-download di http://www.snort.org/downloads/860.  Seperti biasa, jalankan dahulu script configure:

# ./configure
...
Build AFPacket DAQ module.. : yes
Build Dump DAQ module...... : yes
Build IPFW DAQ module...... : yes
Build IPQ DAQ module....... : no
Build NFQ DAQ module....... : yes
Build PCAP DAQ module...... : yes

Pastikan bahwa pada NFQ DAQ module terdapat tulisan yes sehingga nantinya module NFQ akan dibuat.  Setelah itu, seperti biasa, berikan perintah make dan make install.

Berikutnya, lakukan hal yang sama dengan source Snort yang dapat di-download di http://www.snort.org/downloads/867.  Berikan perintah seperti:

# ./configure --enable-ipv6 --enable-gre --enable-mpls --enable-targetbased \ --enable-decoder-preprocessor-rules --enable-ppm --enable-perfprofiling \ --enable-zlib --enable-active-response --enable-normalizer --enable-reload \ --enable-react --enable-flexresp3
...
# make
...
# make install
...

Langkah terakhir adalah menjalankan Snort dengan argumen khusus sehingga ia bekerja dalam modus inline sebagai IPS.  Sebagai contoh, Snort dapat dijalankan dengan parameter seperti berikut ini:

# snort --daq nfq -c /etc/snort/snort.conf -Q
...
nfq DAQ configured to inline.
Reload thread starting...
...

Option –daq menentukan module DAQ yang akan dipakai Snort, yaitu NFQ.  Option -c menentukan lokasi file konfigurasi Snort yang tentunya bisa berbeda-beda sesuai kebiasan setiap administrator.  Option -Q menunjukkan bahwa Snort harus bekerja dalam modus inline.  Bila Snort bekerja sebagai IPS, akan terdapat baris yang isinya seperti “nfq DAQ configured to inline.

Perihal Solid Snake
I'm nothing...

9 Responses to Snort IPS Di Ubuntu 10 LTS

  1. Masdian mengatakan:

    dear gan,

    kalau diwindows gmna install DAQ Module nfq nya?

    mohon bantuannya gan email saya di masdian82@gmail.com

    best regard

    masdian

  2. Harry Ando mengatakan:

    gan kalo modul daq yang dipake afpacket gimana cara konfigurasinya gan?..

  3. Harry Ando mengatakan:

    gan, buatin tutorial yang pake daq afpacket donk, buat tugas nih gan..
    mkasih bgt gan kalo mau buatin.🙂

    • Solid Snake mengatakan:

      Untuk menjalankan Snort dengan modul DAQ berupa afpacket di Linux (Ubuntu), berikan perintah seperti berikut ini:

      sudo ./snort --daq afpacket -i eth0
      

      Gunakan sudo karena snort harus dijalankan sebagai root. eth0 adalah network adapter yang jaringannya hendak dipantau oleh Snort.

      Pada modus ini, Snort hanya mendeteksi serangan dengan menganalisa packet (modus IDS). Pada modul afpacket, packet jaringan sudah diterima oleh OS, lalu dianalisa oleh Snort. Oleh sebab itu, untuk menjalankan afpacket sebagai IPS (yang akan men-drop packet), maka dibutuhkan 2 kartu jaringan, dimana komputer yang menjalankan Snort hanya berfungsi sebagai server IPS yang meneruskan packet ke komputer lainnya (user).

      Yang dapat men-drop packet dalam komputer yang sama adalah firewall. Oleh sebab itu, pada artikel ini, saya memakai modul NFQ yang berkomunikasi dengan firewall UBuntu dimana firewall Linux (netfilter) akan meneruskan packet ke Snort untuk dianalisa, kemudian berdasarkan hasil dari analisa, netfilter akan men-drop packet (bila berbahaya) atau meneruskan packet (bila aman) ke aplikasi.

  4. andri warda mengatakan:

    gan untuk centos tutornya gimana ?

  5. hervinda pradana mengatakan:

    gan mau tanya,
    maksudnya GNU Autoconf itu apa?

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: