PERANCANGAN VIRTUAL PRIVATE NETWORK (VPN) SERVER UNTUK KONEKSI REMOTE PADA PERANGKAT ANDROID Dian Munanza Dicky Zulkarnain Nicco Priyono Jurusan Teknik Informatika STMIK PalComTech Palembang ABSTRAK Merancang sistem keamanan berbasis jaringan Virtual Private Network (VPN) menggunakan protokol Secure Socket Layer ( SSL) dan IP Tunneling merupakan salah satu alternatif solusi dimana dapat membantu koneksi remote dan transfer data antar client server secara aman melalui jalur koneksi internet seperti seolah-olah melalui jaringan lokal dengan menerapkan sistem ip tunneling maka diharapkan dapat memberi keamanan dan kemudahan proses remote server serta komunikasi antar client server melalui perangkat Smartphone Android melalui jaringan internet. Sistem operasi android merupakan sistem operasi opensource berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti smartphone dan tablet yang sekarang menjadi trend di dunia gadget. Hasil penelitian sistem yang dibuat dapat dimanfaatkan dan mempermudah untuk keperluan koneksi remote server melalui perangkat android secara aman dengan menggunakan security atau keamanan berbasis SSL (Secure Socket Layer) dan Implementasi IP Tunneling terbukti sangat baik sebagian penghubung antar client server dimana berfungsi sebagai ip address terselubung tanpa diketahui user dari luar jaringan yang berusaha melakukan scannning. Kata Kunci : Virtual Private Network, Secure Socket Layer, Tunneling, Client Server
PENDAHULUAN Jaringan komputer merupakan kumpulan komputer yang terhubung secara fisik dan dapat berkomunikasi satu dengan lainnya dengan menggunakan aturan (protocol) tertentu, Sofana (2008:3). Jaringan yang hanya terdiri dari beberapa komputer (host) merupakan pekerjaan mudah. Namun jika jaringan tersebut berkembang dan memiliki ratusan bahkan ribuan host, maka mengelola jaringan akan menjadi mimpi buruk bagi setiap pengelola jaringan (Administrator jaringan). Apalagi jika jaringan tersebut menggunakan teknologi yang berbeda-beda, misalnya ada host yang menggunakan teknologi kabel dan ada host yang menggunakan teknologi nirkabel (wireless), dan juga ada beberapa host yang harus digunakan oleh pengguna umum (public user) dan beberapa host lainnya hanya bisa digunakan pengguna internal (private user). Pekerjaan mengelola jaringan juga akan bertambah buruk jika letak ratusan host tersebut tersebar di beberapa gedung ataupun terletak di beberapa kota untuk jaringan dengan skala yang lebih luas. Dengan itu akan semakin sulit untuk mengatur jaringannya dan selalu berpikir bagaimana cara yang paling efektif untuk mengendalikan jaringan tersebut. Cara mempermudah mengelola jaringan dengan skala yang lebih luas tersebut jaringan (network) itu harus dipisahkan menjadi beberapa jaringan kecil. Beberapa jaringan kecil yang penghuninya hanya puluhan host tentu akan lebih mudah dari pada mengatur sebuah jaringan 1
besar yang berisi ratusan bahkan ratusan/ribuan host. Teknik memisahkan jaringan ini dapat diimplementasikan untuk jaringan lokal antar kota atau dengan kata lain jaringan LAN antar gedung, penerapan LAN bersamaan dengan penerapan protokol Virtual Private Network (VPN). Menurut Majid (2006:21), Virtual Private Network (VPN) adalah variasi jaringan komputer yang tingkatnya lebih advanced dibanding jaringan komputer biasa karena memiliki koneksi yang lebih aman. Secure dan mudah. Menurut Stiawan (2005:115), keuntungan penggunaaan VPN adalah cost savings, security, sclability dan Increases Productivity. Aplikasi yang digunakan pada Virtual Private Network (VPN) adalah Remote Access dan Site to site connectivity. Dalam Remote Access, seseorang dapat berhubungan dengan jaringan secara mobile atau sebuah kantor perwakilan dapat menggunakan dial-up untuk menghubungi server kantor pusat secara aman. Site to site memungkinkan kantorkantor cabang untuk terkoneksi dengan kantor pusat secara demand. Sistem keamanan berbasis jaringan Virtual Private Network (VPN) menggunakan protokol Secure Socket Layer (SSL) dan IP Tunneling merupakan salah satu alternatif solusi dimana dapat membantu koneksi remote dan transfer data antar client server secara aman melalui jalur koneksi internet. Seolah-olah melalui jaringan lokal dengan menerapkan sistem ip tunneling maka diharapkan dapat memberi keamanan dan kemudahan proses remote server serta komunikasi antar client server melalui perangkat Smartphone Android melalui jaringan internet. Sistem operasi android merupakan sistem operasi opensource berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti smartphone dan tablet yang sekarang menjadi trend di dunia gadget. Berdasarkan latar belakang di atas, maka dalam penelitian ini penulis sangat tertarik untuk membahas lebih dalam masalah ini dan menjadikan judul penelitian ini yaitu “Perancangan Virtual Private Network (VPN) Server untuk koneksi remote pada perangkat Android ”. LANDASAN TEORI Jaringan Komputer Menurut Sofana (2008:3) jaringan komputer adalah suatu himpunan interkoneksi sejumlah komputer autonomous. Dalam bahasa yang populer dapat dijelaskan bahwa jaringan komputer adalah kumpulan beberapa komputer (dan perangkat lain seperti printer, hub, dan sebagainya) yang saling terhubung satu sama lain melalui media perantara. Teknologi Jaringan Menurut Sofana (2008:5) berdasarkan media penghantarnya, jaringan komputer dapat dibagi 2 (dua) jenis, yaitu: a. Wire Network Wire Network adalah jaringan komputer yang menggunakan kabel sebagai media penghantar (Sofana, 2008:6). b. Wireless Network Wireless Network adalah jaringan tanpa kabel yang menggunakan media penghantar gelombang radio atau cahaya infrared (Sofana, 2008:6). 2
Perancangan (Desain) The design forms a blueprint of the system and how the components relate to each other (Desain merupakan sebuah rencana dari sistem dan bagaimana komponen–komponen tersebut saling berhubungan satu dengan yang lainnya) (Laudon, 2010:164). Virtual Private Network (VPN) Menurut Laudon (2010:24), Jaringan komputer merupakan kumpulan komputer yang terhubung secara fisik dan dapat berkomunikasi satu dengan lainnya dengan menggunakan aturan (protocol) tertentu. Secure Socket Layer (SSL) Menurut Madjid (2006:2), SSL atau Secure Sockets Layer adalah sebuah protokol keamanan data yang digunakan untuk menjaga pengiriman data web server dan pengguna situs web tersebut. Sertifikat Secure Socket Layer (SSL) Menurut Madjid (2006:2), Sertifikat SSL memastikan data transaksi yang terjadi secara online di enkripsi/acak sehingga tidak dapat dibaca oleh pihak lain. Komponen Secure Socket Layer (SSL) Menurut Sofana (2008:10), Komponen SSL disusun oleh dua sub-protokol, yaitu : 1. SSL handshaking yaitu sub-protokol untuk membangun koneksi yang aman untuk berkomunikasi. 2. SSL record yaitu sub-protokol yang menggunakan koneksi yang sudah aman. SSL record membungkus seluruh data yang dikirim selama koneksi. Tunneling Menurut Kurniawan (2012:25), IP tunnel adalah kanal jaringan komunikasi Protokol Internet (IP) antara dua jaringan komputer yang digunakan untuk transportasi menuju jaringan lain dengan mengkapsulkan paket ini. Tool Wireshark Menurut Kurniawan (2012:15), Wireshark merupakan tool yang ditujukan untuk menganalisis paket data jaringan. Wireshark melakukan pengawasan paket secara waktu nyata (real time) dan kemudian menangkap data dan menampilkan selengkap mungkin. HASIL DAN PEMBAHASAN Analisis Kebutuhan 1. Kebutuhan Perangkat Lunak (Software) Adapun kebutuhan perangkat lunak yang digunakan Sistem operasi Linux Ubuntu Server 12.04 LTS, Tools OpenSSL, OpenVPN Server, Backtrack (Aplikasi Ettercap), Sistem Operasi Android 4.1.2, dan OpenVPN Client for Android. 2. Kebutuhan Perangkat Keras (Hardware) Perangkat keras yang digunakan dalam membangun jaringan ini menggunakan komputer server dengan spesifikasi Prosesor Intel Core 2 Duo, RAM 2 GB, Harddisk SATA 320 3
GB, Monitor LCD Samsung 19”, Switch Hub 8 Port, Wireless Router atau Access Point, Kabel UTP (Unshielded Twisted Pair), Smartphone dan Laptop (sebagai Client). Desain Desain topologi jaringan yang diimplementasikan menggunakan topologi infrastruktur. Topologi infrastruktur menggunakan wireless router sebagai penghubung antar perangkat jaringan nirkabel. Perancangan IP Address pada penelitian ini menggunakan DHCP (Dynamic Host Configuration Protocol) Server dengan menggunakan range IP address 192.168.1.100 192.168.1.200, dimana wireless router akan memberi IP Address secara otomatis pada perangkat yang terhubung dengan wireless router.
Gambar 1. Topologi Perancangan Jaringan Diagram Alur (Flow Chart) Diagram Alur (Flow Chart) yang dilakukan dalam tugas akhir ini akan melalui beberapa tahapan sehingga pengerjaannya dapat lebih terstruktur dengan mengikuti alur.
Gambar 2. Diagram Alur Penelitian Implementasi Openvpn Server dan Client Implementasi Openvpn Server menggunakan sistem operasi Linux Ubuntu Server 12.04 LTS serta sistem operasi Client menggunakan Windows 7 Ultimate. Berikut langkahlangkah konfigurasi Perancangan Virtual Private Network (VPN) Server untuk koneksi remote pada perangkat Android. Tahap awal installasi Linux Ubuntu Server 12.04 LTS, setelah selesai kemudian muncul login isi user dan password yang telah dibuat saat proses 4
installasi, kemudian ketik su (superuser ) kemudian isi password. Tahap awal installasi Linux Ubuntu Server 12.04 LTS, setelah selesai kemudian muncul login isi user dan password yang telah dibuat saat proses installasi, kemudian ketik su (superuser ) kemudian isi password. Selanjutnya installasi Software Openvpn dan Openssl dengan menggunakan perintah apt-get install openvpn dan apt-get install openssl. Setelah proses installasi selesai. Langkah berikutnya membuat folder easy-rsa kemudian copy seluruh file di /usr/share../2.0 ke dalam folder /etc/openvpn/easy-rsa.
Gambar 3. Membuat Folder easy-rsa Setelah selesai kemudian membuat Diffie Hellman parameters dengan menggunakan perintah dibawah ini. Lama proses tergantung pada isi variabel export key_size pada vars, semakin besar isinya semakin lama prosesnya membuat file dh, seperti gambar di bawah ini.
Gambar 4. Membuat File dh Langkah selanjutnya membuat sertifikat server yaitu berupa file ca.key dengan terlebih dahulu masuk ke dalam folder /etc/openvpn/easy-rsa, kemudian menggunakan perintah ./pkitools, seperti gambar di bawah ini.
Gambar 5. Membuat File ca.key
5
Langkah selanjutnya membuat file key (kunci) pkitools, seperti gambar di bawah ini.
server.key dengan menggunakan
Gambar 6. Membuat File server.key Kemudian mencopy file server.crt, ca.crt, dh1024.pem dan ta.key ke dalam folder /etc/openvpn dengan menggunakan perintah cp.
Gambar 7. Mengcopy File key dan crt ke /etc/openvpn Langkah berikutnya membuat file sertifikat client dengan menggunakan pkitool, seperti pada gambar di bawah ini. .
Gambar 8. Membuat File Sertifikat Client.
6
Langkah selanjutnya konfigurasi file server.conf dengan menggunaan editor pico, dapat dilihat pada gambar di bawah ini.
Gambar 9. Konfigurasi server.conf Di file server.conf, pastikan port 1194, proto udp dan dev tun harus aktif dan Setting ca.crt, server.crt dan server.key disesuaikan dengan sertifikat yang telah di buat di /etc/openvpn/easy-rsa/keys. Kemudian pada konfigurasi pada IP Address pada bagian server menggunakan network 10.8.0.0 dengan netmask 255.255.255.0 serta file dh1024.pem.
Gambar 10. Konfigurasi File server.conf Langkah selanjutnya restart service Openvpn dengan menggunakan perintah /etc/init.d/openvpn restart dan melihat status dengan menggunakan perintah /etc/init.d/openvpn status pastikan service openvpn telah running. Langkah berikutnya mengecek interface dan ip tunnel openvpn dengan menggunakan perintah ifconfig.
Gambar 11. Tampilan Interface Tunnel 7
Gambar 12 merupakan hasil Koneksi remote smartphone android ke Openvpn server, dari gambar terlihat ip tunnel yang diperoleh client VPN 10.8.0.6.
Gambar 12. Status Openvpn Server Gambar 13, merupakan hasil koneksi smartphone android ke server Virtual Private Network (VPN), dimana IP Address tunnel yang diperoleh 10.8.0.6 dengan IP Server 192.168.1.2 dengan status terkoneksi.
Gambar 13. Koneksi Client Android
8
Langkah selanjutnya melakukan koneksi secara remote server Linux dengan menggunakan aplikasi remote dari android yaitu Juice SSH, pada bagian type isi SSH , kemudian masukan user beserta IP Addresss server tunnel yang diperoleh beserta port nya , dapat di lihat pada gambar di bawah ini.
Gambar 14. Login SSH Server Client Android
Pada gambar 15 merupakan tampilan hasil koneksi remote server linux menggunakan fasilitas SSH Server dari Smartphone Android. Tampilan Login Server Linux di Android dapat dilihat pada gambar di bawah ini.
Gambar 15. Tampilan Login Server Linux di Android
9
Analisa Hasil Pengujian menggunakan Backtrack (Ettercap) Pengujian penulis mengunakan software sniffing yang cukup terkenal yaitu software etthercap pada komputer penyusup (sniffer) dengan menggunakan sistem operasi Backtrack 5R3.
Gambar 16. IP Address dan Mac Address Penyusup Saat scan terdapat ip address dan mac address client (target 2) dan server (target 1), ip client yaitu 192.168.1.3 sedangkan ip server 192.168.1.2. Kemudian klik ip address 192.168.1.2 (server / target 1) klik add to target 1. Kemudian klik ip address 192.168.1.3 (client / target 2) klik add to target 2. Kemudian aktifkan proses sniffing untuk memulai penyusupan dengan mengamati paket data yang melewati dari target1 ke target2 maupun sebaliknya. Kemudian jalankan sniff remote connection kemudian klik ok setelah itu klik start sniffing untuk memulai penyusupan.
Gambar 17. Hasil Scan Host Jaringan Gambar 18 dan 19 menggunakan tool wireshark terlihat terjadi duplikasi (duplicate) mac-address server yang berubah menjadi mac-address penyusup sehingga paket yang menuju ke server akan bisa diamati melalui software wireshark melalui penyusup.
10
Gambar 18. Hasil Pengamatan Wireshark 1
Gambar 19. Hasil Pengamatan Wireshark 2 Analisa hasil setelah menggunakan IP Tunneling (Openvpn) Koneksi dilakukan dengan menggunakan IP Tunneling (Openvpn) di server (target1) diaktifkan pada saat penyusup mencoba scan host, maka ip tunneling yang digunakan client openvpn dan server openvpn tidak dapat di scan oleh komputer penyusup sehingga penyusup tidak akan bisa mengamati paket data dari target1 (server) menuju target2 (client) atau sebaliknya.
Gambar 20. Koneksi ke SSH Server Menggunakan IP Tunneling
11
Gambar di bawah ini merupakan hasil tampilan wireshark, jika koneksi yang digunakan menggunakan IP Tunneling.
Gambar 21. Hasil Wireshark Jika Koneksi Menggunakan IP Tunnel Gambar di bawah ini merupakan hasil scan host pada komputer penyusup dimana aplikasi ettercap tidak menampilkan ip tunneling yang terkoneksi di jaringan.
Gambar 22. Hasil Scan Host Tidak Menampilkan IP Tunneling
PENUTUP Berdasarkan hasil perancangan sistem virtual private network (VPN) server untuk koneksi remote pada perangkat android, dapat disimpulkan sebagai berikut, virtual private network (VPN) server yang telah dirancang menggunakan koneksi remote pada perangkat andorid berfungsi dengan baik. Pengujian sistem virtual private network (VPN) server untuk koneksi remote pada perangkat android ini menjamin terjaganya koneksi antara client-sever dari masalah sniffing, sehingga apabila terjadi sniffing maka ip yang terjadi indikasi tersebut akan terlihat jelas dan indikasi tersebut dapat dengan mudah dikenali, dan juga menjamin data atau informasi yang ada saat koneksi antar client-server dengan ada nya ip tunelling pada sistem virtual private network (VPN) tersebut.
12
DAFTAR PUSTAKA Setiawan,Deris. 2005. Sistem Keamanan Jaringan Komputer. Jakarta : PT.Elex Media Komputindo Kurniawan, Agus. 2012. Network Forensic Panduan Analisis dan Investigasi Paket Data Jaringan Menggunakan Wireshark. Yogyakarta:ANDI. Laudon, K, & Laudon, J. 2010. Management Information System 11th edition. New Jersey. Prentice Hall. Madjid, Nurkholis. 2006. Perbandingan SSL (Secure SocketLayer) dan IPSec (Internet Protocol Security) pada VPN (Virtual Private Network). Program Studi Teknik Informatika. ITB . Bandung. Sofana, Iwan. 2008. Membangun Jaringan Komputer Membuat Jaringan Komputer (Wire & Wireless) untuk Pengguna Windows dan Linux. Bandung:INFORMATIKA.
13