• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
110
0
0

Teks penuh

(1)

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

(2)

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

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

NPT. 376091303481

Pembimbing II

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

(3)

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

(4)

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"

(5)

Judul : SISTEM PENGAMANAN DAN PELAPORAN

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 e-shopping, 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 InjectiondanXSS 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

(6)

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.

(7)

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.

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

BAB I

PENDAHULUAN

1.1Latar Belakang

Dalam generasi jaringan berbasis web sekarang ini, banyak jenis sumber daya dan layanan yang disediakan oleh internet popular saat ini, seperti e-shopping, 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

(17)

8

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

(18)

Manfaat dari Sistem yang akan di implementasikan ini adalah untuk menjaga validitas dan integritas data pada web server serta menjamin ketersediaan layanan bagi 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.2Rumusan 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.

(19)

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.4Tujuan

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

(20)

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.6Sistematika Penulisan

(21)

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

(22)

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

Bab V Kesimpulan Dan Saran

(23)

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.

(24)

34

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 berkas-berkas 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

(25)

35

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.

(26)

36

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.

(27)

37

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

(28)

38

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

(29)

39 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

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

(30)

40

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.

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

(31)

41

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

(32)

42

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 .

(33)

43

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

(34)

44 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

(35)

45

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.

(36)

46

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. berikut ini contoh php code sederhana untuk menampilkan pesan ‘selamat datang’ ke pengguna dengan nama di ambil dari variabel $_GET

<?php echo ‘<h4>Hello ‘ . $_GET [‘name’]‘</h4>’;?>

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:

<h4>Hello Aditya</h4>

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

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

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)

(37)

47

<h4>Hello </h4> <script>alert(‘This is an XSS’);</script>

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.

(38)

48

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

(39)

49

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

(40)

50

Pada gambar 2.5 dapat dilihat alur cara kerja firewall, firewall menyaring komunikasi atau traffic data yang keluar dan masuk ke jaringan privat. Firewall merupakan alat untuk mengimplementasikan kebijakan security (security policy). Sedangkan kebijakan security, dibuat berdasarkan pertimbangan antara fasilitas yang disediakan dengan implikasi security-nya. Semakin ketat kebijakan security, semakin kompleks konfigurasi layanan informasi atau semakin sedikit fasilitas yang tersedia di jaringan. Sebaliknya, dengan semakin banyak fasilitas yang tersedia atau sedemikian sederhananya konfigurasi yang diterapkan, maka semakin mudah orang orang ‘usil‘ dari luar masuk kedalam sistem (akibat langsung dari lemahnya kebijakan security). Dalam dunia nyata, firewall adalah dinding yang bisa memisahkan ruangan Tapi sebenarnya firewall di Internet lebih seperti pertahanan disekeliling benteng, yakni mempertahankan terhadap serangan dari luar. Gunanya:

a. membatasi gerak orang yang masuk ke dalam jaringan internal.

b. membatasi gerak orang yang keluar dari jaringan internal.

c. mencegah penyerang mendekati pertahanan yang berlapis Jadi yang keluar masuk firewall harus acceptable.

(41)

51

Firewall merupakan kombinasi dari router, server, dan software

pelengkap yang tepat. Firewall merupakan suatu cara/sistem/mekanisme yang diterapkan baik terhadap hardware , software ataupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan menyaring, membatasi atau bahkan menolak suatu atau semua hubungan/kegiatan suatu segmen pada jaringan pribadi dengan jaringan luar yang bukan merupakan ruang lingkupnya. Segmen tersebut dapat merupakan sebuah workstation, server, router, atau local area network

(LAN) anda. Firewall terbagi menjadi dua jenis, yakni sebagai berikut : 1. Personal Firewall

Personal Firewall didesain untuk melindungi sebuah komputer yang terhubung ke jaringan dari akses yang tidak dikehendaki. Firewall jenis ini akhir-akhir ini berevolusi menjadi sebuah kumpulan program yang bertujuan untuk mengamankan komputer secara total, dengan ditambahkannya beberapa fitur pengaman tambahan semacam perangkat proteksi terhadap Virus, Anti-spyware, Anti-spam, dan lainnya. Bahkan beberapa produk firewall lainnya dilengkapi dengan fungsi pendeteksian gangguan keamanan jaringan (Intrusion Detection System). Contoh dari Firewall jenis ini adalah Microsoft Windows Firewall (yang telah terintegrasi dalam sistem operasi Windows XP Service Pack 2, Windows Vista dan Windows Server 2003 Service Pack 1),

Symantec Norton Personal Firewall, Kerio Personal Firewall, dan lain-lain. Personal Firewall secara umum hanya memiliki dua fitur utama, yakni Packet Filter Firewall dan Stateful Firewall.

(42)

52

Network Firewall didesain untuk melindungi jaringan secara keseluruhan dari berbagai serangan. Umumnya dijumpai dalam dua bentuk, yakni sebuah perangkat terdedikasi atau sebagai sebuah perangkat lunak yang diinstalasikan dalam sebuah server. Contoh dari Firewall ini adalah Microsoft Internet Security and Acceleration Server (ISA Server), Cisco PIX, Cisco ASA, IPTables dalam sistem operasi GNU/Linux, pf dalam keluarga sistem operasi Unix BSD, serta SunScreen dari Sun Microsystems, Inc. yang dibundel dalam sistem operasi Solaris. Network Firewall secara umum memiliki beberapa fitur utama, yakni apa yang dimiliki oleh Personal Firewall (packet filter firewall dan stateful firewall), Circuit Level Gateway, Application Level Gateway, dan juga NAT Firewall. Network Firewall umumnya bersifat transparan (tidak terlihat) dari pengguna dan menggunakan teknologi routing.

2.6 Web Aplication Firewall (WAF)

Serangan hacker skala besar yang menyerang beberepa Website besar di dunia terjadi pada tahun 1996 (CERT Coordination Center, Retrieved 2010-11-17) mendorong dilakukanya penyelidikan dalam model keamanan untuk melindungi aplikasi web. Ini adalah awal dari apa yang saat ini disebut sebagai sebagai teknologi Web Aplication Firewall ( waf ) yang baru masuk di pasaran pada awal tahun 1999, seperti perfecto software ( yang kemudian berubah nama menjadi Sanctum pada tahun2004) dan Netcontinuum ( diakuisisi oleh Baracuda

(43)

53

Pada gambar 2.6 dapat dilihat bahwa Web Application Firewall melakukan penyaringan request http yang masuk ke dalam web server, hal ini yang membedakan Web Application Firewall dengan network firewall biasa. Web Aplication Firewall (WAF) adalah sebuah alat, server plugin,atau sebuah filter

yang menggunakan satu set aturan yang berlaku untuk sebuah komunikasi HTTP. Pada umumnya, rule/peraturan ini mencakup pendeteksian dan pemblokiran serangan Cross-Site Scripting( XSS) dan Sql Injection. Hal ini dikarenakan perkembangan serangan web semakin pesat dan banyak metode metode baru bermunculan seperti multi-level atau multi-decoded attack yang selalu berubah ubah untuk menghindari serangan terdeteksi oleh IDS, dengan keadaan ini sebuah

website membutuhkan sebuah metode pengamanan yang lebih efektif dan fleksibel. Dengan memodifikasi dan menyesuaikan rule sesuai dengan kebutuhan, programer dapat mengidentefikasi dan mencegah serangan lain yang lebih banyak lagi. Selain itu, upaya untuk melakukan kustomisasi pada Web Aplication Firewall ini dapat menjadi pendorong perkembangan yang cukup signifikan sehingga perkembangan pengamanan pada web semakin cepat.terdapat dua kategori utama dalam perkembangan Web Application Firewall, yaitu

Network-Based Application Firewalls dan Host-Based Application Firewalls.

2.6.1 Networ k Based Application Firewalls

(44)

54

Network-based application Firewalls adalah sebuah Firewall jaringan komputer yang berjalan di layer network pada protocol stack dan juga dikenal sebagai sebuah Firewall proxy-based atau reverse-proxy Firewalls. Application Firewalls secara khusus diperuntukan untuk jenis tertentu pada lalu lintas jaringan sama seperti Web Application Firewall. Network-based application firewalls beroperasi menggunakan berbagai bentuk dari proxy server ke proxy traffic

sebelum meneruskannya ke klien atau server.Karena Network-based application Firewalls bekerja pada layer Netwok, Network-based application firewalls dapat memeriksa isi lalu lintas,mengeblok konten tertentu, dan mencegah virus atau program yang mencoba untuk memanfaatkan kelamahan website.

2.6.2 Host Based Application Firewalls

Host based application Firewalls dapat memantau setiap input, output, dan/atau sistem services calls dari aplikasi lain. Host based application firewalls melakukan pencegahan atau perlindungan pada host itu sendiri atau tunggal. Setiap host hanya berhubungan dengan satu firewall, yang berarti tiap firewall

bertanggung jawab hanya pada satu host. Host based application Firewalls dapat berupa modul dari sebuah web server atau bisa berupa sebuat aplikasi yang berdiri sendiri yang bekerja di dalam host. Keuntungan dari mengunakan Host based application Firewalls ini adalah pengguna dapat menikmatinya secara gratis/ berlisensi open sources dan tidak memerlukan hardware dalam implementasinya serta memiliki konfigurasi rule yang dapat diubah sesuai yang user inginkan.

(45)

55

Modsecurity adalah Sebuah Web Application Firewall tool yang digunakan untuk melakukan filter data masuk dan keluar dan dapat untuk memblok traffic yang mencurigakan (anomaly traffic) dan dianggap berbahaya sesuai dengan rule yang diperintahkan.vdi dalam tugas akhir ini Modsecurity di tugaskan untuk memfilter kegiatan mencurigakan yang dianggap sebegai intrusi Sql Injection dan XSS dengan menggunakan rule yang sudah dimodifikasi untuk melakukan pendeteksian dan men-drop request http yang dianggap sebagai serangan berbahaya dengan lebih efektif. Sehingga jika request dianggap berbahaya maka request HTTP dari client akan di tolak (deny) setelah itu informasi request dan jenis serangan akan dimasukan kedalam log serangan Modsecurity dan jika request di anggap aman maka request HTTP akan diteruskan ke server untuk selanjutnya di proses oleh web server.

Pada gambar 2.7 dapat dilihat bahwa Modsecurity memfilter request HTTP yang mencakup informasi atribut method, version, URL, query string, headers, cookies, content yang di cocokan dengan rule yang terdapat di dalam modsecurity dan memfilter HTTP request. Jika terdpaat request yang tidak cocok

(46)

56

dengan rule Modsecurity yang sudah ditetapkan maka request akan ditolak dengan pesan forbidden. Modesucurity menggunakan metode rule base detection yang sama seperti firewall jenis lain namun, web application Firewall Modsecurity merupakan aplikasi didalam modul web server apache, ngix, dan IIS.

Pada gambar 2.8 dapat dilihat alur kerja Web Application Firewall Modsecurity.mod security menganalisa reques http yang masuk untuk dicocokan dangan rule yang terdapat didalam modul web server. Namun Modsecurity masih menemui beberapa masalah, Masalah mod_security adalah melarang akses ke halaman web tertentu untuk pengguna atau robot Indeksasi (Seperti Googlebot)

modsecurity Dapat menghasilkan false positive Genre: HTTP 403 (Forbidden

atau Akses Ditolak), HTTP 412 (aspal Gagal), HTTP 406 (Not Acceptable) atau kesalahan pada sesi Login / login web.

(47)

57

Modsecurity memiliki beberapa parameter –parameter untuk mengenali suatu jenis serangan, sebagai contoh serangan sql injection. Dalam setting default modsecurity mempunyai kumpulan karakter atau perintah-perintah sql yang di blok oleh modsecurity. Parameter tersebut diantaranya seperti berikut.

Pada gambar 2.9 dapat dilihat beberapa list parameter karakter serangan sql injection. Parameter ini digunakan untuk mengenali serangan sql injection melalui rule rule yang sudah ditetapkan.

2.8 J wall Auditconsole

Jwall adalah sebuah modul Audit Console yang berbasis J2EE berjalan dalam aplikasi web dan mampu menerima data audit-event dari log web server. Jwall dapat mengolah log file output Modsecurity yang berisi tentang catatan log

serangan maupun aktivitas rule dari Modsecurity dan mengolahnya menjadi informasi serangan dan control aktifitas yang user friendly dan mudah dipahami.

(48)

58

Pada gambar 2.10 dapat dilihat bahwa Jwall mengolah data log file dari modsecurity melalui mlogc untuk diteruskan ke database dan ditampilkan k e web laporan serangan. Jwall di buat untuk memudahkan membaca log modsecurity. karena log mod security hanya berupa dokumen text yang tidak tertata dan susah dimengerti.

2.9 The Mole

Moleadalah tool open source, Mole dapat melewati beberapa sistem IPS / IDS yang menggunakan filter generik, mole dapat meng eksplor hanya dengan menggunak URL yang rentan dan string valid.

Gambar 2.11 dapat dilihat tampilan awal ketika masuk ke dalam aplikasi

The Mole di dalam Terminal Ubuntu. The mole adalah tool sql injection yang cukup berbahaya, tool ini dapat melakukan direktori scan dan database scan.

Gambar 2.10 Illustrasi cara kerja Jwall.(OWASP, 2013)

(49)

59

BAB III

METODELOGI PENELITIAN

3.1 Deskr ipsi Sistem

Dalam penelitian ini akan dibuat Sistem Pengamanan dan Pelaporan Intrusi dari Serangan Web Server Menggunakan Modsecurity. Intrusi yang di deteksi dan dilaporkan adalah serangan Sql Injection Dan Cross Site Scripting.dalam penelitian ini akan di jelaskan metode pengamanan aplikasi web

(50)

Dari gambar 3.1, dapat dilihat bahwa user dalam suatu jaringan Lan ketika melakukan request HTTP pada suatu halaman web akan melewati Firewall. Disini Modsecurity akan memeriksa dan memfilter request yang datang. Pemeriksaan ini termasuk ip address user, user agent, jenis file yang di request, serta inputan yang diinputkan pada web server. Request tersebut kembali diperiksa apakah objek yang diminta dianggap berbahaya atau tidak oleh firewall/security yang ada. Jika

request yang di minta dianggap membahayakan maka akan didrop/ditolak dan semua informasi mengenai user akan disimpan pada log file yang telah di sediakan dan log file akan diproses dengan Audit Console untuk menata laporan log serangan, setelah itu laporan serangan akan di dimasukan ke dalam database

serangan untuk ditampilkan oleh web interface serangan. Tetapi jika request tersebut dianggap tidak membahayakan maka akan diijinkan untuk mengaksess halaman yang di minta dalam format reply httpd.

Semua user yang mengakses web server akan mengalami proses penyadapan infomasi dengan adanya tool Modsecurity yang dijalankan pada sistem. sistem firewall yang terdapat pada sisi admin berlaku untuk semua user

yang berada dimanapun baik dari sisi admin/localhost dan semua user/anonymous

yang mengakses server web.

3.2 Alur Penelitian

(51)

literature, definisi kebutuhan system, rancangan implementasi, rancangan uji coba dan evaluasi. Berikut alur untuk rancangan penelitian:

Pada gambar 3.2 menjelaskan tentang alur rancangan penelitian yang akan dilakukan peneliti. Di mulai dari rancangan penelitian yang pertama adalah start. Pada rancangan penelitian menjelaskan tentang studi literatur, menjelaskan pengumpulan data-data mengenai yang dibutuhkan seperti jurnal maupun makalah. Rancangan penelitian yang selanjutnya tentang alur definisi kebutuhan sistem, yang menjelaskan tentang kebutuhan sistem peneliti dari kebutuhan

software sampai kebutuhan sistem hardware. Rancangan implementasi menjelaskan tentang rancangan implementas web server, topologi dan rancangan

(52)

implementasi Modsecurity. Rancangan uji coba dan evaluasi menjelaskan tentang skenario-skenario yang akan menjadi rancangan uji coba

3.3 Studi Literatur

Tahap ini dilakukan studi literatur terhadap konsep dan metode yang digunakan, seperti jurnal maupun makalah, implementasi, serta artikel ilmiah dan buku.

3.4 Definisi Kebutuhan Sistem

Pada tahap ini dilakukan pendefinisian terhadap apa saja yang dibutuhkan, antara lain:

3.4.1 Kebutuhan Hardwar e

Kebutuhan hardware yang dibutuhkan diantaranya:

a. Laptop

Laptop ACER – A4741 dengan prosessor Intel core i3 2.13 Ghz. Memory 4 GB RAM dan dengan HDD 320 GB

b. Router

Router wireless dengan jaringan wireless/WiFi yang akan menghubungkan server ke internet.

3.4.2 Kebutuhan Software

Kebutuhan software yang digunakan dalam tugas akhir ini adalah sebagai berikut:

(53)

Digunakan sebagai sistem operasi utama yang dapat menjalankan Web server, Web application firewall Modsecurity, dan Jwall

b.Apache Web Server

Sebuah aplikasi web server berlisensi open sources yang digunakan untuk web server dalam implementasi sistem ini.

c. Modsecurity

Modsecurity merupakan modul dari web server (Apache, Iis, Ngix) yang berfungsi sebagai Web Application Firewall, seperti firewall pada umumnya, yaitu melakukan filter data masuk dan keluar dan dapat untuk memblok traffic yang mencurigakan (anomaly traffic) dan dianggap berbahaya sesuai dengan rule yang diperintahkan.

d. Web browser

Web Browser adalah suatu program atau software yang digunakan untuk menjelajahi internet atau untuk mencari informasi dari suatu web yang tersimpan didalam komputer.

e. J wall Auditconsole

Jwall adalah sebuah modul Audit Console yang berbasis J2EE berjalan dalam aplikasi web dan mampu menerima data audit-event dari log web server. Jwall dapat mengolah log file output Modsecurity yang berisi tentang catatan

log serangan maupun aktivitas rule dari Modsecurity dan mengolahnya menjadi informasi serangan dan control aktifitas yang user friendly

(54)

Merupakan database yang berfungsi untuk menyimpan log-log alert

yang terdeteksi oleh Modsecurity.

3.5 Rancangan Implementasi

Dalam sub bab ini akan dijelaskan bagaimana rancangan implementasi yang dibagi menjadi dua, yaitu, rancangan system dan implementasi. Implementasi yang dimaksud adalah implementasi web server, Modsecurity,implementasi rule untuk deteksi serangan, rancangan, implementasi Jwall, dan implemantasi tool penetration test the Mole. Rancangan sistem akan menjelaskan tentang detector dan attacker. Rancangan implementasi Modsecurity akan menjelaskan bagaimana alur implementasi Modsecurity. Untuk implementasi rule deteksi serangan akan menjelaskan rule atau aturan yang digunakan oleh peneliti.

(55)

Pada gambar 3.3 dapat dilihat alur rancangan implementasi system secara keseluruhan dari installasi web server untuk server web yang digunakan untuk uji coba, implementasi modsecurity, implementasi Jwall Auditconsole, dan yang terahir implementasi The Mole.

3.5.1 Rancangan Implementasi Web Server

Berikut merupakan alur rancangan implementasi Web Server Apache.

(56)

Pada gambar 3.4 dapat dilihat alur implementasi web server pada ubuntu 12.04. applikasi web server Apache yang berfungsi untuk melakukan percobaan yang bertujuan untuk menguji coba system pengamanan dan pelaporan serangan. Dalam melakukan instalasi web server membutuhkan

library dan aplikasi tambahan yang berfungsi untuk mendukung kinerja web server. Library tambahan yang dimaksud adalah libapache-mod-acct-mysql.aplikasi tambahan yang digunakan untuk mendukung kinerja web server

adalah php5 yang berfungsi untuk mengenali bahasa php untuk web server.

Web server membutuhkan database untuk melakukan penyimpanan data dari website. Mysql server merupakan database server yang dibutuhkan untuk penyimpanan data.setelah melakukan implementasi web server, library Apache php5, dan mysql server duilakukan pengujian web server untuk mengetahui web server berjalan dengan baik atau tidak dengan cara memanggil IP localhost di browser. Setelah pengujian berhasil akan dimasukan file website

korban yang sudah memiliki vulnerability terhadap serangan ke dalam web server.

3.5.2 Rancangan Implementasi Modsecurity

Modsecurity merupakan WAF yang dapat bejalan di multi platform

(57)

umplementasi modsecurity untuk memudahkan proses implementasi modsecurity. Adapun rancangan implementasi Modsecurity sebagai berikut.

Pada gambar 3.5 dapat dilihat alur proses implementasi Modsecurity dalam proses implementasi Modsecurity terdapat proses installasi library modsecurity, yaitu libxml2, libxml2-utils, dan libaprutil. Semua library

(58)

tersebut berguna untuk melengkapi direktori modul Apache web server untuk tempat penginstallan Modsecurity. Proses berikutnya adalah install Modsecurity Waf pada web server Apache, jika kedua proses atau salah satu proses tidak berhasil maka proses akan diulangi kembali hingga berhasil. Setelah proses install library Modsecurity dan Modsecurity Waf berhasil, proses selanjutnya adalah konfigurasi rule default pada Modsecurity, hal ini bertujuan untuk mengaktifkan rule engine pada Modsecurity karena pada

setting default, rule engine Modsecurity tidak aktif sehingga harus diaktifkan telebih dahulu. Setelah proses konfigurasi rule, dilakukan installasi owasp rule set, owasp rule set adalah sebuah paket rule tambahan dari pengembang owasp

forum, rule set ini berfungsi untuk menambahkan library serangan untuk meningkatkan efektifitas rule pada Modsecurity.owasp rule set ini di update

secara berkala untuk menambahkan library serangan terbaru untuk mencegah serangan http terbaru terjadi. Setelah install owasp rule set, proses selanjutnya adalah mengkatifkan Modsecurity pada web server dan restart web server.selanjutnya dilakukan penetration test sederhana dengan memasukan skrip Sql injection sederhana yaitu.

http://targethost/?id=23' or '1'='1

jika penetration request diatas berhasil masuk dan menampilkan pesan

(59)

3.5.3 Rancangan Implementasi J wall Auditconsole

Memonitoring serangan alert juga dibutuhkan peneliti, untuk itu peneliti menginstal Jwall Auditconsole. Kegunaan Jwall Auditconsole nantinya akan menampilkan log serangan yang dilakukan oleh attacker secara detail,

teratur dan realtime.berikut rancangan implemenasi jwall audit console.

Pada penelitian ini digunakan Jwall auditconsole, tool tersebut merupakan tool audit log file khusus web application firewall Modsecurity.

(60)

Saat penyerangan, Jwall Auditconsole akan mencatat dan menampilkan waktu penyerangan yang dilakukan oleh attacker dari proses pengolahan log

Modsecurity, begitu pula dengan jenis serangannya yang akan dicatat dan di tampilkan oleh Jwall secara web based user interfaces.tamplian Jwall

auditconsole sangat mudah dipahami end user (user friendly), hal ini sangat membatu administrator memonitor keamanan websitenya dengan mudah.

Pemasangan Jwall audit console memiliki beberapa tahap proses pengisntallan, yang pertama adalah install Jwall audit console pada sistem ubuntu yang telah terpasang waf melalui repositori, setelah proses penginstallan berhasil dilanjutkan meng-upgrade sistem jwall yang terbaru, setelah itu proses setting sistem jwall seperti seeting http real certificate, setting directory default, setting database dan setting user. Proses terakhir adalah kofigurasi sensor Mlogc, Mlogc merupakan program yang dibuat dengan bahasa pemrograman C++ yang berfungsi sebagai penerima dan pengolah log file Modsecurityuntuk selanjutnya di teruskan ke database.

3.5.4 Rancangan Implementasi The Mole

(61)

Pada gambar 3.7 diatas dijelaskan, sebelum menginstall the Mole diharuskan untuk memasang Phyton 3. Karena the Mole merupakan aplikasi yang berjalan dengan library phyton.

3.6 Rancangan Uji Coba dan Evaluasi

Rancangan uji coba yang dilakukan peneliti menggunakan ubuntu untuk pendeteksi serangan intrusion Sql injection dan Xss. Sistem operasi yang digunakan adalah Ubuntu versi 12.04 dan tool pendeteksi intrusi adalah

Modsecurity dan akan dilakukan serangan Sql Injection dan Xss pada web server. Dengan serangan Sql Injection Attacker dapat mencuri informasi dari isi database dan dengan Xss, attacker dapat merubah tampilan web disisi client side dan melakukan web phising. Serangan Sql injection dan XSS akan dilakukan uji coba sampai beberapa kali untuk di analisa serangannya. Tujuan dari rancangan uji coba adalah untuk mengetahui seberapa jauh modsecurity dapat mendeteksi serangan Sql injection dan XSS.

(62)

3.6.1Uji Coba Skenario 1 (satu)

Pada skenario satu ini ada beberapa parameter dan beberapa metode penetrasi yang akan di jelaskan, berikut penjelasannya.

Nama : Skenario 1 (satu)

Tujuan : Pada skenario ini bertujuan untuk mensimulasikan serangan Sql injection dan XSS untuk mengatahui apakah serangan terhadap web server akan berhasil.

Cara Kerja : pada scenario pertama ini web server dalam keadaan tanpa

web application firewall Modsecurity, dalam artian modsecurity dalam keadaan mati, untuk mengatahui apakah uji coba serangan Sql injection dan Xss dapat dieksekusi pada web uji coba atau tidak.pada scenario pertama ini serangan sql injection akan dilakukan dengan tiga metode. Yaitu,blind Sql Injection, Time delay Sql Injection dan dengan tool Sql injection the mole dengan tujuan mencuri

password dan username admin. sedangkan uji coba serangan xss akan dilakukan dengan tujuan web phising, web alert dan merubah tampilan website.

Parameter : dikatakan berhasil jika.

1. Serangan blind Sql Injection dapat mencuri informasi

(63)

2. Serangan tool Sql injection dapat menampilkan informasi

database.

3. Serangan Xss dapat melakukan web phising, dan menjalankan syntax Xss

Pada skenario pertama ini bertujuan untuk memastikan bahwa web uji coba memiliki vulnerability/ kerentanan pada serangan sql injection dan XSS. Dalam uji coba ini attacker menyerang dengan menggunakan 2 metode yaitu manual melalui web browser dan menggunakan tool Sql injection. Ujicoba ini dikatakan berhasil jika semua parameter keberhasilan terpenuhi.

3.6.2 Uji Coba Skenario 2 (dua)

Pada skenario dua ini ada beberapa parameter yang akan dijelaskan, berikut penjelasannya.

Nama : Skenario 2 (dua)

Tujuan : Skenario ini bertujuan untuk membuktikan bahwa system pengamanan web application firewall Modsecurity dapat menge-block serangan Sql injection dan Xss yang sebelumnya dilakukan pada scenario 1 serta untuk membuktikan apakah system pelaporan mendeteksi dengan benar serangan tersebut.

(64)

injection dengan dua metode yaitu blind Sql injection dan

tool Sql injection serta melakukan serangan Xss mengetahui respon dari system web application firewall dan mengetahui apakah log alert mengenali serangan yang dilakukan attacker

dengan benar.

Parameter : Dikatakan berhasil jika.

1. Waf dapat melakukan block terhadap uji coba serangan dari attacker dengan metode blind Sql injection, Time Delay Sql Injection dan tool Sql injection.

2. Alert Waf dapat mengenali serangan Sql injection dengan benar.

3. Waf dapat melakukan block terhadap uji coba serangan

xss.

4. Alert Waf dapat mengenali serangan Xss dengan benar

Pada skenario dua ini dilakukan uji coba untuk membuktikan bahwa system pengamanan berjalan dengan atau tidak. Uji coba yang dilakukan sama dengan

penetration test pada scenario satu, namun pada uji coba kali ini system

pengamanan web application firewall dalam keadaaan aktif. Pada scenario kedua ini akan diketahui apakah web application firewall dapat mendeteksi dan mengeblok penetration test yang dilakukan attacker.

(65)

untuk selanjutnya diketahui apakah Modsecurity dapat mengenali serangan Sql Injection dan Xss dengan benar.

3.6.3 Rancangan Hasil Uji Coba

Berikut merupakan alur rancangan analisa hasil pembuktian serangan.

Pada gambar 3.8 menjelaskan tentang alur rancangan analisa pembuktian serangan. Dimulai dengan menjalankan skenario satu mendapatkan hasil skenario satu, menjalankan skenario dua mendapatkan hasil skenario dua. Selanjutnya akan

Gambar

Gambar 2.4 Alur serangan blind XSS (Acunetix, 2012)
Gambar 2.7 Illustrasi cara kerja Modsecurity.(Ivan Ristic, 2013)
Gambar 2.8 Alur Kerja Modsecurity
Gambar 2.9 Parameter default modsecurity
+7

Referensi

Dokumen terkait

penyeragaman dalam beberapa mata pelajaran yang bersifat umum seperti Bahasa Indonesia, Sosia-Budaya Indonesia, Pendidikan Pancasila dan Kewarganegaraan (PPKn), Perbandingan

Maka hipotesisnya, “ Ada hubungan yang bermakna antara mahasiswi yang melakukan hubungan seksual pra nikah dan mahasiswi yang tidak melakukan hubungan seksual pra nikah

subsurface flow dapat digunakan sebagai sistem pengolah limbah cair di Foodcourt Baseball Unesa.. Sistem ini juga dapat diterapkan untuk mengolah limbah rumah susun dan perumahan

Bahan pada adalah bahan yang tertinggal sebagai residu pada penguapan dan pengeringan pada suhu 103 o – 105 o C, dalam portable water kebanyakan bahan bakar terdapat dalam

Bogdan &amp; Taylor dalam Moleong (2001, h.3), mendefinisikan metode kualitatif sebagai prosedur penelitian yang menghasilkan data deskriptif berupa kata- kata

PISA (OECD, 2006) turut menambahkan tentang pengertian literasi sains yang harus dimiliki oleh setiap warga Negara. Literasi sains yaitu kemampuan suatu individu

pemahaman tentang diri sendiri, dimana klien diharapkan untuk lebih mampu mengetahui letak kekurangan dan kelebihan dalam diri sendiri. Pemahaman diri adalah suatu

Maka dari percobaan ini akan didapatkan data nilai tegangan dan nilai arus yang masuk pada dioda dengan menggunakan dua sifat dioda, yaitu  forward   bias dan