T1 672009322 Full text

1.

Pendahuluan
Perkembangan teknologi yang pesat khususnya internet membuatnya dapat
diakses bebas di mana saja dan dapat menggunakan apa saja, seperti laptop, tablet,
dan handphone. Perkembangan pesat dapat berdampak baik, seperti kecepatan
dalam memperoleh informasi dan juga dapat berdampak buruk pada masalah
keamanan, misalnya pencurian data.
Saat ini terdapat beberapa metode untuk mengatasi keamanan data pada
suatu jaringan, misalnya dengan mengenkripsi data sebelum dikirimkan,
menggunakan tandatangan digital (digital signature), dan memasang firewall.
Beberapa solusi tersebut dapat digunakan untuk meningkatkan keamanan
jaringan, namun juga terdapat kelemahan, seperti penggunaan firewall dapat
mencegah penyusup dari luar, tetapi tidak dapat mencegah jika data disadap oleh
orang yang berada dalam jaringan itu sendiri. Begitu pula dengan enkripsi data
ataupun tandatangan digital, hal ini membutuhkan kesadaran dari pihak pengirim
data untuk melakukan enkripsi yang terkadang terasa merepotkan dan seringkali
tidak dilakukan[1].
Beberapa tahun yang lalu, untuk membuat jaringan menjadi aman
digunakan teknologi bernama leased lines. Contohnya adalah ISDN (Integrated
Services Digital Network), yang merupakan koneksi jaringan private yang

disediakan oleh perusahaan telekomunikasi kepada pelanggannya. Leased lines
menawarkan sebuah perusahaan dengan cara memperluas jaringan pribadi di luar
wilayah geografis terdekatnya. Koneksi ini membentuk jaringan Wide Area
Network (WAN) tunggal dalam kinerjanya. Meskipun leased lines sangat dapat
dipercaya dan aman, namun harga sewanya sangat mahal[2].
Solusi lain untuk meningkatkan keamanan data pada jaringan komputer,
yaitu dengan membuat VPN (Virtual Private Network) yang merupakan sebuah
koneksi pribadi (private) melalui jaringan publik atau internet. Virtual network
karena pada dasarnya jaringan ini tidak ada secara fisik hanya berupa jaringan
virtual. Private karena hanya ada server dan pengguna yang mengetahuinya maka
tidak semua orang bisa terkoneksi ke jaringan ini dan mengaksesnya.
Ada beberapa macam implementasi VPN, diantaranya adalah PPTP (Pointto-Point Protocol). Solusi VPN dengan fitur standar dimana jaringan dibangun
dengan point-to-point seperti halnya melakukan dial-up pada internet di rumah,
yaitu pada saat dial-up ke penyedia internet maka akan dibangun point-to-point
tunnel melalui jaringan telepon. L2TP (Layer Two Tunneling Protocol), awalnya
bernama Layer 2 Forwarding, yang kemudian dikembangkan dengan
menambahkan kelebihan-kelebihan PPTP. IPsec (IP Security) yang merupakan
solusi yang sudah distandarisasi tetapi juga paling susah dikonfigurasi.
Mempunyai tingkat keamanan yang cukup baik namun dalam implementasinya
cukup rumit. Dan yang terakhir SSL VPN, sering disebut Transport Layer

Security (TLS). Banyak digunakan pada vendor VPN dan memiliki potensi untuk
berkembang dengan fitur-fitur yang dimilikinya.
SSL VPN ini banyak digunakan pada produk-produk open source. Karena
bersifat open source dan hanya membutuhkan fasilitas layanan yang mudah
terjangkau seperti web browser dan koneksi internet, maka VPN berbasis SSL ini
menjawab solusi untuk keamanan jaringan. SSL VPN bekerja pada application

1

layer dan umum digunakan pada komunikasi aman berbasis web pada internet.
SSL mengubah suatu protokol transport seperti UDP menjadi sebuah saluran
komunikasi aman yang cocok untuk transaksi data.
SSL VPN menggunakan protokol SSL, yang merupakan bagian dari semua
web browser standar untuk menyediakan transmisi data yang aman melalui
internet, dan bukan perangkat lunak individual pada client. SSL VPN hanya
membutuhkan VPN server dan client untuk koneksinya, maka menjadi solusi
ideal dalam hal keamanan jaringan yang sangat efektif dan fleksibel dalam
implementasinya.
2.
Tinjauan Pustaka

Penelitian Sebelumnya
Abadillah (2011) dalam penelitiannya membangun sebuah Virtual Private
Server (VPS) dan diimplemetasikan ke dalam jaringan internet Wi-Fi. Hasil
penelitiannya VPN dapat dijadikan sebagai alternatif keamanan di jaringan
wireless karena dengan VPN aliran data menjadi lebih aman. Mampu memberikan
keamanan pada jaringan internet dan menanggulangi penyadapan atau pencurian
account di jaringan internet Wi-Fi. Remote Access VPN dengan Virtual Private
Server akan melakukan enkripsi terhadap data dan proses transfer data dari server
menuju client maupun sebaliknya.[3]
Martiyanto (2011) mengimplementasikan suatu layanan Remote Access
yang berbasiskan VPN. Implementasinya menunjukkan bahwa layanan-layanan,
seperti Web Server, FTP Server, DNS Server, dan server-server lainnya, dapat
berjalan dengan baik dalam lingkungan remote access yang berbasis VPN.
Remote Access VPN memberikan mekanisme keamanan dengan salah satu bukti
bahwa data yang dilewatkan melalui jalur VPN terbukti aman dengan tidak
terdeteksinya informasi user dan data yang di-request oleh user.[4]
Penelitian yang dilakukan Abadillah adalah melakukan skenario
penyadapan account di jaringan Wi-Fi dengan menggunakan aplikasi Cain and
Abel. Walaupun, jaringan Wi-Fi yang dilindungi dengan WEP dan WPA tetapi
informasi password dari aplikasi apapun beserta daftar username dapat terlihat.

Pada jaringan VPN, meski sudah disadap pada jaringan Wi-Fi dengan WEP dan
WPA tidak terlihat ada paket data atau informasi username dan password yang
tertangkap. Ini menjadikan jaringan yang menggunakan VPN, informasi data
(account) dapat terjaga secara aman.
Implementasi yang dilakukan oleh Martiyanto yaitu dengan Remote Access
dari client menuju server melalui jaringan VPN. Client dapat mengakses berbagai
sumber daya atau file yang ada di file server secara aman. Informasi username,
password dan data penting lainnya yang dimiliki oleh client tidak dapat diketahui
serta data yang diminta oleh client juga tidak dapat diketahui. Proses transfer data
melalui remote access yang berbasis VPN menjadi aman.
Implementasi yang dilakukan penulis adalah dengan melakukan
implementasi dan analisis paket data yang mengalir di jaringan VPN yang
berbasis SSL. VPN yang berbasis SSL akan melakukan enkripsi terhadap kunci
dan proses transfer data dari server menuju client maupun sebaliknya, sehingga
informasi data dari client tidak dapat terlihat dan aman.

2

Virtual Private Network (VPN) merupakan suatu cara untuk membuat
sebuah jaringan bersifat private dan aman dengan memanfaatkan jaringan publik

seperti internet. Data dalam jaringan tersebut tidak dapat diketahui oleh pengguna
lain di jaringan publik karena data tersebut dilewatkan pada tunnel yang dibentuk
oleh VPN. Tunnel merupakan suatu mekanisme enkripsi dan deskripsi data. Data
yang dikirim melalui jalur publik adalah data terenkripsi yang hanya bisa dibuka
oleh ujung dari tunnel yang memiliki kunci untuk medeskripsi data tersebut[5].
VPN memiliki dua bagian penting, antara lain VPN Server dan VPN Client,
yang mana VPN Server bertugas sebagai penyedia layanan tunneling bagi client
dan sebaliknya Client adalah host yang memakai jasa VPN Server yang tujuannya
agar dapat terhubung dengan jaringan VPN tersebut. VPN Server ini dapat berupa
komputer dengan aplikasi VPN server atau sebuah router.
VPN merupakan perpaduan antara teknologi tunneling dan enkripsi. VPN
dapat terjadi antara dua komputer atau lebih dengan jaringan yang berbeda. Pada
kedua ujung (end system) dari perangkat VPN ini biasanya telah menyepakati
algoritma yang akan digunakan untuk melakukan proses dekripsi. Dalam dunia
jaringan, tunnel diartikan sebagai suatu cara untuk meng-enkapsulasi atau
membungkus paket IP di dalam paket IP yang lain.
Fungsi utama VPN adalah confidentially (kerahasiaan), data yang dikirim
akan dienkripsi dan yang diterima akan didekripsi. Data Intergrity (keutuhan
data), VPN akan menjaga keutuhan data mulai dari data dikirim hingga data
sampai ditempat tujuan. Origin Authentication (autentikasi sumber), VPN akan

melakukan pemeriksaan terhadap semua data yang masuk dan mengambil
informasi dari sumber datanya. Dengan demikian, VPN menjamin semua data
yang dikirim dan diterima berasal dari sumber yang seharusnya. Non-repudiation,
yaitu mencegah dua pihak dari menyangkal bahwa mereka telah mengirim atau
menerima sebuah file dengan mengakomodasi perubahan. Dan yang terakhir
kendali akses, yaitu menentukan siapa yang diberikan akses ke sebuah sistem atau
jaringan, sebagaimana informasi apa dan seberapa banyak seseorang dapat
menerima[6].

Gambar 1 Gambaran VPN

Pada gambar 1, untuk memulai sebuah koneksi, komputer dengan aplikasi
VPN Client mengontak VPN Server kemudian memverifikasi username dan
password. Apabila berhasil maka VPN Server memberikan IP Address baru pada
komputer client dan selanjutnya sebuah koneksi atau tunnel akan
terbentuk. Selanjutnya komputer client dapat digunakan untuk mengakses
berbagai sumber daya (komputer atau LAN) yang berada di belakang VPN

3


Server, misalnya melakukan transfer data, cetak dokumen, browsing, dan
melakukan remote desktop.
SSL juga yang dikenal sebagai TLS, adalah suatu protokol yang awalnya
dirancang oleh Netscape Communications Corporation untuk memastikan
integritas data dan keaslian untuk perkembangan Internet di dalam 1990s. Semua
orang yang menggunakan browser modern dapat mengambil bagian di dalam
komunikasi yang dienkripsi. SSL/TLS adalah satu teknologi yang terkemuka yang
sering digunakan untuk perbankan dan e-commerce[7].
VPN dengan SSL menggunakan salah satu teknologi enkripsi terbaik, yaitu
asymmetric encryption. Pada algoritma asymmetric terdapat dua buah kunci, yaitu
kunci publik untuk enkripsi dan kunci private untuk dekripsi. Ketika seseorang A
akan mengirimkan pesan ke B, maka A akan mengenkripsi pesan tersebut
menggunakan kunci publik B dan B akan membuka pesan yang diterimanya
menggunakan kunci private. Hal tersebut merupakan kelebihan pada sistem
asymmetric karena user cukup menyimpan secara rahasia kunci private miliknya,
sedangkan kunci publik dapat disebarkan ke seluruh user yang ingin
berkomunikasi dengannya tanpa perlu khawatir orang yang tidak berhak dapat
membuka pesan menggunakan kunci publik yang telah disebar tersebut.
SSL VPN dalam kinerjanya terdiri dari beberapa fase yakni, negosiasi antar
peer terhadap algoritma yang didukung oleh masing-masing peer atau endpoint.

Pertukaran public key (PKI) untuk mekanisme enkripsi dan autentifikasi berbasis
sertifikat. Enkripsi simetris maupun enkripsi asimetris.
3.
Metode Perancangan Sistem
Metode perancangan sistem yang digunakan adalah metode PPDIOO
(Prepare, Plan, Design, Implement, Operate, Optimize). Metode ini dipilih karena
cocok dengan implementasi dan analisis yang akan dilakukan.
Prepare, tahap ini dilakukan rencana kerja, perumusan masalah, identifikasi
konsep dari sistem yang akan diimplementasi. Rencana anggaran juga disusun
dengan menyesuaikan kebutuhan. Plan, dilakukan perencanaan implementasi
Virtual Private Network dengan menganalisis kebutuhan perangkat keras dan
lunak yang akan digunakan. Mendesain topologi dan implementasi jaringan
berdasarkan hasil analisis kebutuhan. Design, melakukan perancangam topologi
logis yang akan digunakan dengan membuat desain berdasarkan pada
perencanaan sistem. Operate, proses pengoperasian dengan melakukan
konfigurasi yang sudah dirancang. Optimize, mengatur dan membuat sistem agar
dapat berjalan dengan baik.
VPN merupakan perpaduan dari teknologi tunneling dengan teknologi
enkripsi. Teknologi tunneling bertugas untuk manangani dan menyediakan
koneksi point-to-point dari sumber ke tujuannya. Sedangkan teknologi enkripsi

menjamin kerahasiaan data yang berjalan di dalam tunnel. Untuk membangun
VPN dibutuhkan perangkat keras dan perangkat lunak yang saling berkaitan satu
dengan lainnya.
Kebutuhan perangkat keras atau hardware pada skripsi ini meliputi PC
sebagai VPN server, PC sebagai client, dan modem.

4

Komputer VPN server pada SSL VPN ini bertugas membentuk tunnel,
melakukan validitas certificate, dan sebagai gateway antar VPN client. Adapun
spesifikasi komputer yang bertindak sebagai server VPN, yaitu :
Tabel 1 Spesifikasi Hardware Server VPN
Komponen
Processor
Memori
Harddisk
Operating System

Keterangan
Intel Core 2 Duo 2.13 GHz

2 GB
160 GB
Ubuntu 12.04 TLS

Spesifikasi dari komputer client, yaitu :
Tabel 2 Spesifikasi Hardware Client
Komponen
Processor
Memori
Harddisk
Operating System

Keterangan
Intel Celeron 1.8 GHz
2 GB
500 GB
Windows 7 Ultimate 32bit SP 1

OpenVPN adalah salah satu aplikasi VPN berbasiskan open source untuk
membuat koneksi encrypted tunnels secara virtual dimana menggunakan metode

static key, pre-shared static key dan TLS, serta SSL atau TLS dan certificate
untuk autentikasi dan pertukaran key. OpenVPN memiliki beberapa kelebihan
untuk membuat VPN server, seperti berbasis open source, keamanan, kestabilan,
serta kemudahan mekanisme autentikasi dan enkripsi.[8]
OpenVPN merupakan full-featured SSL VPN yang mengimplementasi OSI
layer 2 dan 3 network extension menggunakan standar SSL atau TLS protokol,
mendukung metode otentikasi client berdasarkan sertifikat yang fleksibel, smart
card, dan username atau password serta memungkinkan pengguna atau kelompok
tertentu melakukan akses kontrol terhadap kebijakan menggunakan aturan firewall
yang diterapkan pada virtual interface VPN. OpenVPN bukan aplikasi web proxy
dan tidak beroperasi melalui web browser.
OpenVPN merupakan aplikasi VPN yang open source. Selain gratis karena
freeware juga memiliki kemudahan implementasi atau konfigurasi. OpenVPN
juga bersifat multiplatform. OpenVPN melakukan enkripsi dengan menggunakan
library OpenSSL. OpenSSL adalah aplikasi open source yang menggunakan
protokol SSL/TLS. Aplikasi ini dapat mendukung beberapa mekanisme enkripsi
dan autentikasi dengan memanfaatkan sertifikat.
File openssl.cnf merupakan file konfigurasi yang digunakan untuk enkripsi.
Openssl.cnf terdapat di direktori /usr/share/doc/openvpn/examples/easy-rsa/2.0/
openssl.cnf.
Pada file openssl.cnf, terdapat parameter-parameter yang dibutuhkan untuk
konfigurasi menentukan besar bits yang akan dienkripsi, masa validasi dan jenis
enkripsi yang akan digunakan. Parameter tersebut dapat dilihat pada Tabel 3.
Tabel 3 Parameter OpenSSL
Parameter
Default_days
Default_crl_days
Default_md

Keterangan
Untuk menentukan lama aktif dari sertifikat dan kunci yang digunakan
Untuk menentukan lama aktif dari crl yang digunakan
Jenis enkripsi yang akan digunakan

5

Vars merupakan file konfigurasi yang berisikan informasi umum yang akan
digunakan dalam pembuatan sertifikat dan kunci. Parameter-parameter yang
terdapat dalam vars diantaranya adalah :
Parameter
Export OPENSSL
Export PKCS11TOOL
Export KEY_CONFIG
Export KEY_DIR
Export KEY_SIZE
Export KEY_COUNTRY
Export KEY_PROVINCE
Export KEY_CITY
Export KEY_ORG
Export KEY_EMAIL

Tabel 4 Parameter Vars
Keterangan
Informasi penggunaan OPENSSL
Informasi penggunaan tool PKCS
Informasi tempat penyimpanan file konfigurasi
Informasi tempat penyimpanan sertifikat dan kunci seteah proses
pembuatan sertifikat dan kunci
Informasi besarnya ukuran sertifikat dan kunci
Informasi negara yang akan dimasukkan ke sertifikat
Informasi provinsi yang akan dimasukkan ke sertifikat
Informasi kota yang akan dimasukkan ke sertifikat
Informasi organisasi yang akan dimasukkan ke serfifikat
Informasi email yang akan dimasukkan ke sertifikat

Wireshark adalah program yang berfungsi untuk mengetahui kejadian yang
terjadi pada saat kita melakukan interaksi pada suatu jaringan komputer.
Wireshark merupakan salah satu network analysis tool atau disebut juga dengan
protocol analysis tool atau packet sniffer. Wireshark dapat digunakan untuk
troubleshooting jaringan, analisis, pengembangan software dan protokol, serta
untuk keperluan edukasi.
Wireshark mampu menangkap paket-paket data atau informasi yang
berjalan dalam suatu jaringan yang dimonitor. Hampir semua jenis paket
informasi dalam berbagai format protokol dapat ditangkap dan dianalisa
4.
Hasil dan Pembahasan

Gambar 2 Topologi Jaringan SSL VPN

Pada gambar 2, komputer VPN server
memiliki IP Address
192.168.1.12/24, sedangkan komputer client memiliki IP Address
192.168.43.14/24. VPN server akan diberikan IP address, yaitu 10.8.0.1 dengan
subnet 255.255.255.0 dan IP address client akan berada pada range 10.8.0.6 10.8.0.254 dengan subnet 255.255.255.0.
Konfigurasi OpenVPN server pada sistem operasi Linux, pertama-tama
yang dilakukan adalah menginstal aplikasi OpenVPN tersebut.
Kode Program 1
root@Khairul-Luqman:~#apt-get install openvpn

Kode Program 1 adalah perintah untuk menginstall OpenVPN pada server
sebagai root.

6

Key dan certificate pada OpenVPN dapat dibuat dengan bantuan tools yang
telah disediakan oleh OpenVPN, yaitu easy-rsa. Tools tersebut terdapat pada
direktori /usr/share/doc/openvpn/examples. Di dalam direktori tersebut juga
terdapat folder sample-config-files yang berisi contoh-contoh file konfigurasi
OpenVPN yang dapat digunakan sebagai referensi.
VPN server memerlukan konfigurasi yang bernama Server.conf. File
Server.conf awalnya adalah Server.conf.gz, ini karena file tersebut belum
diekstrak. Konfigurasi ini diperlukan untuk menandakan bahwa komputer tersebut
adalah VPN server. File tersebut terdapat pada direktori /usr/share/doc/
openvpn/examples/sample-config-files.
Kode Program 2
root@Khairul-Luqman:~#cp –R /usr/share/doc/openvpn/examples/easy-rsa/2.0/
/etc/openvpn
root@Khairul-Luqman:~#cp –R /usr/share/doc/openvpn/examples/sample-configfiles/server.conf.gz /etc/openvpn/

Kode Program 2 merupakan perintah untuk memindahkan tools easy-rsa
dan file Server.conf.gz ke direktori OpenVPN yang sudah terinstal.
Kode Program 3
root@Khairul-Luqman:~#gzip –d /etc/openvpn/server.conf.gz /etc/openvpn/

Kode Program 3 merupakan perintah untuk ekstrak file Server.conf.gz yang
akan digunakan untuk konfigurasi VPN server.
Kemudian akan dibuat sertifikat autoritas, sertifikat, dan kunci untuk server
OpenVPN.
Kode Program 4
root@Khairul-Luqman:~#cd /etc/openvpn/
root@Khairul-Luqman:~#. ./vars
root@Khairul-Luqman:~#./clean-all
root@Khairul-Luqman:~#./build-ca

Kode Program 4 adalah perintah untuk membuat sertifikat autoritas,
sertifikat, dan kunci untuk server.
Proses selanjutnya membuat key untuk server VPN.
Kode Program 5
root@Khairul-Luqman:~#./build-key-server server

Kode Program 5 adalah perintah untuk membuat key server.
Kode Program 6
root@Khairul-Luqman:~#./build-key client1

Kode Program 6 adalah perintah untuk membuat key client.
Kunci untuk komputer client adalah bernama client1. Proses pembuatan key
untuk server dan client akan memasukkan beberapa informasi yang sudah
dikonfigurasi sebelumnya pada parameter vars. Apabila proses pembuatan key
pada server dan client sudah selesai, kemudian akan dibuat kunci DH (DiffieHellman).

7

Diffie-Hellman adalah metode enkripsi dengan algoritma kunci publik
(public key distribution system) dimana memungkinkan dua pihak yang tidak
memiliki koneksi sebelumnya satu sama lain untuk dapat membentuk suatu kunci
rahasia untuk menciptakan komunikasi yang aman.
Kode Program 7
root@Khairul-Luqman:~#./build-dh

Kode Program 7 adalah perintah untuk membuat kunci DH.
Proses selanjutnya adalah mengkonfigurasi parameter pada file Server.conf
yang terdapat pada direktori /etc/openvpn yang sudah diekstrak sebelumnya.
Konfigurasi ini diperlukan untuk menentukan bahwa komputer tersebut
merupakan VPN server. Konfigurasi tersebut dapat dilihat pada Tabel 5.
Tabel 5 Konfigurasi VPN Server
Parameter
Server
Port 1194
Proto udp
Dev tun
Ca /etc/openvpn/keys/ca.crt
Cert /etc/openvpn/keys/server.crt
Key /etc/openvpn/keys/server.key
Dh /etc/openvpn/keys/dh1024.pem
Server 10.8.0.0 255.255.255.0

Ifconfig-pool-persist ipp.txt

Push “route 192.168.1.0
255.255.255.0”
Push “redirect-gateway def1”
Client-to-client
Keepalive 10 120

Comp-lzo
Cipher AES-256-CBC
Max-clients 10
User nobody
Group nogroup

Persist-key

Keterangan
Menunjukan sebagai server
Port yang digunakan OpenVPN (1194 merupakan port
default untuk OpenVPN)
Protokol yang digunakan adalah UDP
Tipe device interface tunneling yang digunakan TUN
Sertifikat dan kunci-kunci yang digunakan server serta
tempat beradanya sertifikat dan kunci tersebut
Parameter Diffie-Hellman dan tempat beradanya
parameter Diffie-Hellman
Mode konfigurasi server dan suplai dari subnet VPN,
dengan ditentukan parameter tersebut maka IP server
yaitu 10.8.0.1 dan sisanya adalah untuk client.
Pengalamatan IP Address client yang pernah terkoneksi
ke server akan dicatat pada file ipp.txt. Apabila ada
client melakukan koneksi kembali ke server, maka
akan mendapatkan IP yang sama saat seperti pertama
kali terhubung ke server
Server akan menambahkan route 192.168.1.0/24 ke
routing table-nya sehingga jaringan dengan subnet
tersebut akan dapat mengakses server
Client akan mendapatkan default gateway sesuai
dengan subnet 10.8.0.0/24
Client dapat menghubungi satu sama lain
Server dan client akan melakukan pemeriksaan koneksi
dengan cara ping setiap 10 detik, apabila selama 120
detik tidak ada reply maka dianggap down
Metode kompresi data yang digunakan, yaitu LZO
(Lempel Ziv Oberhumer)
Alogoritma yang digunakan adalah AES-256-CBC,
yang merupakan algoritma paling kuat
Jumlah client yang diizinkan berjumlah sepuluh
Karena hak akses OpenVPN pada saat dijalankan
adalah root, maka dengan kedua konfigurasi ini hak
akses root akan dipindahkan ke hak akses user untuk
mencegah gagal koneksi
File key tidak akan dibaca ketika OpenVPN server
restart

8

Persist-tun
Status /var/log/opnvpn-status.log
Verb 3

Interface TUN tetap aktif ketika OpenVPN restart
Log dari status koneksi VPN
Setting level verbosity. Pada level 3, apabila terjadi
error maka pesan error akan ditampilkan
Tidak mengulangi pesan. Maksimal 10 pesan dari
kategori pesan yang sama

Mute 10

Konfigurasi client pada komputer sistem operasi
Windows adalah
menginstal versi terbaru OpenVPN GUI pada website resmi OpenVPN.
Kemudian juga memindahkan kunci dan sertifikat client yang telah dibuat dari
komputer server, yaitu ca.crt, client1.crt, dan client1.key, yang kemudian
disimpan pada folder C:/Program Files/OpenVPN/config dan sesuaikan file
konfigurasi client.ovpn dengan file konfigurasi yang terdapat pada server.
Konfigurasi pada file client.ovpn tersebut dapat dilihat pada Tabel 6.
Tabel 6 Konfigurasi Client
Parameter
Client
Dev tun
Proto udp
Remote 36.7x.x.x 1194
Resolve-retry infinite
Ns-cert-type server
Nobind
Persist-key
Persist-tun
Ca C:/Program Files/OpenVPN/ca.crt
Cert C:/Program Files/OpenVPN/
client.crt
Key C:/Program Files/OpenVPN/
client.key
Route-method exe
Route-delay 2
Comp-lzo
Verb 3
Auth-user-pass

Keterangan
Menunjukan sebagai client
Tipe device interface tunneling yang digunakan TUN
Protokol yang digunakan adalah TCP/UDP
IP Address server dan port yang digunakan
Client akan terus menghubungi server sampai ada reply
Client akan memeriksa sertifikat server
Client tidak perlu mengikat port
File key tidak akan dibaca ketika OpenVPN server
restart
Interface TUN tetap aktif ketika OpenVPN restart
Sertifikat dan kunci-kunci client serta tempat
beradanya sertifikat dan kunci tersebut

Konfigurasi routing dengan metode command (exe)
Sebelum menambah routing akan delay dua detik
setelah koneksi berhasil
Metode kompresi data yang digunakan, yaitu LZO
(Lempel Ziv Oberhumer)
Setting level verbosity. Pada level 3, apabila terjadi
error maka pesan error akan ditampilkan
Menggunakan autentikasi berupa username dan
password

Konfigurasi firewall juga diperlukan untuk membuka port OpenVPN pada
server, sehingga port tersebut diizinkan untuk melakukan koneksi dengan server.
Kode Program 8
root@Khairul-Luqman:~#iptables –A INPUT –p udp --dport 1194 –j ACCEPT

Kode Program 8 adalah perintah untuk mebuka port OpenVPN (UDP port
1194) pada server VPN.
Konfigurasi selanjutnya pada server VPN adalah IP Forwarding dan
Iptables untuk melakukan NAT Masquerade yang tujuannya agar semua paket

9

dari client menuju internet disamarkan IP-nya dengan menggunakan IP Address
yang telah diizinkan oleh server VPN kepada client.
Kode Program 9
root@Khairul-Luqman:~#echo 1 > /proc/sys/net/ipv4/ip_forward
root@Khairul-Luqman:~#iptables –t nat –A POSTROUTING –s 10.8.0.0/24 –o eth0
–j MASQUERADE

Kode Program 9 adalah perintah untuk IP Forwarding dan Iptables NAT
pada server VPN.
IP Address VPN server adalah 10.8.0.1 dengan subnet 255.255.255.0. Eth0
merupakan network interface yang digunakan VPN server.
Pada penelitian ini dilakukan pengujian terhadap Virtual Private Network
dengan beberapa skenario. Adapun skenario-skenario yang akan dilakukan adalah
sebagai berikut :

Pengujian Startup VPN (Startup pada Server maupun Client), pengujian ini
bertujuan untuk memastikan bahwa konfigurasi yang sudah dilakukan sudah
benar atau tidak.

Pengujian Tunnel VPN untuk memastikan jaringan VPN yang baru sudah
terbentuk atau tidak.

Pengujian keamanan dengan memonitoring data dan analisis
perbandingannya.
Kode Program 10
root@Khairul-Luqman:~#/etc/init.d/openvpn start

Kode Program 10 adalah perintah untuk memulai startup OpenVPN pada
server.
Cara untuk memulai startup OpenVPN pada client (Windows) adalah
menggunakan aplikasi OpenVPN versi GUI. Login sebagai administrator dan
jalankan aplikasi OpenVPN GUI. Apabila belum terkoneksi dengan VPN server,
maka indikator OpenVPN akan berwarna abu-abu. Klik kanan pada icon
OpenVPN dan tekan connect untuk memulai koneksi dengan VPN server seperti
Gambar 3.

Gambar 3 Memulai Koneksi dengan VPN Server

Apabila client benar-benar sudah terhubung ke server, langkah berikutnya
adalah melakukan pengujian tunnel dengan perintah ping.

10

Kode program 11
root@Khairul-Luqman:~#ping 10.8.0.6

Kode program 11 adalah perintah untuk melakukan pengujian tunnel
dengan cara ping ke IP Address VPN client, yaitu 10.8.0.6.
Setelah VPN server, melakukan ping ke VPN client, maka akan didapatkan
hasil pada gambar 4.

Gambar 4 Ping Komputer VPN Server ke Client

Pengujian tunnel dengan cara ping dari komputer client (Windows) ke
komputer VPN server juga berhasil dan menghasilkan log seperti yang ditunjukan
gambar 5.

Gambar 5 Ping Client ke Komputer VPN Server

Analisis Data pada implementasi SSL VPN ada tiga, yaitu analisis data
tidak melalui VPN dan SSL VPN, analisis data melalui VPN, dan analisis data
yang melalui SSL VPN.
Analisis data yang tidak melalui VPN dan SSL VPN ditunjukkan pada
Gambar 5.

11

Gambar 5 Capture Wireshark Tanpa VPN dan SSL VPN

Pada gambar 5, memperlihatkan bahwa client (IP Address 192.168.43.14)
melakukan proses login (POST) dan dapat diketahui informasi username dan
password. Ini dikarenakan jaringan yang tidak dilalui VPN ataupun SSL VPN
semua data tidak dienkripsi.
Analisis data yang melalui VPN ditunjukkan pada Gambar 6.

Gambar 6 Capture Wireshark dengan VPN

12

Pada Gambar 6, semua paket dan data yang tertangkap hanya berupa PPP,
yaitu protokol yang digunakan pada jaringan VPN. Data dikirimkan dalam bentuk
IP datagram yang berisi paket PPP yang telah dienkapsulasi. Proses pengiriman
data akan dilewatkan pada sebuah tunnel. Karena semua data telah dienkripsi dan
dienkapsulasi sehingga tidak ada informasi username dan password yang terlihat.
Analisis data yang melalui SSL VPN ditunjukkan pada Gambar 7.

Gambar 7 Capture Wireshark dengan SSL VPN

Pada Gambar 7, tidak terlihat proses login (POST). Protokol yang
tertangkap adalah TLS yang merupakan protokol yang digunakan pada
OpenVPN. Ini dibuktikan dengan adanya handshake dari client yang akan dibalas
oleh server dengan server hello. Pada tahap selanjutnya chipper akan memilih
algortima RSA dan akan dilakukan autentikasi terhadap algoritma tersebut, lalu
server akan mengirimkan client sertifikat. Pada pesan berikutnya server akan
mengirim public key. Server juga akan mengidentifikasi tipe dari sertifikat yang
diminta. Client akan mengirim pesan kembali untuk melakukan pertukaran kunci
menggunakan public key. Server akan merespon dengan “change chipper spec”
dan akan memberitahukan client untuk menggunakan chipper yang sudah
ditentukan server.
Ini membuktikan bahwa jaringan yang dilewatkan melalui SSL VPN akan
dienkripsi sebelum dikirim sampai tujuan. Selain dienkripsi, data juga akan
dienkapsulasi agar tidak diketahui oleh pihak lain. Informasi username dan
password pada client menjadi tidak terlihat sehingga jaringan yang melalui SSL
VPN menjadi aman.
Tabel 7 Analisis Data SSL VPN
Parameter
Username dan password

Tanpa VPN dan SSL VPN
Terlihat

13

Dengan VPN
Tidak terlihat

Dengan SSL VPN
Tidak terlihat

Tabel 7 adalah hasil pengujian dari capture Wireshark pada website tanpa
melalui VPN dan SSL VPN, melalui VPN, dan melalui SSL VPN.
5.
Simpulan
Setelah melakukan analisis dan implementasi jaringan VPN berbasis SSL
seperti yang telah dijelaskan pada bab sebelumnya, maka dapat disimpulkan
sebagai berikut :
1.
SSL yang menjadi protokol yang digunakan pada implementasi penelitian
ini memberikan solusi keamanan jaringan.
2.
Sistem keamanan dengan VPN berbasis SSL sudah berjalan baik dengan
melakukan enkripsi dan dekripsi terhadap kunci dari server maupun client.
3.
Semua data yang mengalir pada VPN dan SSL VPN, seperti informasi
username dan password tidak dapat terlihat.
DAFTAR PUSTAKA
[1] Kristanto, Andi, 2003, Keamanan Data Pada Jaringan Komputer,
Yogyakarta: Gava Media.
[2] Purbo, Onno W., 2001, Keamanan Jaringan Internet, Jakarta: Elex Media
Komputindo.
[3] Abadillah, Sani Nur, 2011, Pembangunan VPN dengan Menggunakan
Virtual Private Server Untuk Menjaga Keamanan Internet Publik (Studi
Kasus Pada Jaringan Wifi), Bandung: Universitas Komputer Indonesia.
[4] Martiyanto, Andrian Satria, 2011, Desain dan Implementasi Virtual Private
Network dan Web Proxy Untuk Mengakses Sumber Daya Informasi Lokal
Dari Jaringan Publik, Semarang: Universitas Diponegoro.
[5] Wendy, Achmad, dan Aris, Ramadhana, 2005, Membangun VPN Linux
Secara Cepat, Yogyakarta: Andi.
[6] Brown, Steven, 1999, Implementing Virtual Networks, USA: McGraw-Hill.
[7] Technologies, OpenVPN, 2013, HOWTO, http://openvpn.net/index.php/
open-source/documentation/howto.html. Diakses tanggal 11 Februari 2013.
[8] Rahman, Rizal, 2013, Mahir Administrasi Server dan Router dengan Linux
Ubuntu Server 12.04 LTS, Surabaya.

14