Snort adalah NIDS yang bekerja dengan menggunakan signature detection, berfungsi juga sebagai sniffer dan packet logger. Snort pertama kali di buat dan dikembangkan oleh Marti Roesh, lalu menjadi sebuah opensource project. Versi komersial dari snort dibuat oleh Sourcefire (www.sourcefire.com).Snort memiliki karakteristik, sebagai berikut:
1. Berukuran kecil – Source code dan rules untuk rilis 2.1.1 hanya 2256k.
2. Portable untuk banyak OS – Telah diporting ke Linux, Windows, OSX, Solaris, BSD,dll.
3. Cepat – Snort mampu mendeteksi serangan pada network 100Mbps.
4. Mudah dikonfigurasi – Snort sangat mudah dikonfigurasi sesuai dengan kebutuhan network kita. Bahkan kita juga dapat membuat rule sendiri untuk mendeteksi adanya serangan baru.
5. Free – Kita tidak perlu membayar sepeser pun untuk menggunakan snort. Snort bersifat open source dan menggunakan lisensi GPL.
A. Komponen Snort.
Snort merupakan packet sniffing yang sangat ringan. Snifing interface yang digunakan berbasis libpcap (pada Unix tersedia dengan tcpdump, www.tcpdump.org). Pembuat snort sangat fokus pada engine yang digunakan untuk mendeteksi serangan dan memanfaatkan tools tcpdump untuk mengambil paket network. Salah satu keunggulan snort adalah bahwa snort memiliki plugin sistem yang sangat fleksibel untuk dimodifikasi.
Snort memiliki beberapa komponen yang tiap komponennya mempunyai tugas masing-masing. Pada saat ada paket network yang melewati Ethernet di tempat snort dipasang, maka ada beberapa hal yang dilalui:
Packet capture library (libpcap).
Packet capture library – akan memisahkan paket data yang melalui ethernet card untuk selanjutnya digunakan oleh snort.
Packet decoder.
Packet decoder – mengambil data di layer 2 yang dikirim dari packet capture library (proses 1). Pertama ia akan memisahkan Data link (seperti ethernet, TokenRing, 802.11) kemudian protokol IP, dan selanjutnya paket TCP dan UDP. Setelah pemisahan data selesai, snort telah mempunyai informasi protokol yang dapat diproses lebih lanjut.
Preprocessor.
Selanjutnya dilakukan analisis (preprocessor) atau manipulasi terhadap paket sebelum dikirim ke detection engine. Manipulasi paket dapat berupa ditandai, dikelompokan atau malah dihentikan.
Detection Engine.
Inilah jantung dari snort. Paket yang datang dari packet decoder akan ditest dan dibandingkan dengan rule yang telah ditetapkan sebelumnya. Rule berisi tanda-tanda (signature) yang termasuk serangan.
Output.
Output yang dihasilkan berupa report dan alert. Ada banyak variasi output yang dihasilkan snort, seperti teks (ASCII), XML, syslog, tcpdump, binary format, atau Database (MySQL, MsSQL, PostgreSQL, dsb).
B. Memilih lokasi Snort.
Hal terakhir yang harus kita ketahui, sekaligus menjadi faktor yang menentukan keefektifan dari snort adalah ‘lokasi’. Ini sangat penting terlebih jika jaringan yang kita kelola berukuran besar. Oleh karena itu, sebelum memulai menginstal snort, tentukan terlebih dahulu apa yang akan kita lindungi, apakah:
1. Single server
2. Sekelompok server
3. Semua subnet
Setelah kita selesai menentukan apa yang akan dimonitor, maka kita bisa leluasa menentukan dimana akan meletakan snort. Jadi untuk menempatkan snort tergantung kepada apa yang akan kita monitor.
Network biasanya menggunakan firewall untuk memisahkan server publik ke dalam De-Militarized Zone (DMZ) dan jaringan lokal ke dalam internal NAT network. Hal-hal yang penting untuk diketahui, adalah:
1. DMZ – adalah daerah untuk menempatkan server publik yang sering diakses melalui internat. Server seperti email, web, atau ftp bisa kita letakan di sini secara berkelompok. Biasanya zone di daerah ini banyak mengalami lalu lintas data dari internet.
2. NAT (Network Address Translation) adalah cara untuk menyembunyikan beberapa komputer yang menggunakan IP private di belakang IP publik. Dengan menggunakan NAT, komputer internal di jaringan tetap bisa menggunakan internet meskipun menggunakan IP private. Tetapi sebaliknya, pengguna internet tidak bisa mengenali workstation yang ada di dalam NAT.
Mengapa kita perlu memisahkan kedua jaringan ini? Jika di suatu perusahaan hanya menggunakan internet untuk jaringan komunikasi internal seperti mengirim email atau browsing mungkin tidak menjadi masalah. Tetapi jika perusahaan juga membutuhkan server web atau email sendiri untuk menjalankan bisnisnya, maka berhati-hatilah, karena kita telah mempublikasikan kepada dunia tentang web site perusahaan kita. Artinya semua orang di dunia juga bisa bermain-main dan mengerjai server kita.
Oleh karena itu, jika server yang terletak di DMZ misalnya berhasil ditembus oleh cracker, maka kerusakan dapat diminimalkan karena mereka tidak dapat keluar dari DMZ ke jaringan internal.
Jadi setiap kita menempatkan server publik, di situ juga harus dipasang snort. Jika jaringan kita menggunakan DMZ, maka setidaknyadilakukan hal-hal sebagai berikut:
1. Buat satu port di switch DMZ sebagai monitoring port.
2. Tambahkan perintah di file konfigurasi snort (snort.conf) untuk memonitor subnet tersebut.
