Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 2, Februari 2018, hlm. 622-631
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Implementasi Security Pada Load Balancing Layanan Web Multidomain Dengan SSL Muhammad Rouvan Amiruddin1, Sabriansyah Rizqika Akbar2, Issa Arwani3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected], 3
[email protected] Abstrak Load balancing adalah mekanisme pembagian beban traffic ke-beberapa server secara seimbang. Penumpukan beban traffic yang berlebih pada server akan membuat kinerja sistem menurun. Untuk mengimplementasikan sistem yang optimal dan aman dengan banyaknya traffic yang masuk, maka perlu diterapkan mekanisme load balancing. Dengan mengimplementasikan mekanisme load balancing menggunakan HAProxy akan membuat traffic dalam suatu jaringan berjalan optimal, karena beban traffic akan didistribusikan pada dua atau lebih jalur koneksi secara seimbang. Melalui implementasi sistem ini kinerja server menjadi lebih optimal dengan tidak adanya pembebanan berlebih pada salah satu server.Agar menghasilkan pertukaran data yang aman antara klien dan server perlu menerapkan protocol SSL.Dengan mengimplementasikan protocol SSL pada sistem ini, pertukaran data antara klien dan server menjadi aman karena sudah ter-enkripsi. Pada sistem ini, jumlah klien sangat berpengaruh terhadap kinerja respons server. Semakin banyak jumlah klien maka respons server terhadap klien akan semakin lama sedangkan pada throughput mendapatkan hasil semakin menurun dan jika sistem menerima request lebih dari 500 klien maka didapatkan error request sebesar 10,4%. Kata kunci: Load Balancing, SSL, Throughput, HAProxy. Abstract Load balancing is a mechanism of sharing on the traffic load to multiple servers in a balance way. An accumulation of excessive traffic load on the server will make system performance decreases. Therefore, the way to implement an optimal and secure system with a large number of incoming traffic so it is necessary to apply a load balancing mechanism. By implementing the load balancing mechanism using HAProxy will make the traffic on network runs optimally because the traffic load will be distributed on two or more connection lines in a balance way. Through the implementation of the system, the server performance becomes more optimal in the absence of overload on a server. In order to generate a secure exchange of data between the client and server, it needs to implement the SSL protocol. By implementing the SSL protocol on this system, the exchange of data between the client and server will be secure Because it is already encrypted. In this system, the number of clients is a very influential part on the performance of server response. The more number of clients will make the server response to the client will get longer while the throughput get a the results decreased and if the system receives a request of more than 500 clients then get the request error of 10.4%. Keywords: Load Balancing, SSL, Throughput, HAProxy. bersamaan melalui koneksi internet untuk menjaga ketersediaan layanan berbasiskan web dan menjaga konsistensi ketersediaan koneksi kepada semua user yang mengakses layanan server tersebut (Margono. Dkk, 2013). Pada dasarnya load balancing dalam proses pertukaran data dari klien ke server masih belum terenkripsi, sehingga keamanan dari paket data tersebut harus lebih diperhatikan (Raden Arief Setyawan, 2014). Untuk mengamankan paket
1. PENDAHULUAN Load balancing merupakan salah satu mekanisme untuk membagi beban traffic kebeberapa server (Raden Arief Setyawan, 2014). Load balancing mendistribusikan beban traffic pada dua atau lebih jalur koneksi secara seimbang, agar traffic dapat berjalan optimal. Load balancing dapat digunakan untuk menghubungkan beberapa server secara Fakultas Ilmu Komputer Universitas Brawijaya
622
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
623
data diperlukan sebuah protocol yang bertujuan untuk enkripsi paket data. Disini penulis ingin mengimplementasikan protocol SSL untuk mengenkripsi paket data pada proses pertukaran data dari klien ke server. Secure Socket Layer (SSL) merupakan protocol keamanan pada proses pengiriman data yang bersifat privat antara klien dan server (Raden Arief Setyawan, 2014). Dengan menerapkan SSL pada load balancing dapat menghindari pencurian data oleh pihak ketiga dan layanan website akan lebih aman diakses, untuk membuktikan keamanan dari protocol SSL penulis akan melakukan pengujian sniffing. Sniffing merupakan tindakan penyadapan dalam suatu jaringan yang bertujuan untuk mendapatkan data atau informasi dari proses pertukaran data antara klien dan server (I Gede Putu Krisna Juliharta, 2015). Dari permasalahan diatas penulis ingin mengimplementasikan load balancing dengan protocol SSL sebagai enkripsi pertukaran paket data. Tujuan dari implementasi load balancing untuk mengoptimalkan sumber daya, meminimkan waktu respons, memaksimalkan troughput, dan menghindari pembebanan berlebihan di satu sumber daya. Untuk mengamankan pertukaran data dari klien ke server penulis menerapkan protocol SSL agar dapat menghindari pencurian paket data.
waktu quantum untuk membatasi waktu prosesnya, biasanya 1-100 milidetik. Algoritme ini memproses antrian secara bergiliran (T Febrianto, 2015).
2. LANDASAN KEPUSTAKAAN
Secure Socket Layer (SSL) merupakan protocol keamanan pada proses pengiriman data yang bersifat privat antara klien dan server (Raden Arief Setyawan, 2014). Protocol ini menggunakan sebuah badan yang biasa disebut Certificate Authority (CA) untuk mengidentifikasi dan memverifikasi pihak-pihak yang berkomunikasi (Hary Fernando, 2010). Proses kerja dari SSL dapat ditunjukkan pada Gambar 1.
2.1 Load Balancing Load balancing merupakan salah satu mekanisme untuk membagi beban traffic ke beberapa server (Raden Arief Setyawan, 2014). Load balancing mendistribusikan beban traffic pada dua atau lebih jalur koneksi secara seimbang, agar traffic dapat berjalan optimal. Layanan Load Balancing memungkinkan pengaksesan sumber daya dalam jaringan didistribusikan ke beberapa host lainnya agar tidak terpusat sehingga unjuk kerja jaringan komputer secara keseluruhan bisa stabil.
Proses akan mendapat jatah sebesar waktu quantum. Jika waktu quantumnya habis atau proses sudah selesai, CPU akan dialokasikan ke proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi akhir dari ready queue, CPU kemudian menjalankan proses berikutnya (T Febrianto, 2015). 2.3 Secure Socket Layer (SSL)
Gambar 1 Pertukaran Data SSL Sumber: (Hary Fernando, 2010)
2.4 HAProxy
2.2 Algoritme Round Robin Algoritme Round Robin adalah salah satu algoritme yang sering digunakan dalam load balancing. Algoritme ini berjalan dengan cara membagi beban traffic secara bergiliran dan berurutan dari satu server ke server lain. Konsep dasar dari algoritme round robin adalah dengan menggunakan time sharing. Setiap proses mendapatkan waktu CPU yang disebut dengan Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 2 Skema Load Balancer Dengan HAProxy Sumber: (Burhanudin, Yusep Rosmansyah, 2009)
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
HAProxy adalah produk open source yang digunakan untuk menciptakan sistem load balancing dan failover dari aplikasi yang berbasis TCP dan HTTP. Perangkat lunak ini sangat cocok digunakan untuk website yang traffic hariannya tinggi. HAProxy memeiliki beberapa fitur sebagai berikut: 1. Dapat dibuat master dan slave load balancing, jika load balancing master mati maka dapat menggunakan load balancing slave. 2. Mendukung load balancing untuk beberapa server 3. Terdapat statistik untuk melakukan monitoring. Implementasi HAProxy diterapkan pada server front-end. Server Front-end umumnya adalah server yang memiliki IP statis dan teregistrasi dengan DNS. Aplikasi server dapat dipasang bersama didalam front-end atau terpasang secara terpisah. Front-end berfungsi untuk menghubungkan klien dengan aplikasi server yang tersedia (Burhanudin, Yusep Rosmansyah, 2009).Topologi load balancing dengan HAProxy dapat ditujukkan pada Gambar 2. HAProxy juga menyediakan fitur statistik yang digunakan untuk memonitoring system yang sedang berjalan, seperti pada Gambar 3.
624
statistik HAProxy. Pada tabel terlihat ws01, ws02, ws03 yang merupakan status real server yang dipakai penulis dan status dari ketiga server tersebut adalah aktif. Pada kolom queue menampilkan antrian request saat server dijalankan dan jumlah maksimal dari Queue current.
Gambar 5 Session Rate
Pada Gambar 5 menjelaskan jumlah session baru yang masuk perdetik ke real server pada kolom current dan jumlah seluruh session yang masuk.
Gambar 6 Sessions
Pada Gambar 6 menjelaskan tentang jumlah session yang ditangani real server. Terlihat pada kolom total, nilai kolom total akan bertambah sesuai dengan banyaknya request yang masuk dari klien.
Gambar 7 Bytes Gambar 3 Tabel Statistik HAProxy
Pada Gambar 3 menunjukkan statistik yang merupakan fitur monitoring HAProxy. Pada sistem load balancing ini, dimana tiga server berjalan secara bergantian menangani request dari klien tanpa membebani berlebih pada salah satu server. Ketika sistem dijalankan akan menampilkan penggunaan server secara bergantian dan bisa terlihat pada tabel statistik HAProxy. Berikut penjelasan tabel statistik HAProxy dalam monitoring system:
Gambar 4 Queue
Pada Gambar 4 menjelaskan tentang Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 7 menjelaskan tentang jumlah byte yang masuk dan keluar pada real server 2.5 Webmin Webmin adalah fasilitas pengelolaan service antarmuka yang berbasis web administrasi sistem. Webmin bisa dijalankan melalui browser apapun yang mendukung form, table dan java dan CGI. Dengan menggunakan webmin, bisa menambahkan user account, setting webserver, dan DNS hanya dengan melalui web browser. Webmin memudahkan administrator untuk mengedit file konfigurasi secara manual dan memungkinkan mengelola sistem dari konsol atau dari jarak jauh (Ferri Fadli. 2012). 2.6 JMeter Apache Jmeter merupakan salah satu
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
aplikasi web analisis berbasis java yang bisa dijalankan pada sitem operasi manapun yang mampu menguji kestabilan dan performa dari suatu webserver. Jenis-jenis pengujian yang bisa dilakukan dengan JMeter adalah Web Test Plan, Load Testing, Stress Testing (Mgs. Muhammad Fauzi. 2014).
625
dalam mengatur penggunaan resource real server, karena penulis menggunakan algoritme round robin maka penggunaan resource real server secara bergantian sesuai urutan teratas. 3.2 Gambaran Umum Sistem
2.7 Domain Name System (DNS) Sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar dalam sebuah jaringan komputer. DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network (Ferri Fadli. 2012). 2.8 Sniffing Sniffing merupakan sebuah proses untuk menangkap paket data yang melintas melalui jaringan komputer. Untuk melakukan proses sniffing memerlukan aplikasi tertentu. Aplikasi ini menangkap tiap-tiap paket dan bahkan menguraikan isi dari Request for Comments (RFC) atau spesifikasi yang lain (I Gede Putu Krisna Juliharta, 2015). 3
PERANCANGAN
3.1 Arsitektur Umum Sistem
Gambar 9 Gambaran Umum Sistem
Gambaran umum sistem pada penelitian ini seperti Gambar 9 menjelaskan bagaimana penerapan SSL pada load balancing. Dalam sistem ini certificated SSL di tempatkan pada frontend bukan di backend. Pada arsitektur ini DNS berada berada di real server dan pada frontend (Haproxy server) diatur penerapan certificated pada masing–masing domain. Peneliti meletakkan sertifikat SSL pada server load balancing, karena pada mekanisme load balancing ini server load balancing hanya memanggil IP address real server, tanpa memanggil Domain Name System (DNS). Pada server load balancing sertifikat sudah dikonfigurasi sesuai dengan domainya, sehingga tidak ada sertifikat yang tertukar dengan sertifikat lain. 4
IMPLEMENTASI
4.1 Implementasi Webmin Diperlukanya webmin sebagai tool system administration pada linux. Dengan menggunakan webmin, penulis bisa menambahkan user account, setting webserver, DNS, hanya dengan melalui web browser. Gambar 8 Arsitektur Umum Sistem
Arsitektur yang digunakan pada penelitian ini seperti Gambar 8 memiliki tiga bagian. Bagian pertama klien sebagai aktor yang melakukan request sesuai yang dibutuhkan. Bagian kedua FrontEnd yaitu server load balancing dan bagian ketiga Backend yaitu real server. Pada arsitektur tersebut Haproxy merupakan server load balancing, Haproxy menangani request pertama dari klien karena Haproxy disini adalah frontend dan real server berperan sebagai backend. Haproxy berperan Fakultas Ilmu Komputer, Universitas Brawijaya
4.2 Implementasi Real Server Implementasi real server pada simulasi ini menggunakan ubuntu server 14.04. Peneliti menggunakan tiga real server dan tiga domain. Pada masing-masing server memiliki isi yang sama antar satu server dengan server lain. 4.3 Konfigurasi Masing-masing Domain pada Webmin Diperlukan konfigurasi BIND DNS Server. Disini penulis menggunakan webmin untuk melakukan konfigurasi BIND DNS Server.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Untuk menjalankan webmin bisa menggunakan browser dan memasukkan URL IP address server yang sedang digunakan dengan port 10000. Berikut konfigurasi untuk salah satu domain.
626
menggunakan panjang 2048bit. Advanced Encryption Standard (AES) merupakan algoritme cryptographic yang digunakan untuk mengamankan data, pada Source Code 4.1 menggunakan panjang bit 256bit.
Source Code 2 Verifikasi Pass Phrase Gambar 10 Membuat Master Zone club.com
Seperti pada Gambar 10 tampilan pada Create Master Zone, disini penulis memasukkan domain name dengan club.com dan email address
[email protected]. Name server tersebut bertanggung jawab terhadap query yang berhubungan dengan domain yang bersangkutan.
Setelah memasukkan Source Code 2, selanjutnya diminta pass phrase untuk mengenkripsi private key. sudo openssl req –new –x509 –days 365 –key club.key > club.crt Source Code 3 Membuat Sertifikat club.crt
Setelah private key club.key dibuat, selanjutnya membuat sertifikat yang berisi informasi Certificate Authorities (CA). Pada Source Code 3 akan membuat sertifikat dengan format X.509, berlaku selama 365 hari, dan menggunakan private key dalam file club.key. Sertifikat ini akan dibuat dalam file club.crt.
Gambar 11 Membuat Address Records
Pada Gambar 11 menjelaskan konfigurasi pada Address Records, pada kolom name diisi dengan club.com dan pada kolom address diisi dengan 192.168.56.27 (merupakan IP address server load balancing). 4.4 Implementasi Sertifikat SSL Penulis disini membuat sertifikat SSL untuk masing-masing domain, yaitu domain club.com, music.com, dan aqua.com. Untuk membuat sertifikat penulis menggunakan aplikasi Open Source bernama OpenSSL. OpenSSL adalah salah satu aplikasi Open Source yang berfungsi untuk membuat atau me-manage sertifikat SSL. Adapun konfigurasi untuk salah satu domain dalam pembuatan sertifikat SSL. 4.4.1 Sertifikat SLL Domain Club sudo openssl genrsa –aes256 2048 > club.key Source Code 1Membuat Private Key club.key
Penjelasan pada Source Code 1 adalah pembuatan private key club.key. Openssl merupakan aplikasi untuk membuat sertifikat SSL. RSA merupakan algoritme yang digunakan untuk enkripsi public key, pada source code 4.1 Fakultas Ilmu Komputer, Universitas Brawijaya
Source Code 4 Membuat Informasi CA
Setelah menjalankan Source Code 4, selanjutnya mengisi beberapa informasi tentang CA yang penulis buat. cat club.crt club.key > club.pem Source Code 5 Membuat Sertifikat club.pem
Pada Source Code 5 dijelaskan tahap menggabungkan private key club.key dan sertifikat club.crt menjadi sertifikat club.pem. Setelah sertifikat club.pem dibentuk dan selanjutnya disalin ke direktori /etc/ssl/private. 4.5 Implementasi Load Balancing Implementasi load balancing yang digunakan pada simulasi ini menggunakan HAProxy. Peneliti menggunakan satu server sebagai server load balancing dan tiga real server. Server load balancing juga menyimpan sertifikat SSL dan mengatur penempatan seretifikat pada masing-masing domain. Pada
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
sistem ini menggunakan algoritme penjadwalan round robin untuk proses penggunaan resources real server.
Minimum waktu respon dari server 100
Waktu (ms)
5
PENGUJIAN
5.1 Pengujian Fungsional Sistem ini dilakukan tiga tahap pada pengujian fungsional.
80 60 40 20 0
5.1.1 Pengujian perbandingan http dan https pada load balancing Pada pengujian perbandingan HTTP dan HTTPS, penulis menggunakan tool tambahan JMeter. Pengujian ini penulis membandingkan kinerja server dalam menangani protocol HTTP dan HTTPS. Pengujian ini dibagi menjadi beberapa sampel uji atau request untuk protocol HTTP dan HTTPS. Pembagian sampel uji dimulai dengan 100, 300, 500, 1000, 1500 dan 3000 sampel uji. Rata-rata waktu respon dari server
500 400
100
300
500
1000
1500
3000
Http
8
12
15
17
27
41
Https
19
20 27 58 Jumlah Sampel Uji Http Https
59
88
Gambar 13 Grafik Minimum
Pada Gambar 13 menjelaskan hasil pengujian dengan sampel yang ada pada HTTP maupun HTTPS. Dapat dianalisis pada kategori minimum. Minimum adalah waktu respons tercepat dari sebuah proses request, semakin kecil nilainya semakin cepat respons server. Pada grafik diatas dapat dijelaskan, semakil kecil jumlah request maka semakin cepat server dalam merespons.
300
Maximum waktu respon dari server
200 100 0
100
300
500
1000
1500
3000
Http
95
161
207
216
238
257
Https
185
250
260
306
439
464
Jumlah Sampel Uji Http Https
Gambar 12 Grafik Average
Pada Gambar 12 menjelaskan hasil pengujian dengan jumlah sampel yang ada pada http maupun https. Dapat di analisis pada kategori Average. Average adalah rata-rata respons yang diberikan server untuk setiap proses request. Setiap peningkatan jumlah request, waktu yang digunakan server untuk merespons request menjadi lebih besar. Semakin sedikit jumlah request, maka server akan semakin cepat dalam menangani request. Pada https request rata-rata waktu yang dibutuhkan server lebih lama dalam merespons, karena paket data https lebih besar daripada http.
Fakultas Ilmu Komputer, Universitas Brawijaya
Waktu (ms)
Waktu (ms)
627
1200 1000 800 600 400 200 0
100
300
500
1000
1500
3000
Http
209
373
419
533
601
795
Https
518
598 600 602 Jumlah Sampel Uji Http Https
950
1059
Gambar 14 Grafik Maximum
Pada Gambar 14 menjelaskan hasil pengujian dengan sampel yang ada pada HTTP maupun HTTPS. Pada kategori maximum, maximum adalah waktu respons terlama dari sebuah proses request. Pada grafik diatas dapat dijelaskan semakin besar jumlah request, maka waktu respons server dalam menangani request akan lebih lama.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Pada Gambar 16 menjelaskan domain pertama yang digunakan adalah club.com. Pada domain club.com sudah menggunakan protocol ssl, sebagai bukti penggunaan https:// pada awal domain dan terdapatnya simbol gembok pada samping domain.
Throughput (kb/sec)
Throughput (kb/sec) 40 35 30 25 20 15 10 5 0
Http
100
300
500
1000
1500
3000
33,5
32,9
28,2
28,1
26,3
24,7
23,2
22,7
20,3
14,5
13,8
Https 24,2
628
Jumlah Sampel Uji Http
Https
Gambar 15 Grafik Throughput
Pada Gambar 15 menjelaskan hasil pengujian dengan sampel yang ada pada HTTP maupun HTTPS. Pada Gambar 15, semakin kecil jumlah request maka semakin besar jumlah throughput yang dicapai. Pada HTTP request, jumlah throughput yang dicapai masih lebih besar dari pada HTTPS request. Dari keempat kategori yaitu average, minimal, maximum, dan throughput. Dengan menggunakan protocol HTTP lebih unggul dalam respons server dan throughput yang didapat lebih besar dari pada menggunakan protocol HTTPS. Pada protocol HTTPS terjadi proses enkripsi, hal tersebut yang membuat waktu respons lebih lama dan throughput yang didapat lebih kecil. Hal ini menjelaskan penggunaan protocol HTTP membuat respons server lebih cepat, tetapi protocol HTTP tidak menjamin keamanan pertukaran data antara klien dan server. Dengan menggunakan protocol HTTPS proses pertukaran data antara klien dan server menjadi lebih aman.
Gambar 17 Informasi Detail Sertifikat
Gambar 17 menjelaskan bahwa, jika dilakukan pemeriksaan lebih lanjut, peulis bisa melihat sertifikat yang dipakai pada domain tersebut. Pada certificate viewer juga terlihat detail informasi sertifikat yang digunakan domain club.com. Informasi yang di perlihatkan pada certificate viewer mulai dari Common name, organization, Serial Number yang digunakan, tanggal pembuatan sertifikat, tanggal akhir sertifikat berlaku, dan algoritme enkripsi yang digunakan. 5.1.3 Pengujian dengan metode sniffing 5.1.3.1 Pengujian sniffing tanpa SSL
5.1.2 Pengujian Penempatan Sertifikat Pada pengujian ini, dilakukan menempatkan sertifikat sesuai domain yang bersangkutan, sehingga tidak adanya sertifikat yang tertukar. Pada masing-masing domain memiliki sertifikat yang berbeda, Berikut pengujianya pada salah satu domain:
Gambar 16 Tampilan Web club.com Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 18 Hasil Pengujian Tanpa SSL
Dapat dilihat pada Gambar 18 data yang dikirim masih menggunakan plain-text. Dari hasil sniffing juga dapat diketahui username dan password yang digunakan oleh klien. Diketahui pada http, data yang dikirim tidak adanya perlindungan.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
5.1.3.2 Pengujian sniffing dengan SSL
629
Tahap pertama pengujian server jika setiap tiga detik 100 klien mengirimkan tiga request ke server. Terlihat pada Gambar 20 menjelaskan tentang kinerja server ketika menerima request dari klien. Dengan jumlah sampel 300, rata-rata respons yang diberikan server untuk setiap proses request adalah 2238ms. Waktu respons tercepat dari sebuah proses request server adalah 195ms, waktu respons terlama dari sebuah proses request server adalah 4112ms. 5.2.1.2 Pengujian dengan 300 Klien 300 Klien
Gambar 19 Hasil Pengujian Dengan SSL
5.2 Pengujian Non fungsional 5.2.1 Pengujian Load Server dengan JMeter Pada pengujian ini dilakukan sebuah simulasi untuk mengetahui kinerja server apabila menangani request dari klien berupa HTTPS request. Pada pengujian ini hanya menggunakan HTTPS request, karena pengujian ini untuk mengetahui jumlah maksimal request yang bisa ditangani oleh server. Untuk melakukan pengujian penulis membagi tiga tahapan request dari klien, tahap pertama pengaruh server jika dilakukan uji dengan setiap tiga detik 100 klien mengirimkan tiga request ke-server, tahap kedua setiap tiga detik 300 klien mengirimkan tiga request ke server, dan tahap ketiga ketika setiap tiga detik 500 klien mengirimkan tiga request ke server. 5.2.1.1 Pengujian dengan 100 Klien
Waktu (ms)
HTTPS Request
Waktu (ms)
HTTPS Request
Aver age
Min
Max
9161
1500
20281
Gambar 21 Pengujian 300 klien
Tahap kedua pengaruh server jika setiap tiga detik 300 klien mengirimkan tiga request ke server. Terlihat pada Gambar 21 menjelaskan tentang kondisi server ketika menerima request dari klien. Dengan jumlah sampel 900, rata-rata respons yang diberikan server untuk setiap proses request adalah 9161ms. Waktu respons tercepat dari sebuah proses request server adalah 1500ms, waktu respons terlama dari sebuah proses request server adalah 20281ms. 5.2.1.3 Pengujian dengan 500 Klien 500 Klien 60000 40000 20000 0
HTTPS Request
Aver age
Min
Max
25945
10400
50514
Gambar 22 Pengujian 500 Klien
100 Klien 6000 4000 2000 0
25000 20000 15000 10000 5000 0
Waktu (ms)
Gambar 19 menunjukkan data yang ditampilkan tidak lagi berupa plain-text. Dengan penerapan SSL terlihat data sudah dienkripsi dan terlihat berantakan, karena tidak lagi bisa dibaca dengan mudah. Hal ini membuktikan bahwa, dengan diterapkanya SSL akan membuat pertukaran data antara klien dan server menjadi aman. Meskipun dilakukan pencurian data berupa sniffing, paket data yang didapat tidak bisa terbaca karena sudah dienkripsi.
Avera ge
Min
Max
2238
195
4112
Gambar 20 Pengujian 100 klien Fakultas Ilmu Komputer, Universitas Brawijaya
Tahap ketiga pengaruh server jika setiap tiga detik 500 klien mengirimkan tiga request ke server. Terlihat pada Gambar 22 menjelaskan tentang kondisi server ketika menerima request dari klien. Dengan jumlah sampel 1500, rata-rata respons yang diberikan server untuk setiap proses request adalah 25945ms. Waktu respons tercepat dari sebuah proses request server adalah
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
10400ms, waktu respons terlama dari sebuah proses request server, adalah 50514ms. 5.2.2 Hasil Analisis Pengujian Load Server dengan JMeter Pada sub bab ini menjelaskan tentang hasil analisis pengujian load server dengan JMeter dari average response time, minimum response time, maximum response time, error request dan throughput. Persentase error (%)
15 10 5 0
HTTPS request
100
300
500
0
0
10,4
Jumlah Klien Gambar 23 Grafik Pengujian Error Request
Throughput (kb/sec)
Throughput 30 20 10 0
HTTPS request
dengan 300 klien dapat menerima request dengan lancar dan tanpa adanya error. Pada pengujian tahap ketiga dengan 500 klien, terjadi error sebanyak 10,40%. Hal ini membuktikan server hanya bisa menerima kurang dari 500 klien agar respons berjalan normal 100%. Pada pengujian throughput, semakin kecil jumlah request maka semakin besar jumlah throughput yang dicapai. 6
Error Request
100
300
500
20,9
18,6
14,5
Jumlah Klien Gambar 24 Grafik Pengujian Throughput
Pada Gambar 23 menjelaskan tentang hasil pengujian dari error request dari 100, 300, 500 klien. Pengujian dari 100 klien tidak terdapat error, pengujian dengan 300 klien juga tidak terdapat error request, tetapi pada pengujian dengan 500 klien terdapat error request sebesar 10,4%. Pada Gambar 24 menjelaskan tentang hasil pengujian dari throughput dengan 100, 300, 500 klien. Pada pengujian dengan 100 klien, throughput yang didapat mencapai 20,9 kb/sec. Pengujian dengan 300 klien, throughput yang didapat 18,6 kb/sec. Pengujian dengan 500 klein throughput yang didapat mencapai 14,5 kb/sec. Pada pengujian load testing server dengan JMeter yang dilakukan dengan tiga tahap, tahap pertama 100 klien, tahap kedua 300 klien, dan tahap ketiga 500 klien. Dapat dianalisis bahwa server bisa berjalan dengan lancar dengan berbagai jumlah request klien yang dilakukan. Pada pengujian tahap pertama dengan 100 klien, dapat menerima request dengan lancar dengan tanpa adanya error. Pada pengujian tahap kedua Fakultas Ilmu Komputer, Universitas Brawijaya
630
KESIMPULAN
Berdasarkan penelitian yang dilakukan penulis terhadap “Implementasi Security pada Load Balancing Layanan WEB Multidomain Dengan SSL” dapat disimpulkan bahwa: 1. Perancangan dan implementasi SSL dalam load balancing menggunakan HAProxy telah berhasil dilakukan dengan menerapkan satu server HAProxy sebagai server load balancing dan tiga real server. Penerapan SSL pada load balancing berhasil dilakukan dimana penempatan sertifikat SSL berada di server load balancing dan penerapan sertifikat SSL pada masing-masing domain. 2. Berdasarkan hasil pengujian sistem yang dilakukan dengan metode sniffing, penerapan protocol SSL pada load balancing terbukti bisa mengamankan pertukaran data antara klien dan server dimana pertukaran data sudah ter-enkripsi. Pada pengujian sniffing yang dilakukan, paket data yang didapat sudah ter-enkripsi dan tidak ditemukanya username dan password dari klien. 3. Berdasarkan hasil pengujian sistem, semakin banyak jumlah klien maka respons server terhadap klien semakin lama sedangkan pada throughput mendapatkan hasil semakin menurun dan Jika sistem menerima request lebih dari 500 klien maka didapatkan error request sebesar 10,4%. 7
DAFTAR PUSTAKA
Burhanudin, Yusep Rosmansyah, 2009. Studi Mengenai Kinerja Webserver Berbasis Linux Menggunakan Teknologi Load Balancing. Institut Teknologi Bandung. Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung. Ferri Fadli, 2012, Penerapan File Server Menggunakan Samba dan LDAP Di U’BUDIYAH INDONESIA. Teknik Informatika STMIK U’BUDIYAH INDONESIA Banda Aceh. Hary Fernando, 2010. Studi dan Implementasi
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Sistem Keamanan Berbasis Web dengan Protokol SSL di Server Students Informatika ITB. Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia. I Gede Putu Krisna Juliharta, 2015. Bussiness Impact Analysis Aplikasi Jaringan Komputer Dengan Teknik Packet Sniffing. STMIK STIKOM Bali Margono, Eko Adriansyah, Harry Asibrah, 2013. Analisis dan Perancangan Load Balancing pada Web Server Berbasis Cloud pada Kantor DPRD Kota. Palembang. Palembang: Jurusan Teknik Informatika. STIMIK PalComTech. M. Ferdy Adriant, Is Mardianto, 2015. Implementasi Wireshark Untuk Penyadapan (Sniffing) Paket Data Jaringan. Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Trisakti. Mgs. Muhammad Fauzi, 2014, Analisis WEB dan Keamanannya Menggunakan JMeter pada CV. MAWAR TUNGGAL PERKASA (MTP) Palembang. Teknik Informatika STMIK PalComTech Palembang. Omar Muhammad Altoumi Alsyaibani, 2013. Performa Algoritma Load Balance Pada Server Web Apache dan Nginx Dengan Database Postgresq. Fakultas Teknik Universitas Negeri Yogyakarta. R. Arief Setyawan, Adharul Muttaqin, Angger Abdul Razak, Lastono Risman, 2014. Analisis Mekaniseme Multi Server Load Balancing pada Server SIAKAD Universitas Brawijaya. Raden Arief Setyawan, 2014. Analisis Implementasi Load Balancing dengan Metode Source Hash Scheduling pada Protocol SSL. Ryosuke Hatsugai, Takamichi Saito, 2007. Load-Balancing SSL Cluster Using Session Migration. Meiji University. JAPAN. T Febrianto, 2014. Analisa Load Balancing Server Dengan Metode LVS Direct Routing Menggunakan Algoritma Round Robin dan Least Connection. Jurusan Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret.
Fakultas Ilmu Komputer, Universitas Brawijaya
631