S0t4's Blog

Hanya Catatan dan Mencoba Untuk Berbagi

Wednesday, September 29, 2010

Instalasi SNORT IDS (Intrusion Detection System) + Mysql di Fedora8 dengan Rules BleedingSnort + SnortReport WebbaseMonitor

  Blogger Sejati       Wednesday, September 29, 2010
(Hanya Catatan...)
Sebenarnya sudah banyak sekali yang membahas tentang ini. Tapi ini cuma sebagai catatanku pribadi saja... sukur-sukur bisa bermanfaat juga bagi yang lain.


IDS (Intrusion Detection System) adalah suatu sistem yang memonitor perubahan-perubahan yang terjadi di sebuah sistem komputer, baik itu perubahan dalam sebuah jaringan maupun dari penggunaan komputer itu sendiri. IDS banyak macamnya, antara lain :

1. HIDS, Host based Intrusion Detection System. IDS jenis ini akan memonitor dan menganalisa segala aktifitas yang terjadi dalam satu host tertentu.
2. NIDS, Network Intrusion Detection System. IDS yang ini akan memonitor dan menganalisa semua lalu-lintas paket yang ada di jaringan.
3. PIDS, Protocol-based Untrusion Detection System, nah kalo yang ini biasana ditempatkan di front-end sebuah server. Akan memonitor dan menganalisa semua komunikasi yang terjadi di suatu protokol, misal HTTPS.
4. APIDS, Application Protocol-based Intrusion Detection System. Hampir sama dengan PIDS, hanya saja agak berbeda tempat "nangkringna". Dia akan memonitor dan menganalisa status, perubahan dari suatu aplikasi protokol.
4. Hybrid Intrusion Detection System. Dari namana ajah dah diketahui "gabungan", berarti jenis yang ini adalah gabungan dari jenis2 yang sudah ada.

SNORT disini adalah termasuk yang NIDS.
Manual secara lengkap dapat dibaca disini.

Berdasar yang sudah aku coba instalasi SNORT di Fedora 8 langkahnya sebagai berikut:
1. Pastikan dahulu server sudah terinstal Apache, Mysql 5 dan PHP (aku pakai paket dari Fedora 8).

2. Install php-adodb dan pear --> #yum -y install php-adodb php-pear

3. Install libpcap --> #yum -y install libpcap libpcap-devel

4. Install libpcre.
Disini aku pakai sourcenya, bisa didownload disini.
a. #tar xzvf pcre-x.tar.gz
b. #cd pcre-x
c. #./configure && make && make install

5. Download Snort dari websitenya. Tapi disini aku pakai Snort versi 2.8.4.1. Sourcenya bisa didownload disini.
Aku pakai versi yang ini karena kalau aku pakai versi yang lebih baru gak jalan :(

6. Install Snort.
a. #tar xzvf snort-2.8.4.1.tar.gz
b. #cd snort-2.8.4.1
c. #./configure --with-mysql
d. #make && make install
Installan akan ada di /usr/local/bin

7. File konfigurasi akan kita taruh di folder berikut /etc/snort
#groupadd snort
#useradd -g snort snort
#mkdir /etc/snort
#mkdir /etc/snort/rules
#mkdir /var/log/snort

8. Selanjutnya copy file etc yang ada di folder source snort kita..
#cp snort-2.8.4.1/etc/* /etc/snort

9. Selanjutnya download rules-nya....
Rulesnya bisa didownload diwebsitenya langsung disini, tetapi anda harus register dahulu dan file yang bisa didownload adalah yang dipost 30 hari sebelumnya :(.
Rules juga bisa dikombinasikan dengan rules BleedingSnort.

DOWNLOAD RULES SNORT
Untuk Cara mudah download Rules bisa digunakan Oinkmaster
Extract filenya
#tar xzvf oinkmaster-2.0.tar.gz
#cd oinkmaster-2.0
#cp oinkmaster.pl /usr/local/bin
#cp oinkmaster.conf /usr/local/etc
#vi /usr/local/etc/oinkmaster.conf
Untuk download rules Snort diisi dengan :
-------------------------------------
url = http://www.snort.org/pub-bin/oinkmaster.cgi/< oinkcode here >/< filename >
-------------------------------------
isi < oinkcode here > dengan kode yang dikasi dr snort.org dan < filename > diisi nama file rulesnya, disesuaikan dengan versi snort yang diinstall.

Untuk download rules Bleeding Snort diisi dengan :
------------------------------------
url = http://www.bleedingsnort.com/downloads/bleeding.rules.tar.gz
path = /bin:/usr/bin:/usr/local/bin
tmpdir = /tmp
update_files = \.rules$|\.config$|\.conf$|\.txt$|\.map$
skipfile local.rules
------------------------------------

2. Jalankan Oinkmaster
#/usr/local/bin/oinkmaster.pl -q -C /usr/local/etc/oinkmaster.conf -o /etc/snort/rules
Harusnya semua rulesnya sudah kedownload ke /etc/snort/rules

Agar rules selalu uptodate script diatas bisa ditaruh di cron job.


KONFIGURASI SNORT
1. Setelah semua terdownload selanjutnya tinggal merubah snort.conf
#cp /usr/local/src/snort-2.8.4.1/etc/* /etc/snort
#cd /etc/snort/
#mkdir /etc/snort/preproc_rules
#vi /etc/snort/snort.conf

ubah
----------------------------------------
var RULE_PATH ../rules var RULE_PATH /etc/snort/rules
var SO_RULE_PATH ../so_rules var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH ../preproc_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules
output database: alert, mysql, user=snort password=snort dbname=snort host=localhost
output database: log, mysql, user=snort password=snort dbname=snort host=localhost
output alert_unified: filename snort.alert, limit 128
output log_unified: filename snort.log, limit 128
----------------------------------------

dan tinggal edit juga rules-rules yang akan dipakai
include $RULE_PATH/

2. Ujicoba jalankan snort, karena Snort rules yang digunakan biasanya masih banyak bug / error dan harus dibuang supaya hanya rules yang baik yang digunakan

#/usr/local/bin/snort -dev -c /etc/snort/snort.conf


Contoh error

Initializing rule chains...
ERROR: (/etc/snort/rules/web-misc.rules)98 => Cannot use 'rawbytes' and 'http_uri' as modifiers for the same "content" nor use 'rawbytes' with "uricontent".
Fatal Error, Quitting..

Artinya

* file /etc/snort/rules/web-misc.rules mengandung error pada line 98
* edit file /etc/snort/rules/web-misc.rules dan buang line yang ada error-nya

sampai keluar error terakhir

ERROR: database: mysql_error: Access denied for user 'snort'@'localhost' (using password: YES)
Fatal Error, Quitting..

Itu tandanya tinggal menyiapkan database-nya. Lanjut....


SETUP DATABASE SNORT
Siapkan database MySQL

mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');

Selanjutnya dengan database MySQL

# mysql -u root -p
Enter password:
create database snort;
grant INSERT,SELECT on root.* to snort@localhost;
grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost IDENTIFIED BY 'snortpass' ;
grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort IDENTIFIED BY 'snort' ;
exit

Siapkan tabel di database snort

# mysql -u root -p < /usr/local/src/snort-2.8.4.1/schemas/create_mysql snort
password:

Atau kalau sedang belajar dengan password root 123456 dapat menggunakan perintah

# mysql -u root -p123456 < /usr/local/src/snort-2.8.0/schemas/create_mysql snort

atau

# mysql -u root -p123456 < /usr/local/src/snort-2.8.6.1/schemas/create_mysql snort

Cek database snort

# mysql -p
Enter password:
show databases;
use snort
show tables;
exit


OK sudah beres.. tinggal jalankan snort dengan perintah
#/usr/local/bin/snort -dev -c /etc/snort/snort.conf -i eth0 -D (diset sebagai daemon)

Seharusnya sekarang data sudah masuk ke database dan juga ada lognya di /var/log/snort

Kalau sudah beres tinggal install Web Interface Report Snort. Disini aku pakai SnortReport-1.3.1 atau bisa juga pakai Base.


INSTALASI WEB INTERFACE REPORT SNORT

1. Setelah download SnortReport silakan extract filenya
#tar xzvf snortreport-1.3.1.tar.gz

2. Copy folder snortreport-1.3.1 ke web foldernya
#mv snortreport-1.3.1 /var/www/html/snortreport

3. Edit file srconf.php
#cd /var/www/html/snortreport
#vi srconf.php

4. Tinggal sesuaikan variabel koneksi ke databasenya saja... beres

5. Tinggal Browse dari webbrowser arahkan ke http://< server >/snortreport

6. Seharsnya sudah kelihatan log report snortnya...






goodLuck



Tambahan:
Download snort-2.8.6.1
Download Rules snort-2.8.6.1



Referensi:
http://opensource.telkomspeedy.com/wiki/index.php/Instalasi_SNORT_dan_BASE
http://www.bleedingsnort.com/
logoblog

Thanks for reading Instalasi SNORT IDS (Intrusion Detection System) + Mysql di Fedora8 dengan Rules BleedingSnort + SnortReport WebbaseMonitor

Previous
« Prev Post

No comments: