Anda di halaman 1dari 75

ANALISA PROTOKOL SSH DAN TELNET PADA CLIENTLESS REMOTE

DESKTOP GATEWAY
Eden Andi Ramba
Konsentrasi Teknik Komputer dan Jaringan
Teknik Informatika dan Komputer
Politeknik Negeri Jakarta
ar_eden92@ymail.com

Remote access bukanlah hal baru dalam jaringan komputer. Tersedia begitu banyak aplikasi atau software
yang dapat digunakan untuk melakukan remote atau pengendalian komputer dari jarak jauh. Contoh protokol
yang mendukung kegiatan remote access adalah SSH dan telnet,. Umumnya aplikasi yang digunakan untuk
kegiatan remote access harus terpasang pada sisi client. Hal inilah yang mendorong penulis untuk melakukan
penelitian apakah kegiatan remote ini dapat dilakukan tanpa harus memasang software pada komputer client.
Clientless remote desktop gateway merupakan sebuah sistem yang menyediakan fasilitas remote access tanpa
harus menginstal software terlebih dahulu pada komputer client. Sistem ini dapat diakses dengan
memanfaatkan browser untuk dapat mengakses hostname yang akan di-remote dengan memanfaatkan protokol
HTTP. Untuk mengetahui keamanan dari CRDG perlu dilakukan pengujian dengan menganalisa paket
memanfaatkan metode sniffing. Metode ini dapat dilakukan dengan mnggunakan software tambahan seperti
wireshark dan windump. Hasil dari analisa keamanan sistem CRDG, terbukti bahwa protokol access
menggunakan layanan HTTP sehingga menjadi lebih aman. Protokol telnet yang sejatinya tidak dienkripsi,
menjadi lebih sulit untuk dibaca.
.

Kata Kunci: remote, remote access, CRDG, SSH, sniffing, windump, dan telnet.

1. Pendahuluan b. Bagaimana mengimplementasikan sistem


1.1 Latar Belakang remote desktop gateway melalui web
Jaringan internet mampu menghubungkan browser yang bersifat opensource ?
setiap komputer yang terhubung di dalamnya, c. Bagaimana proses terjadinya koneksi antara
bukan hanya berbagi informasi, tetapi juga server dengan client sehingga dapat
memampukan setiap komputer untuk mengerjakan terjadinya pertukaran data ?
pekerjaan secara bersama-sama, sehingga
memungkinkan pengguna untuk mengendalikan 1.3 Batasan Masalah
komputer lain yang lokasinya berbeda dengan a. Server yang digunakan adalah linux debian.
pengguna. Hal ini biasa disebut remote atau lebih b. Jenis koneksi remote yang digunakan
dikenal dengan remote desktop. Dengan fasilitas berbasis teks.
ini, pengguna dapat mengontrol dan mengakses d. Protokol yang akan dianalisa adalah SSH
semua resource yang ada pada komputer target. dan telnet.
Remote desktop tersedia dalam dua jenis, e. Parameter perbandingan yang digunakan
yaitu berbentuk teks dan visual atau sering disebut adalah security dalam pendistribusian paket.
GUI. Namun pada pembahasan kali ini akan f. Bypass koneksi melalui protokol HTTP
diuraikan tentang cara pembuatanclientless remote apabila port 22 dan 23 ditutup.
desktop yang menggunakan protokol SSH dan f. Software untuk menguji protokol tersebut
Telnet sehingga pengguna dapat mengakses adalah wireshark dan windump.
komputer server tanpa menggunakan client
software yang terinstall dan plugin tambahan 1.4 Tujuan
dengan hanya menggunakan sebuah web browser Adapun tujuan dari pembuatan tugas akhir
yang mendukung HTML5. ini adalah :
a. Mengembangkan sistem remote desktop
1.2 Perumusan Masalah gateway tanpa menginstall software di sisi
Adapun permasalahan dalam penyusunan client.
Tugas Akhir ini adalah: b. Menganalisa protokol yang digunakan pada
a. Bagaimana cara membuat remote desktop remote desktop gateway.
gateway tanpa client dan plugin tambahan c. Dapat mengakses remote desktop
yang terinstall pada sisi client ? menggunakan web browser.
sebagai client ataupun server. Baik client ataupun
server memiliki pemrosesan jaringan yang
digunakan, bisa berupa jaringan lokal (LAN)
ataupun jaringan yang lebih luas lagi (WAN).
1.5 Metode Penyelesaian Masalah Sebuah jaringan dan sistem operasi
Dalam pelaksanaan tugas akhir ini maka ada bekerjasama membentuk sebuah unit. Biasanya
beberapa metode yang digunakan yaitu : sebuah mesin server akan di-install sistem operasi
a. Studi literatur, pengkajian sumber yang server seperti MS Windows NT Server, Windows
relevan serta terpercaya dalam pengumpulan 2000 Server, Linux, Unix, dll.
materi dan menjadi acuan dalam penulisan Menurut Doni Ariyus dan Rum Andri (2008),
Tugas Akhir ini. terdapat beberapa keuntungan dari sistem jaringan
b. Konsultasi dan bimbingan kepada dosen client-server, diantaranya adalah:
pembimbing serta orang yang kompeten a. Menyediakan user account, sistem
pada bidang yang terkait. keamanan dan access control secara
c. Perancangan sistem dari hardware dan terpusat, hal ini menyederhanakan
software yang digunakan. pengelolaan jaringan.
d. Pembuatan sistem sesuai rancangan. b. Dengan menyediakan peralatan yang lebih
e. Pengujian implementasi dan pengujian powerfull akan berakibat efisiensi
sistem. pengaksesan resource jaringan akan lebih
f. Evaluasi dan penyempurnaan sistem. baik.
g. Pengujian lanjutan. c. User hanya mengingat satu password untuk
h. Membuat hasil analisa yang dilakukan mengakses beberapa resource yang tersedia.
terhadap protokol yang digunakan.
i. Membuat kesimpulan dan pembuktian serta 2.3 Remote Access
laporan Tugas Akhir Remote access merupakan sistem yang bisa
digunakan dalam pengendalian suatu manajemen
2. Tinjauan Pustaka jaringan, dimana administrator dapat dengan
2.1 Jaringan Komputer mudah mengontrol dan mengawasi komputer
Jaringan komputer adalah kumpulan dari client, berinteraksi dengan user, backup data,
beberapa komputer dan device yang terhubung atau aktifitas lainnya (Jeffrey Ying, 2010)
satu sama lain dengan memanfaatkan media Menurut Wahana dan Andi (2010), terdapat
komunikasi tertentu. Dengan memanfaatkan beberapa kegunaan remote access/remote desktop
sarana ini, pengguna dapat saling bertukar yang lazim diantaranya:
informasi dan memungkinkan para pengguna a. Mengendalikan komputer lain dari lokasi
untuk bekerja secara bersama-sama. Tidak hanya yang remote, misalnya untuk mengakses
itu, resource yang ada dalam jaringan juga dapat software di komputer yang ada di divisi atau
dimanfaatkan bersama, misalnya printer. bagian lain di perusahaan oleh pengguna.
(Bayunaidi Insan, 2011) b. Mematikan komputer dari jarak jauh.
Semua peralatan yang terdapat dalam suatu c. Menghidupkan ulang komputer/restart dari
jaringan disebut sebagai node. Setiap jaringan bisa jarak jauh.
memiliki puluhan, ratusan, hingga ribuan node. d. Memodifikasi setting registry komputer lain
dari jarak jauh.
2.2 Client-Server e. Mengawasi penggunaan komputer lain dari
Client-server yaitu jaringan komputer yang jarak jauh.
didedikasikan khusus sebagai server. Sebuah f. Membantu pengguna lain memecahkan
layanan bisa diberikan oleh sebuah komputer atau masalah di PC‑nya dari jarak jauh.
lebih. Server adalah komputer yang dapat g. Mengawasi penggunaan program berjalan /
memberikan layanan ke client, sedangkan client internet dari jarak jauh.
adalah komputer yang mengakses beberapa layanan h. Pemeliharaan (maintenance) komputer dari
yang ada di server. Ketika client membutuhkan jarak jauh.
suatu service yang ada di ¬server, dia akan i. Sharing resource dari jarak jauh.
mengirim request kepada server lewat jaringan.
Jika request tersebut dapat dilaksanakan, maka 2.3.1 Metode Remote Access
server akan mengirim balasan berupa service yang Utomo dan Wijaya (2010), menyatakan
dibutuhkan untuk saling berhubungan. (Rizki Aris bahwa terdapat beberapa jenis metode yang
Prasetyo, 2010:26-32) digunakan dalam remote access :
Client-server merupakan teknologi a. Aplikasi khusus. Digunakan untuk satu
pendistribusian kerja aplikasi anatara dua komputer proses aplikasi. Pengguna remote dilengkapi
atau lebih, yang dihubungkan oleh jaringan versikhusus dari aplikasi yang didesain
komunikasi, dimana yang satu akan bertindak untuk penggunaan dial‑in seperti mail
remote dan digunakan untuk terhubung ke c. Secure shell atau SSH merupakan protokol
server aplikasi. network yang memungkinkan pengguna
b. Remote control. Pengguna remote terhubung untuk membuka jendela akses pada
ke suatu PC pada jaringan perusahaan dan komputer lokal dan terhubung ke komputer
mengendalikan PC tersebut. Aplikasi remote/server, sehingga pengontrol seperti
diproses dalam jaringan perusahaan dan berada di depan server target. Dengan
hasil tampilan diberikan kepada pengguna demikian SSH menyediakan koneksi aman
remote. Sebuah board dengan banyak CPU dari black hacker untuk transfer data antar 2
mendukung multi antarmuka serial dan komputer.
sebuah bank modem. Tiap CPU board d. SSH merupakan paket program yang
mendukung sebuah single remote user. digunakan sebagai pengganti yang aman
c. Server remote control. Suatu remote PC untuk rlogin, rsh dan rcp dengan
terhubung ke jaringan lewat sebuah server, menggunakan public‑key cryptography
mensimulasikan koneksi langsung sebuah untuk mengenkripsi komunikasi antara dua
node pada jaringan lokal. host, demikian pula untuk autentikasi
d. Remote node. Sebuah kombinasi beberapa pemakai. Protokol ini digunakan untuk login
metoda akses remote seperti node remote, secara aman ke remote host atau menyalin
kendali remote (remote control), dan server data antar host, sementara mencegah man in
terminal semua dalam satu box. Pengguna the middle attacks (pembajakan sesi) dan
dapat melakukan satu phone call dan akses DNS spoofing atau dapat dikatakan secure
file, aplikasi, atau host apa saja yang shell adalah program yang melakukan login
diperlukan tanpa harus diskoneksi. terhadap komputer lain dalam jaringan,
mengeksekusi perintah lewat mesin secara
2.3.2 Protokol Remote Access remote, dan memindahkan file dari satu
Protokol adalah sebuah aturan atau standar mesin ke mesin lainnya.
yang mengatur dan mengijinkan terjadinya e. SSH dirancang untuk menggantikan
hubungan, komunikasi, dan perpindahan data protokol telnet dan FTP. Adapun SSH
antara dua atau lebih titik komputer. Protokol dapat merupakan produk serbaguna yang
diterapkan pada perangkat keras, perangkat lunak dirancang untuk melakukan banyak hal,
atau kombinasi dari keduanya (Nurul Fahanah, yang kebanyakan berupa penciptaan tunnel
2012). antar host. Beberapa implementasi SSH
tergantung pada SSL libraris karena SSH
Pengertian SSH dan SSL menggunakan banyak
Menurut Dwi Cahyani (2010), terdapat beberapa menggunakan algoritma enkripsi yang sama
pengertian umum tentang SSH, diantaranya : (misalnya Algoritma enkripsi lain yang
a. SSH (secure shell hosting) adalah protokol didukung oleh SSH di antaranya BlowFish
atau aplikasi yang memungkinkan (BRUCE SCHNEIER), IDEA (The
pertukaran data antara dua perangkat International Data Encryption Algorithm),
jaringan yang lebih aman dibandingkan dan RSA (The Rivest‑Shamir‑Adelman).
dengan telnet, rsh dan rlogin. SSH banyak Cara Kerja SSH
digunakan pada sistem berbasis linux dan SSH dirancang untuk menggantikan protokol telnet
unix untuk mengakses akun shell. SSH dan FTP. SSH merupakan produk serbaguna yang
pertama kali dikembangkan oleh openBSD dirancang untuk melakukan banyak hal, yang
project dan kemudian versi rilis p (port) di kebanyakan berupa penciptaan tunnel antar host.
manage oleh team porting ke sistem operasi Dua hal penting SSH adalah console login
lainnya, temasuk linux. Dengan SSH semua (menggantikan telnet) dan secure file transfer
percakapan antara server dan klien (menggantikan FTP). Bahkan dengan SSH dapat
dienkripsi, artinya apabila percakapan dibuat source tunnel untuk melewatkan
tersebut disadap, penyadap tidak akan HTTP,FTP,POP3 dan yang lainnya melalui SSH
memahami isinya. tunel (Aloysius dan Glagah, 2007).
b. SSH (secure socket shell) atau yang sering Saat client mencoba mengakses suatu linux server
disebut secure shell adalah protokol jaringan melalui SSH, service SSH daemon yang berjalan
berbasis unix yang memungkinkan user baik pada linux server maupun SSH client telah
untuk mengakses sebuah komputer (remote) mempunyai pasangan public/private key yang
melalui jaringan secara aman. Dikarenakan masing-masing menjadi identitas SSH bagi
SSH menggunakan jaringan yang dienkripsi, keduanya. Langkah-langkah koneksinya adalah
maka SSH ini banyak digunakan oleh sebagai berikut :
seorang admin jaringan untuk mengontrol Langkah 1 :
sebuah server web atau sebuah komputer Client bind pada local port nomor besar dan
dari jauh (remote). melakukan koneksi ke port 22 pada server.
Langkah 2 : d. sss Menerima output dari server dalam
Client dan server setuju untuk menggunakan sesi format standar.
SSH tertentu. Hal ini penting karena SSH v.1 dan e. Mengubah format output tadi untuk
v.2 tidak kompatibel. ditampilkan pada layar.

Langkah 3 :
Client meminta public key dan host key milik Sedangkan tugas dari server adalah :
server. a. Menginformasikan software jaringan bahwa
Langkah 4 : komputer itu siap menerima koneksi.
Client dan server menyetujui algoritma enkripsi b. Menunggu pertmintaan dalam bentuk format
yang akan dipakai (misalnya TripleDES atau standar.
IDEA). c. Melaksanakan permintaan tersebut.
Langkah 5 : d. Mengirim kembali hasil ke client dalam
Client membentuk suatu session key yang didapat bentuk format standar.
dari client dan mengenkripsinya menggunakan e. Menunggu perintaan selanjutnya.
public key milik server.
Langkah 6 : 2.3.3 Metode Enkripsi
Server men-decrypt session key yang didapat dari SSH menggunakan metode public‑key
client, meng-re-encrypt-nya dengan public key cryptography untuk mengenskripsi komunikasi
milik client, dan mengirimkannya kembali ke client antara dua host, demikian pula untuk autentikasi
untuk verifikasi. pemakai. Dengan metode ini, dibutuhkan dua buah
Langkah 7 : kunci berbeda yang digunakan baik untuk
Pemakai mengotentikasi dirinya ke server di dalam melakukan enkripsi dan dekripsi. Dua buah kunci
aliran data terenkripsi dalam session key tersebut. tersebut masing‑masing disebut public key
Sampai disini koneksi telah terbentuk, dan client (dipublikasikan ke public/ orang lain) dan private
dapat selanjutnya bekerja secara interaktif pada key (dirahasiakan/ hanya pemiliknya yang tahu).
server atau mentransfer file ke atau dari server. Masing‑masing kunci tesebut dapat digunakan
untuk melakukan enkripsi dan dekripsi (Budi
Telnet Raharjo, 2002).
Telnet adalah aplikasi remote login SSH dapat digunakan untuk login secara
internet. Telnet digunakan untuk login ke komputer aman ke remote host atau menyalin data antar
lain di internet dan mengakses berbagai macam ghost, sementara mencegah man in the middle
pelayanan umum, termasuk katalog perpustakaan attacks (pembajakan sesi) dan DNS spoofing atau
dan berbagai macam database. Telnet dapat dikatakan secure shell adalah program yang
memungkinkan pengguna untuk duduk di depan melakukan login terhadap komputer lain dalam
komputer yang terkoneksi ke internet dan jaringan, mengeksekusi perintah lewat mesin secara
mengakses komputer lain yang juga terkoneksi ke remote, dan memindahkan file dari satu mesin ke
internet. Dengan kata lain koneksi dapat terjadi ke mesin lainnya. SSH merupakan produk serbaguna
mesin lain di satu ruangan, satu kampus, bahkan yang dirancang untukmelakukan banyak hal, yang
setiap komputer di seluruh dunia. Setelah kebanyakan berupa penciptaan tunnel antar host
terkoneksi, input yang diberikan pada keyboard (Dwi Cahyani, 2010).
akan mengontrol langsung ke remote computer
tadi. Akan dapat diakses pelayanan apapun yang 2.4 Port Address
disediakan oleh remote machine dan hasilnya Port address merupakan nomor dengan tipe
ditampilkan pada terminal lokal. (Budi Raharjdo, integer yang digunakan sebagai identifikasi atau
2002). layanan dari client yang ingin melakukan
Telnet menggunakan dua program, yang komunikasi. Port diberi nomor 0.s.d 655535. Port
satu adalah client (telnet) dan server (telnetd). Yang dengan range 0-1023 disebut sebagai reserved atau
terjadi adalah ada dua program yang berjalan, yaitu priviliged port. Artinya port yang ada dalam range
software client yang dijalankan pada komputer tesebut sudah digunakan untuk berbagai aplikasi
yang meminta pelayanan tersebut dan software khas, seperti telnet, mail, web, FTP, dan
server yang dijalankan oleh komputer yang sebagainya. Sedangkan untuk sisanya, yaitu 1024
menghasilkan pelayanan tadi. s.d 65535 disebut sebagai “dynamic” atau
Tugas dari client adalah: “unprivileged” port (Nurul Farhanah, 2011).
a. Membuat koneksi network TCP (Transfer Port 0 s.d 1023 hampir selalu digunakan
Control Protocol) dengan server. sebagai port untuk aplikasi server yang sudah
b. Menerima inputan dari user. umum, contohnya port FTP menggunakan port
c. Menformat kembali inputan dari user 21/20, SMTP menggunakan port 25, HTTP
kemudian mengubah dalam bentuk format menguunakan port 80, dan seterusnya. Port dengan
standard dan dikirim ke server. range 1024 s.d 65535 biasanya bersifat dinamis,
misalnya saat client melakukan koneksi ke server terjadi pada hub dengan membaca MAC
maka port yang digunakan oleh client melakukan address komputer. Beberapa program yang
koneksi ke server maka port yang digunakan oleh umumnya di gunakan untuk melakukan
client adalah port dinamis. aktifitas ini yaitu wireshark, cain-abel, dsb.

b. Active sniffing adalah kegiatan sniffing yang


2.5 Web Browser dapat melakukan perubahan paket data
Web browser adalah sebuah aplikasi dalam jaringan agar bisa melakukan
perangkat lunak yang memungkinkan pengguna sniffing, active sniffing dengan kata lain
untuk menayangkan dan berinteraksi dengan merupakan kebalikan dari passive sniffing.
tulisan, gambar, video, musik dan berbagai Active sniffing umumnya di lakukan pada
informasi lainnya yang terdapat pada halaman web switch, hal ini di dasar karena perbedaan
di sebuah situs di world wide web atau di jaringan prinsip kerja antara hub dan switch. Active
LAN. Tulisan dan gambar di halaman web dapat sniffing yang paling umum di lakukan
mempunyai hyperlinks ke halaman web lain di adalah ARP Poisoning, Man in the middle
mesin yang sama atau di situs web lainnya. Web attack (MITM).
browser memungkinkan pengguna secara cepat dan
mudah mengakses informasi yang diberikan oleh Dua jenis sniffing ini sangat merugikan jika
banyak situs web dengan cara menjelajahi link terjadi di dalam jaringan karena bisa saja data-data
tersebut. Web browser memformat informasi pribadi atau account-account pribadi, semacam e-
HTML untuk di tayangkan, oleh karena itu mail yang bersifat sensitif dapat dicuri.
penampakan halaman web akan terlihat berbeda
dari satu browser ke browser yang lain . 2.8 Wireshark
Wireshark adalah sebuah free software yang
2.6 MySQL digunakan untuk analisis jaringan yang biasa
Menurut Schwartz Baron (2008), MySQL digunakan oleh network administrator untuk
adalah salah satu perangkat lunak database menganalisa kinerja jaringan, termasuk protokol
relasi (Relational Database Management System di dalamnya. Wireshark bekerja pada layer
atau RDBMS) seperti halnya Oracle, Postgree aplikasi. Yaitu layer terakhir dari OSI layer (Ishak,
SQL,MS SQL, dan sebagainya. MySQL 2008:3).
merupakan salah satu software yang banyak Tujuan dari monitoring dengan wireshrak
digunakan untuk mengelola database dengan adalah sebagai berikut.
menjalankan SQL(Strucure Query Language). 1. Memecahkan masalah jaringan.
MySQL itu sendiri mulai dikembangkan sejak 2. Memeriksa keamanan jaringan.
tahun 1979 menggunakan tools database UNIREG 3. Melakukan debug implementasi
yang dibuat oleh Michale “Monty” Widenius protokol.
untuk perusahaan TcX di Swedia. Tahun 1996 4. Mempelajari protokol jaringan internal.
MySQL dirilis dengan versi MySQL 3.11.1
setelah pada tahun sebelumnya TcX mendapat 2.9 Windump
desakan dari David Axmark dari Detro HB untuk Windump adalah suatu tool yang digunakan
merilis MySQL. untuk paket sniffing dalam jaringan komputer
sehingga memungkinkan seorang administrator
2.7 Sniffing untuk dapat mengamati setiap paket yang melintasi
Sniffing adalah suatu aktifitas menyadap yang suatu network (Gendut Pelo: 2013).
di lakukan dalam jaringan yang sangat sulit untuk
dicegah. Hal ini adalah permasalahan dari 2.10 Debian
komunikasi atau protokol jaringan dan tidak ada Debian adalah sistem operasi bebas yang
hubungannya dengan sistem operasi (Hidayat, dikembangkan secara terbuka oleh banyak
Wendy : 2012). programer sukarela (pengembang debian) yang
Aktifitas menyadap atau sniffing ini terbagi 2 tergabung dalam Proyek Debian. Sistem operasi
jenis yaitu : Debian adalah gabungan dari perangkat lunak yang
a. Passive sniffing adalah suatu kegiatan dikembangkan dengan lisensi GNU, dan utamanya
penyadapan tanpa merubah data atau paket menggunakan kernel Linux, sehingga populer
apapun di jaringan. Passive sniffing yang dengan nama Debian GNU/Linux. Sistem operasi
umum di lakukan yaitu pada Hub, hal ini di Debian yang menggunakan kernel Linux
sebabkan karena prinsip kerja hub yang merupakan salah satu distro Linux yang populer
hanya bertugas meneruskan signal ke semua dengan kestabilannya. Dengan memperhitungkan
komputer (broadcast), berbeda dengan distro berbasis Debian, seperti Ubuntu, Xubuntu,
switch yang mempunyai cara untuk Knoppix, Mint, dan sebagainya, maka Debian
menghindari collision atau bentrokan yang
merupakan distro Linux yang paling banyak Uji coba dilakukan dengan menjalankan
digunakan di dunia.
software Wireshark, tujuan hostname
3 Pembahasan Telnet_Mikrotik_1 (172.16.0.1).
3.1 Pengujian
Bagian ini akan membahas tentang pengujian
terhadap keamanan paket setiap protokol yang
terdapat dalam Clientless Remote Desktop
Gateway.
3.1.1 Deskripsi pengujian
Pengujian dilakukan dengan memanfaatkan
bantuan software Wireshark dan WinDump.
Kedua software ini digunakan untuk melakukan
sniffing atau menganalisa paket data yang
dihasilkan ketika terdapat user atau administrator
yang melakukian aktivitas remote, baik melalui
protokol SSH maupun telnet.. Gambar 3.3 Capture data terhadap protokol
telnet dengan WinDump
3.1.2 Prosedur Pengujian
3.1.2.1 Pengujian sniffing SSH dengan software
3.1.2.4 Pengujian sniffing telnet dengan
WinSump
Uji coba dilakukan dengan menjalankan software Wireshark
software WinDump sambil melakukan login pada
Uji coba dilakukan dengan menjalankan
CRDG dengan tujuan akses SSH_Guacamole_34
(172.16.0.34). software Wireshark, tujuan hostname
Telnet_Mikrotik_1 (172.16.0.1).

Gambar 3.1 Capture data terhadap protokol


SSH dengan WinDump

3.1.2.2 Pengujian sniffing SSH dengan


software Wireshark
Gambar 3.4 Capture data terhadap protokol
Uji coba dilakukan dengan menjalankan
telnet dengan Wireshark
software Wireshark, tujuan hostname
SSH_Guacamole_34 (172.16.0.34).
3.1.3 Data Hasil Pengujian
Berikut adalah hasil setelah melakukan
pengujian terhadap protokol SSH dan telnet
menggunakan WinDump dan Wireshark.
Tabel 3.1 Hasil Pengujian
No Protokol Wireshark WinDump
- Paket SSH - Paket SSH
terdeteksi melalui terdeteksi
protokol HTTP melalui
1 dengan port 8080 protokol HTTP
SSH dengan port
8080

-Username
Gambar 3.2 Capture data terhadap protokol SSH terdeteksi dan IP
dengan Wireshark server tujuan.
- Paket SSH - Paket SSH
terdeteksi melalui terdeteksi
protokol HTTP melalui
3.1.2.3 Pengujian sniffing telnet dengan 2
dengan port 8080 protokol HTTP
Telnet dengan port
software WinDump -Username
8080

terdeteksi dan IP
server tujuan.
CRDG dapat diakses melalui location yang
3.2 Analisis Data/Evaluasi telah ditentukan.
Dari hasil pengujian, protokol SSH dan telnet
yang berada dalam sistem CRDG menggunakan 4.2 Saran
protokol HTTP dengan nomor port 8080 pada saat Adapun saran bagi pihak yang ingin
melakukan proses pertukaran data. Hal ini dapat mengembangkan CRDG :
terlihat pada hasil pengujian, dimana tidak 1. Sistem sebaiknya dapat diakses memalui
ditemukannya paket koneksi SSH dan telnet DNS.
seperti pada aplikasi client remote pada umumnya. 2. Penambahan koneksi dapat dilakukan
Berikut terdapat paket telnet dan SSH melalui dengan memasukkan hostname.
aplikasi client remote desktop Putty yang telah di-
capture menggunakan Wireshark dengan hostname Daftar Pustaka
tujuan yaitu 172.16.0.1 (Mikrotik). Andi dan Wahana.2010.“Cara Jitu Pengelolaan
Jaringan Windows Dengan Remote Desktop
dan Administration”, Semarang : Wahana
Komputer.

Aloysius dan Glagah.2005. "Telnet dan SSH",


Yogyakarta: Library UGM.

Bayunadi, Insan & Satoto, Kodrat I.2011."Struktur


Jaringan IT pada PT. PLN (Persero)
Penyaluran & Pusat Pengatur Beban Region
Gambar 3.5 Capture data terhadap Jawa Tengah dan DIY”, Semarang :
protokol SSH Putty dengan Wireshark Universitas Diponegoro

Baron, Schwartz.2008.”High Performance


MySQL”, New York : O’Relly Media.Inc
Dwi Cahyani, Ika.2002."Sistem Keamanan
Enkripsi SSH untuk Keamananan",
Yogyakarta: Library UGM

Farhanah, Nurul.2011."Pengembangan Aplikasi


Remote Spesifikasi Desktop Berbasis
Desktop Client Server", Yogyakarta : FT
UGM.
Hidayat, Wendy.2012.”Apa itu Networking ?”
Gambar 3.6 Capture data terhadap http://academia.edu [29 Juni 2015]
protokol telnet Putty dengan Wireshark
Ishak, 2008.”Bedah
4 Penutup Wireshark”.http://historida.blogspot.com/p/
4.1 Kesimpulan wireshark-adalah-sebuah-freesoftware.html
Berdasarkan uraian diatas dapat disimpulkan : [29 Juni 2015]
1. CRDG merupakan sistem yang dapat
digunakan untuk melakukan aktivitas Pelo, Gendut.2013.”TCPdump dan Windump”.
remote terhadap perangkat jaringan yang http:\\Academia.edu\TcpDump-
dapat mengakses protokol SSH dan telnet danWindump.html [30 Juni 2015]
melaui browser yang mendukung HTML 5.
2. SSH dan telnet yang berjalan dalam sistem
CRDG memanfaatkan service guacd pada Prasetyo, Rizki Aris, 2010. “Analisis dan
server, sehingga ketika melakukan aktivitas Perancangan Site to Site Virtual Private
remote, user/client terhubung melalui Netwok (VPN) Berbasis IP Security
protokol HTTP dengan port 8080. Menggunakan Mikrotik Router Operating
3. CRDG secara default dapat diakses melalui System”, Bandung : Universitas Komputer
browser dengan memasukkan IP server Indonesia
beserta nomor portnya. Dengan
menambahkan konfigurasi reverse proxy Rahardjo, Budi.2002 “Keamanan Sistem Informasi
Berbasis Internet”, Semarang : PT Insan
Indonesia
Ying, Jeffrey. 2010. “System for Providing Remote
Access to Diagnostic Information Over a Wide
Utomo Ndon Eko Satriyo, Wijaya I Made Area Network”, United Stated : I/O Controls
Yonatan.2010. “Implementasi Remote Access Operations
menggunakan Visual Basic 6.0”, Library
SMIK AMIKOM :Yogyakarta.
BAB I
PENDAHULUAN

1.1 Latar Belakang


Fungsi awal komputer adalah untuk menghitung, layaknya sebuah
kalkulator. Sejak munculnya generasi komputer pertama pada tahun 1940
hingga sekarang, fungsi dari komputer menjadi lebih beragam dan semakin
berkembang. Hal ini ditandai dengan hadirnya komputer dalam berbagai
macam bentuk, jenis, dan ukurannya. Hal ini tentu saja tergantung dari
kebutuhan pengguna. Ditambah lagi dengan keberadaan internet, peran
komputer menjadi sangat penting.
Jaringan internet mampu menghubungkan setiap komputer yang
terhubung di dalamnya, bukan hanya berbagi informasi, tetapi juga
memampukan setiap komputer untuk mengerjakan pekerjaan secara
bersama-sama, sehingga memungkinkan pengguna untuk mengendalikan
komputer lain yang lokasinya berbeda dengan pengguna. Hal ini biasa
disebut remote atau lebih dikenal dengan remote desktop. Dengan fasilitas
ini, pengguna dapat mengontrol dan mengakses semua resource yang ada
pada komputer target.
Remote desktop tersedia dalam dua jenis, yaitu berbentuk teks dan
visual atau sering disebut GUI. Namun pada pembahasan kali ini akan
diuraikan tentang cara pembuatan clientless remote desktop yang
menggunakan protokol SSH dan Telnet sehingga pengguna dapat
mengakses komputer server tanpa menggunakan client software yang
terinstall dan plugin tambahan dengan hanya menggunakan sebuah web
browser yang mendukung HTML5.

1.2 Perumusan Masalah


Adapun permasalahan dalam penyusunan Tugas Akhir ini adalah:
a. Bagaimana cara membuat remote desktop gateway tanpa client dan
plugin tambahan yang terinstall pada sisi client ?

1
2

b. Bagaimana mengimplementasikan sistem remote desktop gateway


melalui web browser yang bersifat opensource ?
c. Bagaimana proses terjadinya koneksi antara server dengan client
sehingga dapat terjadinya pertukaran data ?

1.3 Batasan Masalah


a. Server yang digunakan adalah linux debian.
b. Jenis koneksi remote yang digunakan berbasis teks.
c. Protokol yang akan dianalisa adalah SSH dan telnet.
d. Parameter perbandingan yang digunakan adalah security dalam
pendistribusian paket.
e. Bypass koneksi melalui protokol HTTP apabila port 22 dan 23
ditutup.
f. Software untuk menguji protokol tersebut adalah wireshark dan
windump.

1.4 Tujuan
Adapun tujuan dalam penyusunan Tugas Akhir ini adalah:
a. Mengembangkan sistem remote desktop gateway tanpa menginstall
software di sisi client.
b. Menganalisa protokol yang digunakan pada remote desktop gateway.
c. Dapat mengakses remote desktop menggunakan web browser.

1.5 Metode Pelaksanaan Tugas Akhir


Berikut metode pelaksanaan dalam pelaksanaan Tugas Akhir ini:
a. Studi literatur, pengkajian sumber yang relevan serta terpercaya
dalam pengumpulan materi dan menjadi acuan dalam penulisan
Tugas Akhir ini.
b. Konsultasi dan bimbingan kepada dosen pembimbing serta orang
yang kompeten pada bidang yang terkait.
c. Perancangan sistem dari hardware dan software yang digunakan
3

d. Pembuatan sistem sesuai rancangan


e. Pengujian implementasi dan pengujian sistem
f. Evaluasi dan penyempurnaan sistem
g. Pengujian Lanjutan
h. Membuat hasil analisa yang dilakukan terhadap protokol yang
digunakan
i. Membuat kesimpulan dan pembuktian serta laporan Tugas Akhir
BAB II
TINJAUAN PUSTAKA

2.1 Jaringan Komputer


Jaringan komputer adalah kumpulan dari beberapa komputer
dan device yang terhubung satu sama lain dengan memanfaatkan media
komunikasi tertentu. Dengan memanfaatkan sarana ini, pengguna dapat
saling bertukar informasi dan memungkinkan para pengguna untuk
bekerja secara bersama-sama. Tidak hanya itu, resource yang ada dalam
jaringan juga dapat dimanfaatkan bersama, misalnya printer. (Bayunaidi
Insan, 2011)
Semua peralatan yang terdapat dalam suatu jaringan disebut
sebagai node. Setiap jaringan bisa memiliki puluhan, ratusan, hingga ribuan
node.

2.2 Client-Server
Client-server yaitu jaringan komputer yang didedikasikan khusus
sebagai server. Sebuah layanan bisa diberikan oleh sebuah komputer atau
lebih. Server adalah komputer yang dapat memberikan layanan ke client,
sedangkan client adalah komputer yang mengakses beberapa layanan yang
ada di server. Ketika client membutuhkan suatu service yang ada di server,
dia akan mengirim request kepada server lewat jaringan. Jika request
tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa
service yang dibutuhkan untuk saling berhubungan. (Rizki Aris Prasetyo,
2010:26-32)
Client-server merupakan teknologi pendistribusian kerja aplikasi
anatara dua komputer atau lebih, yang dihubungkan oleh jaringan
komunikasi, dimana yang satu akan bertindak sebagai client ataupun server.
Baik client ataupun server memiliki pemrosesan jaringan yang digunakan,
bisa berupa jaringan lokal (LAN) ataupun jaringan yang lebih luas lagi
(WAN).

4
5

Sebuah jaringan dan sistem operasi bekerjasama membentuk sebuah


unit. Biasanya sebuah mesin server akan di-install sistem operasi server
seperti MS Windows NT Server, Windows 2000 Server, Linux, Unix, dll.
Menurut Doni Ariyus dan Rum Andri (2008), terdapat beberapa
keuntungan dari sistem jaringan client-server, diantaranya adalah:
a. Menyediakan user account, sistem keamanan dan access control
secara terpusat, hal ini menyederhanakan pengelolaan jaringan.
b. Dengan menyediakan peralatan yang lebih powerfull akan berakibat
efisiensi pengaksesan resource jaringan akan lebih baik.
c. User hanya mengingat satu password untuk mengakses beberapa
resource yang tersedia.
Sedangkan untuk kekurangan dari yang dimiliki oleh sistem jaringan
ini adalah sebagai berikut:
a. Ketika server mengalami kerusakan akan berakibat sistem jaringan
tidak dapat digunakan.
b. Dibutuhkan user yang memiliki kemampuan untuk mengelola server
c. Budget yang dibutuhkan relatif lebih besar dibandingkan dengan
sistem jaringan peer-to-peer.

2.3 Remote Access


Remote access merupakan sistem yang bisa digunakan dalam
pengendalian suatu manajemen jaringan, dimana administrator dapat dengan
mudah mengontrol dan mengawasi komputer client, berinteraksi dengan
user, backup data, atau aktifitas lainnya (Jeffrey Ying, 2010)
Menurut Wahana dan Andi (2010), terdapat beberapa kegunaan
remote access/remote desktop yang lazim diantaranya:
a. Mengendalikan komputer lain dari lokasi yang remote, misalnya
untuk mengakses software di komputer yang ada di divisi atau
bagian lain di perusahaan oleh pengguna.
b. Mematikan komputer dari jarak jauh.
c. Menghidupkan ulang komputer/restart dari jarak jauh.
6

d. Memodifikasi setting registry komputer lain dari jarak jauh.


e. Mengawasi penggunaan komputer lain dari jarak jauh.
f. Membantu pengguna lain memecahkan masalah di PC‑nya dari jarak
jauh.
g. Mengawasi penggunaan program berjalan / internet dari jarak jauh.
h. Pemeliharaan (maintenance) komputer dari jarak jauh.
i. Sharing resource dari jarak jauh.

2.3.1 Metode Remote Access


Utomo dan Wijaya (2010), menyatakan bahwa terdapat
beberapa jenis metode yang digunakan dalam remote access :
a. Aplikasi khusus. Digunakan untuk satu proses aplikasi.
Pengguna remote dilengkapi versikhusus dari aplikasi yang
didesain untuk penggunaan dial‑in seperti mail remote dan
digunakan untuk terhubung ke server aplikasi.

Gambar 2.1. Metode remote dengan aplikasi khusus


Sumber : http://kurusetra.web.id/wp-content/uploads/2014/08/click2dial-
proc.png

b. Remote control. Pengguna remote terhubung ke suatu PC


pada jaringan perusahaan dan mengendalikan PC tersebut.
Aplikasi diproses dalam jaringan perusahaan dan hasil
tampilan diberikan kepada pengguna remote. Sebuah board
7

dengan banyak CPU mendukung multi antarmuka serial dan


sebuah bank modem. Tiap CPU board mendukung sebuah
single remote user.
c. Server remote control. Suatu remote PC terhubung ke
jaringan lewat sebuah server, mensimulasikan koneksi
langsung sebuah node pada jaringan lokal.
d. Remote node. Sebuah kombinasi beberapa metoda akses
remote seperti node remote, kendali remote (remote
control), dan server terminal semua dalam satu
box.Pengguna dapat melakukan satu phone call dan akses
file, aplikasi, atau host apa saja yang diperlukan tanpa harus
diskoneksi.

2.3.2 Protokol Remote Access


Protokol adalah sebuah aturan atau standar yang mengatur
dan mengijinkan terjadinya hubungan, komunikasi, dan
perpindahan data antara dua atau lebih titik komputer. Protokol
dapat diterapkan pada perangkat keras, perangkat lunak atau
kombinasi dari keduanya (Nurul Fahanah, 2012).

Pengertian SSH
Menurut Dwi Cahyani (2010), terdapat beberapa pengertian umum tentang
SSH, diantaranya :
a. SSH (secure shell Hosting) adalah protokol atau aplikasi yang
memungkinkan pertukaran data antara dua perangkat jaringan yang
lebih aman dibandingkan dengan telnet, rsh dan rlogin. SSH banyak
digunakan pada sistem berbasis linux dan unix untuk mengakses akun
shell. SSH pertama kali dikembangkan oleh openBSD project dan
kemudian versi rilis p (port) di manage oleh team porting ke sistem
operasi lainnya, temasuk linux. Dengan SSH semua percakapan antara
8

server dan klien dienkripsi, artinya apabila percakapan tersebut


disadap, penyadap tidak akan memahami isinya.
b. SSH (secure socket shell) atau yang sering disebut secure shell adalah
protokol jaringan berbasis unix yang memungkinkan user untuk
mengakses sebuah komputer (remote) melalui jaringan secara aman.
Dikarenakan SSH menggunakan jaringan yang dienkripsi, maka SSH
ini banyak digunakan oleh seorang admin jaringan untuk mengontrol
sebuah server web atau sebuah komputer dari jauh (remote).
c. Secure shell atau SSH merupakan protokol network yang
memungkinkan pengguna untuk membuka jendela akses pada
komputer lokal dan terhubung ke komputer remote/server, sehingga
pengontrol seperti berada di depan server target. Dengan demikian
SSH menyediakan koneksi aman dari black hacker untuk transfer data
antar 2 komputer.
d. SSH merupakan paket program yang digunakan sebagai pengganti
yang aman untuk rlogin, rsh dan rcp dengan menggunakan public‑key
cryptography untuk mengenkripsi komunikasi antara dua host,
demikian pula untuk autentikasi pemakai. Protokol ini digunakan
untuk login secara aman ke remote host atau menyalin data antar host,
sementara mencegah man in the middle attacks (pembajakan sesi) dan
DNS spoofing atau dapat dikatakan secure shell adalah program yang
melakukan login terhadap komputer lain dalam jaringan,
mengeksekusi perintah lewat mesin secara remote, dan memindahkan
file dari satu mesin ke mesin lainnya.
e. SSH dirancang untuk menggantikan protokol telnet dan FTP. Adapun
SSH merupakan produk serbaguna yang dirancang untuk melakukan
banyak hal, yang kebanyakan berupa penciptaan tunnel antar host.
Beberapa implementasi SSH tergantung pada SSL libraris karena
SSH dan SSL menggunakan banyak menggunakan algoritma enkripsi
yang sama (misalnya Algoritma enkripsi lain yang didukung oleh SSH
di antaranya BlowFish (BRUCE SCHNEIER), IDEA (The
9

International Data Encryption Algorithm), dan RSA (The


Rivest‑Shamir‑Adelman).

Cara Kerja SSH


SSH dirancang untuk menggantikan protokol telnet dan FTP. SSH
merupakan produk serbaguna yang dirancang untuk melakukan banyak hal, yang
kebanyakan berupa penciptaan tunnel antar host. Dua hal penting SSH adalah
console login (menggantikan telnet) dan secure file transfer (menggantikan FTP).
Bahkan dengan SSH dapat dibuat source tunnel untuk melewatkan
HTTP,FTP,POP3 dan yang lainnya melalui SSH tunel (Aloysius dan Glagah,
2007).
Saat client mencoba mengakses suatu linux server melalui SSH, service
SSH daemon yang berjalan baik pada linux server maupun SSH client telah
mempunyai pasangan public/private key yang masing-masing menjadi identitas
SSH bagi keduanya. Langkah-langkah koneksinya adalah sebagai berikut :
Langkah 1 :
Client bind pada local port nomor besar dan melakukan koneksi ke port 22 pada
server.
Langkah 2 :
Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini penting
karena SSH v.1 dan v.2 tidak kompatibel.
Langkah 3 :
Client meminta public key dan host key milik server.
Langkah 4 :
Client dan server menyetujui algoritma enkripsi yang akan dipakai (misalnya
TripleDES atau IDEA).
Langkah 5 :
Client membentuk suatu session key yang didapat dari client dan mengenkripsinya
menggunakan public key milik server.
10

Langkah 6 :
Server men-decrypt session key yang didapat dari client, meng-re-encrypt-nya
dengan public key milik client, dan mengirimkannya kembali ke client untuk
verifikasi.
Langkah 7 :
Pemakai mengotentikasi dirinya ke server di dalam aliran data terenkripsi dalam
session key tersebut. Sampai disini koneksi telah terbentuk, dan client dapat
selanjutnya bekerja secara interaktif pada server atau mentransfer file ke atau dari
server.

Gambar 2.2. Ilustrasi cara kerja SSH


Sumber : http://ki.stei.itb.ac.id/wp-content/uploads/2013/10/blog_anat.png

Implementasi SSH terlihat dalam produk‑produk berikut FreeSSH,


OpenSSH (Unix, Windows), LSH (unix), PuTTY (Windows), SSH1(windows),
MacSSH (Macintosh), SSH communication Security (unix, windows), F‑Secure
SSH (unix,Windows), Secure CRT, SecureFX (windows), dan Vshell (Windows).

2.3.2.1 Telnet
Telnet adalah aplikasi remote login internet. Telnet digunakan untuk login
ke komputer lain di internet dan mengakses berbagai macam pelayanan umum,
termasuk katalog perpustakaan dan berbagai macam database. Telnet
memungkinkan pengguna untuk duduk di depan komputer yang terkoneksi ke
internet dan mengakses komputer lain yang juga terkoneksi ke internet. Dengan
11

kata lain koneksi dapat terjadi ke mesin lain di satu ruangan, satu kampus, bahkan
setiap komputer di seluruh dunia. Setelah terkoneksi, input yang diberikan pada
keyboard akan mengontrol langsung ke remote computer tadi. Akan dapat diakses
pelayanan apapun yang disediakan oleh remote machine dan hasilnya ditampilkan
pada terminal lokal. (Budi Raharjdo, 2002).
Telnet menggunakan dua program, yang satu adalah client (telnet) dan
server (telnetd). Yang terjadi adalah ada dua program yang berjalan, yaitu
software client yang dijalankan pada komputer yang meminta pelayanan tersebut
dan software server yang dijalankan oleh komputer yang menghasilkan
pelayanan tadi.

Gambar 2.3 Interaksi telnet


Sumber:Parker, 1994:117

Gambar 2.4 Koneksi Mesin ketika terjadi Telnet


Sumber : Parker, 1994:118

Tugas dari client adalah:


a. Membuat koneksi network TCP (Transfer Control Protocol)
dengan server.
b. Menerima inputan dari user.
c. Menformat kembali inputan dari user kemudian mengubah dalam
bentuk format standard dan dikirim ke server.
12

d. Menerima output dari server dalam format standar.


e. Mengubah format output tadi untuk ditampilkan pada layar.

Sedangkan tugas dari server adalah :


a. Menginformasikan software jaringan bahwa komputer itu siap
menerima koneksi.
b. Menunggu pertmintaan dalam bentuk format standar.
c. Melaksanakan permintaan tersebut.
d. Mengirim kembali hasil ke client dalam bentuk format standar.
e. Menunggu perintaan selanjutnya.

2.3.3 Metode Enkripsi


SSH menggunakan metode public‑key cryptography untuk
mengenskripsi komunikasi antara dua host, demikian pula untuk
autentikasi pemakai. Dengan metode ini, dibutuhkan dua buah
kunci berbeda yang digunakan baik untuk melakukan enkripsi dan
dekripsi. Dua buah kunci tersebut masing‑masing disebut public
key (dipublikasikan ke public/ orang lain) dan private key
(dirahasiakan/ hanya pemiliknya yang tahu). Masing‑masing kunci
tesebut dapat digunakan untuk melakukan enkripsi dan dekripsi
(Budi Raharjo, 2002).
SSH dapat digunakan untuk login secara aman ke remote
host atau menyalin data antar ghost, sementara mencegah man in
the middle attacks (pembajakan sesi) dan DNS spoofing atau dapat
dikatakan secure shell adalah program yang melakukan login
terhadap komputer lain dalam jaringan, mengeksekusi perintah
lewat mesin secara remote, dan memindahkan file dari satu mesin
ke mesin lainnya. SSH merupakan produk serbaguna yang
dirancang untukmelakukan banyak hal, yang kebanyakan berupa
penciptaan tunnel antar host (Dwi Cahyani, 2010).
13

2.4 Port Address


Port address merupakan nomor dengan tipe integer yang digunakan
sebagai identifikasi atau layanan dari client yang ingin melakukan
komunikasi. Port diberi nomor 0.s.d 655535. Port dengan range 0-1023
disebut sebagai reserved atau priviliged port. Artinya port yang ada dalam
range tesebut sudah digunakan untuk berbagai aplikasi khas, seperti telnet,
mail, web, FTP, dan sebagainya. Sedangkan untuk sisanya, yaitu 1024 s.d
65535 disebut sebagai “dynamic” atau “unprivileged” port (Nurul
Farhanah, 2011).
Port 0 s.d 1023 hampir selalu digunakan sebagai port untuk aplikasi
server yang sudah umum, contohnya port FTP menggunakan port 21/20,
SMTP menggunakan port 25, HTTP menguunakan port 80, dan seterusnya.
Port dengan range 1024 s.d 65535 biasanya bersifat dinamis, misalnya saat
client melakukan koneksi ke server maka port yang digunakan oleh client
melakukan koneksi ke server maka port yang digunakan oleh client adalah
port dinamis.

2.5 Web Browser


Web browser adalah sebuah aplikasi perangkat lunak yang
memungkinkan pengguna untuk menayangkan dan berinteraksi dengan
tulisan, gambar, video, musik dan berbagai informasi lainnya yang terdapat
pada halaman web di sebuah situs di world wide web atau di jaringan LAN.
Tulisan dan gambar di halaman web dapat mempunyai hyperlinks ke
halaman web lain di mesin yang sama atau di situs web lainnya. Web
browser memungkinkan pengguna secara cepat dan mudah mengakses
informasi yang diberikan oleh banyak situs web dengan cara menjelajahi
link tersebut. Web browser memformat informasi HTML untuk di
tayangkan, oleh karena itu penampakan halaman web akan terlihat berbeda
dari satu browser ke browser yang lain .
14

Gambar 2.5 Ilustrasi cara kerja web browser


Sumber http://antojuli.blogspot.com/2011/04/apa-yang-dimaksud-dengan-web-browser.html

2.6 MySQL
Menurut Schwartz Baron (2008), MySQL adalah salah satu
perangkat lunak database relasi (Relational Database Management
System atau RDBMS) seperti halnya Oracle, Postgree SQL,MS SQL, dan
sebagainya. MySQL merupakan salah satu software yang banyak
digunakan untuk mengelola database dengan menjalankan SQL(Strucure
Query Language).
MySQL itu sendiri mulai dikembangkan sejak tahun 1979 menggunakan
tools database UNIREG yang dibuat oleh Michale “Monty” Widenius
untuk perusahaan TcX di Swedia. Tahun 1996 MySQL dirilis dengan
versi MySQL 3.11.1 setelah pada tahun sebelumnya TcX mendapat
desakan dari David Axmark dari Detro HB untuk merilis MySQL.

2.7 Sniffing
Sniffing adalah suatu aktifitas menyadap yang di lakukan dalam jaringan
yang sangat sulit untuk dicegah. Hal ini adalah permasalahan dari
komunikasi atau protokol jaringan dan tidak ada hubungannya dengan
sistem operasi (Hidayat, Wendy : 2012).
Aktifitas menyadap atau sniffing ini terbagi 2 jenis yaitu :
a. Passive sniffing adalah suatu kegiatan penyadapan tanpa merubah
data atau paket apapun di jaringan. Passive sniffing yang umum di
lakukan yaitu pada Hub, hal ini di sebabkan karena prinsip kerja
15

hub yang hanya bertugas meneruskan signal ke semua komputer


(broadcast), berbeda dengan switch yang mempunyai cara untuk
menghindari collision atau bentrokan yang terjadi pada hub dengan
membaca MAC address komputer. Beberapa program yang
umumnya di gunakan untuk melakukan aktifitas ini yaitu
wireshark, cain-abel, dsb.
b. Active sniffing adalah kegiatan sniffing yang dapat melakukan
perubahan paket data dalam jaringan agar bisa melakukan sniffing,
active sniffing dengan kata lain merupakan kebalikan dari passive
sniffing. Active sniffing umumnya di lakukan pada switch, hal ini di
dasar karena perbedaan prinsip kerja antara hub dan switch. Active
sniffing yang paling umum di lakukan adalah ARP Poisoning, Man
in the middle attack (MITM).
Dua jenis sniffing ini sangat merugikan jika terjadi di dalam jaringan
karena bisa saja data-data pribadi atau account-account pribadi, semacam
e-mail yang bersifat sensitif dapat dicuri.

2.8 Wireshark
Wireshark adalah sebuah free software yang digunakan untuk
analisis jaringan yang biasa digunakan oleh network administrator untuk
menganalisa kinerja jaringan, termasuk protokol di dalamnya.
Wireshark bekerja pada layer aplikasi. Yaitu layer terakhir dari OSI layer
(Ishak, 2008:3).
Tujuan dari monitoring dengan wireshrak adalah sebagai berikut.
1. Memecahkan masalah jaringan.
2. Memeriksa keamanan jaringan.
3. Melakukan debug implementasi protokol.
4. Mempelajari protokol jaringan internal.
16

2.9 Windump
Windump adalah suatu tool yang digunakan untuk paket sniffing
dalam jaringan komputer sehingga memungkinkan seorang administrator
untuk dapat mengamati setiap paket yang melintasi suatu network (Gendut
Pelo: 2013).

2.10 Debian
Debian adalah sistem operasi bebas yang dikembangkan secara
terbuka oleh banyak programer sukarela (pengembang debian) yang
tergabung dalam Proyek Debian. Sistem operasi Debian adalah gabungan
dari perangkat lunak yang dikembangkan dengan lisensi GNU, dan
utamanya menggunakan kernel Linux, sehingga populer dengan nama
Debian GNU/Linux. Sistem operasi Debian yang menggunakan kernel
Linux merupakan salah satu distro Linux yang populer dengan
kestabilannya. Dengan memperhitungkan distro berbasis Debian, seperti
Ubuntu, Xubuntu, Knoppix, Mint, dan sebagainya, maka Debian merupakan
distro Linux yang paling banyak digunakan di dunia.

Gambar 2.6 Logo debian


Sumber : https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTF4Kx-
F2yL21FbHsAqpzSX14RmORnVAaFhJoitd9Zx3gX0SBQb
BAB III
PERANCANGAN DAN REALISASI PEMGEMBANGAN CLIENTLESS
REMOTE DESKTOP GATEWAY

3.1 Perancangan Sistem


3.1.1 Deskripsi sistem
Clientless remote desktop dapat dibangun dengan
memanfaatkan sebuah mesin server yang terdapat dalam sebuah
jaringan komputer. Server ini nantinya bertugas untuk melayani dan
mengelolah aktivitas remote yang dilakukan user terhadap sebuah
node yang ada dalam jaringan, dalam hal ini jaringan JTIK.

Gambar 3.1 Diagram blok Clientless Remote Desktop Gateway


Sumber : http://guac-dev.org/doc/gug/images/guac-arch.png

3.1.2 Fungsi clientless remote desktop gateway


Fungsi dari sistem ini adalah untuk memudahkan aktivitas
remote terhadap sebuah node yang berada dalam jaringan dengan
memanfaatkan media web browser. Remote bisa dilakukan dengan

17
18

memanfaatkan protokol ssh dan telnet tergantung dari protokol apa


yang disediakan dari sisi node target.

3.2 Cara Kerja Sistem


Secara garis besar sistem ini akan melayani permintaan dari
user dalam hal ini admin jaringan untuk melakukan remote terhadap
server atau node lain dalam jaringan yang telah dikonfigurasi pada server
CRDG.
Untuk melakukan remote, user harus memiliki sebuah web browser
yang terinstal di dalam komputer remote. Web browser akan menjadi
media untuk menampilkan interface dari node target karena komunikasi
yang dilakukan melalui protokol HTTP.

Mulai

Login

Ya
Username &
Pilih Menu
Password Valid ?
Tidak

Ya Terhubung ke
Jika Pilihan = Telnet Hostname dengan Remote Acitivity
protokol telnet

Tidak

Ya Terhubung ke
Jika Pilihan = SSH Hostname dengan Remote Acitivity
protokol SSH

Tidak

Logout Selesai

Gambar 3.2 Flow chart Clientless Remote Desktop Gateway


19

3.3 Spesifikasi Perangkat


3.3.1 Perangkat keras
Adapun perangkat keras yang digunakan dalam sistem ini
adalah sebagai berikut.
Tabel 3.1 Spesifikasi Hardware
Processor Intel Xeon E3 1220 V3 Quad
Core 3.1Ghz
RAM DDR 3 ECC UDIMM 4GB X 4
Total 16 GB
Monitor 16” LED AOC
Network Controler Dual Gigabit NIC Intel
Mainboard Intel Serverboard S1200V3RP
Harddisk 1 TB Sata 7200 RPM Western
Digital
Interface I/O USB Keyboard and Mouse
Sistem Operasi Proxmox Virtual Environment
3.4
Case Type Model Tower

3.3.2 Perangkat lunak


Perangkat lunak yang digunakan dalam sistem ini adalah :
1. Sistem Operasi (Linux Debian 7), disamping menawarkan
kestabilan performa, debian juga menawarkan pengguna
untuk menginstalasi paket-paket software berasal dari aneka
arsitektur dalam satu sistem dan sekaligus menutaskan segala
ketergantungannya (independencies) secara otomatis.
2. Guacamole menyediakan protokol guacd yang berguna untuk
remote access yang dapat diubah ke dalam format HTTP.
3. Java merupakan bahasa pemrograman yang dapat dijalankan
di berbagai komputer. Keunggulannya adalah multiplatform,
pemrograman berorientasi objek,
20

4. Tomcat merupakan salah satu jenis servlet, aplikasi java yang


dijalankan di sisi server, script servlet akan diolah oleh server
menghasilkan tampilan akhir script HTML yang berbeda di
web rowser.
5. Apache adalah server web yang paling pupuler karena dapat
dijalankan di banyak sistem operasi (Unix, BSD, Linux,
Microsoft Windows dan Novell Netware serta platform
lainnya) yang berguna untuk melayani dan memfungsikan
situs web.
6. MySQL merupakan perangkat lunak open source. MySQL
didistribusikan sebagai perangkat lunak sumber terbuka,
dibawah lisensi GPL sehingga dapat digunakan secara gratis.

3.4 Realisasi Program Aplikasi


3.4.1 Instalasi debian
Berikut cara menginstall operating system menggunakan Debian
1. Memasukkan media drive yang berisikan instalasi Debian 7,
kemudian ubah pengaturan pada bios dengan cara menekan
tombol del/f2/f12 (setiap komputer berbeda-beda) menjadi
first boot ke Media Drive.

Gambar 3.3 BIOS


21

2. Memilih “Install” dan tekan “Enter” sehingga muncul


pertanyaan seperti gambar 3.4

Gambar 3.4 Instalasi Debian 7

3. Memilih opsi “English”, menekan “Enter”.

Gambar 3.5 Pemilihan bahasa


22

4. Memilih opsi “Other” untuk wilayah Indonesia dan


menekan “Enter”.

Gambar 3.6 Pemilihan lokasi pengguna

5. Memilih opsi “Asia” untuk wilayah Indonesia dan


menekan “Enter”.

Gambar 3.7 Pemilihan lokasi pengguna 2


23

6. Memilih opsi “Indonesia” dan menekan “Enter”.

Gambar 3.8 Pemilihan Lokasi Pengguna 3

7. Memilih area “United States”, kemudian menekan


“Enter”.

Gambar 3.9 Pemilihan lokasi pengguna 4


24

8. Memilih opsi “American English” untuk pengaturan


keyboard. Lalu menekan “Enter”.

Gambar 3.10 Pemilihan konfigurasi keyboard

9. Proses Penambahan Komponen pada Instalasi Debian.

Gambar 3.11 Proses penambahan komponen pada instalasi Debian


25

10. Memasukkan nama hostname, lalu menekan “Enter”.

Gambar 3.12 Pengaturan hostname

11. Memasukan nama Domain (Jika ada).

Gambar 3.13 Pengaturan domain


26

12. Memasukan password untuk akun “root”.

Gambar 3.14 Pengaturan password root

13. Memasukan kembali password “root” Anda untuk


memverifikasi, lalu tekan “Enter”.

Gambar 3.15 Konfirmasi password


27

14. Memasukkan nama lengkap pengguna, kemudian menekan


“Enter” untuk “Continue”.

Gambar 3.16 Pembuatan akun pengguna

15. Membuat password untuk akun baru. Kemudian menekan


“Enter” untuk Continue.

Gambar 3.17 Pembuatan password untuk pengguna


28

16. Memasukkan kembali password Anda untuk


memverifikasi. Ketik “Enter” untuk Continue.

Gambar 3.18 Konfirmasi password pengguna

17. Proses pengaturan waktu pada Debian.

Gambar 3.19 Proses pengaturan waktu pada debian


29

18. Memilih lokasi, menekan “Enter” untuk Continue.

Gambar 3.20 Menentukan lokasi waktu

19. Selanjutnya adalah tahapan untuk mempartisi harddisk,


Memilih “Guided – Use entire disk”, untuk instalasi tanpa
enkripsi dan pengaturan LVM. Menekan “Enter” untuk
Continue.

Gambar 3.21 Menentukan partisi hard drive


30

20. Menekan “Enter” untuk Continue.

Gambar 3.22 Menentukan hard drive untuk dipartisi

21. Memilih All files in one partition dengan menekan “Enter”


untuk Continue.

Gambar 3.23 Pengaturan alokasi partisi hard drive


31

22. Memilih opsi Finish partitioning and write changes to disk


ketik “Enter” untuk Continue.

Gambar 3.24 Informasi pengaturan partisi hard drive

23. Memilih opsi “Yes” untuk melakukan instalasi Debian 7


lalu menekan “Enter” untuk Continue.

Gambar 3.25 Konfirmasi partisi hard drive


32

24. Menunggu proses instalasi.

Gambar 3.26 Proses instalasi Debian 7

3.4.2 Instalasi Guacamole


Berikut cara menginstall guacamole pada debian 7.
1. Mengetik command seperti gambar 3.27 pada terminal
sebagai root.

# apt-get install make libcairo2-dev libpng12-


dev freerdp-x11 libssh2-1 libfreerdp-dev
libvorbis-dev libssl0.9.8 gcc libssh-dev
libpulse-dev tomcat7 tomcat7-admin tomcat7-docs
libssl-dev libtelnet-dev libpango-dev

Gambar 3.27 Command instalasi paket pendukung

libtelnet-dev
2. Men-download paket guacamole server dengan mengetik
libtelnet-dev
command seperti pada gambar 3.28.
# wget -O guacamole-server-
0.9.6.tar.gz http://sourceforge.net/projects/gu
acamole/files/current/source/guacamole-server-
0.9.6.tar.gz/download

Gambar 3.28 Command untuk download paket guacamole server


33

3. Men-download paket guacamole.war dengan perintah


seperti pada gambar 3.29.

# wget -O
guacamole0.9.6.war http://sourceforge.net/proje
cts/guacamole/files/current/source/
guacamole0.9.6.war/download

Gambar 3.29 Command untuk Download Paket Guacamole.war

4. Mengekstrak file guacamole-server yang telah di-download


dengan perintah seperti pada gambar 3.30.

# tar -xzf guacamole-server-0.9.5.tar.gz

Gambar 3.30 Command untuk extract guacamole Server

5. Menginstal paket guacamole server dengan command


seperti pada gambar 3.31.
# cd guacamole-server
# ./configure --with-init-dir=/etc/init.d
# make
# make install
# update-rc.d guacd defaults
# ldconfig

Gambar 3.31 Command untuk instalasi guacamole server

6. Membuat folder guacamole pada direktori /etc, perintahnya


seperti pada gambar 3.32.

# mkdir –p /etc/guacamole

Gambar 3.32 Command untuk membuat direktori guacamole


34

7. Selanjutnya, membuat konfigurasi file yang diberi nama


guacamole.properties pada folder guacamole yang telah
dibuat.

# nano guacamole.properties

Gambar 3.33 Command untuk membuat file guacamole.properties

Berikut adalah isi dari file guacamole.properties.

# Hostname and port of guacamole proxy


guacd-hostname: localhost
guacd-port: 4822

#Libdirectory
lib-directory:
/var/lib/tomcat7/webapps/guacamole/WEB_INF/classes
# Authentication provider class
auth-provider:
net.sourceforge.guacamole.net.basic.BasicFileAuthenticationPr
ovider

# Properties used by BasicFileAuthenticationProvider


basic-user-mapping: /etc/guacamole/user-mapping.xml

Gambar 3.34 Tampilan guacamole.properties

File guacamole.properties berfungsi untuk menentukan


hostname, library, dan jenis autentikasi yang akan
digunakan.
8. Selanjutnya membuat konfigurasi untuk layanan akases dan
protokol yang akan digunakan. File ini diberi nama user-
mapping.xml dan ditempatkan pada folder guacamole.
35

<user-mapping>
<authorize username="admin" password="admin">
<connection name="SSH">
<protocol>ssh</protocol>
<param name="hostname">172.16.0.34</param>
<param name="port">22</param>
</connection>
<connection name="Telnet">
<protocol>telnet</protocol>
<param name="hostname">172.16.0.1</param>
<param name="port">23</param>
</connection>
</authorize>
</user-mapping>

Gambar 3.35 Tampilan user-mapping.xml

9. Membuat folder baru dengan nama .guacamole pada


direktori /usr/share/tomcat7/ dengan perintah seperti
pada gambar 3.36.
# mkdir –p /usr/share/tomcat7/.guacamole
Gambar 3.36 Command untuk membuat direktori .guacamole

10. Menghubungkan file guacamole.properties pada direktori


/etc/guacamole/huacamole.properties dengan
direktori /usr/share/tomcat7/.guacamole
# ln -s /etc/guacamole/guacamole.properties
/usr/share/tomcat7/.guacamole

Gambar 3.37 Command untuk membuat linking guacamole.properties


dengan direktori .guacamole

11. Memasukkan paket guacamole.war yang telah di-


download ke dalam direktori
/var/lib/tomcat7/webapps/ dengan perintah seperti
pada gambar 3.38.
# cp guacamole.0.9.6.war
/var/lib/tomcat7/webapps/guacamole.war

Gambar 3.38 Command untuk menyalin file guacamole.0.9.6.war


36

12. Me-restart tomcat7 dan guacd.


# service tomcat7 restart
# service guacd restart

Gambar 3.39 Command untuk me-restart tomcat7 dan guacd

13. Membuka browser dan arahkan ke ip hostname server


clientless remote desktop dengan format
http://ipCRDGserver:8080
Jika muncul tampilan login, seperti pada gambar 3.40,
berarti guacamole sudah berjalan

Gambar 3.40 Jendela login

3.4.3 Uji Koneksi Guacamole dengan Protokol Telnet

1. Melakukan login ke guacamole menggunakan akun yang telah


didaftarkan pada file user-mapping.xml sehingga akan muncul
tampilan seperti berikut.
37

Gambar 3.41 Tampilan beranda guacamole

2. Memilih opsi Telnet. Jika berhasil, maka akan muncul


tampilan untuk masuk ke sistem. Karena protokol telnet
diarahkan ke salah satu router maka tampilannya menjadi
seperti berikut.

Gambar 3.42 Tampilan mikrotik yang diakses via Telnet guacamole


38

3.4.4 Uji Koneksi Guacamole dengan Protokol SSH

1. Melakukan login ke guacamole menggunakan akun yang telah


didaftarkan pada file user-mapping.xml sehingga akan muncul
tampilan seperti berikut.

Gambar 3.43 Jendela login guacamole

2. Memilih opsi SSH. Jika berhasil, maka akan muncul tampilan


untuk masuk ke sistem. Karena protokol ssh diarahkan ke salah
satu server linux maka tampilannya menjadi seperti berikut.
39

Gambar 3.44 Tampilan server linux yang diakses via ssh guacamole

3.4.5 Pengembangan Sistem dengan Menambahkan Reverse Proxy


1. Menginstal paket tambahan, yaitu libapache2-mod-proxy-
html libxml2-dev pada terminal.
# apt-get install libapache2-mod-proxy-html
libxml2-dev

Gambar 3.45 Command instalasi paket pendukung

2. Menjalankan paket yang telah di-install melalui terminal.


# a2enmod proxy proxy_http

Gambar 3.46 Command mengaktifkan proxy_http

3. Menambahkan virtual host dengan membuat file baru pada


direktori /etc/apache2/site-available/
# nano earerar.conf

Gambar 3.47 Command mengaktifkan proxy_http


40

Isi dari file earerar.conf seperti yang terlihat pada gambar


3.48

<VirtualHost *:80>
ProxyPass /guacamole
http://172.16.0.34:8080/guacamole
ProxyPassReverse /guacamole http://
172.16.0.34.2:8080/guacamole

<Location /guacamole>
Order allow,deny
Allow from all
</Location>
</VirtualHost>

Gambar 3.48 Tampilan file vhost

4. Mengaktifkan virtual host yang telah dibuat dengan perintah


seperti berikut.
# a2ensite guacamole.conf

Gambar 3.49 Command mengaktifkan vhost

5. Melakukan restart apache, guacd, dan tomcat7


# service apache2 restart
# service tomcat7 restart
# service guacd restart

Gambar 3.50 Command untuk restart service

6. Membuka browser mengarahkan ke ip server CRDG dengan


format : http://ipserver/guacd
Jika jendela login muncul, berarti reverse proxy berhasil
dibuat.
3.4.6 Pengembangan Sistem dengan Metode Autentikasi Database
Pada sistem default, setiap user dan hostname harus
dimasukkan ke dalam file user-mapping.xml yang terdapat pada
direktori /etc/guacamole/. Hal ini tidak akan menjadi sebuah
masalah apabila sistem diterapkan dalam sebuah network dengan
41

resource yang kecil. Untuk dapat menerapkan sistem CRDG dalam


sebuah jaringan yang besar, pengelolaan user dan hostname harus
dapat diubah menjadi lebih mudah dan dinamis.
Solusi untuk permasalah tersebut adalah memanfaatkan
database untuk mengelola semua user dan hostname yang ada
sehingga mempermudah administrator jaringan sehingga proses
autentikasi tidak lagi berdasarkan file user-mapping.xml, tetapi
memanfaatkan database.
Adapun resource tambahan adalah :
1. MySQL server berfungsi untuk mengelola database
2. mysql-connector-java-5.1.35.bin.jar. File ini merupakan
library yang berfungsi sebagai konektor java dengan
MySQL.
3. guacamole-auth-jdbc-mysql-0.9.7.jar merupakan sebuah
library yang fungsinya menghubungkan protokol guacd agar
bisa melakukan autentikasi dari database.
42

Gambar 3.51 Struktur dan


Relasi Database CRDG
43

3.4.6.1 Instalasi MySQL


Berikut cara menginstal guacamole pada debian 7.
1. Mengetikkan command seperti terlihat pada gambar 3.52 pada
terminal.
# apt-get install mysql-server

Gambar 3.52 Command untuk instalasi mysql-server

2. Menjalankan service mysql-server dengan command seperti


gambar 3.53.
# mysql –u root -p

Gambar 3.53 Command untuk menjalankan mysql-server

3. Memasukkan password untuk keperluan autentikasi setiap kali


mengakses MySQL.
4. Melakukan restart mysql-server.
# service mysql-server restart

Gambar 3.54 Command untuk me-restart mysql-server

3.4.6.2 Konfigurasi MySQL dengan Guacamole


Berikut cara menginstall guacamole pada debian 7.
1. Men-download file mysql-connector-java-5.1.35-bin.jar
kemudian masuk ke terminal sebagai root dan mengetikkan
command seperti pada gambar 3.55.
# wget O
http://dev.mysql.com/get/Downloads/Connect
or-J/ mysql-connector-java-5.1.35-bin.jar

Gambar 3.55 Command untuk mengunduh konektor

2. Men-download file guacamole-auth-jdbc-mysql-0.9.6.tar.gz


kemudian masuk ke terminal sebagai root dan mengetikkan
command seperti pada gambar 3.56.
44

# wget O
http://dev.mysql.com/get/Downloads/Connect
or-J/ guacamole-auth-jdbc-mysql-
0.9.6.tar.gz

Gambar 3.56 Command untuk mengunduh konektor

3. Mengekstrak file guacamole-auth-jdbc-mysql-0.9.6.tar.gz


dengan masuk ke terminal sebagai root.
# tar –xzf guacamole-auth-jdbc-mysql-
0.9.6.tar.gz

Gambar 3.57 Command untuk mengekstrak file

4. Masuk ke dalam folder hasil ekstrak dan cari file yang


berekstensi .sql.
# cd guacamole-auth-jdbc-mysql-0.9.6
# ls

Gambar 3.58 Command untuk pindah direktori dan menampilkan list file

5. Menjalankan mysql dan buat database baru untuk CRDG,


misalnya guacamole_db.

# mysql –u root -p
mysql> CREATE DATABASE guacamole_db;
mysql> CREATE USER 'root@'localhost'
IDENTIFIED BY 'some_password';

mysql> GRANT SELECT,INSERT,UPDATE,DELETE


ON guacamole_db.* TO 'root@'localhost';

mysql> FLUSH PRIVILEGES;

mysql> quit
Gambar 3.59 Command SQLuntuk create database
45

6. Memasukkan file .sql ke dalam database guacamole_db.


# cat schema/*.sql | mysql -u root -p
guacamole_db
# ls
Gambar 3.60 Command SQLuntuk create database

7. Masih dalam folder guacamole-auth-jdbc-mysql-0.9.6,


pindahkan file guacamole-auth-jdbc-mysql-0.9.6.bin.jar ke
direktori
/var/lib/tomcat7/webapps/guacamole/WEB-
INF/classes/

#mv guacamole-auth-jdbc-mysql-
0.9.6.bin.jar
/var/lib/tomcat7/webapps/guacamole/
WEB-INF/classes/

Gambar 3.61 Command untuk memindahkan file

8. Masih dalam folder guacamole-auth-jdbc-mysql-0.9.6,


selnjutnya adalah memindahkan file mysql-connector-java-
5.1.35-bin.jar ke direktori
/var/lib/tomcat7/webapps/guacamole/WEB-
INF/classes/

#mv mysql-connector-java-5.1.35-bin.jar
/var/lib/tomcat7/webapps/guacamole/
WEB-INF/classes/

Gambar 3.62 Command untuk memindahkan file

9. Mengubah file guacamole.properties yang terdapat pada


/etc/guacamole/.
46

# Hostname dan Port yang diguhnakan


guacd-hostname: localhost
guacd-port: 4822

#Direktori untuk library konektor


lib-directory:
/var/lib/tomcat7/webapps/guacamole/WEB-INF/classes
#lib-direcory: /var/lib/guacamole/classpath

# Settingan Agar Autentikasi dari Database


auth-provider:
net.sourceforge.guacamole.net.auth.mysql.MySQLAuthent
icationProvider

#Konfigurasi MySQL
mysql-hostname: localhost
mysql-port: 3306
mysql-database: jtik
mysql-username: root
mysql-password: root

Gambar 3.63 Isi dari file guacamole.properties

10. Melakukan restart untuk guacd, tomcat7, dan apache.


# service guacd restart
# service tomcat7 restart
# service apache2 restart

Gambar 3.64 Command untuk restart service

11. Membuka browser dan mengarahkan ke ip server CRDG


dengan format : http://ipserver/guacd

Gambar 3.65 Jendela login

Untuk melakukan login pertama kali username dan password yang


digunakan adalah : guacadmin.
47

3.4.6.3 Fitur CRDG

Gambar 3.66 Dashboard CRDG

Adapun fitur dari CRDG adalah sebagai berikut.


a. Manage connection. Fitur ini digunakan untuk mengelola
hostname. Setiap hostname dapat dikelompokkan menjadi beberapa
grup sesuai dengan kebutuhan administrator.

Gambar 3.67 Pilihan menu Dashboard CRDG

Gambar 3.68 Pilihan menu create network dan group CRDG


48

Gambar 3.69 Create Group CRDG

Gambar 3.70 Grup baru JTIK

Gambar 3.71Create new connection pada grup JTIK

Gambar 3.72 Create new SSH connection pada grup JTIK


49

Gambar 3.73 Create new telnet connection pada grup JTIK

Gambar 3.74 Create new telnet connection pada grup JTIK

Gambar 3.75 Tampilan dashboard

b. Users. Fitur ini digunakan untuk mengelola user yang ada. Melalui
fitur ini administrator dapat melakukan penambahan user, menghapus
user, mengatur pemberian hak akses.
50

Gambar 3.76 Tampilan pilihan menu dashboard

Gambar 3.77 Menambahkan user baru

Gambar 3.78 User baru berhasil ditambahkan


51

Gambar 3.79 Pengaturan hak akses user baru

Gambar 3.80 Percobaan login akses user baru


52

Gambar 3.81 Tampilan dashboard user baru


BAB IV
PEMBAHASAN

4.1 Pengujian
Bab ini akan membahas tentang pengujian terhadap keamanan paket
setiap protokol yang terdapat dalam Clientless Remote Desktop Gateway.

4.1.1 Deskripsi pengujian


Pengujian dilakukan dengan memanfaatkan bantuan software
Wireshark dan WinDump. Kedua software ini digunakan untuk
melakukan sniffing atau menganalisa paket data yang dihasilkan
ketika terdapat user atau administrator yang melakukian aktivitas
remote, baik melalui protokol SSH maupun telnet.

4.1.2 Prosedur pengujian


4.1.2.1 Pengujian sniffing SSH dengan software WinDump
Uji coba dilakukan dengan menjalankan software WinDump sambil
melakukan login pada CRDG dengan tujuan akses SSH_Guacamole_34
(172.16.0.34).

Gambar 4.1 Capture data terhadap


protokol SSH dengan WinDump

53
54

4.1.2.2 Pengujian sniffing SSH dengan software Wireshark


Uji coba dilakukan dengan menjalankan software Wireshark, tujuan
hostname SSH_Guacamole_34 (172.16.0.34).

Gambar 4.2 Capture data terhadap


protokol SSH dengan Wireshark

4.1.2.3 Pengujian sniffing telnet dengan software WinDump


Uji coba dilakukan dengan menjalankan software Wireshark, tujuan
hostname Telnet_Mikrotik_1 (172.16.0.1).

Gambar 4.3 Capture data terhadap


protokol telnet dengan WinDump
55

4.1.2.4 Pengujian sniffing telnet dengan software Wireshark


Uji coba dilakukan dengan menjalankan software Wireshark, tujuan
hostname Telnet_Mikrotik_1 (172.16.0.1).

Gambar 4.4 Capture data terhadap


protokol telnet dengan Wireshark
56

4.1.3 Data Hasil Pengujian


Berikut adalah hasil setelah melakukan pengujian terhadap protokol SSH
dan telnet menggunakan WinDump dan Wireshark.
Tabel 4.1 Hasil
Pengujian

No Protokol Wireshark WinDump


- Paket SSH - Paket SSH
terdeteksi melalui terdeteksi
protokol HTTP melalui
1 dengan port 8080 protokol HTTP
SSH dengan port
8080

-Username
terdeteksi dan IP
server tujuan.
- Paket SSH - Paket SSH
terdeteksi melalui terdeteksi
protokol HTTP melalui
2
dengan port 8080 protokol HTTP
Telnet dengan port
8080
-Username
terdeteksi dan IP
server tujuan.

4.2 Analisis Data


Dari hasil pengujian, protokol SSH dan telnet yang berada dalam
sistem CRDG menggunakan protokol HTTP dengan nomor port 8080 pada
saat melakukan proses pertukaran data. Hal ini dapat terlihat pada hasil
pengujian, dimana tidak ditemukannya paket koneksi SSH dan telnet seperti
pada aplikasi client remote pada umumnya.
Berikut terdapat paket telnet dan SSH melalui aplikasi client remote
desktop Putty yang telah di-capture menggunakan Wireshark dengan
hostname tujuan yaitu 172.16.0.1 (Mikrotik).
57

Gambar 4.5 Capture data terhadap


protokol SSH Putty dengan Wireshark

Gambar 4.6 Capture data terhadap


protokol telnet Putty dengan Wireshark
BAB V
PENUTUP

5.1 Kesimpulan
Berdasarkan uraian diatas dapat disimpulkan :
1. CRDG merupakan sistem yang dapat digunakan untuk melakukan
aktivitas remote terhadap perangkat jaringan yang dapat mengakses
protokol SSH dan telnet melaui browser yang mendukung HTML 5.
2. SSH dan telnet yang berjalan dalam sistem CRDG memanfaatkan
service guacd pada server, sehingga ketika melakukan aktivitas
remote, user/client terhubung melalui protokol HTTP dengan port
8080.
3. CRDG secara default dapat diakses melalui browser dengan
memasukkan IP server beserta nomor portnya. Dengan menambahkan
konfigurasi reverse proxy CRDG dapat diakses melalui location yang
telah ditentukan.

5.2 Saran
Adapun saran bagi pihak yang ingin mengembangkan CRDG :
1. Sistem sebaiknya dapat diakses memalui DNS.
2. Penambahan koneksi dapat dilakukan dengan memasukkan hostname.

58
DAFTAR PUSTAKA

Andi dan Wahana.2010.“Cara Jitu Pengelolaan Jaringan Windows Dengan


Remote Desktop dan Administration”, Semarang : Wahana Komputer.
Aloysius dan Glagah.2005. "Telnet dan SSH", Yogyakarta: Library UGM
Bayunadi, Insan & Satoto, Kodrat I.2011."Struktur Jaringan IT pada PT. PLN
(Persero) Penyaluran & Pusat Pengatur Beban Region Jawa Tengah dan DIY”,
Semarang : Universitas Diponegoro
Dwi Cahyani, Ika.2002."Sistem Keamanan Enkripsi SSH untuk Keamananan",
Yogyakarta: Library UGM
Hidayat, Wendy.2012.”Apa itu Networking ?” http://academia.edu [29 Juni 2015]
Ishak, 2008.”Bedah Wireshark”.http://historida.blogspot.com/p/wireshark-adalah-
sebuah-freesoftware.html [29 Juni 2015]
Farhanah, Nurul.2011."Pengembangan Aplikasi Remote Spesifikasi Desktop
Berbasis Desktop Client Server", Yogyakarta : FT UGM
Pelo, Gendut.2013.”TCPdump dan Windump”. http:\\Academia.edu\TcpDump-
danWindump.html [30 Juni 2015]
Prasetyo, Rizki Aris, 2010. “Analisis dan Perancangan Site to Site Virtual Private
Netwok (VPN) Berbasis IP Security Menggunakan Mikrotik Router Operating
System”, Bandung : Universitas Komputer Indonesia
Rahardjo, Budi.2002 “Keamanan Sistem Informasi Berbasis Internet”, Semarang
: PT Insan Indonesia
Baron, Schwartz.2008.”High Performance MySQL”, New York : O’Relly
Media.Inc
Utomo Ndon Eko Satriyo, Wijaya I Made Yonatan.2010. “Implementasi
Remote Access menggunakan Visual Basic 6.0”, Library SMIK AMIKOM
:Yogyakarta
Ying, Jeffrey. 2010. “System for Providing Remote Access to Diagnostic
Information Over a Wide Area Network”, United Stated : I/O Controls
Operations

59
Lampiran 1
DAFTAR RIWAYAT HIDUP PENULIS

Eden Andi Ramba


Lahir pada tanggal 27 November 1992 di Toraja. Lulus dari TK
Kristen Kalambe tahun 1998, SDN 63 INPRES Kalambe tahun
2004, SMPN 3 Rantepao tahun 2007, dan SMK Kristen Tagari
tahun 2010.
Lampiran 2
SQL CODE

Skema Database (Tabel)

CREATE TABLE `guacamole_connection_group` (

`connection_group_id` int(11) NOT NULL AUTO_INCREMENT,


`parent_id` int(11),
`connection_group_name` varchar(128) NOT NULL,
`type` enum('ORGANIZATIONAL',
'BALANCING') NOT NULL DEFAULT 'ORGANIZATIONAL',

PRIMARY KEY (`connection_group_id`),


UNIQUE KEY `connection_group_name_parent` (`connection_group_name`, `parent_id`),

CONSTRAINT `guacamole_connection_group_ibfk_1`
FOREIGN KEY (`parent_id`)
REFERENCES `guacamole_connection_group` (`connection_group_id`) ON DELETE
CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_connection` (

`connection_id` int(11) NOT NULL AUTO_INCREMENT,


`connection_name` varchar(128) NOT NULL,
`parent_id` int(11),
`protocol` varchar(32) NOT NULL,
PRIMARY KEY (`connection_id`),
UNIQUE KEY `connection_name_parent` (`connection_name`, `parent_id`),

CONSTRAINT `guacamole_connection_ibfk_1`
FOREIGN KEY (`parent_id`)
REFERENCES `guacamole_connection_group` (`connection_group_id`) ON DELETE
CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_user` (

`user_id` int(11) NOT NULL AUTO_INCREMENT,


`username` varchar(128) NOT NULL,
`password_hash` binary(32) NOT NULL,
`password_salt` binary(32),

PRIMARY KEY (`user_id`),


UNIQUE KEY `username` (`username`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_connection_parameter` (

`connection_id` int(11) NOT NULL,


`parameter_name` varchar(128) NOT NULL,
`parameter_value` varchar(4096) NOT NULL,

PRIMARY KEY (`connection_id`,`parameter_name`),


CONSTRAINT `guacamole_connection_parameter_ibfk_1`
FOREIGN KEY (`connection_id`)
REFERENCES `guacamole_connection` (`connection_id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_connection_permission` (

`user_id` int(11) NOT NULL,


`connection_id` int(11) NOT NULL,
`permission` enum('READ',
'UPDATE',
'DELETE',
'ADMINISTER') NOT NULL,

PRIMARY KEY (`user_id`,`connection_id`,`permission`),

CONSTRAINT `guacamole_connection_permission_ibfk_1`
FOREIGN KEY (`connection_id`)
REFERENCES `guacamole_connection` (`connection_id`) ON DELETE CASCADE,

CONSTRAINT `guacamole_connection_permission_ibfk_2`
FOREIGN KEY (`user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_connection_group_permission` (


`user_id` int(11) NOT NULL,
`connection_group_id` int(11) NOT NULL,
`permission` enum('READ',
'UPDATE',
'DELETE',
'ADMINISTER') NOT NULL,

PRIMARY KEY (`user_id`,`connection_group_id`,`permission`),

CONSTRAINT `guacamole_connection_group_permission_ibfk_1`
FOREIGN KEY (`connection_group_id`)
REFERENCES `guacamole_connection_group` (`connection_group_id`) ON DELETE
CASCADE,

CONSTRAINT `guacamole_connection_group_permission_ibfk_2`
FOREIGN KEY (`user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_system_permission` (

`user_id` int(11) NOT NULL,


`permission` enum('CREATE_CONNECTION',
'CREATE_CONNECTION_GROUP',
'CREATE_USER',
'ADMINISTER') NOT NULL,

PRIMARY KEY (`user_id`,`permission`),

CONSTRAINT `guacamole_system_permission_ibfk_1`
FOREIGN KEY (`user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_user_permission` (

`user_id` int(11) NOT NULL,


`affected_user_id` int(11) NOT NULL,
`permission` enum('READ',
'UPDATE',
'DELETE',
'ADMINISTER') NOT NULL,

PRIMARY KEY (`user_id`,`affected_user_id`,`permission`),

CONSTRAINT `guacamole_user_permission_ibfk_1`
FOREIGN KEY (`affected_user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE,

CONSTRAINT `guacamole_user_permission_ibfk_2`
FOREIGN KEY (`user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `guacamole_connection_history` (

`history_id` int(11) NOT NULL AUTO_INCREMENT,


`user_id` int(11) NOT NULL,
`connection_id` int(11) NOT NULL,
`start_date` datetime NOT NULL,
`end_date` datetime DEFAULT NULL,

PRIMARY KEY (`history_id`),


KEY `user_id` (`user_id`),
KEY `connection_id` (`connection_id`),

CONSTRAINT `guacamole_connection_history_ibfk_1`
FOREIGN KEY (`user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE,

CONSTRAINT `guacamole_connection_history_ibfk_2`
FOREIGN KEY (`connection_id`)
REFERENCES `guacamole_connection` (`connection_id`) ON DELETE CASCADE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Membuat User Admin


insert into guacamole_user values(1, 'guacadmin',

x'CA458A7D494E3BE824F5E1E175A1556C0F8EEF2C2D7DF3633BEC4A29C4411960',

x'FE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264');

insert into guacamole_system_permission values(1, 'CREATE_CONNECTION');


insert into guacamole_system_permission values(1, 'CREATE_CONNECTION_GROUP');
insert into guacamole_system_permission values(1, 'CREATE_USER');
insert into guacamole_system_permission values(1, 'ADMINISTER');
insert into guacamole_user_permission values(1, 1, 'READ');
insert into guacamole_user_permission values(1, 1, 'UPDATE');
insert into guacamole_user_permission values(1, 1, 'ADMINISTER');

Upgrade Seri JDBC 0.9.6


INSERT INTO guacamole_user_permission
(user_id, affected_user_id, permission)
SELECT user_id, user_id, 'UPDATE'
FROM guacamole_user
WHERE
user_id NOT IN (
SELECT user_id
FROM guacamole_user_permission
WHERE
user_id = affected_user_id
AND permission = 'UPDATE'
);

INSERT INTO guacamole_user_permission


(user_id, affected_user_id, permission)
SELECT user_id, user_id, 'READ'
FROM guacamole_user
WHERE
user_id NOT IN (
SELECT user_id
FROM guacamole_user_permission
WHERE
user_id = affected_user_id
AND permission = 'READ'
);

Anda mungkin juga menyukai