T1 672008233 BAB III

(1)

39

BAB 3

Metode dan Perancangan Sistem

3.1.

Kebutuhan Sistem

Dalam penelitian ini membutuhkan beberapa perangkat-perangkat, rincian perangkat-perangkat yang digunakan dalam penelitian ditampilkan beserta spesifikasi dalam Tabel 3.1:

Tabel 3.1. Spesifikasi Perangkat yang Digunakan

PERANGKAT SPESIFIKASI KETERANGAN

Komputer 1

 Processor

 RAM

 Harddisk

 OS

Intel Core i5, 2.53 Ghz 2 GB

500 GB Windows 7 32-bit

Komputer yang digunakan untuk implementasi IDS dan web server. Komputer 2  Processor  RAM  Harddisk  OS

Dual-Core, 2.30 Ghz 1 GB

250 GB Windows 7 32-bit

Komputer yang dipakai untuk pengujian dengan melakukan intrusi pada komputer 1.

Software WinPcap Library yang dipergunakan Snort untuk menampilkan kartu jaringan yang ada pada komputer.


(2)

Snort 2.9.2.2

RuleHeader

Rule Payload

Perangkat yang gigunakan sebagai IDS untuk mengidentifikasi intrusi berdasarkan sumber data header

dan payload .

Rule untuk Snort IDS. Perangkat IDS untuk mengidentifikasi paket data berdasarkan sumber data header.

Rule untuk Snort IDS. Perangkat IDS untuk

mengidentifikasi paket data berdasarkan sumber data


(3)

3.2.

Tahapan Penelitian

Penelitian dilakukan dalam beberapa tahap, yaitu: pengumpulan bahan dan referensi yang mendukung penelitian, dilanjutkan dengan perancangan dan konfigurasi jaringan yang dipakai, kemudian dilanjutkan dengan instalasi dan konfigurasi Snort IDS yang akan digunakan untuk mengidentifikasi intrusi berdasarkan header dan payload, membuat rules untuk Snort IDS agar dapat berfungsi dengan benar sesuai dengan sumber data yang akan diteliti, instalasi web server untuk pengujian, menguji IDS dengan melakukan serangan dan melakukan analisis.

Jaringan yang digunakan dalam penelitian adalah jaringan dengan arsitektur client/server yang diimplementasikan dengan konsep Snort Host-Based IDS dengan skema seperti ditunjukkan pada Gambar 3.1.


(4)

Keterangan Gambar 3.1:

- Komputer 1 (IDS) : perangkat tempat diletakkannya Snort IDS - IDS 1 : merupakan Snort IDS yang menggunakan konfigurasi

snort-header.conf dengan rulesheader.

- IDS 2 : merupakan Snort IDS yang menggunakan dikonfigurasi snort-payload.conf dengan rules payload.

- Komputer 2 (Intruder) : merupakan perangkat yang digunakan untuk melakukan intrusi ke komputer 1

Pengujian dilakukan setelah konfigurasi selesai untuk mengumpulkan data untuk analisa dan pengambilan kesimpulan. Adapun tahapan penelitian dari langkah-langkah penelitian tersebut digambarkan pada Gambar 3.2.


(5)

Gambar 3.2 Tahapan Penelitian

Tidak

Ya Mulai

Pengumpulan bahan

Perancangan dan konfigurasi

Evaluasi konfigurasi

Pengujian simulasi

Data lengkap ?

Membandingkan hasil deteksi antara IDS header dan IDS payload

Penulisan Laporan


(6)

Data tersebut dianggap lengkap apabila hasil peringatan Snort IDS telah didapatkan setelah melalui pengujian dengan cara melakukan intrusi. Langkah akan diulang dari evaluasi konfigurasi untuk memperbaiki kesalahan jika hasil peringatan belum didapatkan.

Langkah perancangan, konfigurasi dan pengujian Snort IDS merupakan proses yang lebih kompleks dibandingkan langkah lainnya, sehingga langkah-langkah tersebut dapat digambarkan pada Gambar 3.3.


(7)

Gambar 3.3 Diagram Alir Perancangan dan Pengujian

Pengujian simulasi serangan

Ya Snort berjalan ?

Ya

Pengujian running proses

Tidak

Mulai

Instalasi software pendukung

Instalasi Snort

Konfigurasi Snort header Konfigurasi Snort payload

Konfigurasi rule Snort

Serangan terdeteksi ?

Tida kk


(8)

Berdasarkan diagram alir pada Gambar 3.3 dapat diuraikan langkah-langkah yang dilakukan selama perancangan, konfigurasi dan pengujian sistem IDS Snort. Penjabaran dari langkah-langkah tersebut adalah :

3.2.1. Instalasi Software Pendukung

Software pendukung yang dibutuhkan agar Snort IDS dapat berjalan adalah WinPcap (Windows Packet Capture Library) adalah driver

untuk penangkap paket-paket yang hilir-mudik dalam jaringan. Sedara fungsional, artinya WinPcap menangkap paket-paket dari kabel jaringan dan melemparnya ke program Snort.

Berikut fungsi-fungsi dari WinPcap untuk Snort:

- Menangkap daftar adapter jaringan yang beroperasi dan sekaligus mengambil informasi tentang adapter-adapter tersebut.

- Mengawasi paket-paket menggunakan salah satu adapter yang kita pilih.

- Menyimpan paket-paket ke dalam hard-drive (atau lebih penting lagi, meneruskannya ke program Snort).

Instalasi dan konfigurasi WinPcap sebagai berikut: 1. Downloadfile instalasi WinPcap terkini dari:

http://www.winpcap.org/

file instalasi biasanya bernama seperti WinPcap_4_0_2.exe. 2. Klik ganda file instalasi tersebut dan ikut petunjuk instalasi yang

diberikan.

WinPcap menginstal dirinya sendiri ke lokasi yang telah ditetapkan secara default.


(9)

Snort akan memanggil WinPcap secara langsung pada semua fungsi untuk menangkap dan menganalisis paket-paket jaringan. Ini artinya jika driver tersebut tidak terinstal dengan benar maka Snort tidak akan berfungsi.

3.2.2. Instalasi Snort

Snort.org menyediakan paket instalasi yang cocok untuk versi Windows, yang dapat kita download dari link: http://www.snort.org/downloads/

Download paket Snort ini (umumnya bernama seperti Snort_2_9_2_2_Installer.exe) dan lakukan langkah-langkah seperti menginstal program pada umumnya. Dalam memilih direktori untuk menginstal pilih direktori menyimpan semua aplikasi yang berkaitan dengan Snort di dalam direktori yang sama pada drive C:\(partisi data penulis).

3.2.3. Proses Konfigurasi Snort

Instalasi Snort memerlukan beberapa konfigurasi penting. Snort memberi file yang telah memiliki semua seting konfigurasi yang dibutuhkan (Snortpath adalah path tempat instalasi Snort) yaitu file sonrt.conf, karena penulis akan mengidentifikasi intrusi berdasarkan dua sumber data yaitu header dan payload maka konfigurasi Snort dalam direktori C:\Snort\etc dibuat dua konfigurasi yaitu snort-header.conf dan snort-payload.conf.

Untuk mengkonfigurasi Snort, buka file snort-header.conf dan snort-payload.conf dengan text editor (Notepad++/Notepad), disini


(10)

penulis menggunakan Notepad++ sebab jika menggunakan Notepad, kemungkinan besar konten file tersebut akan terlihat tidak beraturan.

Gambar 3.4 Tampilan File snort.conf

Gambar 3.4 merupakan tampilan konten pada snort.conf. File snort.conf ini merupakan rangkaian pernyataan-pernyataan berupa opsi-opsi untuk mengkonfigurasi Snort.

Berikut ini adalah opsi-opsi konfigurasi yang sangat penting untuk berfungsinya instalasi Snort :


(11)

1. Seting-seting jaringan

Seting-seting jaringan dalam Snort berguna untuk memonitoring IP-IP address, seperti semua range IP address jaringan, IP address tunggal, beberapa IP address tertentu secara berkelompok atau terpisah, dan seluruh subnet yang dimiliki. Untuk mengontrol range jaringan, cukup mengganti seting var Home_NET pada snort.conf.

Secara default, snort.conf memiliki baris berikut, yang memonitoring seluruh jaringan lokal.

var HOME_NET any

Pada penelitian ini penulis menggunakan setingan default ini untuk menangkap seluruh paket yang lewat pada jaringan lokal yang akan dianalisis.

2. Seting rulebase

Agar Snort bisa mendeteksi serangan dan memperingatkan saat ada intrusi, Snort perlu mengetahui letak rulebase yang digunakan. Secara default, rulebase terdapat di bawah direktori C:\Snort\rules.

Untuk mengeset path rule di dalam file snort-header.conf dan snort-payload.conf, ganti baris var RULE_PATH yang ada dengan format seperti berikut :

Var RULE_PATH C:\Snort\rules 3. Seting output

Seting output sangatlah penting pada Snort, di mana setingan ini merinci tentang bagaimana informasi dari Snort akan disajikan. Seting output alert ditambahkan ke dalam file konfigurasi snort.conf. File ini juga akan sangat membantu untuk


(12)

memberikan log yang kemudian akan dianalisis. Langkah-langkah untuk mengeset seting outputalert sebagai berikut : - Temukan baris output, secara default seperti ini:

# output log_tcpdump : tcpdump.log

Karena baris default diawali dengan karakter komentar (#), yang berarti Snort mengabaikan perintah ini. Karakter # tersebut dihapus, agar Snort menjalankan perintah ini.

- Mengubah baris default output ke:

Output alert_fast : alert.ids

Seting ini akan membuat file teks ke dalam direktori „log‟ di

mana Snort membubuhkan tiap peringatan (alert) yang dibuat saat salah satu dari rule-rule dipicu oleh paket jaringan yang lewat.

File ini yang akan penulis gunakan untuk dianalisis dari segi

header dan payload yang dianggap sebagai intrusi oleh rule

Snort.

4. Seting include

Dua file konfigurasi standar Snort haruslah diedit agar Snort bisa dengan benar mengklasifikasikan dan membagi referensi pada alert-alert yang dibuat : classification.config dan reference.config. File classification.config menangani level alert

bagi rules yang digunakan Snort untuk memonitor trafik-trafik jaringan. Untuk mengeset file classification.config pada file

konfigurasi snort.conf, berikut langkah-langkahnya :

- Temukan baris default include classification.config pada file snort.conf.

- Masukkan path aktual untuk file classification.config ke awal baris Include


(13)

Include Snortpath\etc\classification.config

Pada penelitian ini, file snort.conf yang actual pada sistem yang dibuat menggunakan baris :

Include C:\Snort\etc\classification.config

3.2.4. Konfigurasi RuleSnort

File – file rule snort diletakkan pada direktori C:\Snort\rules. Yaitu header.rules dan payload.rules yang merupakan rule khusus yang digunakan untuk pengujian system. Rule khusus tersebut yang digunakan untuk pengujian yang direncanakan ditunjukkan pada Gambar 3.5 dan Gambar 3.6.

Gambar 3.5 File header.rules untuk Snort Header


(14)

3.2.5. Pengujian Sistem IDS Snort

Serangan keamanan yang sering terjadi sebagai bagian untuk melakukan intrusi terhadap suatu sistem dapat berupa port scaning, ping of death, brute force attack, SQL Injection. Oleh karena itu, dibutuhkan IDS yang mampu mendeteksi intrusi dan menghasilkan

alert yang baik. Sehingga dalam penelitian ini pengujian sistem Snort IDS menggunakan Snort IDS yang mendeteksi berdasarkan

header dan Snort IDS yang mendeteksi berdasarkan payload

dilakukan dengan melakukan serangan ke komputer 1 yang berfungsi sebagai server dan tempat diletakkannya Snort IDS.

1. Pengujian 1: Ping of death

Pengujian ini dilakukan sebagai simulasi serangan yang bermaksud membanjiri server dengan request dari client dengan paket data ukuran besar yang dapat menyebabkan server kehabisan sumberdaya untuk membalas request client. Simulasi ping of death pada pengujian ini dilakukan menggunakan ping ke komputer 1 dengan IP Address 192.168.1.112, dengan paket data sebesar 10000 bytes dari komputer intruder untuk mendapatkan reply dari komputer 1. Perintah yang diberikan pada command prompt komputer

intruder adalah ping 192.168.1.112 –l 10000 –t. 2. Pengujian 2: Simulasi brute force attack

Pengujian ini dilakukan sebagai simulasi serangan yang bermaksud mendapatkan password. Brute force attack

merupakan sebuah teknik serangan terhadap sebuah sistem keamanan komputer yang menggunakan percobaan terhadap


(15)

semua password yang memungkinkan atau bias juga disebut menggunakan random password/ password acak. Pendekatan ini pada awalnya merujuk pada sebuah program komputer yang mengandalkan kekuatan pemrosesan komputer debandingkan kecerdasan manusia.

Simulasi brute force attack pada penelitian ini menggunakan

hydra sebagai program komputer untuk memperoleh password

dan XAMPP sebagai web server yang menggunakan wordpress blog testing yang memiliki fungsi login untuk kemudian dilakukan percobaan login menggunakan hydra dengan mengetikkan perintah hydra -L usernames.txt -P passwords.txt -o result.txt -s 80 192.168.1.112 http-post-form "/wordpress/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=1:ERROR" pada command prompt komputer intruder.

3. Pengujian 3: Simulasi SQL Injection

Teknik SQL Injection saat ini sering dilakukan dalam serangan keamanan untuk mendapatkan akses, terutama pada web berbasis php-MySQL. Teknik ini dilakukan dengan memberikan kode-kode khusus dalam bahasa MySQL terhadap masukan yang diminta oleh sebuah halaman web, agar server memberikan informasi yang tidak seharusnya.

Pengujian simulasi ini dilakukan terhadap halaman login web wordpress yang terletak pada server, dengan memasukkan kode-kode khusus baik pada URL maupun pada form login halaman web wordpress. Pada URL kode-kode khusus itu seperti


(16)

user_login='hacker',user_pass='$P$BgYClM.CPc8l.ezpocafk66S REBahW/',user_nicename='HACKER',user_email='[email protected]',us er_url='',

user_registered='',user_activation_key='',user_status=0,display_n ame='HACKER';&order=ASc kode ini berfungsi untuk membuat user login “hacker” dan password “admin”. Adapun kode-kode yang dimasukkan ke dalam form login tersebut adalah:

a) ' OR 1=1;

b) abc' UNION ALL SELECT 1 AS ID, 'hacker' AS user_login, '$P$BgYClM.CPc8l.ezpocafk66SREBahW/' AS user_pass, 'HACKER' AS user_nicename,'[email protected]' AS user_email,'' AS user_url,'' user_registered,'' AS user_activation_key,0 AS user_status,'HACKER' AS display_name FROM wp_users;

Snort IDS kemudian akan memeriksakan transfer data yang melewati perangkat jaringan komputer 1 pada port-port layanan http, sehingga dapat membandingkan content-content dari data tersebut dengan rule Snort yang ada, kemudian dapat menentukan apakah transaksi data tersebut merupakan sebuah serangan atau tidak. Apabila konten transaksi data dianggap sebagai sebuah serangan maka Snort akan memberikan peringatan.

4. Pengujian 4: Port scaning

Pengujian 4 dilakukan dengan melakukan eksploitasi server dengan menggunakan tool BluePortScanner, yaitu aplikasi yang berguna untuk mendapatkan informasi dari server. Informasi yang diinginkan adalah port-port yang terbuka pada server. Pihak


(17)

penyerang dalam simulasi ini adalah komputer 2 dengan IP Address 192.168.1.100 dengan target komputer 1 dengan IP Address 192.168.1.112.


(1)

memberikan log yang kemudian akan dianalisis. Langkah-langkah untuk mengeset seting outputalert sebagai berikut : - Temukan baris output, secara default seperti ini:

# output log_tcpdump : tcpdump.log

Karena baris default diawali dengan karakter komentar (#), yang berarti Snort mengabaikan perintah ini. Karakter # tersebut dihapus, agar Snort menjalankan perintah ini.

- Mengubah baris default output ke:

Output alert_fast : alert.ids

Seting ini akan membuat file teks ke dalam direktori „log‟ di

mana Snort membubuhkan tiap peringatan (alert) yang dibuat saat salah satu dari rule-rule dipicu oleh paket jaringan yang lewat.

File ini yang akan penulis gunakan untuk dianalisis dari segi header dan payload yang dianggap sebagai intrusi oleh rule Snort.

4. Seting include

Dua file konfigurasi standar Snort haruslah diedit agar Snort bisa dengan benar mengklasifikasikan dan membagi referensi pada alert-alert yang dibuat : classification.config dan reference.config. File classification.config menangani level alert bagi rules yang digunakan Snort untuk memonitor trafik-trafik jaringan. Untuk mengeset file classification.config pada file konfigurasi snort.conf, berikut langkah-langkahnya :

- Temukan baris default include classification.config pada file snort.conf.

- Masukkan path aktual untuk file classification.config ke awal baris Include


(2)

Include Snortpath\etc\classification.config

Pada penelitian ini, file snort.conf yang actual pada sistem yang dibuat menggunakan baris :

Include C:\Snort\etc\classification.config

3.2.4. Konfigurasi RuleSnort

File – file rule snort diletakkan pada direktori C:\Snort\rules. Yaitu header.rules dan payload.rules yang merupakan rule khusus yang digunakan untuk pengujian system. Rule khusus tersebut yang digunakan untuk pengujian yang direncanakan ditunjukkan pada Gambar 3.5 dan Gambar 3.6.

Gambar 3.5 File header.rules untuk Snort Header


(3)

3.2.5. Pengujian Sistem IDS Snort

Serangan keamanan yang sering terjadi sebagai bagian untuk melakukan intrusi terhadap suatu sistem dapat berupa port scaning, ping of death, brute force attack, SQL Injection. Oleh karena itu, dibutuhkan IDS yang mampu mendeteksi intrusi dan menghasilkan alert yang baik. Sehingga dalam penelitian ini pengujian sistem Snort IDS menggunakan Snort IDS yang mendeteksi berdasarkan header dan Snort IDS yang mendeteksi berdasarkan payload dilakukan dengan melakukan serangan ke komputer 1 yang berfungsi sebagai server dan tempat diletakkannya Snort IDS.

1. Pengujian 1: Ping of death

Pengujian ini dilakukan sebagai simulasi serangan yang bermaksud membanjiri server dengan request dari client dengan paket data ukuran besar yang dapat menyebabkan server kehabisan sumberdaya untuk membalas request client. Simulasi ping of death pada pengujian ini dilakukan menggunakan ping ke komputer 1 dengan IP Address 192.168.1.112, dengan paket data sebesar 10000 bytes dari komputer intruder untuk mendapatkan reply dari komputer 1. Perintah yang diberikan pada command prompt komputer intruder adalah ping 192.168.1.112 –l 10000 –t.

2. Pengujian 2: Simulasi brute force attack

Pengujian ini dilakukan sebagai simulasi serangan yang bermaksud mendapatkan password. Brute force attack merupakan sebuah teknik serangan terhadap sebuah sistem keamanan komputer yang menggunakan percobaan terhadap


(4)

semua password yang memungkinkan atau bias juga disebut menggunakan random password/ password acak. Pendekatan ini pada awalnya merujuk pada sebuah program komputer yang mengandalkan kekuatan pemrosesan komputer debandingkan kecerdasan manusia.

Simulasi brute force attack pada penelitian ini menggunakan hydra sebagai program komputer untuk memperoleh password dan XAMPP sebagai web server yang menggunakan wordpress blog testing yang memiliki fungsi login untuk kemudian dilakukan percobaan login menggunakan hydra dengan mengetikkan perintah hydra -L usernames.txt -P passwords.txt -o result.txt -s 80 192.168.1.112 http-post-form "/wordpress/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=1:ERROR" pada command prompt komputer intruder.

3. Pengujian 3: Simulasi SQL Injection

Teknik SQL Injection saat ini sering dilakukan dalam serangan keamanan untuk mendapatkan akses, terutama pada web berbasis php-MySQL. Teknik ini dilakukan dengan memberikan kode-kode khusus dalam bahasa MySQL terhadap masukan yang diminta oleh sebuah halaman web, agar server memberikan informasi yang tidak seharusnya.

Pengujian simulasi ini dilakukan terhadap halaman login web wordpress yang terletak pada server, dengan memasukkan kode-kode khusus baik pada URL maupun pada form login halaman web wordpress. Pada URL kode-kode khusus itu seperti


(5)

user_login='hacker',user_pass='$P$BgYClM.CPc8l.ezpocafk66S REBahW/',user_nicename='HACKER',user_email='[email protected]',us er_url='',

user_registered='',user_activation_key='',user_status=0,display_n ame='HACKER';&order=ASc kode ini berfungsi untuk membuat user login “hacker” dan password “admin”. Adapun kode-kode yang dimasukkan ke dalam form login tersebut adalah:

a) ' OR 1=1;

b) abc' UNION ALL SELECT 1 AS ID, 'hacker' AS user_login, '$P$BgYClM.CPc8l.ezpocafk66SREBahW/' AS user_pass, 'HACKER' AS user_nicename,'[email protected]' AS user_email,'' AS user_url,'' user_registered,'' AS user_activation_key,0 AS user_status,'HACKER' AS display_name FROM wp_users; Snort IDS kemudian akan memeriksakan transfer data yang melewati perangkat jaringan komputer 1 pada port-port layanan http, sehingga dapat membandingkan content-content dari data tersebut dengan rule Snort yang ada, kemudian dapat menentukan apakah transaksi data tersebut merupakan sebuah serangan atau tidak. Apabila konten transaksi data dianggap sebagai sebuah serangan maka Snort akan memberikan peringatan.

4. Pengujian 4: Port scaning

Pengujian 4 dilakukan dengan melakukan eksploitasi server dengan menggunakan tool BluePortScanner, yaitu aplikasi yang berguna untuk mendapatkan informasi dari server. Informasi yang diinginkan adalah port-port yang terbuka pada server. Pihak


(6)

penyerang dalam simulasi ini adalah komputer 2 dengan IP Address 192.168.1.100 dengan target komputer 1 dengan IP Address 192.168.1.112.