Simulasi keamanan pada aplikasi web dengan web aplication firewall

  

BIODATA PENULIS

DATA PRIBADI

  Nama : Jamie Karisma Anggreana Tempat/Tanggal Lahir : Bandung, 27 April 1990 Jenis Kelamin : Laki - Laki Agama : Islam Kewarganegaraan : Indonesia Alamat : Jalan Sariasih II No.51 RT 03 RW 10 Sarijadi,

  Bandung Telp/HP : 085793665606 Email : jamiekarisma@gmail.com

PENDIDIKAN FORMAL

  1996

  • – 2002 : SD Negeri Sukasari 3 Bandung 2002
  • – 2005 : SMP Indonesia Raya Bandung 2005
  • – 2008 : SMA Pasundan 8 Bandung 2008
  • – 2013 : Universitas Komputer Indonesia, Bandung Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

  Penulis ( Jamie Karisma Anggreana )

SIMULASI KEAMANAN PADA APLIKASI WEB DENGAN

  WEB APPLICATION FIREWALL SKRIPSI

  Diajukan untuk Menempuh Ujian Akhir Sarjana

JAMIE KARISMA ANGGREANA 10108281 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA 2014

KATA PENGANTAR

  Alhamdulillahi Rabbil ‘Alamiin, segala puji dan syukur saya panjatkan ke

  hadirat Alloh SWT, karena dengan izin-Nya dan setitik ilmu pengetahuan yang diberikan kepada mahluk-Nya, saya dapat menyelesaikan laporan tugas akhir ini yang berjudul

  “SIMULASI KEAMANAN PADA APLIKASI WEB DENGAN

WEB APPLICATION FIREWALL.” Tak lupa shalawat serta salam semoga

  dilimpahcurahkan kepada baginda Nabi Besar Muhammad SAW (Allahuma Shalli Wa Sallim ‘Alaihi).

  Skripsi ini disusun untuk memenuhi salah satu syarat dalam menyelesaikan jenjang pendidikan S1 Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

  Selama menulis laporan skripsi ini, saya telah mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak yang telah dengan segenap hati dan keikhlasan yang penuh membantu dan membimbing saya dalam menyelesaikan laporan ini. Saya menyadari sepenuhnya bahwa dalam skripsi yang saya buat ini masih sangat jauh dari kesempurnaan. Hal ini tiada lain disebabkan oleh keterbatasan pengetahuan dan pengalaman yang saya miliki. Dan dengan kesadaran hati, saya ucapkan terima kasih kepada : 1.

  Kedua orang tua, Bapak Anggra Denny dan Ibu Imas Hernawati. dukungan beserta doa ibu dan bapak sangat berarti dalam perjalanan hidupku, semoga Alloh membalas kebaikan ibu dan bapa dengan surga- Nya.

2. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Jurusan Teknik

  Informatika Universitas Komputer Indonesia dan selaku dosen pembimbing serta selaku penguji 1. Terima kasih banyak telah meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.

  3. Bapak Eko Budi Setiawan, S.Kom., M.T., selaku reviewer/ketua penguji yang telah banyak memberikan saran, arahan dan bimbingan kepada saya.

  4. Bapak Andri Heryandi, S.T., M.T., selaku reviewer/penguji 2 yang telah banyak memberikan saran, arahan dan bimbingan kepada saya.

  5. Bapak dan Ibu dosen serta seluruh staf pegawai jurusan Teknik Informatika, UNIKOM Bandung yang telah banyak membantu saya.

  6. Teman-teman di kelas IF-6 angkatan 2008. Terutama Barudak Peuteuy, Hadi, Ferdi, Irwansyah, George, Helmi, Jimy, Gandes, Girin, Iudewana dan teman-teman lain yang tidak bisa disebutkan satu per satu, Terima kasih atas kebersamaanya selama ini. Semoga teman-teman diberikan kemudahan serta kelancaran dalam mencapai cita-citanya.

  7. Kepada Mas Agung, Terima kasih karena telah mengizinkan saya untuk menjadikan website miliknya sebagai target simulasi dalam tugas akhir ini.

  8. Kepada kedua kakak tercinta Niena Marlina Anggraeni dan Asep Tommi Andryawan terimakasih atas doa dan dukungannya, semoga Alloh SWT memberikan yang terbaik kalian.

  9. Kepada Sdr. Yani Apriani, terimakasih atas dukungan, bantuan dan semangat serta doanya. Semoga kita diberikan kelancaran untuk mencapai cita-cita kita.

  10. Kepada Kang Aceng, Terima Kasih atas segala bantuan dan motivasinya dan Semua pihak yang turut memberikan dukungan dalam penulisan skripsi ini yang tidak bisa disebutkan satu persatu. Akhir kata, saya berharap semoga laporan ini bisa sangat berguna dan bermanfaat bagi saya dan pembaca. Semoga segala jenis bantuan yang telah diberikan kepada saya mendapat balasan dari Alloh SWT. Amin.

  Bandung, 25 Februari 2014 Jamie Karisma Anggreana

  

DAFTAR ISI

  ABSTRAK ............................................................................................................... i

  

ABSTRACT .............................................................................................................. ii

  KATA PENGANTAR ........................................................................................... iii DAFTAR ISI ............................................................................................................ v DAFTAR GAMBAR ............................................................................................. ix DAFTAR TABEL .................................................................................................. xi DAFTAR LAMPIRAN ......................................................................................... xii

  BAB I PENDAHULUAN ........................................................................................ 1

  1.1. Latar Belakang ......................................................................................... 1

  1.2. Rumusan Masalah ................................................................................... 2

  1.3. Maksud dan Tujuan ................................................................................. 3

  1.4. Batasan Masalah ...................................................................................... 3

  1.5. Metode Penelitian .................................................................................... 4

  1.6. Sistematika Penulisan .............................................................................. 5

  BAB II LANDASAN TEORI .................................................................................. 7

  2.1. Jaringan Komputer .................................................................................. 7

  2.1.1. Tipe Jaringan ........................................................................................... 7

  2.1.1.1. Jaringan Peer to Peer ............................................................................... 7

  2.1.1.2. Jaringan Client-Server ............................................................................. 8

  2.1.2. Arsitektur Jaringan Komputer ................................................................. 9

  2.1.2.1. Topologi Bus ........................................................................................... 9

  2.1.2.2. Topologi Ring ........................................................................................ 10

  2.1.2.3. Topologi Star ......................................................................................... 10

  2.2. Internet ................................................................................................... 12

  2.3. Situs ....................................................................................................... 13

  2.4. HTTP Respon ........................................................................................ 15

  2.4.1. Ancaman Keamanan .............................................................................. 22

  2.4.2. Tipe-tipe Ancaman Keamanan .............................................................. 22

  2.4.3. Tipe Ancaman Pada Aplikasi Web ........................................................ 23

  2.4.4. Prinsip Pengamanan Sistem .................................................................. 26

  2.9.2. Struktur File Database ........................................................................... 35

  2.12.3. Web Server Nginx ................................................................................. 43

  2.12.2. Web Server Litespeed ............................................................................ 43

  2.12.1. Web Server Apache ............................................................................... 43

  2.12. Web Server ............................................................................................ 42

  2.11.1 Tipe Data ............................................................................................... 42

  2.11. MySQL .................................................................................................. 41

  2.10.1.1. Jenis Tipe Data ...................................................................................... 39

  2.10.1. Tipe Data ............................................................................................... 39

  2.10. PHP ........................................................................................................ 38

  2.9.3.3. Fungsi-fungsi DBMS ............................................................................. 37

  2.9.3.2. Kekurangan DBMS ............................................................................... 37

  2.9.3.1. Komponen DBMS ................................................................................. 36

  2.9.3. Database Management System (DBMS) ............................................... 35

  2.9.1.3. Model Data Relasional .......................................................................... 34

  2.5. SQL Injection ........................................................................................ 27

  2.9.1.2. Model Data Jaringan .............................................................................. 33

  2.9.1.1. Model Data Hirarkis .............................................................................. 33

  2.9.1. Model Data ............................................................................................ 32

  2.9. Basis Data .............................................................................................. 32

  2.8. Web Application Firewall .................................................................... 31

  2.7.2. Pencegahan Unrestricted File Upload ................................................... 31

  2.7.1. Penyebab Unrestricted File Upload ....................................................... 31

  2.7. Unrestricted File Upload ....................................................................... 31

  2.6.2. Pencegahan Cross Site Scripting ........................................................... 29

  2.6.1. Penyebab Cross Site Scripting ............................................................... 29

  2.6. Cross Site Scripting ............................................................................... 29

  2.5.2. Pencegahan SQL Injection .................................................................... 28

  2.5.1. Penyebab SQL Injection ........................................................................ 27

  2.12.4. Web Server IIS ...................................................................................... 44

  2.13. Virtual Private Server ............................................................................ 44

  2.14. OWASP Dirbuster ................................................................................. 45

  BAB III ANALISIS DAN PERANCANGAN SISTEM ....................................... 47

  3.1. Analisis Sistem ..................................................................................... 47

  3.1.1. Analisis Masalah ................................................................................... 47

  3.1.2. Analisis URL ......................................................................................... 48

  3.1.3. Analisis Protokol ................................................................................... 50

  3.1.3.1 HTTP Request ....................................................................................... 50

  3.1.4. Analisis Metode Ancaman..................................................................... 52

  3.1.4.1. SQL Injection ........................................................................................ 52

  3.1.4.2. Analisis Information_Schema ............................................................... 56

  3.1.4.3. Penyebab SQL Injection ........................................................................ 59

  3.1.4.4. Cross Site Scripting ............................................................................... 60

  3.1.4.5. Penyebab Cross Site Scripting ............................................................... 61

  3.1.4.6. Unrestricted File Upload ....................................................................... 63

  3.1.4.7. Penyebab Unrestricted File Upload ....................................................... 64

  3.1.5. Analisis Metode Pertahanan .................................................................. 65

  3.1.6. Kebutuhan Pendukung Infrastruktur ..................................................... 73

  3.1.6.1. Kebutuhan Perangkat Keras .................................................................. 73

  3.1.6.2. Kebutuhan Perangkat Lunak ................................................................. 74

  3.2. Analisis Perancangan Sistem ................................................................. 76

  3.2.1. Arsitektur Simulasi ................................................................................ 76

  3.2.2. Arsitektur Simulasi Ancaman ................................................................ 77

  3.2.3. Perancangan Web Application Firewall ................................................ 81

  BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM ..................................... 87

  4.1 Implementasi ......................................................................................... 87

  4.1.1 Implementasi Perangkat Keras .............................................................. 87

  4.1.2 Implementasi Perangkat Lunak ............................................................. 88

  4.1.3 Skenario Implementasi Sistem Tanpa Web Application Firewall......... 88

  4.1.4 Skenario Implementasi Sistem Dengan Web Application Firewall ...... 89

  4.2 Pengujian ............................................................................................... 92

  4.2.1 Skenario Pengujian ................................................................................ 92

  4.2.2 Pengujian Ancaman SQL Injection ....................................................... 93

  4.2.2.1. Pencarian Web Form ............................................................................. 93

  4.2.2.2. Eksekusi Form Login ............................................................................ 94

  4.2.3. Pengujian Ancaman Cross Site Scripting .............................................. 95

  4.2.4. Pengujian Ancaman Unrestricted File Upload ...................................... 96

  4.2.4.1. Pencarian Direktori Web ....................................................................... 96

  4.2.4.2 Eksekusi Form Upload .......................................................................... 97

  4.2.4.3 Eksekusi File Upload ............................................................................. 99

  4.2.4. Pengujian Keamanan ........................................................................... 101

  4.2.5.1. Pengujian Metode WAF Pada SQL Injection ..................................... 101

  4.2.5.2. Pengujian Metode WAF Pada Cross Site Scripting ............................ 102

  4.2.5.3. Pengujian Metode WAF Pada Unrestricted File Upload..................... 103

  4.3. Hasil Pengujian .................................................................................... 105

  BAB 5. KESIMPULAN DAN SARAN .............................................................. 107

  5.1 Kesimpulan ......................................................................................... 107

  5.2 Saran ................................................................................................... 107 DAFTAR PUSTAKA .......................................................................................... 107

DAFTAR PUSTAKA

  [1] Acunetix. (2013). Acunetix Web Application Security. Dipetik 24 Juli 2013, dari Acunetix Web Application Security Website: http://www.acunetix.com/websitesecurity/web-applications

  [2] OWASP Foundation. (17 Juli 2008). Best Practices Guide WAF. Dipetik

  27 Juli 2013, dari The Open Web Application Security Project Website: https://www.owasp.org/index.php/File:Best_Practices_Guide_WAF_v104. en.pdf

  [3] OWASP Foundation. (12 Juni 2013). Top Ten Attacks. Dipetik 10 Agustus 2013, dari The Open Web Application Security Project Website: https://www.owasp.org/index.php/Top_Ten

  [4] Digdo, G. P. (2012). Analisis Serangan dan Keamanan pada Aplikasi Web. Jakarta: Elex Media Komputindo. [5] OWASP Foundation. (2013). Unrestricted File Upload. Dipetik 21

  Nivember 2012, dari The Open Web Application Security Project Website: https://www.owasp.org/index.php/Unrestricted_File_Upload

  [6] Bryan, S., & Vincent, L. (2011). Web Application Security, A Beginner Guide. United State: The McGraw-Hill Companies. [7] OWASP Foundation. (2013). Web Application Firewall. Dipetik 27 Juli

  2013, dari The Open Web Application Security Project Website: https://www.owasp.org/index.php/Web_Application_Firewall [8] Kitt99. (2012, June 1). RNDC. Dipetik 30 Juli 2013, dari Research And

  Development Center Website: http://rndc.or.id/ezine/ezine-rndc-r2-6- 2012/pengamanan-web-server-dengan-modsecurity.txt

  [9] Wahana Komputer. (2001). Penanganan Jaringan Komputer. Yogyakarta: ANDI. [10] McClure , S., Saumil, S., & Sheeraj, S. (2003). Web Hacking, Serangan dan Pertahanannya. Yogyakarta: ANDI. [11] Simarmata, J. (2006). Pengamanan Sistem Komputer. Yogyakarta: ANDI. [12] Indrajit, R. E. (2012). Aneka Ragam Serangan di Dunia Maya. Dipetik 6

  Oktober 2013, dari http://www.idsirtii.or.id/content/files/cyber6/1baf0eec40eab68e9257f2453 6ae808f.pdf

  [13] L41n, a. 4. (28 Maret 2008). ECHO. Dipetik 6 Oktober 2013, dari

  [14] Ravii, M. (2011). Sistem Keamanan Komputer dan Jaringan. Dipetik 6 Oktober 2013, dari http://ravii.staff.gunadarma.ac.id/Downloads/files/35408/Keamanan+jarin gan.pdf

  [15] Clarke, J. (2009). SQL Injection Attacks and Defense. Burlington: Syngress Publishing, Inc. [16] Grossman, J., Robert Hansen, Petko D.Petkov, Anton Rager, & Seth Fogie. (2007). XSS Attacks: Cross Site Scripting Exploits and Defense.

  Burlington: Syngress Publishing, Inc. [17] Suprianto, D. (2008). Buku Pintar Pemrograman PHP. Bandung: Oase Media.

  [18] Abdul Kadir. (2002). Konsep & Tuntunan Praktis Basis Data. Yogyakarta: ANDI. [19] World Friend Indonesia. (2010). Web Server. Dipetik 6 Oktober 2013, dari http://worldfriend.web.id/pengertian-web-server [20] Entomy Network. (2013). Virtual Private Server. Dipetik 10 Desember

  2013, dari www.entomy.com/VPS-Server-Configuration-Guide.pdf [21] OWASP Foundation. (22 Oktober 2009). OWASP DirBuster Project. Dipetik 10 Desember 2013, dari https://www.owasp.org/index.php/Category:OWASP_DirBuster_Project

  [22] Ivan Ristic. (2010). Modsecurity Hanbook. Feisty Duck. [23] Ubuntu Manual Team. (2012). Getting Started Ubuntu 12.04. Dipetik 10

  Desember 2013, from http://files.ubuntu-manual.org/manuals/getting- started-with- ubuntu/12.04/en_US/screen/Getting%20Started%20with%20Ubuntu%201 2.04.pdf

  [24] Webmin. (2013). webmin kontrol panel. Dipetik 10 Desember 2013, from http://www.webmin.com [25] WinSCP. (2013). open source file transfer client. Dipetik 10 Desember

  2013, from http://winscp.net/eng/index.php

BAB I PENDAHULUAN 1.1. Latar Belakang Aplikasi web adalah suatu aplikasi yang diakses menggunakan browser

  web melalui jaringan internet [1]. Jenis-jenis aplikasi web sangat beragam, seperti toko online dan website informasi yang dalam beberapa tahun terakhir menjadi target serangan hacker [2]. Berdasarkan data dari The Open Web Application

  

Security Project (OWASP) pada tahun 2013, yang melakukan survey mengenai

  ancaman yang sering terjadi pada aplikasi web diantaranya merupakan ancaman SQL Injection, Cross-Site Scripting dan Unrestricted File Upload [3].

  SQL (Structure Query Language) Injection adalah jenis ancaman yang

  mengizinkan query SQL dapat di-inject oleh client kemudian diteruskan oleh

server untuk dieksekusi [4]. Ancaman ini terjadi pada database aplikasi web.

  

Cross-Site Scripting atau sering dikenal dengan XSS adalah ancaman yang

  mengizinkan kode (client side script) dimasukan ke dalam suatu website yang dapat dijalankan pada sisi client. Unrestricted File Upload adalah jenis ancaman yang mengizinkan user untuk menyisipkan file, biasanya file yang di-upload telah disediakan oleh attacker dan digunakan untuk mengeksekusi kode jarak jauh (Remote Code Execution) [5].

  Keamanan pada aplikasi web kurang mendapat perhatian dari developer sehingga menyebabkan serangan di internet dilakukan terhadap sebuah web, untuk itu diperlukan pengamanan khusus yakni dengan Web Application Firewall [6].

  

Web Application Firewall adalah Suatu metode untuk pengamanan pada aplikasi

  web, yang berupaya mencegah adanya ancaman dari attacker [7]. Web

  

Application Firewall dapat bekerja dengan terlebih dahulu melakukan konfigurasi

  tambahan pada web server dan tidak perlu melakukan perubahan pada script pembangun aplikasi, sehingga dapat diterapkan pada aplikasi yang sudah berjalan.

  Web Application Firewall (WAF) memiliki beberapa fungsi, mulai dari

  monitoring trafik, secure directory, pemfilteran string dan proteksi terhadap serangan seperti SQL Injections, Cross-Site Scripting, dan Unrestricted File

  

Upload. Web Application Firewall membentuk lapisan keamanan yang dapat

  mendeteksi dan mencegah serangan pada aplikasi web. Adapun tindakan yang dapat dilakukan seperti menghentikan request dengan status 403 forbidden dan juga dapat melakukan virtual patching. Dimana virtual patching merupakan suatu

  

rule yang diterapkan untuk melakukan patch tanpa menyentuh aplikasi guna

memblokir request yang berbahaya [8].

  Berdasarkan uraian tersebut, pada pembangunan aplikasi web, segi keamanan kurang mendapat perhatian khusus dari develeoper. Dimana bentuk serangan yang sering terjadi berdasarkan data dari OWASP diantaranya SQL

  

Injection, Cross-Site Scripting, dan Unrestricted File Upload masih menjadi suatu

  ancaman yang membahayakan pada aplikasi web. Salah satu metode pengamanan yang dapat diterapkan yaitu dengan menggunakan Web Application Firewall. Dimana metode tersebut akan diterapkan pada website penjualan dan untuk bentuk pengujian pertahanan, akan dicoba disimulasikan teknik serangan yang paling sering terjadi. Dengan sistem pertahanan ini, diharapkan dapat memberikan rekomendasi untuk meningkatkan segi keamanan, sehingga aplikasi web yang dibangun tidak hanya mempunyai desain yang baik namun juga terjaga integritas datanya. Penelitian yang mengambil topik security pada aplikasi web ini diberi judul

  “SIMULASI KEAMANAN PADA APLIKASI WEB dengan WEB

  APPLICATION FIREWALL ”.

1.2. Rumusan Masalah

  Berdasarkan latar belakang tersebut, masalah dapat dirumuskan dalam pertanyaan sebagai berikut :

  1. Bagaimana menanggulangi ancaman SQL Injection, Cross-Site Scripting dan Unrestricted File Upload.

  2. Bagaimana membangun mekanisme keamanan pada aplikasi web dengan Web Application Firewall.

1.3. Maksud dan Tujuan

  Maksud dari penulisan tugas akhir ini adalah untuk mensimulasikan sistem keamanan pada website penjualan dengan Web Application Firewall. Sedangkan tujuan yang ingin dicapai dalam penelitian ini adalah : 1.

  Mensimulasikan Web Application Firewall pada ancaman SQL Injection, Cross-Site Scripting dan Unrestricted File Upload.

2. Melakukan pengujian terhadap Web Application Firewall serta menghasilkan rekomendasi keamanan yang baik pada aplikasi web.

1.4. Batasan Masalah

  Adapun batasan masalah yang diterapkan pada penelitian ini adalah sebagai berikut :

  1. Jenis ancaman yang disimulasikan pada aplikasi web adalah SQL Injection, Cross-Site Scripting dan Unrestricted File Upload.

  2. Simulasi pertahanan dan ancaman dilakukan pada aplikasi berbasis web dengan target sebuah website e-commerce.

  3. Bentuk form dalam metode SQL Injection adalah form login.

  4. Bentuk form dalam metode Cross Site Scripting adalah form hubungi kami.

  5. Bentuk form dalam metode Unrestricted File Upload adalah form upload.

  6. Aplikasi web yang dibangun menggunakan bahasa pemrograman PHP dan DBMS MySQL versi 5.

  7. Pengamanan aplikasi web dengan metode Web Application Firewall menggunakan ModSecurity 2.7.5 Apache dan ModSecurity-CRS 2.2.5.

  8. Server menggunakan Virtual Private Server (VPS) yang telah terhubung dengan DNS server dan internet, sebagai perangkat untuk menjalankan web.

  9. Sistem operasi server yaitu Ubuntu 12.04.

1.5. Metodologi Penelitian

  Metodologi yang digunakan dalam penulisan tugas akhir ini adalah metode deskriptif dengan tahapan sebagai berikut : a.

  Literatur Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

  b.

  Perumusan Masalah Perumusan masalah merupakan suatu rumusan yang memperdalam dan mencermati suatu kasus, baik dalam kedudukannya sebagai kasus individu atau berdiri sendiri, maupun kasus yang saling berhubungan dengan kasus lainnya, baik sebagai penyebab atau sebagai akibat.

  c.

  Pemodelan Simulasi Pemodelan simulasi merupakan suatu teknik meniru operasi-operasi atau proses-proses yang terjadi dalam suatu sistem dengan bantuan perangkat komputer dan dilandasi oleh beberapa asumsi tertentu sehingga sistem tersebut bisa dipelajari secara ilmiah (Law and Kelton, 1991).

  d.

  Pengujian Pada bagian ini, attacker akan mengakses layanan pada server yaitu sebuah

  website penjualan (e-commerce). Attacker akan menginjeksikan kode tertentu

  pada aplikasi web yang menggunakan Web Application Firewall dengan metode ancaman yang sering terjadi yaitu SQL Injection, Cross-Site Scripting dan Unrestricted File Upload sebagai tolak ukur yang menentukan apakah Web

  Application Firewall dapat meminimalisir ancaman yang sering terjadi pada aplikasi web.

  e.

  Rekomendasi Berdasarkan pengujian yang dilakukan disimpulkan bahwa metode Web

  Application Firewall dapat direkomendasikan sebagai metode keamanan

  terhadap ancaman SQL Injection, Cross Site Scripting dan Unrestricted File Upload.Gambar 1.1 menunjukan tahap penelitian.

Gambar 1.1 Tahap Penelitian 1.6.

   Sistematika Penulisan

  Sistematika penulisan tugas akhir ini adalah sebagai berikut :

  BAB I PENDAHULUAN Bab ini berisi latar belakang, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika penelitian. BAB II. LANDASAN TEORI Bab ini berisi teori-teori pendukung yang berhubungan dengan sistem yang akan disimulasikan, seperti Jaringan Komputer, Arsitektur Jaringan Komputer, Internet, Situs, HTTP Respon, Keamanan Komputer, Basis Data, Bahasa Pemrograman, dan Metode yang digunakan.

  BAB III. ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi deskripsi sistem, analisis kebutuhan dalam pembangunan sistem serta perancangan sistem yang dikembangkan, seperti Analisis Kebutuhan

  Perangkat Keras, Analisis Kebutuhan Perangkat Lunak, Analisis Metode Ancaman, dan Analisis Metode Keamanan.

  BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini berisi implementasi sistem yang dibangun, ujicoba sistem keamanan pada aplikasi web dengan metode ancaman diantaranya SQL Injection, Cross Site

  Scripting, dan Unrestricted File Upload serta hasil dari pengujian sistem.

  BAB V. KESIMPULAN DAN SARAN Bab ini berisi kesimpulan yang diperoleh dari hasil pengujian sistem, serta saran pengembangan sistem ke depan.

BAB II LANDASAN TEORI 2.1. Jaringan Komputer Jaringan komputer adalah sekelompok komputer otonom yang saling

  berhubungan antara satu dengan yang lainnya menggunakan protokol komunikasi melalui media komunikasi sehingga dapat saling berbagi informasi, program- program, dan menggunakan bersama perangkat keras [9].

2.1.1. Tipe Jaringan

  Tipe jaringan komputer dapat dibedakan menjadi dua tipe yaitu: 1.

  Jaringan peer to peer 2. Jaringan client-server 2.1.1.1.

   Jaringan Peer to Peer

Gambar 2.1 Jaringan Peer to Peer

  Jaringan peer to peer adalah sebuah jaringan komputer dimana setiap komputer disusun dan dihubungkan satu sama lain tanpa adanya kontrol terpusat yang berperan sebagai server murni. Pada jaringan peer to peer setiap komputer yang terhubung pada jaringan dapat berkomunikasi dengan komputer-komputer

  Komputer yang terhubung dalam jaringan peer to peer pada prinsipnya mampu untuk bekerja sendiri sebagai sebuah komputer. Untuk membangun jaringan seperti ini, dibutuhkan komputer-komputer yang memiliki kemampuan yang setara karena keamanan dalam jaringan tersebut diatur dan dikontrol oleh masing-masing komputer dalam jaringan tersebut.

  Peer to peer juga dikenal dengan istilah workgroups. Jumlah pengguna

  dalam sebuah jaringan workgroups biasanya kurang dari 10 pengguna, masing- masing pengguna komputer dapat saling berbagi dan pada umumnya tidak begitu diperlukan pengaturan keamanan data di antara anggota workgroup tersebut.

2.1.1.2. Jaringan Client-Server

Gambar 2.2 Jaringan Client-Server

  Pada jaringan client-server terdapat sebuah komputer yang berfungsi sebagai server, sedangkan komputer-komputer yang lain berfungsi sebagai client. Sesuai namanya maka komputer server berfungsi dan bertugas melayani seluruh komputer yang terdapat dalam jaringan tersebut.

  Komputer-komputer ini disebut juga dengan workstation, yaitu komputer dimana pengguna jaringan dapat mengakses dan memanfaatkan pelayanan yang diberikan komputer server. Dalam sebuah jaringan komputer biasanya

  

workstation menggunakan komputer yang memiliki kemampuan lebih rendah

2.1.2. Arsitektur Jaringan Komputer

  Arsitektur sebuah jaringan komputer dibedakan menjadi arsitektur fisik dan arsitektur logic. Arsitektur fisik berkaitan dengan susunan fisik sebuah jaringan komputer, biasa juga disebut dengan topologi jaringan. Sedangkan arsitektur logic berkaitan dengan logika hubungan masing-masing komputer dalam jaringan. Bentuk-bentuk arsitektur jaringan komputer secara fisik adalah sebagai berikut: 1.

  Topologi Bus.

  2. Topologi Ring.

  3. Topologi Star.

2.1.2.1. Topologi Bus

  Topologi Bus merupakan jenis topologi yang memiliki metode paling sederhana. Terdiri dari sebuah kabel yang menghubungkan semua komputer yang tergabung dalam sebuah bus atau jalur komunikasi data (kabel). Komputer pada sebuah jaringan berkomunikasi dengan komputer lain berdasarkan sistem pengalamatan data dan meletakkan data melalui kabel dalam bentuk sinyal elektronik.

Gambar 2.3 Topologi BUS

  Topologi jaringan ini memiliki kelemahan pada tingkat komunikasi data yang cukup padat. Pada kondisi lalu lintas data yang padat, kemungkinan terjadinya tabrakan komunikasi antara beberapa komputer menjadi sangat besar. Hal ini akan berakibat turunnya kecepatan lalu lintas data, yang pada akhirnya akan menurunkan kinerja jaringan secara keseluruhan. Kelemahan lain dari topologi ini adalah jika terjadi gangguan atau kerusakan pada salah satu lokasi (titik) dalam jaringan maka hal itu akan mempengaruhi jaringan secara keseluruhan.

  2.1.2.2. Topologi Ring

  Topologi ring menghubungkan komputer dengan cara membentuk sebuah lingkaran kabel. Sinyal berjalan mengelilingi lingkaran dengan satu arah dan sinyal tersebut dilewatkan melalui masing-masing komputer. Tidak seperti topologi bus, masing-masing komputer bertindak seperti sebuah repeater untuk memperkuat sinyal dan mengirimkannya ke komputer lain. Karena sinyal dilewatkan melalui masing-masing komputer, kerusakan dari satu komputer dapat mempengaruhi seluruh jaringan. Namun demikian jaringan ini memiliki kecepatan yang lebih baik bila dibandingkan dengan topologi bus.

Gambar 2.4 Topologi Ring

  2.1.2.3. Topologi Star

  Topologi ini masing-masing komputer dalam jaringan dihubungkan ke pusat dengan menggunakan jalur yang berbeda. Komunikasi pada jaringan diatur di pusat jaringan. Dengan digunakannya jalur yang berbeda untuk masing-masing komputer maka jika terjadi gangguan atau masalah pada salah satu titik dalam jaringan tidak akan mempengaruhi bagian jaringan yang lain. Hal ini juga memungkinkan pengaturan instalasi jaringan yang fleksibel.

  Topologi jaringan seperti ini memungkinkan kecepatan komunikasi data yang lebih baik jika dibandingkan topologi yang lain (bus dan ring). Kelemahan dari topologi ini adalah bahwa kinerja jaringan sangat dipengaruhi oleh kemampuan sentral atau dari jaringan tesebut.

Gambar 2.5 Topologi Star

  Sedangkan arsitektur jaringan komputer secara logic ada bermacam- macam, bahkan terus dikembangkan bentuk-bentuk jaringan baru. Beberapa bentuk arsitektur jaringan yang telah ada adalah: 1.

  Arsitektur ArcNet.

  2. Arsitektur TokenRing.

  3. Arsitektur Ethernet.

  4. Arsitektur FDDI.

  5. Arsitektur ATM, dan lain-lain

2.2. Internet

  Internet, kependekan dari interconnection-networking, secara harfiah ialah sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh dunia. TCP/IP digunakan sebagai protokol pertukaran paket (packet

  switching communication protocol).

  Internet merupakan jaringan komputer yang dibentuk oleh Departemen Pertahanan Amerika Serikat di tahun 1969, melalui proyek ARPA yang disebut ARPANET (Advanced Research Project Agency Network), dimana mereka mendemonstrasikan bagaimana dengan hardware dan software komputer yang berbasis UNIX dapat melakukan komunikasi dalam jarak yang tidak terhingga melalui saluran telepon.

  Proyek ARPANET merancang bentuk jaringan, kehandalan, seberapa besar informasi dapat dipindahkan, dan akhirnya semua standar yang mereka tentukan menjadi cikal bakal pembangunan protokol baru yang sekarang dikenal sebagai TCP/IP (Transmission Control Protocol/Internet Protocol).

  Tujuan awal dibangunnya proyek tersebut adalah untuk keperluan militer. Pada saat itu Departemen Pertahanan Amerika Serikat (US Department of

  

Defense) membuat sistem jaringan komputer yang tersebar dengan

  menghubungkan komputer di daerah-daerah vital untuk mengatasi masalah bila terjadi serangan nuklir dan untuk menghindari terjadinya informasi terpusat, yang apabila terjadi perang dapat mudah dihancurkan.

  Pada mulanya ARPANET hanya menghubungkan 4 situs saja yaitu

  

Stanford Research Institute, University of California, Santa Barbara, University

of Utah, dimana mereka membentuk satu jaringan terpadu di tahun 1969, dan

  secara umum ARPANET diperkenalkan pada bulan Oktober 1972. Tidak lama kemudian proyek ini berkembang pesat di seluruh daerah, dan semua universitas di negara tersebut ingin bergabung, sehingga membuat ARPANET kesulitan untuk mengaturnya.

  Oleh sebab itu ARPANET dipecah manjadi dua, yaitu "MILNET" untuk keperluan militer dan "ARPANET" baru yang lebih kecil untuk keperluan nonmiliter seperti, universitas-universitas. Gabungan kedua jaringan akhirnya dikenal dengan nama DARPA Internet, yang kemudian disederhanakan menjadi Internet.

2.3. Situs

  Sebuah situs web sering pula disingkat website, site adalah sebutan bagi sekolompok halaman (domain name) atau subdomain di World Wide Web (WWW) di internet. WWW terdiri dari situs web di akses dari sebuah URL yang menjadi "akar" (root), yang disebut homepage (halaman induk sering diterjemahkan menjadi “beranda”, “halaman muka”), dan biasanya disimpan dalam server yang sama. Tidak semua situs web dapat diakses dengan gratis beberapa situs web melakukan pembayaran agar dapat menjadi pelanggan misalnya situs-situs berita, layanan surat elektronik (e-mail), dan lain-lain.

  Terminologi dari website adalah kumpulan dari halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain di dalam World

  

Wide Web (WWW) pada internet. Sebuah web page adalah sebuah dokumen yang

  tertulis dalam format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP, yaitu protokol yang menyampaikan informasi dari

  

server website-website tersebut dapat membentuk sebuah jaringan informasi yang

  sangat besar. Halaman-halaman dari website akan bisa diakses melalui URL yang biasa disebut homepage. URL ini mengatur halaman-halaman situs untuk menjadi sebuah hirarki, meskipun hyperlink yang ada di halaman tersebut mengatur para pembaca dan memberitahukan mereka susunan keseluruhan dan bagian arus informasi ini berjalan. Beberapa website membutuhkan subskripsi (data masukan) agar para user bisa mengakses situs tersebut.

  Penemu website adalah Sir Timothy John “Tim” Berners-Lee, sedangkan

  

website yang tersambung dengan jaringan, pertamakali muncul pada tahun1991.

  Maksud dari Tim ketika membuat website adalah untuk mempermudah tukar- menukar dan memperbaharui informasi kepada sesama peneliti di tempat dia bekerja. Pada tanggal 30 April 1993, CERN (tempat dimana Tim bekerja) menginformasikan bahwa WWW dapat digunakan gratis oleh semua orang.

  Sebuah website bisa berupa hasil kerja dari perorangan atau individu, atau menunjukkan kepemilikan dari sebuah organisasi, perusahaan, dan biasanya

  

website itu menunjukkan beberapa topik khusus, atau kepentingan tertentu.

  Sebuah website bisa berisi hyperlink yang menghubungkan ke website lain.

  Website ditulis, atau secara dinamik di konversikan menjadi HTML dan

  diakses melalui sebuah program software yang bisa disebut dengan web browser, yang dikenal juga dengan HTTP Client. Halaman web dapat dilihat atau diakses melalui jaringan komputer dan internet, perangkatnya bisa saja berupa personal komputer, laptop komputer, PDA ataupun Cellphone. Sebuah website dibuat di dalam sebuah sistem komputer yang dikenal dengan web server juga disebut dengan HTTP Server, dan pengertian ini juga bisa menunjukkan pada software yang dipakai.

  Sebuah website dinamis adalah website yang secara berkala informasi di dalamnya berubah atau website ini bisa berhubungan dengan user dengan berbagai macam cara atau metode (HTTP cookies atau Variabel Database, sejarah kunjungan, variabel sesi dan lain-lain) bisa juga dengan cara interaksi langsung menggunakan form dan pergerakan mouse. Ketika web server menerima permintaan dari user untuk memberikan halaman tertentu, maka halaman tersebut akan secara otomatis diambil dari media penyimpanan sebagai respon dari permintaan yang diminta oleh user.

  Sebuah situs dapat menampilkan dialog yang sedang berlangsung di antara dua user, memantau perubahan situasi, atau menyediakan informasi yang berkaitan dengan sang user. Ada banyak jenis sistem software yang dapat dipakai untuk meng-generate Dynamic Web System dan Situs Dinamis, beberapa diantaranya adalah ColdFusion (CFM), Active Server Pages (ASP), Java Server

  

Pages (JSP) dan PHP, bahasa program yang mampu untuk meng-generate

Dynamic Web System dan Situs Dinamis. Situs juga bisa termasuk di dalamnya

  berisi informasi yang diambil dari satu atau lebih database atau bisa juga menggunakan teknologi berbasis XML, contohnya adalah RSS. Isi situs yang statis juga secara periodik di generate apabila ada keadaan dimana dia butuh untuk dikembalikan kepada keadaan semula, maka dia akan di generate, hal ini untuk menghindari kinerjanya supaya tetap terjaga.

  Seperti yang tertulis di atas, terdapat perbedaan dalam penulisan dari terminologi website. Walaupun ¨Website¨ sudah secara umum dipakai, namun untuk Associated Press Stylebook, Reuters, Microsoft, Academia, dan kamus- kamus yang ada, penulisan yang mereka pakai adalah dengan menggunakan dua kata, yaitu Web Site. Hal ini karena Web bukanlah terminologi umum, namun ia adalah kependekan dari World Wide Web.

2.4. HTTP Respon 1.

  Kode Respon Kode Respon adalah sebuah kode angka yang sesuai dengan respon yang bersangkutan. Server merespon dalam salah satu dari empat cara yaitu:

  Success, Redirection, Client Error, atau Server Error [10].

Tabel 2.1 Kode-kode Respon Umum

  Kode Respon Keterangan

  Success 2xx Request Berhasil dijalankan

  200 OK

  Redirection 3xx

  301 Moved Permanently Sumber-sumber request diberi URL permanen dan ditempatkan pada field

  location

  . Kode respon ini berkata, “saya telah dipindahkan, ikuti saya ke tempat yang baru.”