BAB 3
METODOLOGI
3.1
Diagram Alir Kerangka Berpikir Berikut adalah diagram alir kerangka berpikir dalam melakukan penelitian ini:
Gambar 3. 1 Diagram Alir Kerangka Berpikir
25
26
Dalam penelitian ini, dilakukan observasi di PT Triputra Agro Persada yang bertujuan untuk menemukan masalah yang dihadapi dengan cara melakukan interview pada tim network infrastucture. Langkah selanjutnya dilakukan pencarian solusi dari masalah yang dihadapi. Selanjutnya, solusi yang telah ditemukan didiskusikan dengan tim network infrastructure PT Triputra Agro Persada. Apabila solusi yang ditemukan sudah sesuai dengan kebutuhan perusahaan maka dapat dilakukan implementasi, jika solusi tidak sesuai maka akan dilakukan pencarian solusi yang baru. Setelah implementasi dilakukan, akan dilakukan evaluasi. Jika hasil implementasi sudah sesuai dengan kebutuhan perusahaan maka implementasi sudah berhasil, dan apabila hasil implementasi belum sesuai maka akan dilakukan perbaikan agar hasilnya sesuai dengan kebutuhan perusahaan. 3.2
Sistem yang Sedang Berjalan Implementasi Intrusion Detection System (IDS) dilakukan pada PT Triputra Agro Persada. Terdapat sistem yang sedang berjalan yaitu jaringan komputer yang berada di kantor pusat, spesifikasi komputer dan spesifikasi perangkat jaringan yang digunakan.
27
3.2.1 Jaringan Komputer pada Kantor Pusat Jakarta Berikut adalah topologi jaringan PT Triputra Agro Persada sebelum diterapkan Intrusion Detection System (IDS):
Gambar 3. 2 Topologi PT Triputra Agro Persada
Pada topologi di atas dapat dilihat bahwa semua paket yang akan masuk atau keluar dari sistem harus melalui firewall. Dapat dianalogikan bahwa firewall merupakan tembok pemisah antara internet dan sistem.Fungsi dari firewall adalah untuk memantau lalu lintas jaringan dan memisahkan antara jaringan yang terpercaya dan tidak terpercaya. Apabila firewall menganggap jaringan yang tidak terpercaya masuk ke dalam sistem, maka firewall akan mengalihkan user ke dalam DMZ (Demilitarized zone) server. Pada DMZ server, data yang tersedia bukan merupakan
data
konfidensial
perusahaan,
mendapatkan data-data konfidensial perusahaan.
sehingga
user
tidak
28
3.2.2
Spesifikasi Komputer yang Digunakan
a.
Laptop HP MT40 thin client
b.
PC HP T510 Flexible Thin Client
3.2.3 Spesifikasi Perangkat Jaringan yang Digunakan Perangkat jaringan yang digunakan pada PT Triputra Agro Persada, antara lain: a.
Cisco 2911 (Router Internet)
b.
Cisco 2811 (Router WAN)
c.
WS-C3750X (Core Switch)
d.
WS-C2960S (Switch DMZ)
e.
WS-C3560G (Server Farm Switch)
f.
WS-C2960 (Server Farm Switch)
g.
WS-C2960 (Akses Switch)
h.
HP MSM 710 (Akses Point Controller)
i.
HP MSM 430 (Akses Point)
j.
Fortigate-300C (Firewall)
3.3
Permasalahan yang Dihadapi Pada umumnya, perusahaan yang mempunyai kantor cabang sangat
membutuhkan keamanan jaringan komunikasi. Jaringan tersebut harus efisien dan terjamin keamanannya. Setiap pertukaran data yang masuk atau keluar dari sistem pasti melewati firewall, sedangkan firewall memiliki kelemahan yaitu tidak dapat memberikan peringatan kepada administrator apabila akan terjadi sebuah serangan. Firewall hanya mampu melakukan pencatatan (logging) dan blocking tanpa mampu melakukan deteksi apabila paket yang berisi serangan telah masuk ke dalam sistem.
29
3.4
Pemecahan Masalah Berikut adalah topologi jaringan PT Triputra Agro Persada setelah diterapkan Intrusion Detection System (IDS):
Gambar 3. 3 Topologi dengan IPS PT Triputra Agro Persada
Pada topologi di atas dapat dilihat bahwa Intrusion Prevention System (IPS) diletakkan di luar firewall, sehingga semua paket yang memasuki sistem dapat dicatat (logging) pada Intrusion Detection System (IDS). Setelah dilakukan pencatatan, Intrusion Detection System (IDS) memberikan peringatan kepada network administrator dengan mengirimkan e-mail apabila terdapat paket data yang mencurigakan. Di dalam Intrusion Detection System (IDS) terdapat rules yang akan digunakan sebagai dasar pencatatan (logging) serta alert yang dikirimkan kepada network administrator.
30
3.5
Perancangan Model Sistem Perancangan Intrusion Detection System (IDS) ini dibuat agar sistem menjadi lebih aman karena dapat mencatat dan memberikan peringatan kepada network administrator apabila terjadi serangan. Intrusion Detection System (IDS) diterapkan menggunakan program Snort dengan sistem operasi Linux Centos 5.8. Untuk menampilkan data yang telah dicatat (logging) dalam halaman website, menggunakan program BASE (Basic Analysis and Security Engine). Intrusion Detection System (IDS) dapat digunakan oleh network administrator untuk memantau lalu lintas jaringan melalui log yang telah dibuat. Selain itu, network administrator juga dapat melakukan perubahan terhadap default rules yang telah ditetapkan, sehingga rules dapat sesuai dengan keadaan sekarang.
31
3.6
Perancangan Diagram Alir Intrusion Detection System (IDS) Berikut adalah diagram alir proses Intrusion Detection System (IDS):
Gambar 3. 4 Diagram Alir Proses Intrusion Detection System (IDS)
Dapat dilihat pada diagram alir yang telah dibuat di atas bahwa Intrusion Detection System (IDS) melakukan scan terhadap lalu lintas jaringan yang memasuki sistem. Pada saat dilakukan scanning, Intrusion Detection System (IDS) secara otomatis akan mencatat paket data yang memasuki sistem. Selanjutnya, data yang ada akan dicocokan dengan rules yang telah ditetapkan oleh network administrator. Apabila data sesuai dengan rules yang telah ditetapkan maka Intrusion Detection System (IDS) akan menjalankan alerting system yang dimiliki.
32
Data yang terdiri dari waktu serangan, jenis serangan, source address serta destination address akan ditampilkan di website menggunakan software BASE (Basic Analysis and Security Engine). Hal yang tersebut tidak berlaku apabila pada saat melakukan pattern matching paket data yang memasuki sistem tidak memiliki pola yang sama dengan rules yang telah dibuat sebelumnya. Apabila pattern matching yang dilakukan tidak sesuai dengan rules yang ada, maka data tidak akan ditampilkan pada BASE (Basic Analysis and Security Engine), baik pada log maupun pengiriman alert kepada network administrator. Data akan ditampilkan secara real time apabila network administrator tidak melakukan shutdown pada komputer server dimana Intrusion Detection System (IDS) berjalan. Data juga tidak akan hilang dalam kurun waktu tertentu sampai network administrator menghapusnya. 3.7
Instalasi dan Konfigurasi software pendukung Intrusion Detection System Di dalam penelitian ini dibutuhkan instalasi dan konfigurasi software pendukung Intrusion Detection System (IDS). Software yang dibutuhkan adalah Snort dan Basic Analysis and Security Engine (BASE). 3.7.1
Snort Untuk melakukan instalasi pada Snort ada beberapa tahapan yang
harus dilakukan, antara lain: a.
Melakukan Instalasi paket-paket yang dibutuhkan untuk menjalankan
Snort #yum install mysql-bench mysql-devel php-mysql gcc php-gd gd glib2-devel gcc-c++ * yum digunakan untuk melakukan instalasi secara otomatis. Paket yang diinginkan secara otomatis dicari di internet untuk selanjutkan dilakukan instalasi. b.
Melakukan instalasi paket libcap, libpcap, dan pcre #yum install libcap* #yum install libpcap*
33
#yum install pcre* c.
Melakukan instalasi paket libdnet 1.12 #cd / #mkdir snort_install #cd snort_install #wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz #tar -zxvf libdnet-1.12.tgz #cd libdnet-1.12 #./configure #make #make install * cd digunakan untuk masuk ke dalam folder. ** mkdir digunakan untuk membuat folder baru. *** wget digunakan untuk melakukan download dari link yang sudah tersedia ****
tar–zxvjdigunakan
untuk
melakukan
ekstrak
file.
Mengembalikan file yang semula dalam keadaan terkompres menjadi file aslinya dengan cara membuka file yang terkompres tersebut. d.
Melakukan instalasi paket daq 2.0.0 #cd /snort_install #wget http://www.snort.org/downloads/2103 #tar -zxvf daq-2.0.0.tar.gz #cd daq-2.0.0 #./configure #make #makeinstall
e.
Melakukan instalasi snort versi 2.9.5.3 *download paket snort dari www.snort.org/downloads
#cd /snort_install #tar -zxvf snort-2.9.5.3.tar.gz
34
#cd snort-2.9.5.3 #./configure #make #makeinstall
f.
Mempersiapkan instalasi rules # groupadd snort # useradd -g snort snort -s /sbin/nologin # mkdir /etc/snort # mkdir /etc/snort/rules # mkdir /etc/snort/so_rules # mkdir /etc/snort/preproc_rules # mkdir /var/log/snort # chown snort:snort /var/log/snort # mkdir /usr/local/lib/snort_dynamicrules # cd /snort_install/snort-2.9.5.3/etc/ # cp * /etc/snort/ *groupadd digunakan untuk menambahkan grup baru di Centos 5.8 **useradd digunakan untuk menambahkan user baru di Centos 5.8 –g (gid GROUP) membuat user baru masuk ke dalam grup snort.– s(shell) membuat user dapat melakukan eksekusi pada command yang berhubungan dengan Operating System. ***chown digunakan untuk merubah kepemilikan file atau folder. ****cp digunakan untuk melakukan copy file atau folder ke tujuan yang telah ditetapkan.
g.
Melakukan download rules *download paket snort dari www.snort.org/downloads
#cd /snort_install #tar -zxvf snortrules-snapshot-2953.tar.gz #cd rules/
35
#cp * /etc/snort/rules #cp ../so_rules/precompiled/Centos-5-8/i386/2.9.5.3/* /etc/snort/so_rules #cp ../preproc_rules/* /etc/snort/preproc_rules/ h.
Melakukan perubahan pada file/etc/snort/snort.conf I.
Melakukan perubahan“var RULE_PATH ../rules” menjadi “var RULE_PATH /etc/snort/rules”.
II.
Melakukan
perubahan“var
SO_RULE_PATH
../so_rules”
menjadi“var SO_RULE_PATH /etc/snort/so_rules”. III.
Melakukan
perubahan“var
../preproc_rules”
menjadi
“var
PREPROC_RULE_PATH PREPROC_RULE_PATH
/etc/snort/preproc_rules” IV.
Membuat bagian “Reputation preprocessor” menjadi comment karena file whitelist belum ada dalam Snort
V.
Menemukan
bagian
“Configure
output
plugins”
dan
menambahkan baris pada akhir bagian“output unified2: filename snort.log, limit 128″ VI.
Mengetik“include classification.config” dan ”reference.config” di bawah “include $RULE_PATH/local.rules”
*output unified2: filename snort.log, limit 128 digunakan agar log ditampung dalam snort.log. Setiap log memiliki maksimal 128 karakter. Digunakan unified2 agar dapat mendukung logging dengan ipv6. i.
Melakukan instalasi paket Barnyard 2 #cd /snort_install #wget
http://www.securixlive.com/download/barnyard2/barnyard2-
1.9.tar.gz #tar -zxvf barnyard2-1.9.tar.gz #cd barnyard2-1.9 #./configure #./configure --with-mysql-libraries=/usr/lib64/mysql/ #make #make install
36
#cp etc/barnyard2.conf /etc/snort/ #mkdir /var/log/barnyard2 #chmod 666 /var/log/barnyard2 #touch /var/log/snort/barnyard2.waldo
*chmod digunakan untuk mengubah hak akses padafile atau folder. ** touch digunakan untuk melakukan update dan modifikasi setiap ada file terbaru. j.
Melakukan pengaturan MySQL Database #echo "SET PASSWORD FOR root@localhost=PASSWORD('tap123');"| mysql -u root -p #echo "create database snort;"| mysql -u root -p #cd /snort_install/barnyard2-1.9 #mysql -u root -p -D snort < schemas/create_mysql #echo "grant create, insert on root.* to snort@localhost;" | mysql -u root -p #echo "SET PASSWORD FOR snort@localhost=PASSWORD('tap123');" mysql -u root -p #echo "grant create,insert,select,delete,update on snort.* to snort@localhost" | mysql -u root –p * mysql –u (user=name) digunakan untuklogin user –p (password) digunakan untuk melakukan set password –D (database=name) digunakan untuk memberikan nama database yang akan dipakai
k.
Melakukan perubahan pada file/etc/snort/barnyard2.conf I.
Melakukan perubahan “config hostname: thor” menjadi “config hostname: localhost”
II.
Melakukan perubahan“config interface: eth0″ menjadi “config interface: eth1″
III.
Menambahkan baris pada akhir file “output database: log, mysql, user=snort host=localhost”
password=yourpassword
dbname=snort
37
l.
Melakukan testing #/usr/local/bin/snort -u snort -g snort -c /etc/snort/snort.conf -i eth1 Apabila terdapat tulisan “Initialization Complete” dapat dipastikan Snort sudah dapat berjalan dengan baik.
3.7.2
BASE (Basic Analysis and Security Engine) Setelah berhasil melakukan instalasi Snort, maka selanjutnya yang
akan dilakukan adalah melakukan instalasi software BASE (Basic Analysis and Security Engine). Untuk melakukan instalasi ini ada beberapa langkah yang harus dilakukan, antara lain: a. Melakukan instalasi ADODB: #wget http://sourceforge.net/projects/adodb/files/adodb-php5only/adodb-511-for-php5/adodb511.tgz/download #cd /var/www #tar -xvzf adodb-511.tgz #mv adodb5/ adodb #make #makeinstall *mv digunakan untuk memindahkan file atau folder ke tujuan yang telah ditetapkan b. Melakukan instalasi BASE: #wget http://sourceforge.net/projects/secureideas/files/BASE/base1.4.5/base-1.4.5.tar.gz/download #cd /snort_install #tar -xvzf base-1.4.5.tar.gz #mv base-1.4.5.tar.gz base/ #make #makeinstall
38
c. Melakukan setting pada software BASE (Basic Analysis and Security Engine) dilakukan dengan cara menuliskan alamat ip server dan menambahkan “/base” pada akhir kolom address bar. Misalnya: http://127.0.0.1/base
Gambar 3. 5 Setting BASE 1
Pada gambar 3.5 dapat dilihat bahwa konfigurasi dari BASE dapat dirubah. Dapat juga dilihat versi dan logging level dari PHP yang digunakan.
39
Gambar 3. 6 Setting BASE 2
Pada gambar 3.6 dapat dilihat bahwa bahasa yang digunakan pada BASE adalah bahasa inggris dan path dari ADODB berada pada /var/www/adodb. Path ADODB digunakan untuk menyambungkan BASE dengan ADODB.
40
Gambar 3. 7 Setting BASE 3
Pada gambar 3.7 digunakan untuk melakukan perubahan database maupun archive database. Data yang dapat dirubah, antara lain: name, host, port, username dan password.
41
Gambar 3. 8 Setting BASE 4
Pada gambar 3.8 digunakan untuk melakukan perubahan data BASE administrator.
Gambar 3. 9 Setting BASE 5
Pada gambar 3.9 digunakan untuk menghubungkan tabel database yang sudah dibuat sebelumnya pada MySQL dengan BASE.