Definisi Snort
Snort merupakan sebuah aplikasi ataupun software yang bersifat opensource GNU General
Public License [GNU89]. Sehingga boleh digunakan dengan bebas secara gratis, dan kode
sumber (source code) untuk snort juga bisa didapatkan dan dimodifikasi sendiri.
Snort dikembangkan oleh Marty Roesch, bisa dilihat pada (www.sourcefire.com). Awalnya
dikembangkan diakhir 1998-1n sebagai sniffer dengan konsistensi output.
Snort adalah sebuah software ringkas yang sangat berguna untuk mengamati aktifitas dalam
suatu jaringan komputer. Snort dapat digunakan sebagai suatu Network Intrusion detection
system (NIDS) yang berskala ringan (lighweight), dan software ini menggunakan sistem
peraturan-peraturan (rule system) yang relatif mudah dipelajari untuk melakukan deteksi
dan pencatatan (logging) terhadap berbagai macam serangan jaringan komputer.
Snort sendiri merupakan software yang masih berbasis command-line, sehingga cukup
merepotkan bagi pengguna yang sudah terbiasa dalam lingkungan Graphical User Interface
(GUI). Oleh karena itu, ada beberapa software pihak ketiga yang memberikan GUI untuk
snort, Misalnya IDScenter untuk microsoft windows, dan Acid yang berbasis PHP sehingga
bisa diakses melalui web browser.
Percobaan Instalasi Snort
Internet
.2 192.168.127.0/24
*kelompok I
Bridge
eth0
Guest OS Guest OS
Guest Guest OS 1
1 2
OS 2
eth1 eth0
3. Installing Snort
Untuk menginstal Snort di Ubuntu, ada satu syarat tambahan yang dibutuhkan tambahan
yang perlu diinstal yang tidak disebutkan dalam dokumentasi: zlibg yang merupakan library
kompresi.
Step 3.1 : Libraries
Ada tiga perpustakaan opsional yang meningkatkan fuctionality: liblzma-dev yang
menyediakan dekompresi file swf (adobe flash), openssl, dan libssl-dev yang keduanya
menyediakan file SHA dan MD5 signature:
:~# ldconfig
:~# cd snort_src/
:~/snort_src# wget https://snort.org/downloads/snort/snort-2.9.8.3.tar.gz
:~/snort_src# tar -xvzf snort-2.9.8.3.tar.gz
:~/snort_src# cd snort-2.9.8.3/
:~/snort_src/snort-2.9.8.3# ./configure --enable-sourcefire && make && make
install
:~/snort_src/snort-2.9.8.3# cd
Snort membutuhkan beberapa file konfigurasi dan preprocessors dinamis yang disalin dari
tarball sumber Snort ke folder / etc / snort.
File konfigurasi adalah:
classification.config
file magic.conf
reference.config
snort.conf
threshold.conf
attribute table.dtd
gen-msg.map
unicode.map
Setelah file konfigurasi siap, kita akan meminta Snort memverifikasi bahwa itu adalah file
yang valid, dan semua file yang diperlukan yang referensi benar. Kami menggunakan flag -T
untuk menguji file konfigurasi, flag -c untuk memberi tahu Snort file konfigurasi mana yang
akan digunakan, dan -i untuk menentukan antarmuka yang akan didengarkan Snort (ini
adalah persyaratan baru untuk 2.9.8.x Versi snort).
Step 4.8 : Run Snort
Run snort -T -c /etc/snort/snort.conf -i eth0. Run this command as shown below and
look for the following output (only the last few lines of the output are shown for
clarity):
:~# snort -T -i eth0 -c /etc/snort/snort.conf
(...)
Snort successfully validated the configuration!
Snort exiting
:~#
Nama interface telah berubah, dan spesifik sistem (tidak lagi terdaftar sebagai ethN). Pada
perintah di atas, Anda perlu mengganti eth0 dengan nama antarmuka Anda, seperti yang
ditunjukkan dengan perintah ifconfig (dalam kasus saya ini adalah ens160).
Sebaiknya gulir ke atas melalui keluaran dari perintah ini untuk merasakan apa yang sedang
dimuat oleh Snort. Banyak hal itu tidak masuk akal saat ini, tapi akan semakin jelas saat
Anda bekerja lebih banyak dengan Snort. Cari kesalahan dan peringatan yang tercantum.
Bila Anda tidak mengomentari baris 545 di atas (sertakan $ RULE_PATH / local.rules) Anda
memberi tahu Snort bahwa file local.rules harus dimuat oleh Snort. Ketika Snort memuat
file itu saat start-up, ia akan melihat aturan yang Anda buat, dan menggunakan aturan itu
pada semua lalu lintas yang dilihat oleh antarmuka. Dalam kasus ini, ketika kami membuat
peraturan, kami memberi tahu Snort bahwa seharusnya menghasilkan peringatan saat
melihat ping ICMP.
Step 5.3 : changes to the Snort configuration
Karena kami membuat perubahan pada konfigurasi Snort, kami harus menguji file
konfigurasi lagi:
:~/etc/snort# cd
:~# snort -T -c /etc/snort/snort.conf -i eth0
Step 5.4 : NIDS Mode
Sekarang kita tahu bahwa Snort benar-benar menerapkan peraturan dan konfigurasi kita,
kita bisa mulai mendengus dalam mode NIDS, dan memberitahukannya untuk
mengeluarkan peringatan apa pun ke konsol. Kami akan menjalankan Snort dari command
line, dengan menggunakan flag berikut:
-A console The ‘console’ option prints fast mode alerts to stdout
-q Quiet mode. Don’t show banner and status report.
-u snort Run Snort as the following user after startup
-g snort Run Snort as the following group after startup
-c /etc/snort/snort.conf The path to our snort.conf file
-i eth0 The interface to listen on
(change to your interface if different)
:~# /usr/local/bin/snort –A console -q -u snort -g snort –c
/etc/snort/snort.conf -i eth0
Ketika Anda menjalankan baris ini, Anda tidak akan melihat output apa pun, namun Snort
sedang berjalan, memproses semua paket yang sampai pada et0 (atau antarmuka mana pun
yang Anda tentukan dengan flag -i), membandingkannya dengan aturan yang telah
dimuatnya (dalam hal ini Kasus aturan ICMP Ping tunggal kami), dan kemudian akan
mencetak semua peringatan yang dihasilkan saat sebuah paket sesuai dengan peraturan
kami ke konsol.
Step 5.5 : Ping
Dari komputer lain, ping alamat IP eth0 di komputer Snort (atau ganti ping dari host Snort ke
komputer lain, atau eth0 sendiri, tapi bukan antarmuka loopback), dan Anda akan melihat
output konsol serupa dengan apa yang ditampilkan di bawah ini. (Pada contoh di bawah ini,
server Snort mendengarkan eth0 dengan dan alamat IP 10.0.0.105, dan komputer yang
menghasilkan ping adalah 10.0.0.59).
6. Installing Barnyard2
Ini adalah sumber yang intensif bagi Snort untuk menulis acara dalam mode yang dapat
dibaca manusia, baik ke konsol maupun file teks, seperti yang dilakukan di atas. Idealnya,
kami ingin acara Snort disimpan dalam database MySQL sehingga kami dapat melihat,
mencari, dan profil acara. Untuk mendapatkan kejadian Snort secara efisien ke dalam
database MySQL, kami menggunakan Barnyard2.
Step 6.1 : Installing MySQL
Kami akan mengkonfigurasi Snort untuk menampilkan acara dalam bentuk biner ke folder,
dan kemudian membuat Barnyard2 membaca kejadian tersebut secara asinkron dan
memasukkannya ke basis data MySQL kami.
Instalasi MySQL, kita akan menggunakan apt dengan mysql repository. Pertama, tambahkan
sumber repositori mysql untuk mendapatkan versi MySQL terbaru.
:~# wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
:~# dpkg -i mysql-apt-config_0.7.3-1_all.deb
When adding source repository, It's necessary to set the MySQL version that will be
installed and some other options.
You need to update to make adjustment to the new file apt source.
:~# apt-get update
Memasuki tahap instalasi, Selain menginstal mysql-server kita juga membutuhkan beberapa
library yang berguna untuk mysql.
:~# apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool
Next, Set password for user root of mysql database. Root password : jarkom123
Instalasi akan meminta Anda untuk membuat password root mysql user. Untuk contoh di
bawah ini, kita akan menggunakan password jarkom123. Anda harus memilih sesuatu yang
berbeda dan lebih aman, dan menyimpannya dengan aman. Kami juga akan membuat akun
pengguna MySQL, dan kata sandi untuk akun itu adalah kata sandi jarkom123, perhatikan
perbedaan antara dua kata kunci ini.
Step 6.2 : output unified2
Kita perlu memberitahu mendengus bahwa itu harus mengeluarkan peringatan itu dalam
format biner (ke file) yang dapat diproses oleh Barnyard2. Untuk melakukannya, edit file
/etc/snort/snort.conf, dan setelah baris 521 (baris komentar dimulai dengan tanda hash)
tambahkan baris berikut:
:~# cd /etc/snort/
:~/etc/snort# nano -c snort.conf
Catatan pada Versi Barnyard2: Pada perintah di bawah ini, kami akan mendownload
cuplikan spesifik dari Barnyard2 dari github: Barnyard2 versi 2.1.14 dengan komit mulai 21
Oktober 2015 (ini adalah versi terbaru saat ini). Saya memilih untuk tidak menggunakan rilis
stabil terbaru: 2.1.13 karena beberapa patch telah ditambahkan setelah rilis yang penting,
dan saya memilih untuk tidak menggunakan rilis Head, karena itu akan berubah setelah rilis
panduan ini, dan saya menang Sudah bisa mengujinya. Jika Anda mau, Anda bisa (dan
mungkin akan menginginkannya) untuk menggunakan rilis Barnyard2 saat ini, namun jika
Anda memiliki masalah, Anda dapat selalu kembali dan menggunakan versi yang telah saya
gunakan di bawah yang telah saya verifikasi akan bekerja dengan yang lain. Potongan
perangkat lunak dalam panduan ini
Step 6.3 : Download and install Barnyard2
Now download and install Barnyard2 2.1.14 release 336:
:~#cd snort_src/
:~/snort_src# wget
https://github.com/firnsy/barnyard2/archive/7254c24702392288fe6be948f88afb7404
0f6dc9.tar.gz \-O barnyard2-2-1.14-336.tar.gz
:~/snort_src# tar -zxvf barnyard2-2-1.14-336.tar.gz
:~/snort_src# mv barnyard2-7254c24702392288fe6be948f88afb74040f6dc9 barnyard2-
2-1.14-336
:~/snort_src# cd barnyard2-2-1.14-336
:~/snort_src/barnyard2-2-1.14-336# autoreconf -fvi -I ./m4
Connect to MySQL DB
Sekarang kita ingin menguji bahwa Snort sedang menulis acara ke file log biner yang benar,
dan bahwa Barnyard2 sedang membaca log tersebut dan menulis kejadian ke database
MySQL kita. Kita bisa saja memulai kedua program tersebut dalam mode daemon dan
menghasilkan beberapa acara dengan melakukan ping ke antarmuka (memicu aturan yang
telah kita buat sebelumnya), tapi lebih baik menguji satu porsi setiap kali.
Step 6.11 : Run Snort in alert mode
Run Snort in alert mode (the command we run below is how Snort will normally
be run when we set it up as a daemon, except we aren’t using the -D flag which
causes it to run as a daemon).
:~# /usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
Snort Log :