SISTEM PENGAMANAN DAN PELAPORAN INTRUSI DARI SERANGAN WEB SERVER MENGGUNAKAN MODSECURITY.

SISTEM PENGAMANAN DAN PELAPORAN INTRUSI DARI
SERANGAN WEB SERVER MENGGUNAKAN
MODSECURITY

SKRIPSI

Disusun Oleh :

Aditya Noor Sandy
1034010079

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
2014

LEMBAR PENGESAHAN

SISTEM PENGAMANAN DAN PELAPORAN INTRUSI DARI
SERANGAN WEB SERVER MENGGUNAKAN

MODSECURITY

Disusun oleh :

ADITYA NOOR SANDY
1034010079
Telah disetujui mengikuti Ujian Negara Lisan
Gelombang II Tahun Akademik 2014 / 2015

Pembimbing I

Pembimbing II

Henni Endah W., S.T, M.Kom
NPT. 376091303481

I Made Suartana, S.Kom, M.Kom
NIP. 196111101991032001

Mengetahui,

Ketua Program Studi Teknik Informatika
Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur

Budi Nugroho S.Kom, M.Kom
NPT. 3 8009 050 205 1

SKRIPSI
SISTEM PENGAMANAN DAN PELAPORAN INTRUSI DARI
SERANGAN WEB SERVER MENGGUNAKAN
MODSECURITY
Disusun Oleh :

ADITYA NOOR SANDY
1034010079
Telah dipertahankan dan diterima oleh Tim Penguji Skripsi
Program Studi Teknik Informatika Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur
Pada Tanggal 23 Desember 2014
Pembimbing :

1.

Tim Penguji :
1.

Henni Endah W., S.T, M.Kom.
NPT. 3 7609 13 0348 1

Wahyu Syaifullah J S., S.Kom, M.Kom
NPT. 3 8610 10 0296 1

2.

2.

I Made Suartana, S.Kom, M.Kom.

Henni Endah W., S.T, M.Kom.

NIP. 196111101991032001


NPT. 3 7609 13 0348 1
3.

I Gede Susrama, S.T, M.Kom.
NIP. 3 7006 06 0211 1
Mengetahui,
Dekan Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur

Ir. Sutiyono, MT.
NIP. 19600713 198703 1001

YAYASAN KESEJ AHTERAAN PENDIDIKAN DAN PERUMAHAN
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI

KETERANGAN REVISI
Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut :
Nama


: ADITYA NOOR SANDY

NPM

: 1034010079

Jurusan

: Teknik Informatika

Telah mengerjakan revisi / tidak ada revisi*) pra rencana (design) / skripsi ujian
lisan gelombang II , TA 2014/2015 dengan judul:
“ SISTEM

PENGAMANAN DAN PELAPORAN INTRUSI DARI

SERANGAN WEB SERVER MENGGUNAKAN MODSECURITY"
Surabaya, 2 Januari 2015
Dosen Penguji yang memeriksa revisi

1)

Wahyu Syaifullah JS., S.Kom, M.Kom.
NPT. 3 8608 10 0295 1

{

}

2)

Henni Endah W., S.T, M.Kom.
NPT. 3 7809 13 0348 1

{

}

3)


I Gede Susrama, S.T, M.Kom.
NIP. 3 7006 06 0211 1

{

}

Mengetahui,
Dosen Pembimbing
Pembimbing I

Pembimbing II

Henni Endah W., S.T, M.Kom
NPT. 37809 13 0348 1

I Made Suartana, S.Kom, M.Kom.
NIP. 11 3111 984

Judul


: SISTEM PENGAMANAN DAN PELAPORAN
INTRUSI DARI SERANGAN WEB SERVER
MENGGUNAKAN MODSECURITY

Pembimbing I

: Henni Endah W., S.Kom, M.Kom

Pembimbing II

: I Made Suartana, S.Kom, M.Kom

Penyusun

: Aditya Noor Sandy

ABSTRAK
Perkembangan jaringan berbasis web sekarang ini, banyak jenis sumber
daya dan layanan yang disediakan oleh internet popular saat ini, seperti eshopping, transaksi bisnis dan industri game online. Namun, dengan kenyamanan

dan fasilitas ini, semakin banyak bahaya yang mengintai dan memicu
perkembangan serangan web semakin pesat.
Dalam penelitian ini diimplementasikan sebuah system yang dapat
mengatasi meningkatkan keamanan web secara efektif dengan menggunakan Web
Application Firewall (WAF) yang berbasis aplikasi dalam bentuk modul web
server dengan menggunakan metode rule base detection untuk mengatasi jenis
serangan Sql Injection dan XSS terhadap web server serta mengimplementasikan
sistem pelaporan intrusi menggunakan Jwall Auditconsole.
Dalam 10 kali uji coba serangan menggunakan 4 teknik serangan dengan
dua scenario tanpa Waf dan menggunakan Waf didapatkan hasil yang menunjukan
system dapat menangkal semua uji coba serangan dan mengenali serta melaporkan
serangan dengan benar. Dengan ini didapatkan kesimpulan, sistem dapat
meningkatan keamanan web dengan menangkal intrusi Sql Injection Dan XSS
serta memberikan alert serangan kepada administrator web sehingga terbentuk
interaksi yang baik antara system keamanan web dengan web administrator.
Kata Kunci : Web Application Firewall, Serangan Web, Modsecurity

KATA PENGANTAR

Dengan memanjatkan puji dan syukur atas Kehadirat Allah SWT atas segala

rahmat, taufiq, serta Hidayah-Nya sehingga penyusun dapat menyelesaikan tugas
akhir ini.
Tugas ini untuk memenuhi persyaratan untuk menempuh ujian sarjana pada
Fakultas Teknologi Industri Program Studi Sistem Informasi Universitas
Pembangunan Nasional “Veteran” Jawa Timur. Laporan ini disusun berdasarkan
data – data yang diperoleh dan analisa yang dilakukan dengan judul “Sistem
Pengamanan dan Pelaporan Intrusi dari Serangan Web Server Menggunakan
Modsecurity”
Dengan selesainya Tugas Akhir ini, tak lupa penyusun mengucapkan terima kasih
yang sebesar – besarnya, pada :
1.

Allah SWT, Terimakasih atas Rahmat dan HidayahNya

2.

Ibu dan Bapak saya yang telah banyak memberikan dukungan moril dan

materiil.
3.


Bpk. Budi Nugroho, S.Kom, M.Kom. selaku Ketua Program Studi Sistem

Informasi FTI Universitas Pembangunan Nasional “Veteran” Jawa Timur, saya
ucapkan terimakasih atas izin dan segala akses kemudahan yang diberikan selama
pengerjaan tugas akhir berlangsung.
4.

Bapak I Made Suartana, S.Kom, M.Kom dan Ibu Henni Endah W., S.T,

M.Kom Selaku dosen pembibing yang selalu mendampingi saya, memberi ilmu
dan arahan serta banyak membantu saya selama pengerjaan tugas akhir ini.
Mohon maaf apabila ada tindakan maupun perkataan saya yang kurang berkenan
di hati bapak dan Ibu. terimakasih banyak atas saran, nasehat, dan ilmu yang
sudah diberikan kepada saya, semoga bermanfaat dimasa mendatang.
5.

Seluruh dosen dan staf jurusan Teknik Informatika Universitas

Pembangunan Nasional “Veteran” Jawa Timur yang telah banyak memberi ilmu,
dukungan, bantuan, serta pengalaman yang akan sangat berguna bagi masa depan
saya.
6.

Bapak Ir. Sutiyono, MT selaku dekan Fakultas Teknologi Industri

7.

Teman-teman Mahasiswa Teknik Informatika, sahabat - sahabat saya

Heru, Affan, dan sahabat kost seperjuangan yang turut memberi masukkan dan
dukungan, Suwun rek!!.
8.

Dan semua pihak yang tidak dapat saya sebutkan satu persatu yang telah

membantu dalam penyusunan sampai terselesaikannya tugas akhir ini.
Penyusun menyadari bahwa tugas akhir ini masih banyak kekurangan, oleh karena
itu saran dan kritik yang membangun akan penyusun terima dengan lapang dada.
Akhir kata semoga laporan ini dapat memberikan manfaat bagi semua pihak yang
berkepentingan dan Allah SWT memberikan balasan kepada semua pihak yang
telah memberikan bantuan.

Surabaya, 15 Desember 2014

DAFTAR ISI

Kata Pengantar ................................................................................................................ ii
Daftar Isi........................................................................................................................ iii
Daftar Gambar ............................................................................................................... vi
Daftar Tabel .................................................................................................................... x
BAB I - Pendahuluan ..................................................................................................... 1
1.1 Latar Belakang .................................................................................................... 1
1.2 Rumusan Masalah .............................................................................................. 3
1.3 Batasan Masalah ................................................................................................. 4
1.4 Tujuan ................................................................................................................. 4
1.5 Manfaat ............................................................................................................... 4
1.6 Sistematika Penulisan .......................................................................................... 5
BAB II - Tinjauan Pustaka .............................................................................................. 8
2.1 Peneliti Terdahulu ............................................................................................... 8
2.2 Website ............................................................................................................... 9
2.2.1 Sejarah Website ............................................................................................. 9
2.3 Web Server ....................................................................................................... 11
2.3.1 Serangan Website ....................................................................................... 12
2.4 Database ........................................................................................................... 22
2.5 Firewall ............................................................................................................ 24
2.6 Host Based Application Firewalls ..................................................................... 29

2.7 Modsecurity ..................................................................................................... 29
2.8 Jwall Auditconsole ........................................................................................... 32
2.9 The Mole .......................................................................................................... 33
BAB III - Metodelogi Penelitian .................................................................................. 34
3.1 Deskripsi Sistem ............................................................................................... 34
3.2 Alur Penelitian ................................................................................................. 35
3.3 Studi Literatur .................................................................................................. 37
3.4 Definisi Kebutuhan Sistem ............................................................................... 37
3.4.1 Kebutuhan Hardware .................................................................................. 37
3.4.2 Kebutuhan Software ................................................................................... 37
3.5 Rancangan Implementasi .................................................................................. 39
3.5.1 Rancangan Implementasi Web Server ......................................................... 40
3.5.2 Rancangan Implementasi Modsecurity ........................................................ 41
3.5.3 Rancangan Implementasi Jwall Auditconsole .............................................. 44
3.5.4 Rancangan Implementasi The Mole ............................................................ 45
3.6 Rancangan Uji Coba dan Evaluasi .................................................................... 46
3.6.1 Uji Coba Skenario 1 (satu) .......................................................................... 47
3.6.2 Uji Coba Skenario 2 (dua) .......................................................................... 48
3.6.3 Rancangan Hasil Uji Coba .......................................................................... 49
BAB IV - Hasil Dan Pembahasan ................................................................................. 52
4.1 Implementasi ..................................................................................................... 52
4.1.1 Implementasi Web Server ............................................................................ 52

4.1.2 Implementasi Modsecurity........................................................................... 56
4.1.3 Implementasi Jwall Auditconsole ................................................................ 63
4.1.4 Implementasi Tool The Mole ....................................................................... 70
4.2 Uji Coba dan Evaluasi ....................................................................................... 73
4.2.1 Uji Coba Skenario 1(Satu) ........................................................................... 74
4.2.2 Uji Coba Skenario 2 (Dua)........................................................................... 83
4.2.3 Hasil Uji Coba ............................................................................................. 88
BAB V - Kesimpulan Dan Saran ................................................................................... 93
5.1 Kesimpulan ...................................................................................................... 93
5.2 Saran ................................................................................................................ 93
Daftar Pustaka .............................................................................................................. 94

DAFTAR GAMBAR

Gambar 2.1 Penggambaran Metode Request di Web Server (jenkov, 2010) .................. 11
Gambar 2.2 Alur serangan Sql Injection (binushacker, 2012) ........................................ 14
Gambar 2.3 Web yang mempunyai kerentanan terhadap serangan Sql Injection ........... 15
Gambar 2.4 Alur serangan blind XSS (Acunetix, 2012) ................................................ 20
Gambar 2.5 Illustrasi cara kerja Firewall secara umum. ................................................. 24
Gambar 2.6 Illustrasi cara kerja web application firewall (Paolo Passeri,2012).............. 27
Gambar 2.7 Illustrasi cara kerja modsecurity.(Ivan Ristic, 2013) ................................... 30
Gambar 2.8 Alur Kerja Modsecurity ............................................................................. 31
Gambar 2.10 Illustrasi cara kerja Jwall.(OWASP, 2013) ............................................... 32
Gambar 2.11 Tampilan awal The Mole. ........................................................................ 33
Gambar 3.1 Blok Diagram Perancangan ........................................................................ 34
Gambar 3.2 Diagram Alur Rancangan Penelitian .......................................................... 36
Gambar 3.3 Rancangan Implementasi ........................................................................... 39
Gambar 3.4 Rancangan Implementasi Web Server ........................................................ 40
Gambar 3.5 Rancangan implementasi modsecurity ....................................................... 42
Gambar 3.6 Rancangan implementasi Jwall Auditconsole ............................................. 44
Gambar 3.7 Rancangan implementasi The Mole ........................................................... 46
Gambar 3.8 Rancangan Analisa Pembuktian Serangan .................................................. 50
Gambar 4.1 proses install Apache web server................................................................ 52
Gambar 4.2 proses restart Apache web server ............................................................... 53

Gambar 4.3 proses install Mysql Server ........................................................................ 53
Gambar 4.4 proses install Phpmyadmin......................................................................... 54
Gambar 4.5 Halaman awal Phpmyadmin ....................................................................... 54
Gambar 4.6 Web Server Apache bekerja ....................................................................... 55
Gambar 4.7 Halaman utama web uji coba ..................................................................... 55
Gambar 4.8 installasi library Modsecurity ..................................................................... 57
Gambar 4.9 installasi Modsecurity ................................................................................ 57
Gambar 4.10 Gedit Modsecurity.conf............................................................................ 58
Gambar 4.11 setting Modsecurity.conf .......................................................................... 58
Gambar 4.12 mengaktifkan Modsecurity ....................................................................... 60
Gambar 4.13 Proses restart web server .......................................................................... 60
Gambar 4.15 reply setelah modsecurity terpasang ......................................................... 61
Gambar 4.16 proses install Jwall Auditconsole.............................................................. 64
Gambar 4.17 start Jwall Auditconsole ........................................................................... 64
Gambar 4.18 halaman awal Jwall Auditconsole ............................................................ 65
Gambar 4.19 halaman setting Jwall Auditconsole ......................................................... 65
Gambar 4.20 Proses install JDBC Driver....................................................................... 66
Gambar 4.21 Halaman Setting Sensor Jwall .................................................................. 67
Gambar 4.22 setting konfigurasi Mlogc......................................................................... 67
Gambar 4.23 Tampilan penetration test ......................................................................... 68
Gambar 4.24 Tampilan Hasil Audit Log Jwall .............................................................. 69
Gambar 4.25 Tampilan detil laporan serangan............................................................... 70

Gambar 4.26 Install Phyton3-lxml................................................................................. 71
Gambar 4.27 Langkah Installasi The Mole .................................................................... 71
Gambar 4.28 Tampilan awal The Mole ......................................................................... 72
Gambar 4.29 Perintah injeksi the Mole.......................................................................... 72
Gambar 4.30 syntax Sql Injection mencari column ........................................................ 74
Gambar 4.31 syntax Sql Injection menemukan jumlah column ...................................... 75
Gambar 4.32 syntax Sql Injection mencari nama tabel .................................................. 75
Gambar 4.33 syntax Sql Injection mencari isi tabel ....................................................... 76
Gambar 4.34 syntax Sql Injection mencari data username dan password ....................... 76
Gambar 4.35 Tampilan awal The Mole ......................................................................... 77
Gambar 4.36 Proses injeksi Sql The Mole ..................................................................... 78
Gambar 4.37 Database berhasil ditampilkan .................................................................. 78
Gambar 4.38 Database berhasil ditampilkan .................................................................. 79
Gambar 4.39 isi table berhasil di tampilkan ................................................................... 79
Gambar 4.40 Tampilan Web setelah dilakukan uji coba time delay Sql Injection .......... 80
Gambar 4.41 Tampilan login palsu XSS........................................................................ 81
Gambar 4.42 Informasi data web phising ...................................................................... 81
Gambar 4.43 Hasil script XSS alert ............................................................................... 82
Gambar 4.44 Pesan Forbbiden modsecurity................................................................... 84
Gambar 4.45 Log file mendeteksi Sql Injection ............................................................. 84
Gambar 4.46 Audit Console Menampilkan informasi Log file ....................................... 84
Gambar 4.47 Modsecurity Block serangan dari Tool The Mole ..................................... 85

Gambar 4.48 Jwall Menampilkan Laporan adanya serangan Sql Injection .................... 85
Gambar 4.49 Modsecurity Block serangan Time Delay Sql Injection ............................ 86
Gambar 4.46 Modsecurity Block serangan XSS ............................................................ 87
Gambar 4.47 Alert XSS dari Jwall Auditconsole ........................................................... 87

DAFTAR TABEL

Tabel 4.1 Parameter serangan Sql Injection ................................................................... 62
Tabel 4.2 Hasil Uji Coba Serangan Blind Sql Injection ................................................. 89
Tabel 4.3 Hasil Uji Coba Serangan Tool Sql Injection................................................... 90
Tabel 4.4 Hasil Uji Coba Serangan Sql Injection ........................................................... 91
Tabel 4.5 Hasil Uji Coba Serangan XSS ....................................................................... 92

BAB I
PENDAHULUAN

1.1 Latar Belakang
Dalam generasi jaringan berbasis web sekarang ini, banyak jenis sumber
daya dan layanan yang disediakan oleh internet popular saat ini, seperti eshopping, transaksi bisnis dan industri game online. Namun, dengan kenyamanan
dan fasilitas ini, semakin banyak bahaya yang mengintai. Misalnya, cyber-crime
yang sering terjadi pada game on-line, informasi pelanggan dari bank local yang
bocor dan perampokan cyberbank yang terjadi pada salah satu bank dalam negeri.
Oleh karena itu, berbagai perusahaan pengembang telah mengerahkan berbagai
jenis fasilitas keamanan jaringan seperti Honeypot, Intrusion Detection System
(IDS), dan Firewall.
Perkembangan jaringan berbasis web sekarang ini, berbagai perusahaan
penyedia layanan jaringan telah menawarkan banyak layanan web seperti
Penyimpanan halaman web, album web, blog. Setiap orang dapat memasukan
request Http pribadi ke manapun seseorang terhubung ke Internet. Hal ini
membuka kesempatan terhadap hacker dan cracker untuk menjalankan aksinya
Namun

disisi

lain,

kemampuan

Intrusion

Detection

Sistem

untuk

mendeteksi berbagai kegiatan serangan web yang bersifat fleksibel sangat terbatas
.Sebagai contoh, banyak email spread dijaring berasal dari CNN pada bulan
Agustus 2008, terdapat banyak situs Phishing beredar, dan Flash Malware
BOTNET(Gartner Report, 2010). Selain itu, perkembangan serangan web
semakin pesat, menurut laporan OWASP top 10 web attack dalam rentang waktu
2012 hingga 2013 serangan web tertinggi yang terjadi adalah Sql Injection dan
XSS(OWASP, 2013), Hal ini mendorong peningkatan kebutuhan akan keamanan
web server terhadap serangan tersebut.
Dalam tradisi perkembangan IDS saat ini masih sering menggunakan
Regular Expressions untuk pencocokan pola serangan yang menjadikan hal ini
tidak efisien dan tidak berguna ketika diserang oleh serangan web yang terbaru
dan lebih fleksibel. Dalam hal ini dibutuhkan sebuah system yang dapat mengatasi
masalah ini secara efektif, salah satunya adalah web application firewall (WAF)
yang berbasis aplikasi dalam bentuk modul web server dengan menggunakan
metode rule base detection. hal ini lebih fleksibel dari pada metode pencocokan
pola (signature base), kerena metode serangan Web baru-baru ini biasanya
menggunakan serangan multi-level atau multi-decoded yang selalu berubah ubah
untuk menghindari serangan terdeteksi oleh IDS .
Tujuan dari tugas akhir ini adalah membuat sistem pengamanan dan
pelaporan dengan menggunakan Waf Modsecurity dan tools audit console Jwall
yang dibuat khusus untuk menampilkan dan mengkaji isi dari log file
Modsecurity. Intrusi yang di cegah dari system ini adalah serangan Sql Injection
dan Cross Site Scripting (XSS).

8

12

Manfaat dari Sistem yang akan di implementasikan ini adalah untuk
menjaga validitas dan integritas data pada web server
ketersediaan

layanan

bagi

serta

menjamin

penggunanya dan melindungi web server dari

serangan Sql Injection dan XSS serta, memudahkan administrator untuk
mengontrol dan memantau keamanan web server secara langsung tanpa harus
mengawasi langsung dari computer host/ server.
1.2 Rumusan Masalah
Sistem deteksi penyusupan jaringan yang ada saat ini umumnya mampu
mendeteksi berbagai jenis serangan tetapi tidak mampu mengambil tindakan
lebih lanjut. Selain itu sistem yang ada pada saat ini tidak memiliki interaktivitas
dengan

administrator pada

saat administrator

tidak

sedang mengawasi

sistemnya. Hal ini merupakan suatu hal yang tidak efektif terutama pada saat
sistem berada dalam kondisi kritis. beberapa rumusan permasalahan yang ada
dalam membangun sistem ini yaitu:
a. Bagaimana mengimplementasikan web application firewall Modsecurity
untuk meningkatkan keamanan web terhadap serangan Sql Injection dan
XSS.
b. Bagaimana mengolah log file menggunakan Audit Console guna
memisahkan isi dari log file Modsecuriy.
c. Bagaimana mengiplementasikan website laporan serangan Jwall Audit
Console yang terintergrasi dengan log Modsecurity.

1.3 Batasan Masalah

13

Pada penyelesaian tugas akhir ini terdapat beberapa batasan masalah yang
dikaitkan dengan pembuatan pelaporan intrusi pada web server ini, antara lain :
a. Operating system yang digunakan adalah Ubuntu 12.04 64-bit.
b. Tool web application firewall adalah Modsecurity.
c. Tool yang digunakan untuk mengolah log file adalah Jwall audit console.
d. Intrusi yang difilter adalah XSS (Cros Site Scripting) dan Sql Injection.

1.4 Tujuan
Pada tugas akhir ini diimplementasikan system pengamanan dan pelaporan
intrusi dari serangan web server. Adapun tujuan dari tugas akhir ini adalah :
a. Mendeteksi dan mencegah terjadinya intrusi terhadap Website dari
serangan Sql Injection dan XSS.
b. Mengimplementasikan Website laporan untuk melaporkan aktifitas log
serangan Sql Injection dan XSS (cross side scripting) yang terjadi pada
Web server.

1.5 Manfaat

Keamanan Web server sebagai bagian dari sebuah sistem informasi adalah
sangat penting untuk menjaga validitas dan integritas data

serta

menjamin

ketersediaan layanan bagi penggunanya.maka dari itu, Sistem harus dilindungi
dari segala macam serangan dan usaha-usaha penyusupan atau pemindaian oleh
pihak yang tidak berhak. Sistem deteksi penyusupan jaringan yang ada saat ini
umumnya mampu mendeteksi berbagai jenis serangan tetapi tidak mampu

14

mengambil tindakan lebih lanjut.beberapa manfaat dari tugas akhir ini adalah
sebagai berikut :
a. Meningkatkan keamanan Website
Membuat Website dengan tingkat keamanan yang tinggi sehingga tidak
mudah untuk dirusak atau dimasuki oleh pihak – pihak yang tidak
bertanggung jawab.
b. Terhindar dari Phising
Website bebas dari ulah perusak tampilan dan peniru tampilan website
yang telah dibangun, bahkan menghapus data penting yang ada di dalam
database.
c. Memudahkan administrator
Dengan adanya sistem ini administrator dapat mengawasi website yang di
kelolanya

dengan

lebih

fleksibel

karena

dalam

sistem

ini

diinplementasikan website laporan serangan yang bisa diakses kapanpun.
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini akan membantu memberikan
informasi tentang tugas akhir yang dijalankan dan agar penulisan laporan ini tidak
menyimpang dari batasan masalah yang ada, sehingga susunan laporan ini sesuai
dengan apa yang diharapkan. Sistematika penulisan laporan tugas akhir ini adalah
sebagai berikut.

15

Bab I

Pendahuluan
Bab ini berisi mengenai gambaran umum penelitian tentang latar
belakang masalah, perumusan masalah, batasan masalah, tujuan
tugas akhir, manfaat tugas akhir, dan sistematika penulisan.

Bab II

Tinjauan Pustaka
Tinjauan

pustaka

berisi

tentang

berbagai

konsep

dasar

penyerangan, tool pendukung, Web Aplication Firewall serta
analisa yang digunakan dan teori-teori yang berkaitan dengan topik
masalah yang diambil dan hal-hal yang berguna dalam proses
analisis permasalahan.

Bab III

Metode Penelitian
Metode tugas akhir ini berisi tentang rancangan jaringan,
rancangan serangan-serangan, rancangan sistem klasifikasi, dan
konfigurasi-konfigurasi yang digunakan dalam mendeteksi, serta
metode-metode lain yang digunakan untuk menyelesaikan tugas
akhir ini.

Bab IV

Hasil dan Pembahasan
Dalam implementasi sistem ini berisi tentang hasil dan pembahasan
tentang beberapa konfigurasi yang dilakukan pada bab sebelumnya
untuk mengimplementasikan mesin sistem deteksi intrusi dengan
Snort menggunakan Modsecurity core rule untuk meningkatkan
efektifitas pendeteksian serangan web Sql Injection dan Cros Site

16

Scripting serta melakukan serangkaian uji coba untuk menganalisa
kinerja sistem yang telah dibuat.

Bab V

Kesimpulan Dan Saran
Berisi kesimpulan dan saran dari penulis yang sudah diperoleh dari
hasil penulisan tugas akhir.

17

BAB II
TINJ AUAN PUSTAKA

2.1

Penelitian Terdahulu
Sebagai bahan acuan dalam tugas akhir ini akan dipaparkan hasil
penelitian terdahulu yang pernah dibaca oleh penulis, diantaranya :
Penelitian yang dilakukan oleh Chung-Huang Yang and Chung-Hsiang Shen dari
Institute of Information and Computer Education, National Kaohsiung Normal
University Kaohsiung, Taiwan, dengan judul “Implement Web Attack Detection
Engine with Snort using Modsecurity Core Rules”, dengan tujuan untuk
mendeteksi dan menangkal serangan terhadap website menggunakan rule
Modsecurity yang di integrasikan dengan Snort engine (http inspect preprocessor)
yang bertujuan untuk memberikan efektifitas yang lebih baik dengan mengganti
metode signature based detection dengan rule based detection.
Pada penelitian tersebut dibangun sebuah system deteksi serangan Web
dengan Snort menggunakan arsitektur Modsecurity core rules untuk membangun
system deteksi serangan web berbasis rule base yang lebih fleksibel dan efektif
yang bertujuan untuk memberikan efektifitas pencegahan terhadap serangan web
seperti Sql injection, XSS (Cross Site Scripting),dan Web Shell.
Hasil dari uji analisis tersebut menunjukan peningkatan efektifitas deteksi
terhadap serangan Web server. Dari total 315 kali uji coba serangan system yang
dibangun dapat mengenali 312 uji coba serangan sebagai serangan dengan benar,
dengan kata lain 99% dari uji coba serangan tersebut dapat dikenali oleh sistem
yang dibangun.

Selain itu penelitian yang dilakukan oleh Pavol Lupták, CISSP, CEH
dengan judul “Bypassing Web Application Firewalls (WAFs)” yang membahas
tentang bagaimana mengatasi lubang kerentanan pada Web Application Firewall
itu sendiri dengan metode generating character pada parameter rule web
application firewall. Dalam penelitian ini didapatkan hasil berupa perbandingan
uji coba pada titik kerentanan Web Application Firewall setelah di terapkan
metode generating character pada Web Application Firewall. Hasil yang
didapatkan adalah metode yang diterapkan dapat meningkatkan false positive atau
kesalahan deteksi pada request yang aman.hal ini dapat menjadi bahan
pertimbangan penulis untuk membantu penegerjaan penelitian ini.

2.2

Website
Website atau sering disingkat dengan istilah situs adalah sejumlah halaman
web yang memiliki topik saling terkait, terkadang disertai pula dengan berkasberkas gambar, video, atau jenis-jenis berkas lainnya. Sebuah situs web biasanya
ditempatkan setidaknya pada sebuah server web yang dapat diakses melalui
jaringan seperti internet, ataupun jaringan wilayah lokal (LAN) melalui alamat
internet yang dikenali sebagai URL. Gabungan atas semua situs yang dapat
diakses publik di internet disebut pula sebagai World Wide Web atau lebih dikenal
dengan singkatan WWW.

Meskipun setidaknya halaman beranda situs internet

umumnya dapat diakses publik secara bebas, pada prakteknya tidak semua situs
memberikan kebebasan bagi publik untuk mengaksesnya, beberapa situs web
mewajibkan pengunjung untuk melakukan pendaftaran sebagai anggota, atau
bahkan meminta pembayaran untuk dapat menjadi anggota untuk dapat

34

mengakses isi yang terdapat dalam situs web tersebut, misalnya situs-situs yang
menampilkan pornografi, situs-situs berita, layanan surel (e-mail), dan lain-lain.
Pembatasan-pembatasan ini umumnya dilakukan karena alasan keamanan,
menghormati privasi, atau karena tujuan komersil tertentu. (Boone Thomson,
2006).
2.2.1 Sejarah Website
Website muncul karena didasari dari adanya perkembangan teknologi
informasi dan komunikasi. Melalui perkembangan teknologi informasi, tercipta
suatu jaringan antar komputer yang saling berkaitan. Jaringan yang dikenal
dengan istilah internet secara terus-menerus menjadi pesan–pesan elektronik,
termasuk e-mail, transmisi file, dan komunikasi dua arah antar individu atau
komputer. World Wide Web atau WWW atau juga dikenal dengan Web. Web
merupakan salah satu layanan yang didapat oleh pemakai computer yang
terhubung ke internet.
Penemu situs web adalah Sir Timothy John ¨Tim¨ Berners-Lee,
sedangkan situs web yang tersambung dengan jaringan pertamakali muncul pada
tahun 1991. Maksud dari Tim ketika merancang situs web adalah untuk
memudahkan tukar menukar dan memperbarui informasi pada sesama peneliti di
tempat ia bekerja. Pada tanggal 30 April 1993, CERN (tempat dimana Tim
bekerja) mengumumkan bahwa WWW dapat digunakan secara gratis oleh publik.
Sebuah situs web bisa berupa hasil kerja dari perorangan atau individu, atau
menunjukkan

kepemilikan

dari

suatu

organisasi,

perusahaan.

biasanya

pembahasan dalam sebuah situs web merujuk pada sebuah ataupun beberapa topik

35

khusus, atau kepentingan tertentu. Sebuah situs web bisa berisi pranala yang
menghubungkan ke situs web lain, demikian pula dengan situs web lainnya. Hal
ini terkadang membuat perbedaan antara situs web yang dibuat oleh individu
ataupun perseorangan dengan situs web yang dibuat oleh organisasi bisnis
menjadi tidak begitu jelas. Situs web biasanya ditempatkan pada server web.
Sebuah server web umumnya telah dilengkapi dengan perangkat-perangkat lunak
khusus untuk menangani pengaturan nama ranah, serta menangani layanan atas
protokol HTTP yang disebut sebagai Server HTTP (bahasa Inggris: HTTP Server)
seperti Apache HTTP Server, atau Internet Information Services (IIS).

2.3

Web Server
Fungsi utama sebuah server web adalah untuk mentransfer berkas atas
permintaan pengguna melalui protokol komunikasi yang telah ditentukan.
Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video,
dan lainnya pemanfaatan server web berfungsi pula untuk mentransfer seluruh
aspek pemberkasan dalam sebuah halaman web yang terkait termasuk di
dalamnya teks, gambar, video, atau lainnya.
Pengguna biasanya menggunakan aplikasi seperti peramban web (web
browser) untuk meminta layanan berupa berkas ataupun halaman web yang
terdapat pada sebuah server web, kemudian server sebagai manajer layanan
tersebut akan merespon balik dengan mengirimkan halaman dan berkas-berkas
pendukung yang dibutuhkan, atau menolak permintaan tersebut jika halaman
yang diminta tidak tersedia.

36

Gambar 2.1 Penggambaran Metode Request di Web Server (jenkov, 2010)
Pada gambar 2.1 dapat dilihat bahwa client mengirim request HTTP ke
web server untuk selanjutnya diproses oleh web server dengan mengakses
database dan selanjutnya dikirimkan response ke klien berupa data yang diminta
klien. saat ini umumnya server web telah dilengkapi pula dengan mesin
penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan
situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, ASP.

2.3.1 Serangan Website
Tidak ada yang bisa menjamin perilaku dari setiap orang yang terkoneksi
ke Internet, terdapat banyak perilaku di internet dari yang berhati baik sampai
yang berhati buruk, dari yang mencari informasi umum sampai mencari
informasi kartu kredit orang lain. Karena sifatnya yang publik atau umum maka
muncul masalah baru yaitu masalah keamanan data dan informasi di Internet
terutama informasi-informasi yang bersifat krusial dan konfiden.
Pada saat sebuah perusahaan telah atau akan mengintegrasikan
jaringannya secara terpusat dengan menggunakan komunikasi data via jaringan
private atau sewa seperti Leased Channel, VSAT , VPN atau bahkan

37

menggunakan jaringan publik (Internet), Maka ada suatu permasalahan lain yang
sangat krusial yaitu ”Keamanan atau Security”.
Karena tidak ada yang sistem yang aman didunia ini selagi masih
dibuat oleh tangan manusia, karena kita hanya membuat meningkatkan dari
yang tidak aman menjadi aman dan biasanya keamanan akan didapat setelah
lubang / vurnability system diketahui oleh penyusup.
Saat ini jenis Web yang berkembang semakin beragam dan dinamis,
trend ini menuju ke Content Web 2.0 yang bersifat jejaring dan full interaksi
antara pengunjung dan web tersebut. Sudah menjadi trend dan menjadi hal
yang biasa saat ini perusahaan/ institusi dan lain-lain mempunyai website dari
sekedar cuman menampilkan company profile sampai dengan system
informasi yang berbasis online, hal ini disebabkan karena Web yang bersifat
cross platform yang dapat diakses dari mana saja dengan perangkat apa aja
asal menggunakan browser. dengan kemajuan ini justru mendorong
perkambangan beberapa jenis serangan yang sebelumnya sudah ada menjadi
lebih dinamis dan lebih berdampak buruk terhadap keamanan dan integritas
data yang ada pada Website. Beberapa serangan website yang berkembang
saat ini adalah Sql Injection, Cros Site Scripting,Ccross Site Tracing, HTTP
Request Smuggling, Custom Special Character Injection, Web Parameter
Tampering, Cross-Site Request Forgery. Berhubung di penelitian ini akan
dibahas tentang pengujian serangan Sql Injection dan Cross Site Scripting
maka yang akan di bahas dan di jelaskan adalah serangan Sql Injection dan
Cross Site Scripting.

38

1. SQL Injection
SQL Injection adalah jenis aksi hacking pada keamanan komputer
di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam
sistem. SQL Injection yaitu serangan yang mirip dengan serangan XSS
dalam bahwa penyerang memanfaatkan aplikasi vektor dan juga dengan
Common dalam serangan XSS. SQL Injection exploits dan sejenisnya
adalah hasil Interfacing sebuah bahasa lewat informasi melalui bahasa lain

Gambar 2.2 Alur serangan Sql Injection (binushacker, 2012)
Pada gambar 2.2 dapat dilihat bahwa attacker melakukan inpur
karakter special untuk menyembunyikan perintah sql yang dinjectkan ke
dalam URL website agar dapat mengetahui dan mengembil alih database
sesuai perintah yang dimasukan. Dalam hal SQL Injection, sebuah bahasa
pemrograman seperti PHP atau Perl mengakses database melalui SQL
query. Jika data yang diterima dari pengguna akhir yang dikirim langsung
ke database dan tidak disaring dengan benar, maka yang penyerang dapat
menyisipkan perintah SQL nya sebagai bagian dari input. Setelah

39

dijalankan pada database, perintah ini dapat mengubah, menghapus, atau
membeberkan data sensitif. Lebih parah lagi jika sampai ke sistem
eksekusi kode akses yaitu mematikan database itu sendiri, sehingga tidak
bisa memberi layanan kepada web server. user yang akan masuk ke
halaman halaman yang terproteksi harus memasukan username dan
password mereka , daftar password dan user tersebut tersimpan dalam Sql
server dengan nama table admin dengan field field diantaranya username
dan password.

Gambar 2.3 Contoh Web yang mempunyai kerentanan terhadap
serangan Sql Injection

Pada gambar 2.3 dapat dilihat web server menampilkan pesan error
database yang menunjukan adanya vuln atau kerentanan pada website
terhadap serangan web. Statement Sql bukanlah bahasa pemrograman
seperti pascal,Delphi atau visual basic , statemen sql biasanya digunakan
bersama sama dengan bahasa pemrograman lain pada saat mengakses
database , pada ilustrasi diatas , untuk mencocokan user yang login , maka
digunakan statemen Sql yang kurang lebih sebagai berikut:
Select * from admin where username = input_username And
password = input_password

40

Contoh lain dari serangan ini adalah sebagai berikut:

mysql_query (“SELECT * FROM users WHERE username=’” .
$_GET[“username”] . “’”);

Contoh perintah di atas artinya mengeksekusi query untuk melakukan
pencarian di kolom “username” dari tabel “user”. Berikut ini contoh
cara memanggil dari address bar :

http://localhost/test_sqli.php?username=foo

perhatikan penggunaan kutipan tunggal (‘) pada Sql yang digunakan
untuk string. Jika data tersebut tidak dibersihkan dari penggunaan kutipan
tunggal, maka secara tidak langsung dapat digunakan untuk menambahkan
perintah query.

http://localhost/test_sqli.php?username=foo’ or ‘’=’

request di atas akan mengakibatkan query menjadi seperti berikut:

SELECT * FROM users WHERE username=’foo’ or ‘’=’’

artinya, ketika mencari kata “foo” dan apabila tidak ditemukan, eksekusi
‘’=’’ yang selalu bernilai TRUE akan menyebabkan pengambilan semua
record dalam tabel “user”.
Selain menggunakan serangan secara manual, hacker/ crakcer biasa
menggunakan tools sql injection yang sudah tersedia dan dapat digunakan
dengan mudah tetapi berdampak buruk terhadap integritas data yang ada di
website. Beberapa tool yang biasa di pakai attacker adalah Bsql, Havij, dan
the Mole, beberapa tool Sql Injection dapat melakukan scan direktori dan

41

mencuri data-data penting yang terdapat di database. Hal ini merupakan
ancaman berbahaya bagi keamanan data website itu sendiri.

Serangan SQL Injection dapat dibagi menjadi tiga kelas berikut :

a. Inband
Data diekstrak menggunakan saluran yang sama yang digunakan
untuk menyuntikkan kode SQL . Ini adalah jenis serangan Sql
Inkection yang paling sederhana , di mana data yang diambil
disajikan langsung di halaman web aplikasi .

b. Out-of -band
data yang diambil dengan menggunakan saluran yang berbeda (
misalnya , email dengan hasil query yang dihasilkan dan dikirim ke
atacker ) .

c. Inferential atau Blind Sql Injection

tidak ada transfer data aktual , tapi attacker mampu merekonstruksi
informasi dengan mengirimkan permintaan tertentu dan mengamati
perilaku yang dihasilkan dari DB Server .
Untuk berhasil atau tidaknya serangan SQL Injection pada website
atau aplikasi berbasis web terletak dalam benar atau tidaknya sintak SQL
Query. Jika aplikasi mengembalikan pesan kesalahan yang dihasilkan oleh
query yang salah , maka mungkin lebih mudah bagi penyerang untuk

42

merekonstruksi logika query asli dan memahami bagaimana melakukan
injeksi dengan benar.

Tentang teknik untuk mengeksploitasi kelemahan website dan
aplikasi webbase dengan SQL injection memiliki beberapa teknik, dan juga
teknik tersebut kadang-kadang dapat digunakan dengan cara digabungkan (
misalnya Union Operator dan out-of-band ) :
a. Union Operator
dapat digunakan ketika cacat SQL injection terjadi dalam
sebuah pernyataan SELECT , sehingga memungkinkan untuk
menggabungkan dua query ke dalam hasil tunggal atau hasil
ditetapkan .

b. Time Delay
menggunakan perintah database untuk menunda jawaban
dalam pertanyaan kondisional . Ini berguna ketika penyerang tidak
memiliki beberapa jenis jawaban ( hasil , output, atau kesalahan )
dari aplikasi web .
c. Boolean
Menggunakan kondisi Boolean ( s ) yang bertujuan untuk
memverifikasi apakah kondisi tertentu adalah benar atau salah.

43

d. Error Based
teknik ini memaksa database untuk menghasilkan kesalahan ,
memberikan attacker informasi dari tester untuk memperbaiki syntax
injeksi mereka .
e. Out-of –band
teknik yang digunakan untuk mengambil data dengan
menggunakan saluran yang berbeda ( misalnya , membuat
sambungan HTTP untuk mengirimkan hasilnya ke server web ) .

2. Cross Site Scripting (XSS)
XSS adalah kependekan dari istilah cross site scripting yang
merupakan salah satu type lubang keamanan sistem yang biasa ditemukan
di web

based applications dengan melakukan code injections dengan

malicious web pengguna kepada halaman web yang dilihat oleh user
lainnya dimana memungkinkan penyerang untuk mencuri cookies, menipu
user dengan memberikan credentials mereka, memodifikasi penampilan
page, mengeksekusi seluruh sort dari malicious java-script code.
Serangan

XSS

memiliki

dua

tipe,

yaitu

Reflected

atau

nonpersistent dan Stored atau persistent. Berikut penjelasan kedua tipe
tersebut.
a. Reflected atau nonpersistent
Reflected XSS merupakan tipe XSS yang paling umum dan
yang

paling

mudah

dilakukan

44

oleh

penyerang.

Penyerang

menggunakan social engineering agar tautan dengan kode berbahaya
ini diklik oleh pengguna. Dengan cara ini penyerang bisa
mendapatkan cookie pengguna yang bisa digunakan selanjutnya untuk
membajak session pengguna.

Mekanisme pertahanan menghadapi serangan ini adalah
dengan melakukan validasi input sebelum menampilkan data apapun
yang di-generate oleh pengguna.

b. Stored atau persistent
stored XSS lebih jarang ditemui dan dampak serangannya
lebih besar. Sebuah serangan stored XSS dapat berakibat pada
seluruh pengguna. Stored XSS terjadi saat pengguna diizinkan untuk
memasukkan data yang akan ditampilkan kembali. Contohnya adalah
pada message board, buku tamu, dll. Penyerang memasukkan kode
HTML atau client script code lainnya pada posting mereka.

Gambar 2.4 Alur serangan blind XSS (Acunetix, 2012)

45

Pada gambar 2.4 dapat dilihat bahwa attacker melakukan inject
script XSS ke dalam web server yang mempunyai kerentanan terhadap
serangan untuk selanjutnya server memproses script dan menampilkanya
ke dalam website. Hal ini memungkunkan user lain dapat terjebak dan
menjalankan script serangan dan attacker dapat mencuri informasi dari
user tersebut. b erikut ini contoh php code sederhana untuk menampilkan
pesan ‘selamat datang’ ke pengguna dengan nama di ambil dari variabel
$_GET


Input dari pengguna akan di ambil dari query string suatu url yang di
akses (secara langsung atau dengan mengklik sebuah link), contoh :

http://vulnsite/welcome.php?name=Aditya
Ketika perintah dari url di atas di teruskan ke server, variabel $_GET
dengan parameter “name” akan berisi nilai “Aditya”, kemudian akan
dikembalikan lagi dari server ke web browser, seperti berikut:

Hello Aditya

Apabila payload tersebut dikirimkan ke halaman yang sama dengan
parameter “name” yang sama maka akan terjadi hal berikut :

http://vulnsite/welcome.php?name=alert(‘This is
an XSS’);

url di atas seharusnya akan di url encoded menjadi seperti ini:
%3c%2fh4%3e%3cscript%3ealert(%e2%80%98This+is+an+XSS%e2%80%9
9) %3b%3c%2fscript%3e)

Kemudian server akan memberikan output seperti ini:
46

Hello alert(‘This is an XSS’);

Script di atas adalah contoh menyisipkan suatu code javascript ke dalam
code di halaman web, dan javascript tersebut akan di eksekusi di browser
pengguna.

Hal ini terjadi karena input dari pengguna yang akan ditampilkan
di browser tidak di filter terlebih dahulu, filter harus pada input dan
output.

2.4

Database
database adalah suatu kumpulan data yang saling berhubungan secara
logis dan penjelasan tentang data yang terhubung tersebut dirancang sedemikian
rupa sehingga dapat memberikan informasi yang diperlukan oleh organisasi
(Connolly , 2010). Pendefinisian basis data meliputi spesifikasi berupa tipe data,
struktur, dan juga batasan-batasan data yang akan disimpan. Basis data merupakan
aspek yang sangat penting dalam sistem informasi dimana basis data merupakan
gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi
penting karena dapat menghidari duplikasi data, hubungan antar data yang tidak
jelas, organisasi data, dan juga update yang rumit.

Proses memasukkan dan mengambil data ke dan dari media penyimpanan
data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis
data (database management system | DBMS). DBMS merupakan sistem perangkat
lunak yang memungkinkan user untuk memelihara, mengontrol, dan mengakses
data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan

47

ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu
mengolah pendefinisian data, dapat menangani permintaan pemakai untuk
mengakses data, memeriksa sekuriti dan integriti data yang didefinisikan oleh
DBA (Database Administrator), menangani kegagalan dalam pengaksesan data
yang disebabkan oleh kerusakan sistem maupun disk, dan menangani unjuk kerja
semua fungsi secara efisien. Dilihat dari jenisnya, basis data di bagi menjadi dua
yaitu, database flat file, dan database relational.

1. Database Flat File
Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah
dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam
satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang
disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau
data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi
sangat rumit apabila digunakan untuk menyimpan data dengan struktur
kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu.
Salah satu masalah menggunakan basis data jenis ini adalah rentan pada
korupsi data karena tidak adanya penguncian yang melekat ketika data
digunakan atau dimodifikasi.

2. Database Relational

Basis data ini mempunyai struktur yang lebih logis terkait cara
penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-tabel yang
berada di basis data dapat dihubungkan satu dengan lainnya. Basis data

48

relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing
tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat
hubungan antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu
primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini,
basis data relasional menjadi pilihan karena keunggulannya. Beberapa
kelemahan yang mungkin dirasakan untuk basis data jenis ini adalah
implementasi yang lebih sulit untuk data dalam jumlah besar dengan tingkat
kompleksitasnya yang tinggi dan proses pencarian informasi yang lebih
lambat karena perlu menghubungkan tabel-tabel terlebih dahulu apabila
datanya tersebar di beberapa tabel.

2.5

Firewall
Internet merupakan sebuah jaringan komputer yang sangat terbuka di
dunia, konsekuensi yang harus di tanggung adalah tidak ada jaminan keamanan
bagi jaringan yang terkait ke Internet. Artinya jika ope