Instalasi Snort di FreeBSD 6.2 (ini catatan pribadi lagi lho)

Hallo semua…Kali ini saya mencoba memasang IDS (Instrusion Detection System) untuk router kantor. Tidak banyak perbedaan dengan waktu ketika saya menginstal menggunakan RedHat ataupun Fedora Core, tapi memang ada beberapa perbedaan yang sempat membuat saya kebingungan, namun akhirnya berhasil juga Alhamdulillah. Tulisan ini dibuat selain untuk saya pribadi agar kelak ketika lupa atau butuh saya tinggal melihat dokumentasi-dokumentasi yang telah saya buat, dan diharapkan catatan kecil ini bisa membawa manfaat untuk khalayak banyak. Amin.

 

  • IDS (Intrusion Detection System)

 

Dilihat dari cara kerjanya dalam menganalisa apakah paket data dianggap sebagai penyusupan atau bukan, IDS dibagi menjadi 2 :

1.      knowledge based atau misuse detection, dan

2.      behavior based atau anomaly based.

 

Knowledge based IDS dapat mengenali adanya penyusupan dengan cara menyadap paket data kemudian membandingkannya dengan data base rule IDS (berisi signature-signature paket serangan). Jika paket data mempunyai pola yang sama dengan (setidaknya) salah satu pola di database rule IDS, maka paket tersebut dianggap sebagai serangan, dan demikian juga sebaliknya, jika paket data tersebut sama sekali tidak mempunyai pola yang sama dengan pola di database rule IDS, maka paket data tersebut dianggap bukan serangan.

Sedangkan behavior based (anomaly) dapat mendeteksi adanya penyusupan dengan mengamati adanya kejanggalan-kejanggalan pada sistem, atau adanya penyimpangan-penyimpangan dari kondisi normal, sebagai contoh ada penggunaan memory yang melonjak secara terus-menerus atau atau ada koneksi parallel dari 1 buah IP dalam jumlah banyak dan dalam waktu yang bersamaan. Kondisi-kondisi diatas dianggap kejanggalan yang kemudian oleh IDS jenis anomaly based dianggap sebagai serangan.

 

Sedangkan dilihat dari kemampuan mendeteksi penyusupan pada jaringan, IDS dibagi menjadi 2 yakni :

1.      host based, dan

2.      network based.

 

Host based mampu mendeteksi hanya pada host tempat implementasi IDS, sedangkan network based IDS mampu mendeteksi seluruh host yang berada satu jaringan dengan host implementasi IDS tersebut. (http://csrgblog.wordpress.com/2007/12/17/merakit-sistem-pencegahan-penyusupan/ )

 

Baiklah diatas sedikit dibahas mengenai IDS yang saya kutip dari Dosen Jaringan dan Keamanan komputer saya di kampus, selain itu beliau juga merupakan pembina dari CSRG (Computer Security Research Group, http://csrgblog.wordpress.com). Selanjutnya marilah kita melangkah pada tahap persiapan sebelum instalasi. Silahkan dipersiapkan terlebih dahulu kebutuhan-kebutuhan instalasi kita, seperti :

1.      system operasi, disini saya menggunakan FreeBSD 6.2. Selain ini silahkan untuk menyesuaikan.

2.      snort-2.2.0             => http://www.snort.org

3.      mysql-4.1.22          => http://www.mysql.com

4.      httpd-2.2.8             => http://www.apache.org

5.      php-4.3.10             => http://www.php.net

6.      adodb411             => http://phplens.com

7.      acid-0.9.6b23        => http://acidlab.sourceforge.net

8.      zlib-1.2.1               => http://flow.dl.sourceforge.net

9.      jpgraph-1.17          => www.aditus.nu

10.  libpcap-0.7.2          => www.tcpdump.org

 

Apabila semua diatas sudah dipersiapkan, maka marilah kita melanjutkan perjalanan kita. Semua file di atas saya simpan di direktory /tmp/src.

 

  • Ayo kita lakukan

 

    • Instal Zlib

r3dluv# tar xzvf zlib-1.2.1.tar.gz

r3dluv# cd zlib-1.2.1

r3dluv# ./configure –prefix=/usr/local/zlib

r3dluv# make test

r3dluv# make install

r3dluv# cd ..

 

    • Instal LibPcap

tar xzvf libpcap-0.7.2.tar.gz

r3dluv# cd libpcap-0.7.2

r3dluv# ./configure

r3dluv# make;make install

r3dluv# cd ..

 

    • Instal MySql

r3dluv# tar xzvf mysql-4.1.22.tar.gz

r3dluv# cd mysql-4.1.22

r3dluv# pw groupadd mysql

r3dluv# pw useradd mysql –g mysql –d /nonexistent –s /sbin/nologin

r3dluv# ee /root/.profile

tambahkan dengan dibawah ini :

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

r3dluv# make; make install

r3dluv# scripts/mysql_install_db

r3dluv# chown –R root /usr/local/mysql

r3dluv# chown –R mysql /usr/local/mysql/var

r3dluv# chgrp –R mysql /usr/local/mysql

r3dluv# cp support-files/my-medium.cnf /usr/local/etc/my.cnf

r3dluv# ldconfig –R /usr/local/lib

r3dluv# ldconfig –m /usr/local/mysql/lib/mysql

r3dluv# /usr/local/mysql/bin/mysqld_safe –user=mysql &

sekarang coba cek service mysql anda

r3dluv# ps aux|grep mysql

root    961  0.0  0.2  1724  1056  p0- I    11:24AM   0:00.01 /bin/sh /usr/local/mysql/bin/mysqld_safe –user=mysql

mysql   975  0.0  4.7 44112 22732  p0- S    11:24AM   0:56.22 /usr/local/mysql/libexec/mysqld –basedir=/usr/local/mysql –d

root   5161  0.0  0.1   372   252  p0  R+    8:52AM   0:00.00 grep mysql

 

r3dluv# cp support-files/mysql.server /etc/rc.d/mysql

r3dluv# chmod 755 /etc/rc.d/mysql

r3dluv# cd ..

 

    • Instal httpd

r3dluv# tar xzvf httpd-2.2.8.tar.gz

r3dluv# cd httpd-2.2.8

r3dluv# ./configure –prefix=/www –enable-so

r3dluv# make; make install

r3dluv# cd /www/conf

r3dluv# ee httpd.conf

tambahkan baris-baris dibawah ini

# AddType allows you to …………

AddType application/x-tar  .tgz

AddType image/x-icon  .ico

AddType application/x-httpd-php  .php

 

# DirectoryIndex: sets the file that Apache will serve if a directory

DirectoryIndex index.html index.php index.html.var

r3dluv# cd /www/bin

r3dluv# cp apachectl /etc/rc.d/httpd

r3dluv# cd /tmp/src

 

    • Instal PHP

r3dluv# tar xzvf php-4.3.10.tar.gz

r3dluv# cd php-4.3.10

r3dluv# ./configure –prefix=/www/php –with-apxs2=/www/bin/apxs –with-config-file-path=/www/php –with-mysql=/usr/local/mysql –with-zlib-dir=/usr/local/zlib –enable-sockets –with-gd

r3dluv# make ; make install

r3dluv# cp php.ini-dist /www/php/php.ini

r3dluv# cd ..

    • Instal Snort

r3dluv# tar xzvf snort-2.2.0.tar.gz

r3dluv# cd snort-2.2.0

r3dluv# pw groupadd snort

r3dluv# pw useradd snort –g snort

r3dluv# ./configure –with-mysql=/usr/local/mysql

r3dluv# make ; make install

r3dluv# cd ..

 

    • Konfigurasi Snort

r3dluv# cd snort-2.2.0

r3dluv# cd rules

r3dluv# cp * /usr/local/etc/snort

r3dluv# cd ../etc

r3dluv# cp snort.conf /usr/local/etc/snort

r3dluv# cp *.config /usr/local/etc/snort

r3dluv# cp contrib/S99snort /etc/rc.d/snort

r3dluv# cd /usr/local/etc/snort

r3dluv# ee snort.conf

edit baris-baris berikut ini :

#var HOME_NET any

var HOME_NET 192.168.0.0/24 (sesuaikan dengan jaringan internal anda)

 

#var RULE_PATH ../rules

var RULE_PATH /usr/local/etc/snort

 

output database: log, mysql, user=snort password=snortnih dbname=snort host=localhost

 

r3dluv# ee /etc/rc.d/snort

edit baris-baris berikut ini :

#CONFIG=/usr/local/share/snort/snort.conf

CONFIG=/usr/local/etc/snort/snort.conf

 

SNORT_GID=snort

 

    • Konfigurasi Mysql

r3dluv# /usr/local/mysql/bin/mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 60 to server version: 4.1.22

 

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

 

mysql> create database snort;

mysql> grant insert,select on root.* to snort@localhost;

mysql> set password for snort@localhost=password(‘snortnih’);

mysql> grant create,select,insert,delete,update on snort.* to snort@localhost;

mysql> grant create,select,insert,delete,update on snort.* to snort;

mysql> flush privileges;

mysql> exit;

r3dluv# cd /tmp/src/snort-2.2.0/contrib

r3dluv# /usr/local/mysql/bin/mysql –u root –p snort < create_mysql

r3dluv# zcat snortdb-extra.gz | /usr/local/mysql/bin/mysql –p snort

r3dluv# /usr/local/mysql/bin/mysql –u root –p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 60 to server version: 4.1.22

 

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

 

mysql> show databases;

+———-+

| Database |

+———-+

| mysql    |

| snort    |

| test     |

+———-+

3 rows in set (0.00 sec)

 

mysql> use snort;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> show tables;

+——————+

| Tables_in_snort  |

+——————+

| acid_ag          |

| acid_ag_alert    |

| acid_event       |

| acid_ip_cache    |

| data             |

| detail           |

| encoding         |

| event            |

| flags            |

| icmphdr          |

| iphdr            |

| opt              |

| protocols        |

| reference        |

| reference_system |

| schema           |

| sensor           |

| services         |

| sig_class        |

| sig_reference    |

| signature        |

| tcphdr           |

| udphdr           |

+——————+

23 rows in set (0.01 sec)

 

mysql> exit;

>Bye

r3dluv# cd /tmp/src

 

    • Instal JPGraph

r3dluv# tar xzvf jpgraph-1.17.tar.gz –C /www/htdocs

r3dluv# cd /www/htdocs

r3dluv# mv jpgraph-1.17 jpgraph

r3dluv# cd jpgraph

r3dluv# rm –rf QPL.txt

r3dluv# rm –rf README

r3dluv# cd /tmp/src

 

    • Instal AdoDB

r3dluv# tar xzvf adodb411.tgz –C /www/htdocs

 

    • Instal Acid

r3dluv# tar xzvf acid-0.9.6b23.tar.gz –C /www/htdocs

r3dluv# cd /www/htdocs/acid

r3dluv# ee acid_conf.php

edit baris-baris berikut ini :

$DBlib_path = “/www/htdocs/adodb”;

 

$alert_dbname   = “snort”;

$alert_host     = “localhost”;

$alert_port     = “”;

$alert_user     = “snort”;

$alert_password = “snortnih”;

 

/* Archive DB connection parameters */

$archive_dbname   = “snort”;

$archive_host     = “localhost”;

$archive_port     = “”;

$archive_user     = “snort”;

$archive_password = “snortnih”;

 

$ChartLib_path = “/www/htdocs/jpgraph/src”;

 

r3dluv# cd /tmp/src

 

  • Selesai

Apabila semua tahap sudah terlaksana dengan baik tanpa ada kesalahan apapun, maka langkah yang selanjutnya adalah anda tinggal menyalakan beberapa service saja, service-service itu adalah :

 

Httpd

r3dluv# /etc/rc.d/httpd –k start

Mysql

r3dluv# /usr/local/mysql/bin/mysqld_safe –user=mysql &

Snort

r3dluv# snort –c /usr/local/etc/snort/snort.conf

 

Setelah semua service yang dibutuhkan menyala, yang perlu anda lakukan adalah buka browser anda dan arahkan ke alamat dimana anda menginstal snort, disini saya menggunakan http://192.168.0.5/acid . Setelah itu anda tinggal melakukan optimasi terhadap database snort anda. Ikuti saja langkah-langkahnya, tidak sulit ko.

Baiklah selesai sudah instalasi IDS-nya. Segala macam kekurangan mohon untuk dimaafkan. Kritik dan saran dari anda semua saya nantikan. Bye

 

Referensi :

1.      http://csrgblog.wordpress.com/2007/12/17/merakit-sistem-pencegahan-penyusupan/

2.      http://www.internetsecurityguru.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: