Pengenalan Snort


Salah satu aplikasi Linux yang dapat dipakai untuk meningkatkan keamanan komputer adalah Snort.  Secara garis besar, Snort adalah sebuah program yang memiliki tiga fungsi atau tiga modus operasi.  Snort dapat dipakai dalam packet sniffer mode sehingga bekerja sebagai sniffer sama seperti Wireshark.  Sama seperti Wireshark, Snort juga dapat menyimpan setiap packet yang di-capture ke dalam media penyimpan di modus packet logger mode.  Akan tetapi berbeda dengan Wireshark, Snort dapat dipakai sebagai komponen NIDS dengan menjalankannya pada Network Intrusion Detection System (NIDS) mode.  Pada modus yang terakhir ini, Snort akan menganalisa packet  berdasarkan rule yang ada untuk mengenali adanya upaya serangan hacker.

Untuk memulai menggunakan Snort, download requirement serta source Snort, kemudian build & install.  Bagi yang memakai distro Ubuntu, libdnet di distro tersebut adalah library yang berbeda dengan yang dibutuhkan Snort. Di Ubuntu, libdnet adalah DECNet libraries, sementara yang dibutuhkan oleh Snort diganti namanya menjadi libdumpnet.  Sebaiknya download source dari Google Code, kemudian install ke lokasi /usr, bukan /usr/local.  Caranya adalah dengan menambahkan argumen – -prefix=/usr pada saat memanggil script configure.

Berikut adalah contoh menjalankan Snort sebagai packet sniffer:

$ sudo snort -v
Running in packet dump mode

        --== Initializing Snort ==--
Initializing Output Plugins!
pcap DAQ configured to passive.
Acquiring network traffic from "eth0".
Decoding Ethernet

        --== Initialization Complete ==--

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.0.5 (Build 135)
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
           Copyright (C) 1998-2011 Sourcefire, Inc., et al.
           Using libpcap version 1.1.1
           Using PCRE version: 8.12 2011-01-15

Commencing packet processing (pid=31839)
06/05-12:07:03.524481 192.168.1.200:45263 -> 192.168.1.5:53
UDP TTL:64 TOS:0x0 ID:63753 IpLen:20 DgmLen:73 DF
Len: 45
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

06/05-12:07:03.582863 192.168.1.5:53 -> 192.168.1.200:45263
UDP TTL:255 TOS:0x0 ID:4887 IpLen:20 DgmLen:186 DF
Len: 158
...
===============================================================================
Run time for packet processing was 27.619079 seconds
Snort processed 19 packets.
Snort ran for 0 days 0 hours 0 minutes 27 seconds
   Pkts/sec:            0
===============================================================================
Packet I/O Totals:
   Received:           19
   Analyzed:           19 (100.000%)
    Dropped:            0 (  0.000%)
   Filtered:            0 (  0.000%)
Outstanding:            0 (  0.000%)
   Injected:            0
===============================================================================
... 

Untuk mencatat rekaman packet ke dalam file teks, Snort bisa dijalankan dengan memberikan perintah seperti:

snort -dev -l ./log

Perintah di atas akan menulis rekaman packet ke dalam direktori log (direktori ini harus sudah dibuat sebelumnya).

Dan untuk modus NIDS, tambahan argumen -c yang merujuk ke file konfigurasi Snort, seperti berikut ini:

snort -d -l ./log -c snort.conf

Pada perintah di atas, file konfigurasinya bernama snort.conf.

Untuk menjalankan Snort sebagai daemon (background process yang terus berjalan), tambahkan argumen -D seperti pada contoh ini:

snort -d -l /var/log/snort.log -c /etc/snort.conf -D

Bicara soal file konfigurasi, berikut adalah contoh isi file konfigurasi:

var LOG_IP 100.10.12.13
alert tcp $LOG_IP any -> any any (msg: "Akses Dari Dia"; sid:1;)

File konfigurasi di atas menyebabkan Snort menghasilkan alert dalam file bernama alert setiap kali IP 100.10.12.13 melakukan akses TCP, dengan pesan berupa “Akses Dari Dia”.  Tentu saja ini adalah contoh konfigurasi sederhana yang tidak banyak berguna, akan tetapi cukup untuk menunjukkan syntax file konfigurasi Snort yang lumayan rumit.  Contoh di atas mengandung sebuah variabel IP bernama LOG_IP.  Variabel tersebut dapat digunakan dengan menulis $LOG_IP yang akan disubstitusi dengan nilai yang sesungguhnya.

Argumen yang biasanya diberikan saat memanggil Snort juga dapat dituliskan ke file konfigurasi sehingga tidak perlu diberikan secara manual pada saat menjalankan Snort, seperti pada contoh berikut:

#sama dengan argumen -D
config daemon

#sama dengan argumen -d
config dump_payload

#sama dengan argumen -l
config logdir: /var/log/snort

var LOG_IP 192.168.1.2
alert tcp $LOG_IP any -> any any (msg: "Akses Dari Dia"; sid:1;)

Gunakan preprocessor untuk memakai processor yang sudah disediakan oleh Snort.  Sebagai contoh, untuk mendeteksi terjadinya port scanning, tambahkan konfigurasi berikut:

preprocessor stream5_global:\
        track_tcp yes, track_udp yes, track_icmp yes

preprocessor stream5_tcp:\
        policy first

preprocessor stream5_udp

preprocessor stream5_icmp

preprocessor sfportscan:\
        proto { all } \
        scan_type { all } \
        sense_level { high }

Konfigurasi di atas akan memakai preprocessor sfPortScan dari Source Fire.  Syarat untuk memakai sfPortScan adalah menggunakan preprocessor Stream5.  Sekarang, bila seseorang melakukan port scanning (yang merupakan tahap awal dalam serangan), misalnya dengan menggunakan tool Nmap:

$ nmap -A -v 192.168.1.22

Maka, Snort akan menghasilkan alert seperti berikut ini:

[**] [122:1:0] (portscan) TCP Portscan [**]
[Priority: 3] 
06/06-03:34:13.052153 192.168.1.49 -> 192.168.1.22
PROTO:255 TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:158 DF

Alert tersebut menunjukkan bahwa seseorang dari IP 192.168.1.49 melakukan port scanning untuk komputer dengan IP 192.168.1.22.

Perihal Solid Snake
I'm nothing...

3 Responses to Pengenalan Snort

  1. bro alex mengatakan:

    Bro jocki kalo menghadang serangan virus conficker yang sering mematikan service komputer gmn ya?tq

    • Solid Snake mengatakan:

      Di VRT Snort 2009-04-08 (http://www.snort.org/vrt/advisories/2009/04/) sudah ada rule untuk mendeteksi aktifitas yang ditimbulkan oleh conficker di jaringan.
      Snort bekerja memantau jaringan dan bisa dikonfigurasi untuk men-drop packet yang menyerupai aktifitas conficker seperti operasi NetBIOS, komunikasi HTTP ke IP tertentu, scanning komputer melalui UDP, koneksi ke komputer lain melalui TCP, dsb..
      Untuk melindungi setiap komputer individual, tetap dengan men-install antivirus di komputer tersebut sebelum terserang, karena conficker selain menyebar melalui jaringan, juga menyebar melalui media USB Flashdisk.

  2. Ping-balik: Security Union tools – using Snort for Intrusion Detection | Computer Network

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: