• Tidak ada hasil yang ditemukan

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2017

N/A
N/A
Protected

Academic year: 2021

Membagikan "JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2017"

Copied!
13
0
0

Teks penuh

(1)

IMPLEMENTASI SERVER CONFIG PADA PENGAMANAN

SHARED WEB HOSTING MENGGUNAKAN JSON WEB

TOKEN DARI SERANGAN SYMLINK

TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata I Teknik Informatika Universitas Muhammadiyah Malang

IRFAN HARIANSYAH 201210370311046

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2017

(2)
(3)
(4)

iv

(5)

viii

KATA PENGANTAR

Alhamdulillahirabbil’alamiin, Puji syukur penulis panjatkan kepada Allah SWT karena dengan rahmat-Nya pelaksanaan dan penyusunan Tugas Akhir yang berjudul “Implementasi Server Config Pada Pengamanan Shared Web Hosting Menggunakan JSON Web Token dari Serangan Symlink” dapat diselesaikan sebagai persyaratan menyelesaikan Sarjana Strata Satu (S1) Jurusan Teknik Informatika, Fakultas Teknik Universitas Muhammadiyah Malang.

Penulis juga menyampaikan ucapan terimakasih dan penghargaan sebesar-besarnya atas bantuan, motivasi, bimbingan dan dukungan dalam menyelesaikan tugas akhir ini, antara lain kepada yang terhormat:

1. Bapak Syaifuddin, M.Kom selaku dosen pembimbing I

2. Bapak Denar Regata Akbi, M.Kom selaku dosen pembimbing II

Penulis menyadari bahwa tugas akhir ini masih belum sempurna. Oleh karena itu, kritik dan saran yang membangun penulis harapkan sebagai masukan kearah yang lebih baik lagi. Demikian penulis berharap agar Tugas Akhir ini dapat berguna untuk kita semua.

Malang, 6 Februari 2017

(6)

ix

DAFTAR ISI

LEMBAR PERSETUJUAN... II LEMBAR PENGESAHAN ... III LEMBAR PERNYATAAN KEASLIAN ... IV ABSTRAK ... V ABSTRACT ... VI LEMBAR PERSEMBAHAN ... VII KATA PENGANTAR ... VIII

BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 2 1.3 Batasan Masalah ... 3 1.4 Tujuan Penelitian ... 3 1.5 Metodologi ... 4 1.5.1 Studi Literatur ... 4 1.5.2 Metode Analisis ... 4

1.5.3 Metode Perancangan dan Implementasi ... 4

1.6 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Website ... 6

2.2 Web Server ... 6

2.3 Shared Web Hosting ... 6

2.4 Content Management System ... 7

2.5 Keamanan Informasi ... 7

2.6 Jenis-jenis Serangan pada Web... 8

2.7 Tahap Serangan pada Web ... 10

2.8 Symlink Attack ... 11

2.9 REST API ... 11

2.10 JSON Web Token ... 12

2.11 Libsodium ... 14

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 15

(7)

x

3.1.1 Analisis Masalah ... 15

3.1.2 Analisa Kebutuhan non Fungsional ... 16

3.2 Perancangan Sistem ... 17

3.2.1 Rancangan Sistem ... 17

3.2.2 Rancangan Aplikasi ... 23

3.2.3 Rancangan Antarmuka ... 27

3.3 Metode Pengujian dan Analisis Hasil Uji Coba ... 28

3.3.1 Pengujian Performa ... 28

3.3.2 Pengujian Keamanan ... 30

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 34

4.1 Implementasi Sistem ... 34

4.1.1 Implementasi Sistem Server Config ... 34

4.1.2 Implementasi Aplikasi Server Config ... 37

4.2 Pengujian Sistem ... 42 4.2.1 Pengujian Performa ... 42 4.2.2 Pengujian Keamanan ... 50 BAB V PENUTUP ... 59 5.1 Kesimpulan ... 59 5.2 Saran ... 60 DAFTAR PUSTAKA ... 61 LAMPIRAN ... 63 BIOGRAFI PENULIS ... 75

(8)

xi

DAFTAR GAMBAR

Gambar 2.1 Arsitektur RESTful ... 12

Gambar 2.2 Contoh token JWT ... 14

Gambar 3.1 Sistem yang berbeda level keamanannya diletakkan kedalam zona keamanan yang terpisah ... 16

Gambar 3.2 Rancangan Sistem ... 18

Gambar 3.3 Diagram alir instalasi Server Config ... 19

Gambar 3.4 Diagram alir get Server Config ... 20

Gambar 3.5 Diagram pseduo random generator ... 20

Gambar 3.6 Diagram alir fungsi install_post pada REST API ... 21

Gambar 3.7 Diagram alir config_post pada REST API ... 22

Gambar 3.8 Sistem autentikasi pada standar JWT ... 23

Gambar 3.9 Use Case diagram aplikasi Server Config ... 24

Gambar 3.10 Diagram alir insert app ... 24

Gambar 3.11 Diagram alir add token ... 25

Gambar 3.12 Diagram alir edit token ... 26

Gambar 3.13 Diagram alir tambah user ... 26

Gambar 3.14 Rancangan antarmuka halaman utama aplikasi ... 27

Gambar 3.15 Rancangan antarmuka halaman App ... 28

Gambar 3.16 Rancangan antarmuka halaman User ... 28

Gambar 3.17 Tahapan sebelum pengujian keamanan konfigurasi ... 32

Gambar 4.1 Fungsi safeDecrypt menggunakan library libsodium untuk melakukan proses dekripsi ... 34

Gambar 4.2 Perintah pengiriman token menggunakan fungsi file_get_contents() 35 Gambar 4.3 Controller API pada aplikasi Server Config ... 36

Gambar 4.4 Kode perintah dekripsi token, validasi token JWT dan enkripsi response ... 36

Gambar 4.5 Dekripsi token terenkripsi ... 37

Gambar 4.6 Tampilan listapp pada controller App ... 38

Gambar 4.7 Tampilan insert app pada controller App ... 38

Gambar 4.8 Tampilan konfigurasi website yang digunakan dalam instalasi website... 39

(9)

xii

Gambar 4.9 Tampilan add token pada controller App ... 39

Gambar 4.10 Tampilan edit token pada controller App ... 40

Gambar 4.11 Implementasi list user client pada controller User ... 40

Gambar 4.12 Implementasi add user pada controller User ... 41

Gambar 4.13 Tampilan edit profile pada controller User... 42

Gambar 4.14 Skenario pengujian performa ... 43

Gambar 4.15 Konfigurasi thread atau user pada JMeter ... 43

Gambar 4.16 Tampilan website attacker ... 50

Gambar 4.17 Tampilan website target ... 51

Gambar 4.18 Tampilan utama backdoor berbasis phpshell r57.php ... 51

Gambar 4.19 Tampilan buat file baru menggunakan phpshell ... 51

Gambar 4.20 Token hasil pembacaan file wp-config.php ... 53

Gambar 4.21 Konfigurasi basis data penyerang dengan token website target ... 53

Gambar 4.22 Tampilan file konfigurasi dibuka via web browser ... 53

Gambar 4.23 Tampilan wp-config.php ketika dieksekusi ... 54

Gambar 4.24 Hasil dari base64_decode ... 55

Gambar 4.25 Perintah dekripsi token menggunakan fungsi safeDecrypt ... 55

Gambar 4.26 Tampilan wp-config.php setelah dieksekusi ... 55

Gambar 4.27 Tampilan website penyerang dengan konfigurasi symlink dari website target ... 56

Gambar 4.28 File wp-config.php ketika diakses langsung dari web browser ... 57

Gambar 4.29 File wp-config.php ketika diakses dari website target ... 57

Gambar 4.30 File wp-config.php hasil symlink ... 57

(10)

xiii

DAFTAR TABEL

Tabel 2.1 Tahapan serangan pada Web... 10

Tabel 3.1 Tabel uji coba resource CPU ... 29

Tabel 3.2 Tabel uji coba resource memori ... 30

Tabel 3.3 Tabel uji coba throughput ... 30

Tabel 3.4 Tabel uji coba sampel dan latency ... 31

Tabel 4.1 Hasil pengujian rata-rata CPU load dalam persen ... 44

Tabel 4.2 Hasil pengujian rata-rata memori load dalam Megabytes (MB) ... 46

Tabel 4.3 Hasil pengujian throughput ... 47

Tabel 4.4 Hasil pengujian rata-rata latency dalam ms ... 48

(11)

xiv

DAFTAR GRAFIK

Grafik 4.1 Hasil perbandingan rata-rata CPU load ... 45

Grafik 4.2 Perbandingan CPU load dengan 30 user ... 45

Grafik 4.3 Perbandingan memori load ... 46

Grafik 4.4 Perbandingan throughput masing-masing sistem ... 47

Grafik 4.5 Perbandingan nilai rata-rata latency dalam ms ... 48

(12)

61

DAFTAR PUSTAKA

[1] N. Nikiforakis, W. Joosen, dan M. Johns, “Abusing locality in shared web hosting,” 2011, hal. 1–7.

[2] S. A. Mirheidari, S. Arshad, dan S. Khoshkdahan, “Performance Evaluation of Shared Hosting Security Methods,” 2012, hal. 1310–1315.

[3] K. Petkov, “Overcoming programming flaws: indexing of common software vulnerabilities,” 2005, hal. 127.

[4] M. Jones, J. Bradley, dan N. Sakimura, “JSON Web Token (JWT),” Internet Engineering Task Force (IETF), RFC7519, Mei 2015.

[5] “Website,” American Heritage® Dictionary of the English Language, Fifth Edition. Houghton Mifflin Harcourt, 2011.

[6] “What is Web server? - Definition from WhatIs.com,” WhatIs.com. [Daring]. Tersedia pada: http://whatis.techtarget.com/definition/Web-server. [Diakses: 12-Jan-2017].

[7] “What is shared hosting? - Definition from WhatIs.com,” SearchSOA, 03-Nov-2016. [Daring]. Tersedia pada: http://searchsoa.techtarget.com/definition/shared-hosting. [Diakses: 03-Nov-2016].

[8] “What is Shared Hosting - Advantages and Disadvantages | Pros & Cons to Shared Hosting,” 03-Nov-2016. .

[9] S. A. Mirheidari, S. Arshad, S. Khoshkdahan, dan R. Jalili, “A Comprehensive Approach to Abusing Locality in Shared Web Hosting Servers,” in 2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications, 2013, hal. 1620–1625.

[10] S. K. Patel, V. Rathod, dan J. B. Prajapati, “Performance analysis of content management systems-joomla, drupal and wordpress,” Int. J. Comput. Appl., vol. 21, no. 4, hal. 39–43, 2011.

[11] “CMS Market Share - OpenSourceCMS,” OpenSourceCMS.com, 2016. [Daring]. Tersedia pada: http://www.opensourcecms.com/general/cms-marketshare.php. [Diakses: 01-Nov-2016].

[12] M. Syafrizal, “ISO 17799: Standar Sistem Manajemen Keamanan Informasi,” in Seminar Nasional Teknologi 2007 (SNT 2007), 2007.

(13)

62

[13] “Top 10 2004 - OWASP,” OWASP, 2004. [Daring]. Tersedia pada: https://www.owasp.org/index.php/Top_10_2004. [Diakses: 01-Nov-2016]. [14] “InfoSec Resources - The Seven Steps of a Successful Cyber Attack.”

[Daring]. Tersedia pada: http://resources.infosecinstitute.com/the-seven-steps-of-a-successful-cyber-attack/. [Diakses: 12-Jan-2017].

[15] “In Unix, what is a symbolic link, and how do I create one?,” 02-Nov-2016. [Daring]. Tersedia pada: https://kb.iu.edu/d/abbe. [Diakses: 02-Nov-2016]. [16] “CWE - CWE-61: UNIX Symbolic Link (Symlink) Following (2.9),”

01-Nov-2016. [Daring]. Tersedia pada: https://cwe.mitre.org/data/definitions/61.html. [Diakses: 01-Nov-2016]. [17] M. Massé, REST API design rulebook. Sebastopol, CA: O’Reilly, 2012. [18] M. Elkstein, “Learn REST: A Tutorial,” 02-Nov-2016. .

[19] “What is REST (representational state transfer)? - Definition from WhatIs.com,” SearchSOA. [Daring]. Tersedia pada: http://searchsoa.techtarget.com/definition/REST. [Diakses: 12-Jan-2017]. [20] Z. Niu, C. Yang, dan Y. Zhang, “ A design of cross-terminal web system

based on JSON and REST,” 2014, hal. 904–907.

[21] M. Jones, J. Bradley, dan N. Sakimura, “JSON Web Token (JWT),” Internet Engineering Task Force (IETF), RFC7519, Mei 2015.

[22] C. Sevilleja, “The Anatomy of a JSON Web Token,” Scotch. [Daring]. Tersedia pada: https://scotch.io/tutorials/the-anatomy-of-a-json-web-token. [Diakses: 12-Jan-2017].

[23] “Introduction to Libsodium Development in PHP (Using Libsodium in PHP Projects).” [Daring]. Tersedia pada: https://paragonie.com/book/pecl-libsodium/read/00-intro.md. [Diakses: 18-Jan-2017].

[24] M. Stawowski, “The Principles of Network Security Design,” ISSA J., hal. 29– 31, 2007.

[25] M. Jones dan J. Hildebrand, “JSON Web Encryption (JWE),” Internet Engineering Task Force (IETF), RFC7516, Mei 2015.

Referensi

Dokumen terkait

dimaksudkan agar kaum perempuan yang terjerumus ke dalam tindakan tersebut tidak akan mengulangi perbuatan itu lagi. Salah satu program pemberdayaan perempuan yang

Berdasarkan hasil observasi penulis di lapangan terkait korban pornografi dan situasi darurat dalam perlindungan khusus sudah sepenuhnya ditindaki oleh badan pemberdayaan

Merupakan kebanggaan tersendiri karena telah melalui perjuangan sangat berat, dan akhirnya penulis dapat menyelesaikan tugas akhir dengan judul “Penggunaan Metode Sosiodrama Melalui

Dari semua simulasi yang dilakukan pada sistem IEEE 30 bus dengan 6 unit pembangkit, terlihat bahwa terdapat selisih biaya pembangkitan antara UC, SCUC Normal, dan SCUC

Analisis yang digunakan untuk mengetahui tingkat tingkat pemakaian air bekas dari aktivitas wudhu, menganalisis kinerja pengolahan air bekas air wudhu’ dengan

Pembangunan manusia merupakan paradigma pembangunan yang menempatkan manusia sebagai fokus dan sasaran akhir dari seluruh kegiatan pembangunan, yaitu tercapainya

Geo Eye merupakan program inovasi yang akan dinaungi oleh Departemen Oasis dengan tujuan untuk menyalurkan minat bakat mahasiswa dalam bidang E-Sport. Geo Eye terdiri dari

Variable LEARNABILITY berjumlah 64 orang atau 61% yang memilih sangat setuju, 22 orang atau 28% yang memilih setuju, dan 9 orang atau 11% yang memilih cukup