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.
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.
-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.
1
2
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.
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
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
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.
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.
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
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.
17
18
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
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
# wget -O
guacamole0.9.6.war http://sourceforge.net/proje
cts/guacamole/files/current/source/
guacamole0.9.6.war/download
# mkdir –p /etc/guacamole
# nano guacamole.properties
#Libdirectory
lib-directory:
/var/lib/tomcat7/webapps/guacamole/WEB_INF/classes
# Authentication provider class
auth-provider:
net.sourceforge.guacamole.net.basic.BasicFileAuthenticationPr
ovider
<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.44 Tampilan server linux yang diakses via ssh guacamole
<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>
# wget O
http://dev.mysql.com/get/Downloads/Connect
or-J/ guacamole-auth-jdbc-mysql-
0.9.6.tar.gz
Gambar 3.58 Command untuk pindah direktori dan menampilkan list file
# mysql –u root -p
mysql> CREATE DATABASE guacamole_db;
mysql> CREATE USER 'root@'localhost'
IDENTIFIED BY 'some_password';
mysql> quit
Gambar 3.59 Command SQLuntuk create database
45
#mv guacamole-auth-jdbc-mysql-
0.9.6.bin.jar
/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/
#Konfigurasi MySQL
mysql-hostname: localhost
mysql-port: 3306
mysql-database: jtik
mysql-username: root
mysql-password: root
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
4.1 Pengujian
Bab ini akan membahas tentang pengujian terhadap keamanan paket
setiap protokol yang terdapat dalam Clientless Remote Desktop Gateway.
53
54
-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.
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
59
Lampiran 1
DAFTAR RIWAYAT HIDUP PENULIS
CONSTRAINT `guacamole_connection_group_ibfk_1`
FOREIGN KEY (`parent_id`)
REFERENCES `guacamole_connection_group` (`connection_group_id`) ON DELETE
CASCADE
CONSTRAINT `guacamole_connection_ibfk_1`
FOREIGN KEY (`parent_id`)
REFERENCES `guacamole_connection_group` (`connection_group_id`) ON DELETE
CASCADE
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
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
CONSTRAINT `guacamole_system_permission_ibfk_1`
FOREIGN KEY (`user_id`)
REFERENCES `guacamole_user` (`user_id`) ON DELETE CASCADE
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
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
x'CA458A7D494E3BE824F5E1E175A1556C0F8EEF2C2D7DF3633BEC4A29C4411960',
x'FE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264');